| Server IP : 217.160.0.212 / Your IP : 216.73.217.5 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/cedet/ede/ |
Upload File : |
;ELC ;;; Compiled ;;; in Emacs version 28.2 ;;; with all optimizations. (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)) #[257 "\300\301\"\205 \302\301\"\207" [slot-boundp sourcetype eieio-oref] 4 "Retrieve the slot `sourcetype' from an object of class\n`ede-compilation-program'.\n\n(fn THIS)"] \(setf\ ede-object-sourcecode\) (value (this ede-compilation-program)) #[514 "\300\301#\207" [eieio-oset sourcetype] 6 "\n\n(fn VALUE THIS)"]] 7) #@80 Create a new object of class type `ede-compilation-program'. (fn &rest SLOTS) (defalias 'ede-compilation-program #[128 "\300\301\302#\207" [apply make-instance ede-compilation-program] 5 (#$ . 3072)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-compilation-program compiler-macro ede-compilation-program--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'ede-compilation-program--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3414)]) (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) #@69 Create a new object of class type `ede-compiler'. (fn &rest SLOTS) (defalias 'ede-compiler #[128 "\300\301\302#\207" [apply make-instance ede-compiler] 5 (#$ . 4598)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-compiler compiler-macro ede-compiler--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'ede-compiler--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 4885)]) (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) #@67 Create a new object of class type `ede-linker'. (fn &rest SLOTS) (defalias 'ede-linker #[128 "\300\301\302#\207" [apply make-instance ede-linker] 5 (#$ . 5644)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-linker compiler-macro ede-linker--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'ede-linker--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 5921)]) (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) #@74 Create a new object of class type `ede-makefile-rule'. (fn &rest SLOTS) (defalias 'ede-makefile-rule #[128 "\300\301\302#\207" [apply make-instance ede-makefile-rule] 5 (#$ . 7807)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-makefile-rule compiler-macro ede-makefile-rule--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'ede-makefile-rule--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 8119)]) #@39 The master list of all EDE compilers. (defvar ede-compiler-list nil (#$ . 8354)) #@39 The master list of all EDE compilers. (defvar ede-linker-list nil (#$ . 8441)) #@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 (#$ . 8527)) (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 #[385 "\235\203 \207B\211\207" [ede-compiler-list] 4 "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) #[385 "\235\203 \207B\211\207" [ede-linker-list] 4 "Make sure that all ede compiler objects are cached in\n`ede-linker-list'.\n\n(fn THIS &rest FIELDS)"]] 6) #@157 Execute BODY, making sure that `ede-current-build-list' is maintained. This will prevent rules from creating duplicate variables or rules. (fn &rest BODY) (defalias 'ede-compiler-begin-unique '(macro . #[128 "\300\301BB\207" [let ((ede-current-build-list nil))] 4 (#$ . 9291)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ede-compiler-begin-unique lisp-indent-function 0 put edebug-form-spec t] 5) #@87 Using OBJECT, execute BODY only once per Makefile generation. (fn OBJECT &rest BODY) (defalias 'ede-compiler-only-once '(macro . #[385 "\300\301\302\303BBD\304\305\306EBBE\207" [if not member (ede-current-build-list) progn add-to-list 'ede-current-build-list] 8 (#$ . 9720)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ede-compiler-only-once lisp-indent-function 1 put edebug-form-spec t] 5) #@157 Execute BODY, making sure that `ede-current-build-list' is maintained. This will prevent rules from creating duplicate variables or rules. (fn &rest BODY) (defalias 'ede-linker-begin-unique '(macro . #[128 "\300\301BB\207" [let ((ede-current-build-list nil))] 4 (#$ . 10148)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ede-linker-begin-unique lisp-indent-function 0 put edebug-form-spec t] 5) #@87 Using OBJECT, execute BODY only once per Makefile generation. (fn OBJECT &rest BODY) (defalias 'ede-linker-only-once '(macro . #[385 "\300\301\302\303BBD\304\305\306EBBE\207" [if not member (ede-current-build-list) progn add-to-list 'ede-current-build-list] 8 (#$ . 10574)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ede-linker-only-once lisp-indent-function 1 put edebug-form-spec t] 5) #@100 Return a compiler from the list COMPILERS that will compile SOURCETYPE. (fn COMPILERS SOURCETYPE) (defalias 'ede-proj-find-compiler #[514 "\203 \211\300@\301\"\235\204 A\262\202 \242\207" [eieio-oref sourcetype] 6 (#$ . 10999)]) #@94 Return a compiler from the list LINKERS to be used with SOURCETYPE. (fn LINKERS SOURCETYPE) (defalias 'ede-proj-find-linker #[514 "\203 \300@\301\"\203 \211\302@\301\"\235\204 A\262\202 \242\207" [slot-boundp sourcetype eieio-oref] 6 (#$ . 11243)]) (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)) #[257 "\300\301\302\303\"\"\207" [mapcar #[257 "\211;\203 \300!\207\211:\203 \300@A\"\207\301\302!\207" [autoconf-insert-new-macro error "Autoconf directives must be a string, or cons cell"] 4 "\n\n(fn OBJ)"] eieio-oref autoconf] 6 "Tweak the configure file (current buffer) to accommodate THIS.\n\n(fn THIS)"] ede-proj-flush-autoconf ((_this ede-compilation-program)) #[257 "\300\207" [nil] 2 "Flush the configure file (current buffer) to accommodate THIS.\n\n(fn THIS)"]] 6) #@141 Add VARNAME into the current Makefile if it doesn't exist. Execute BODY in a location where a value can be placed. (fn VARNAME &rest BODY) (defalias 'proj-comp-insert-variable-once '(macro . #[385 "\300\301DC\302\303\304\305\306\"BBBE\207" [let v unless (re-search-backward (concat "^" v "\\s-*=") nil t) (insert v "=") append ((insert "\n") (goto-char (point-max)))] 10 (#$ . 12152)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\312\311\313%\210\307\314\311\315\311\316%\210\307\317\311\320\311\321%\210\307\322\311\323\311\324%\210\307\325\311\326\311\327%\210\307\325\311\330\311\331%\210\307\332\311\333\311\334%\210\335\336!\207" [function-put proj-comp-insert-variable-once lisp-indent-function 1 put edebug-form-spec (sexp body) cl-generic-define-method ede-proj-makefile-insert-variables nil ((this ede-compilation-program)) #[257 "\300\301\"\205 \302\303\304\301\"\"\207" [eieio-instance-inheritor-slot-boundp variables mapcar #[257 "\211@\300\301\302Q\303\304#?\205, \211\305\261\210A\211<\203# \306\307\"\266\202'