Next: ede-compiler, Previous: Compilers, Up: Compilers [Contents]

#### 8.10.1 ede-compilation-program

Inheritance Tree:
  `eieio-instance-inheritor`
    `ede-compilation-program`
      Children:

        See ede-compiler, See ede-linker.

Slots:
  `:parent-instance`

    Type: `eieio-instance-inheritor-child`

    The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value.

  `:name`

    Type: `string`

    Name of this type of compiler.

  `:variables`

    Type: `list`

    Variables needed in the Makefile for this compiler. An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs.

  `:sourcetype`

    Type: `list`

    A list of `ede-sourcecode` See ede-sourcecode. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in.

  `:rules`

    Type: `list`
    Default Value: `nil`

    Auxiliary rules needed for this compiler to run. For example, yacc/lex files need additional chain rules, or inferences.

  `:commands`

    Type: `list`

    The commands used to execute this compiler. The object which uses this compiler will place these commands after it’s rule definition.

  `:autoconf`

    Type: `list`
    Default Value: `nil`

    Autoconf function to call if this type of compiler is used. When a project is in Automake mode, this defines the autoconf function to call to initialize automake to use this compiler. For example, there may be multiple C compilers, but they all probably use the same autoconf form.

  `:objectextention`

    Type: `string`

    A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc.

#### 8.10.1.1 Specialized Methods

Method: ede-proj-flush-autoconf :AFTER this

  Flush the configure file (current buffer) to accommodate THIS.

Method: ede-proj-makefile-insert-rules :AFTER this

  Insert rules needed for THIS compiler object.

Method: ede-proj-makefile-insert-variables :AFTER this

  Insert variables needed by the compiler THIS.

Method: ede-proj-makefile-insert-commands :AFTER this

  Insert the commands needed to use compiler THIS. The object creating makefile rules must call this method for the compiler it decides to use after inserting in the rule.

Method: ede-object-sourcecode :AFTER this

  Retrieves the slot `sourcetype` from an object of class `ede-compilation-program`

Method: ede-proj-tweak-autoconf :AFTER this

  Tweak the configure file (current buffer) to accommodate THIS.

Next: ede-compiler, Previous: Compilers, Up: Compilers [Contents]