%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/ede/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/ede/proj-comp.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304\305\306!\"\210\303\307\310\306!\"\210\303\311\307\"\210\312\311\313\314#\210\315\306\316\307#\317\306\320\321\322$\210\323\324\325\326\325\327%\210\323\330\325\331\325\332%\207" [require ede ede/autoconf-edit defalias ede-compilation-program-p eieio-make-class-predicate ede-compilation-program ede-compilation-program--eieio-childp eieio-make-child-predicate ede-compilation-program-child-p make-obsolete "use (cl-typep ... \\='ede-compilation-program) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (eieio-instance-inheritor) ((name :initarg :name :type string :custom string :documentation "Name of this type of compiler.") (variables :initarg :variables :type list :custom (repeat (cons (string :tag "Variable") (string :tag "Value"))) :documentation "Variables needed in the Makefile for this compiler.\nAn assoc list where each element is (VARNAME . VALUE) where VARNAME\nis a string, and VALUE is either a string, or a list of strings.\nFor example, GCC would define CC=gcc, and emacs would define EMACS=emacs.") (sourcetype :initarg :sourcetype :type list :documentation "A list of `ede-sourcecode' objects this class will handle.\nThis is used to match target objects with the compilers and linkers\nthey can use, and which files this object is interested in." :accessor ede-object-sourcecode) (rules :initarg :rules :initform nil :type list :custom (repeat (object :objecttype ede-makefile-rule)) :documentation "Auxiliary rules needed for this compiler to run.\nFor example, yacc/lex files need additional chain rules, or inferences.") (commands :initarg :commands :type list :custom (repeat string) :documentation "The commands used to execute this compiler.\nThe object which uses this compiler will place these commands after\nits rule definition.") (autoconf :initarg :autoconf :initform nil :type list :custom (repeat string) :documentation "Autoconf function to call if this type of compiler is used.\nWhen a project is in Automake mode, this defines the autoconf function to\ncall to initialize automake to use this compiler.\nFor example, there may be multiple C compilers, but they all probably\nuse the same autoconf form.") (objectextention :initarg :objectextention :type string :documentation "A string which is the extension used for object files.\nFor example, C code uses .o on Unix, and Emacs Lisp uses .elc.")) (:documentation "A program used to compile or link a program via a Makefile.\nContains everything needed to output code into a Makefile, or autoconf\nfile.") cl-generic-define-method ede-object-sourcecode nil ((this ede-compilation-program)) #[(this) "\301\302\"\205\303\302\"\207" [this slot-boundp sourcetype eieio-oref] 3 "Retrieve the slot `sourcetype' from an object of class `ede-compilation-program'."] \(setf\ ede-object-sourcecode\) (value (this ede-compilation-program)) #[(value this) "\302\303	#\207" [this value eieio-oset sourcetype] 4]] 7)
#@62 Create a new object of class type `ede-compilation-program'.
(defalias 'ede-compilation-program #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-compilation-program] 4 (#$ . 3388)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-compilation-program compiler-macro ede-compilation-program--anon-cmacro] 4)
(defalias 'ede-compilation-program--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-compiler-p eieio-make-class-predicate ede-compiler ede-compiler--eieio-childp eieio-make-child-predicate ede-compiler-child-p make-obsolete "use (cl-typep ... \\='ede-compiler) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-compilation-program) ((makedepends :initarg :makedepends :initform nil :type boolean :documentation "Non-nil if this compiler can make dependencies.") (uselinker :initarg :uselinker :initform nil :type boolean :documentation "Non-nil if this compiler creates code that can be linked.\nThis requires that the containing target also define a list of available\nlinkers that can be used.")) (:documentation "Definition for a compiler.\nDifferent types of objects will provide different compilers for\ndifferent situations.")] 6)
#@51 Create a new object of class type `ede-compiler'.
(defalias 'ede-compiler #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-compiler] 4 (#$ . 4895)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-compiler compiler-macro ede-compiler--anon-cmacro] 4)
(defalias 'ede-compiler--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-linker-p eieio-make-class-predicate ede-linker ede-linker--eieio-childp eieio-make-child-predicate ede-linker-child-p make-obsolete "use (cl-typep ... \\='ede-linker) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-compilation-program) nil (:documentation "Contains information needed to link many generated object files together.")] 6)
#@49 Create a new object of class type `ede-linker'.
(defalias 'ede-linker #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-linker] 4 (#$ . 5922)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-linker compiler-macro ede-linker--anon-cmacro] 4)
(defalias 'ede-linker--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-makefile-rule-p eieio-make-class-predicate ede-makefile-rule ede-makefile-rule--eieio-childp eieio-make-child-predicate ede-makefile-rule-child-p make-obsolete "use (cl-typep ... \\='ede-makefile-rule) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((target :initarg :target :initform #1="" :type string :custom string :documentation "The target pattern.\nA pattern of \"%.o\" is used for inference rules, and would match object files.\nA target of \"foo.o\" explicitly matches the file foo.o.") (dependencies :initarg :dependencies :initform #1# :type string :custom string :documentation "Dependencies on this target.\nA pattern of \"%.o\" would match a file of the same prefix as the target\nif that target is also an inference rule pattern.\nA dependency of \"foo.c\" explicitly lists foo.c as a dependency.\nA variable such as $(name_SOURCES) will list all the source files\nbelonging to the target name.") (rules :initarg :rules :initform nil :type list :custom (repeat string) :documentation "Scripts to execute.\nThese scripts will be executed in sh (Unless the SHELL variable is overridden).\nDo not prefix with TAB.\nEach individual element of this list can be either a string, or\na lambda function.  (The custom element does not yet express that.") (phony :initarg :phony :initform nil :type boolean :custom boolean :documentation "Is this a phony rule?\nAdds this rule to a .PHONY list.")) (:documentation "A single rule for building some target.")] 6)
#@56 Create a new object of class type `ede-makefile-rule'.
(defalias 'ede-makefile-rule #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-makefile-rule] 4 (#$ . 8066)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-makefile-rule compiler-macro ede-makefile-rule--anon-cmacro] 4)
(defalias 'ede-makefile-rule--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
#@39 The master list of all EDE compilers.
(defvar ede-compiler-list nil (#$ . 8594))
#@39 The master list of all EDE compilers.
(defvar ede-linker-list nil (#$ . 8681))
#@170 List of EDE compilers that have already inserted parts of themselves.
This is used when creating a Makefile to prevent duplicate variables and
rules from being created.
(defvar ede-current-build-list nil (#$ . 8767))
(byte-code "\300\301\302\303\304\305%\210\300\301\306\307\304\310%\207" [cl-generic-define-method initialize-instance (:after) ((this ede-compiler) &rest fields) nil #[(this &rest fields) "	\235\203	\207	B\211\207" [this ede-compiler-list] 2 "Make sure that all ede compiler objects are cached in\n`ede-compiler-list'.\n\n(fn THIS &rest FIELDS)"] (:after) ((this ede-linker) &rest fields) #[(this &rest fields) "	\235\203	\207	B\211\207" [this ede-linker-list] 2 "Make sure that all ede compiler objects are cached in\n`ede-linker-list'.\n\n(fn THIS &rest FIELDS)"]] 6)
#@140 Execute BODY, making sure that `ede-current-build-list' is maintained.
This will prevent rules from creating duplicate variables or rules.
(defalias 'ede-compiler-begin-unique '(macro . #[(&rest body) "\301\302BB\207" [body let ((ede-current-build-list nil))] 3 (#$ . 9571)]))
#@63 Using OBJECT, execute BODY only once per Makefile generation.
(defalias 'ede-compiler-only-once '(macro . #[(object &rest body) "\302\303\304\305BBD\306\307\310E	BBE\207" [object body if not member (ede-current-build-list) progn add-to-list 'ede-current-build-list] 6 (#$ . 9855)]))
#@140 Execute BODY, making sure that `ede-current-build-list' is maintained.
This will prevent rules from creating duplicate variables or rules.
(defalias 'ede-linker-begin-unique '(macro . #[(&rest body) "\301\302BB\207" [body let ((ede-current-build-list nil))] 3 (#$ . 10147)]))
#@63 Using OBJECT, execute BODY only once per Makefile generation.
(defalias 'ede-linker-only-once '(macro . #[(object &rest body) "\302\303\304\305BBD\306\307\310E	BBE\207" [object body if not member (ede-current-build-list) progn add-to-list 'ede-current-build-list] 6 (#$ . 10430)]))
(add-hook 'edebug-setup-hook #[nil "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\303#\210\300\307\302\310#\210\300\311\302\312#\207" [put ede-compiler-begin-unique edebug-form-spec def-body ede-compiler-only-once (form def-body) ede-linker-begin-unique ede-linker-only-once (form def-body) ede-pmake-insert-variable-shared (form def-body)] 4])
#@73 Return a compiler from the list COMPILERS that will compile SOURCETYPE.
(defalias 'ede-proj-find-compiler #[(compilers sourcetype) "\203	\302@\301\"\235\204A\211\204\242\207" [compilers sourcetype eieio-oref] 5 (#$ . 11074)])
#@69 Return a compiler from the list LINKERS to be used with SOURCETYPE.
(defalias 'ede-proj-find-linker #[(linkers sourcetype) "\203\302@\301\"\203	\303@\301\"\235\204A\211\204\242\207" [linkers sourcetype slot-boundp eieio-oref] 5 (#$ . 11317)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method ede-proj-tweak-autoconf nil ((this ede-compilation-program)) #[(this) "\301\302\303\304\"\"\207" [this mapcar #[(obj) ";\203	\301!\207:\203\301@A\"\207\302\303!\207" [obj autoconf-insert-new-macro error "Autoconf directives must be a string, or cons cell"] 3] eieio-oref autoconf] 5 "Tweak the configure file (current buffer) to accommodate THIS."] ede-proj-flush-autoconf ((this ede-compilation-program)) #[(this) "\300\207" [nil] 1 "Flush the configure file (current buffer) to accommodate THIS."]] 6)
#@116 Add VARNAME into the current Makefile if it doesn't exist.
Execute BODY in a location where a value can be placed.
(defalias 'proj-comp-insert-variable-once '(macro . #[(varname &rest body) "\302\303\304DD\305\306\307\310	\311\"BBBE\207" [varname body let (addcr t) v unless (re-search-backward (concat "^" v "\\s-*=") nil t) (insert v "=") append ((if addcr (insert "\n")) (goto-char (point-max)))] 8 (#$ . 12192)]))
(byte-code "\300\301\302\303#\210\304\305\306\307\306\310%\210\304\311\306\312\306\313%\210\304\314\306\315\306\316%\210\304\317\306\320\306\321%\210\304\322\306\323\306\324%\210\304\322\306\325\306\326%\210\304\327\306\330\306\331%\210\332\333\334\"\210\300\335\302\336#\210\300\337\302\303#\210\300\340\302\336#\210\300\341\302\303#\210\342\343!\207" [put proj-comp-insert-variable-once lisp-indent-function 1 cl-generic-define-method ede-proj-makefile-insert-variables nil ((this ede-compilation-program)) #[(this) "\302\303\"\205\304\305\306	\303\"\")\207" [this #:object eieio-instance-inheritor-slot-boundp variables mapcar #[(var) "\304@\305\306	\307Q\310\304#?\2053	\311\261\210A\211<\203&\312\313\"\210\202)c\210)\n\2031\314c\210db*\207" [var v addcr cd t re-search-backward "^" "\\s-*=" nil "=" mapc #[(c) "\301\261\207" [c " "] 2] "\n"] 5] slot-value] 5 "Insert variables needed by the compiler THIS."] ede-compiler-intermediate-objects-p ((this ede-compiler)) #[(this) "\301\302\"\207" [this eieio-oref uselinker] 3 "Return non-nil if THIS has intermediate object files.\nIf this compiler creates code that can be linked together,\nthen the object files created by the compiler are considered intermediate."] ede-compiler-intermediate-object-variable ((this ede-compiler) targetname) #[(this targetname) "\301P\207" [targetname "_OBJ"] 2 "Return a string based on THIS representing a make object variable.\nTARGETNAME is the name of the target that these objects belong to."] ede-proj-makefile-insert-object-variables ((this ede-compiler) targetname sourcefiles) #[(this targetname sourcefiles) "\304!\205\305	\"\306\261\210\307\310\"\311\312\"\210\313c)\207" [this targetname src sourcefiles ede-compiler-intermediate-objects-p ede-compiler-intermediate-object-variable "=" eieio-oref sourcetype mapc #[(s) "\211\203\304	@J\n\"\204	A\211\204	\205$\305\306\n!\307\310\"\261)\207" [src ts s this ede-want-file-source-p " " file-name-sans-extension eieio-oref objectextention] 6] "\n"] 3 "Insert an OBJ variable to specify object code to be generated for THIS.\nThe name of the target is TARGETNAME as a string.  SOURCEFILES is the list of\nfiles to be objectified.\nNot all compilers do this."] ede-proj-makefile-insert-rules ((this ede-compilation-program)) #[(this) "	\235?\205	\235\204	B\302\303\304\305\"\"\207" [this ede-current-build-list mapc ede-proj-makefile-insert-rules eieio-oref rules] 5 "Insert rules needed for THIS compiler object."] ((this ede-makefile-rule)) #[(this) "\301\302\"\203\303\301\304\"\305\261\210\301\304\"\306\301\307\"\310\311\312\301\313\"\310#\314\261\207" [this eieio-oref phony ".PHONY: " target "\n" ": " dependencies "\n	" mapconcat #[(c) "\207" [c] 1] rules "\n\n"] 9 "Insert rules needed for THIS rule object."] ede-proj-makefile-insert-commands ((this ede-compilation-program)) #[(this) "\302\303\"\205\304\305\306	\303\"\"\210)\307c\207" [this #:object slot-boundp commands mapc #[(obj) "n\203\301\202	\302;\203\202'<\203#@\303=\203# \202'\304\305\"\306\261\207" [obj "	" " " lambda format "%S" "\n"] 4] slot-value "\n"] 5 "Insert the commands needed to use compiler THIS.\nThe object creating makefile rules must call this method for the\ncompiler it decides to use after inserting in the rule."] add-hook edebug-setup-hook #[nil "\300\301\302\303#\207" [put ede-compiler-begin-unique edebug-form-spec def-body] 4] ede-compiler-begin-unique 0 ede-compiler-only-once ede-linker-begin-unique ede-linker-only-once provide ede/proj-comp] 6)

Zerion Mini Shell 1.0