Changeset 13646 in project


Ignore:
Timestamp:
03/10/09 09:02:19 (11 years ago)
Author:
Kon Lovett
Message:

Updated for new names & features.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/setup-helper

    r13553 r13646  
    1111extensions.
    1212
    13 A Chicken extension has the usage:
    14 
    15 <enscript language=scheme>
    16 (require-extension EXTENSION-NAME)
    17 </enscript>
    18 
    19 or
    20 
    21 <enscript language=scheme>
    22 (require-library EXTENSION-NAME)
    23 ...
    24 (import EXTENSION-NAME)
    25 </enscript>
    26 
    2713
    2814=== Extension Information
    2915
    30 {{EXTENSION-NAME}} is a {{string}} or {{symbol}}.
    31 
    32 {{EXTENSION-VERSION}} is a {{string}} or {{number}}.
     16{{NAME}} is a {{string}} or {{symbol}}. The name of the extension.
     17
     18{{VERSION}} is a {{string}} or {{number}}.
     19
    3320
    3421(Note - '''{{extension-name-and-version}}''', '''{{extension-name}}''' and
     
    3724==== extension-name-and-version
    3825
    39 <parameter>(extension-name-and-version) => EXTENSION-NAME+VERSION</parameter>
    40 <parameter>(extension-name-and-version EXTENSION-NAME+VERSION)</parameter>
    41 
    42 {{EXTENSION-NAME+VERSION}} is a list of {{EXTENSION-NAME-STRING}} and
    43 {{EXTENSION-VERSION-STRING}}.
     26<parameter>(extension-name-and-version) => NAME+VERSION</parameter>
     27<parameter>(extension-name-and-version NAME+VERSION)</parameter>
     28
     29{{NAME+VERSION}} is {{(list NAME VERSION)}}.
    4430
    4531==== extension-name
    4632
    47 <procedure>(extension-name) => EXTENSION-NAME-STRING</procedure>
     33<procedure>(extension-name) => STRING</procedure>
    4834
    4935Returns the {{extension-name}} component of {{(extension-name-and-version)}}.
     
    5137==== extension-version
    5238
    53 <procedure>(extension-version [DEFAULT-EXTENSION-VERSION]) => EXTENSION-VERSION-STRING</procedure>
    54 
    55 Returns the {{extension-version}} component of
    56 {{(extension-name-and-version)}}. Should the {{extension-version}} be {{""}}
    57 the {{DEFAULT-EXTENSION-VERSION}} is returned.
     39<procedure>(extension-version [DEFAULT]) => STRING</procedure>
     40
     41Returns the {{extension-version}} component of {{(extension-name-and-version)}}.
     42
     43Should the {{(second (extension-name-and-version))}} be ''empty'' the
     44{{DEFAULT}} is returned.
    5845
    5946==== verify-extension-name
    6047
    61 <procedure>(verify-extension-name EXTENSION-NAME)</procedure>
    62 
    63 Reports an error should '''{{chicken-install}}''' know the extension by a
     48<procedure>(verify-extension-name NAME)</procedure>
     49
     50Raises an error should '''{{chicken-install}}''' know the extension by a
    6451different name.
    6552
     53Use when paranoid.
     54
    6655
    6756=== Filename Support
    6857
     58Makes stereotypical {{filenames}} & {{pathnames}}.
     59
    6960{{FILE}} is a {{string}} or {{symbol}}.
    7061
     
    156147
    157148
    158 === File Support
     149=== File Copy Support
     150
     151Copy local file (local to the building egg directory) to some directory. These
     152use the {{copy-file}} setup-api routine.
    159153
    160154==== copy-file-to-directory
     
    179173=== SRFI-29 Bundle Support
    180174
     175Installation of SRFI-29 Bundles.
     176
     177See [[srfi-29]].
     178
    181179==== install-srfi-29-bundle
    182180
    183 <procedure>(install-srfi-29-bundle EXTENSION-NAME [BUNDLE-SPECIFICATION-COMPONENT ...])</procedure>
     181<procedure>(install-srfi-29-bundle NAME [BUNDLE-SPECIFICATION-COMPONENT ...])</procedure>
    184182
    185183Copies the local {{srfi-29-bundle}} file to the
    186184''srfi-29-bundle-directory''.
    187185
    188 See [[srfi-29]] for {{BUNDLE-SPECIFICATION-COMPONENT}} discussion.
    189 
    190186
    191187=== Compile Support
    192188
     189the basename of the source file and
     190
     191Compiles the source for {{NAME}}.
     192
    193193{{COMPILE-OPTION}} is any object acceptable as a '''{{compile}}''' option.
    194194
    195 Compiles the source for {{EXTENSION-NAME}} to a compiled-extension.
    196 
    197 ==== default-static-compile-options
    198 
    199 <parameter>(default-static-compile-options) => COMPILE-OPTION-LIST</parameter>
    200 <parameter>(default-static-compile-options COMPILE-OPTION-LIST)</parameter>
    201 
    202 ==== default-shared-compile-options
    203 
    204 <parameter>(default-shared-compile-options) => COMPILE-OPTION-LIST</parameter>
    205 <parameter>(default-shared-compile-options COMPILE-OPTION-LIST)</parameter>
    206 
    207 ==== default-static-compile-options
    208 
    209 <parameter>(default-import-compile-options) => COMPILE-OPTION-LIST</parameter>
    210 <parameter>(default-import-compile-options COMPILE-OPTION-LIST)</parameter>
    211 
    212 ==== compile-static-extension
    213 
    214 <procedure>(compile-static-extension EXTENSION-NAME [#:options COMPILE-OPTION-LIST])</procedure>
    215 
    216 Compiles to static-extension file with unit-name {{EXTENSION-NAME}}.
     195{{COMPILE-OPTIONS}} is {{(list-of INSTALL-OPTION ...)}}.
     196
     197The {{COMPILE-OPTIONS}} is always expanded in the {{comple}} command in the
     198last position.
     199
     200{{INLINE?}} is a {{boolean}} indicating whether a global inline is created. The
     201inline file is named {{(make-pathname #f NAME "inline")}}. Does not
     202enable cross-module inlining.
     203
     204==== compile-static
     205
     206<procedure>(compile-static NAME [#:options COMPILE-OPTIONS] [#:inline? INLINE?])</procedure>
     207
     208Compiles to object file with unit-name {{NAME}}.
    217209
    218210No linking is performed!
    219211
    220 ==== compile-shared-extension
    221 
    222 <procedure>(compile-shared-extension EXTENSION-NAME [#:options COMPILE-OPTION-LIST])</procedure>
    223 
    224 Compiles to shared-extension file.
    225 
    226 ==== compile-shared-extension-module
    227 
    228 <procedure>(compile-shared-extension-module EXTENSION-NAME [#:options COMPILE-OPTION-LIST])</procedure>
    229 
    230 Compiles to shared-extension and shared-import files.
     212==== compile-shared
     213
     214<procedure>(compile-shared NAME [#:options COMPILE-OPTIONS] [#:inline? INLINE?])</procedure>
     215
     216Compiles to shared file.
     217
     218==== compile-shared-module
     219
     220<procedure>(compile-shared-module NAME [#:options COMPILE-OPTIONS] [#:inline? INLINE?])</procedure>
     221
     222Compiles source and import to shared files.
     223
     224==== Parameters
     225
     226These are '''always''' expanded in the {{comple}} command in the first
     227position.
     228
     229===== default-static-compile-options
     230
     231<parameter>(default-static-compile-options) => COMPILE-OPTIONS</parameter>
     232<parameter>(default-static-compile-options COMPILE-OPTIONS)</parameter>
     233
     234===== default-shared-compile-options
     235
     236<parameter>(default-shared-compile-options) => COMPILE-OPTIONS</parameter>
     237<parameter>(default-shared-compile-options COMPILE-OPTIONS)</parameter>
     238
     239===== default-static-compile-options
     240
     241<parameter>(default-import-compile-options) => COMPILE-OPTIONS</parameter>
     242<parameter>(default-import-compile-options COMPILE-OPTIONS)</parameter>
    231243
    232244
    233245=== Install Support
    234246
    235 {{INSTALL-OPTION}} is any object acceptable as an '''{{install}}''' option.
    236 
    237 Installs the compiled-extension for {{EXTENSION-NAME}}.
     247Installs the compiled-extension for {{NAME}}.
     248
     249{{INSTALL-OPTION}} is any object acceptable as an {{install-extension}} command
     250options list option.
     251
     252{{INSTALL-OPTIONS}} is {{(list-of INSTALL-OPTION ...)}}.
     253
     254The {{INSTALL-OPTIONS}} is always expanded in the {{install-extension}}
     255command options list in the last position.
     256
     257{{FILENAMES}} is a {{(list-of FILENAME ...)}}. These name local files (local to
     258the building egg directory) that are to expanded in the {{install-extension}}
     259command files list.
    238260
    239261==== install-static-extension
    240262
    241 <procedure>(install-static-extension EXTENSION-NAME EXTENSION-VERSION [#:options INSTALL-OPTION-LIST])</procedure>
     263<procedure>(install-static-extension NAME VERSION [#:options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    242264
    243265Installs a compiled-static-extension.
     
    245267==== install-shared-extension
    246268
    247 <procedure>(install-shared-extension EXTENSION-NAME EXTENSION-VERSION [#:options COMPILE-OPTION-LIST])</procedure>
     269<procedure>(install-shared-extension NAME VERSION [#:options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    248270
    249271Installs a compiled-shared-extension.
     
    251273==== install-shared-extension-module
    252274
    253 <procedure>(install-shared-extension-module EXTENSION-NAME EXTENSION-VERSION [#:options COMPILE-OPTION-LIST])</procedure>
     275<procedure>(install-shared-extension-module NAME VERSION [#:options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    254276
    255277Installs a compiled-shared-extension-module.
     
    257279==== install-shared+static-extension-module
    258280
    259 <procedure>(install-shared+static-extension-module EXTENSION-NAME EXTENSION-VERSION [#:options COMPILE-OPTION-LIST])</procedure>
     281<procedure>(install-shared+static-extension-module NAME VERSION [#:options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    260282
    261283Installs a compiled-shared-extension-module and a compiled-static-extension.
    262284
     285==== Parameters
     286
     287These are '''always''' expanded in the {{install-extension}} command options
     288list in the first position.
     289
     290===== default-static-install-options
     291
     292<parameter>(default-static-install-options) => INSTALL-OPTIONS</parameter>
     293<parameter>(default-static-install-options INSTALL-OPTIONS)</parameter>
     294
     295===== default-shared-install-options
     296
     297<parameter>(default-static-install-options) => INSTALL-OPTIONS</parameter>
     298<parameter>(default-static-install-options INSTALL-OPTIONS)</parameter>
     299
     300===== default-shared-module-install-options
     301
     302<parameter>(default-shared-module-install-options) => INSTALL-OPTIONS</parameter>
     303<parameter>(default-shared-module-install-options INSTALL-OPTIONS)</parameter>
     304
     305===== default-shared+static-module-install-options
     306
     307<parameter>(default-shared+static-module-install-options) => INSTALL-OPTIONS</parameter>
     308<parameter>(default-shared+static-module-install-options INSTALL-OPTIONS)</parameter>
     309
    263310
    264311=== Setup Support
    265312
    266 {{COMPILE-OPTION-LIST}} is a {{list}} of {{COMPILE-OPTION}}.
    267 
    268 {{INSTALL-OPTION-LIST}} is a {{list}} of {{INSTALL-OPTION}}.
    269 
    270 Compiles & installs the extension for {{EXTENSION-NAME}}.
     313Compiles & installs the extension for {{NAME}}.
    271314
    272315==== setup-static-extension
    273316
    274 <procedure>(setup-static-extension EXTENSION-NAME EXTENSION-VERSION [#:compile-options COMPILE-OPTION-LIST] [#:install-options INSTALL-OPTION-LIST])</procedure>
     317<procedure>(setup-static-extension NAME VERSION [#:compile-options COMPILE-OPTIONS] [#:inline? INLINE?] [#:install-options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    275318
    276319Compiles & installs a static-extension.
     
    278321==== setup-shared-extension
    279322
    280 <procedure>(setup-shared-extension EXTENSION-NAME EXTENSION-VERSION [#:compile-options COMPILE-OPTION-LIST] [#:install-options INSTALL-OPTION-LIST])</procedure>
     323<procedure>(setup-shared-extension NAME VERSION [#:compile-options COMPILE-OPTIONS] [#:inline? INLINE?] [#:install-options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    281324
    282325Compiles & installs a shared-extension.
     
    284327==== setup-shared-extension-module
    285328
    286 <procedure>(setup-shared-extension-module EXTENSION-NAME EXTENSION-VERSION [#:compile-options COMPILE-OPTION-LIST] [#:install-options INSTALL-OPTION-LIST])</procedure>
     329<procedure>(setup-shared-extension-module NAME VERSION [#:compile-options COMPILE-OPTIONS] [#:inline? INLINE?] [#:install-options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    287330
    288331Compiles & installs a shared-extension-module.
     
    290333==== setup-shared+static-extension-module
    291334
    292 <procedure>(setup-shared+static-extension-module EXTENSION-NAME EXTENSION-VERSION [#:shared-compile-options COMPILE-OPTION-LIST] [#:static-compile-options COMPILE-OPTION-LIST] [#:install-options INSTALL-OPTION-LIST])</procedure>
     335<procedure>(setup-shared+static-extension-module NAME VERSION [#:shared-compile-options COMPILE-OPTIONS] [#:shared-inline? INLINE?] [#:static-compile-options COMPILE-OPTIONS] [#:static-inline? INLINE?] [#:install-options INSTALL-OPTIONS] [#:files FILENAMES])</procedure>
    293336
    294337Compiles & installs a shared-extension-module and a static-extension.
     
    326369== Notes
    327370
    328 Probably should make this an extension module.
     371* Static extension support is suspect.
    329372
    330373
    331374== Bugs and Limitations
    332 
    333 * Does not support user specified output filenames.
    334 
    335 * Inline file support for extensions not implemented.
    336375
    337376
Note: See TracChangeset for help on using the changeset viewer.