~ chicken-core (chicken-5) ffb39b910ebb47dcdb4223d5d57da65bdfc350ff


commit ffb39b910ebb47dcdb4223d5d57da65bdfc350ff
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Thu Jun 20 21:23:15 2019 +0200
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Thu Jun 20 21:23:15 2019 +0200

    Restore lost egg specification entries
    
    These accidentally got lost in a45bafb3bb6044 when merging from the
    wiki back into git.  These are:
    
    - cond-expand
    - error
    - objects
    - c-object

diff --git a/manual/Egg specification format b/manual/Egg specification format
index 234ff674..f35398ba 100644
--- a/manual/Egg specification format	
+++ b/manual/Egg specification format	
@@ -210,6 +210,20 @@ Specifies one or more Scheme include files.
 
 Specifies an executable program.
 
+==== c-object
+
+ [egg property] (c-object NAME PROP ...)
+
+Specifies a compiled C/C++ object file. Usually this component type
+is required if you want to link a separately compiled C/C++ module
+with your extension or program. C-objects are compiled like Scheme
+source files with the {{csc}} tool to ensure the same C compiler
+options and toolchain is used as for regular Scheme files compiled
+to C. If you want to pass compiler-specific options to the build
+of the C object, use the {{csc-options}} property and precede
+C compiler options with {{-C}}.
+
+
 === Component properties
 
 ==== host
@@ -349,6 +363,14 @@ denote filenames of which the program or extension depends.
 A program or extension implicitly depends on its source file and
 and on the egg-specification file.
 
+==== objects
+
+ [egg property] (objects NAME ...)
+
+Specifies that the components of type {{c-object}} should be linked
+to this component and that the object components are dependencies.
+
+
 ==== destination
 
  [egg property] (destination NAME)
@@ -384,6 +406,19 @@ Specifies modules that the component (usually an extension) contains.
 If this property is not given, then it is assumed that the extension has a single
 module of the same name as the component.
 
+==== cond-expand
+
+ [egg property] (cond-expand CLAUSE ...)
+
+Similar to the toplevel {{cond-expand}} clause and may appear inside
+component specifications.
+
+==== error
+
+ [egg property] (error STRING ARG ...)
+
+Similar to the toplevel {{error}} form, may appear inside component specifications.
+
 ---
 
 Previous: [[Extension tools]]
Trap