|CSC(1)||General Commands Manual||CSC(1)|
csc — driver
program for the CHICKEN Scheme compiler
||[OPTION ...] [FILENAME ...]|
csc is a program that invokes the CHICKEN
compiler and the host systems C compiler to generate an executable from a
Scheme source file or C files generated by CHICKEN.
FILENAME is a Scheme source file name with optional extension or a C/C++/Objective-C source, object or library file name with extension. OPTION may be one of the following:
- Display usage text and exit.
- Show compiler notes and tool-invocations.
- Display information about translation progress.
- Display information about all compilation stages.
- Display Scheme compiler version and exit.
- Display release number and exit.
File and pathname options:
- Specifies target executable name.
- Specifies alternative path for included files.
- Write compiler to stdout (implies -t).
- Generate dynamically loadable shared object file.
- Register feature identifier.
- Disable builtin feature identifier.
- Compile via a C++ source file (.cpp).
- Compile via Objective-C source file (.m).
Syntax related options:
- Don't preserve case of read symbols.
- Enable alternative keyword-syntax (prefix, suffix or none).
- Disables list delimiter synonyms.
- Disables support for escaped symbols.
- Disables the CHICKEN extensions to R5RS syntax.
- Macros are made available at run-time.
- Write compile-time module information into separate file.
- Emit import-libraries for all defined modules.
- Disable expansion of compiler-macros.
- Wrap compiled code in module of the given name.
- Always generate module registration code, even when import libraries are emitted.
- Do not generate module registration code. Overrides
- Do not use units ‘library’ and ‘eval’ by default.
- Stop compilation after macro-expansion.
- Stop compilation after first analysis pass.
- Disable warnings.
- Set level of available debugging information.
- Disable rudimentary debugging information.
- Executable emits profiling information.
- Executable emits profiling information in append mode.
- Name of the generated profile information file.
- Load additional type database.
- Enable certain sets of optimization options.
- Enable leaf routine optimization.
- Standard procedures may be redefined.
- Disable safety checks.
- Assume globals are only modified in current file.
- Enable block-compilation.
- Disable interrupts in compiled code.
- Assume all numbers are fixnums.
- Disables detection of stack-overflows.
- Enable inlining.
- Set inlining threshold.
- Enable cross-module inlining.
- Perform type-based specialization of primitive calls.
- Generate file with globally inlinable procedures (implies
- Explicitly load inline file.
- Write type-declaration information into file.
- Disable argument count checks.
- Disable bound variable checks.
- Disable procedure call checks.
- Disable procedure call checks only for usual bindings.
- Disable procedure call checks for toplevel bindings.
- Assume variable do not change their type.
- Combine groups of local procedures into dispatch loop.
- Perform additional lightweight flow-analysis pass.
- Specifies inlining limit for self-recursive calls.
- Compile file as a library unit.
- Declare library unit as used.
- Specifies heap-size of compiled executable.
- Specifies nursery size of compiled executable.
- Load file before compilation commences.
- Add expression to beginning of source file.
- Add expression to end of source file.
- Include file before main source file.
- Include file after main source file.
- Compile as embedded (don't generate
- Compile as GUI application.
- Link extension with compiled executable (implies
- Require extension and import in compiled code.
- Compile multiple units into a dynamic library.
- Override location of runtime library directory.
Options to other passes:
- Pass option to C compiler.
- Pass option to linker.
- Pass “-I<DIR>” to C compiler (add include path).
- Pass “-L<DIR>” to linker (add library path).
- Keep intermediate files.
- Stop after compilation to object files.
- Stop after translation to C.
- Select a C compiler other than the default.
- Select a C++ compiler other than the default.
- Select a linker other than the default.
- Link with static CHICKEN libraries and extensions.
- Pass “-F<DIR>” to C compiler (add framework header path on Mac OS X).
- Passed to linker on Mac OS X.
- Add directory to runtime library search path.
- Pass linker options.
- Strip resulting binary.
- Show home-directory (where support files go).
- Show required C-compiler flags and exit.
- Show required linker flags and exit.
- Show required libraries and exit.
- Show name of default C compiler used.
- Show name of default C++ compiler used.
- Show name of default linker used.
- Just show commands executed, don't run them (implies
- Display debugging output for the given modes.
- Use a compiler other than the default ‘chicken’.
- Do not generate implicit init- and exit code.
- Emit prototypes for callbacks before foreign declarations.
- Always emit import libraries, even when their contents haven't changed. The default behaviour is to preserve existing import libraries.
- Do not refer to repository for extensions.
- Do not remove shadowed macros.
- Compile for host when configured for cross-compiling.
- Load extensions from executable path.
- Link support file to be used from a deployed executable (sets ‘rpath’ accordingly, if supported on this platform.)
- Embed manifest on Windows to supress elevation warnings for programs named ‘install’ or ‘setup’.
Options can be collapsed if unambiguous, so “-vkfO” is the same as “-v -k -fixnum-arithmetic -optimize”.
The following environment variables change the behaviour of
- Can hold default options that should be passed to every invocation of
csc utility exits 0 on success,
and >0 if an error occurs.
More information can be found in the CHICKEN User's Manual.
The CHICKEN Team
Submit bug reports by e-mail to email@example.com
|April 26, 2017||Debian|