Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
CSC(1)			     General Commands Manual			  CSC(1)

NAME
     csc -- driver program for the CHICKEN Scheme compiler

SYNOPSIS
     csc [OPTION ...] [FILENAME ...]

DESCRIPTION
     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:

     General options:

     -h, -help
	     Display usage text and exit.

     -v, -verbose
	     Show compiler notes and tool-invocations.

     -vv     Display information about translation progress.

     -vvv    Display information about all compilation stages.

     -version
	     Display Scheme compiler version and exit.

     -release
	     Display release number and exit.

     File and pathname options:

     -o FILENAME, -output-file FILENAME
	     Specifies target executable name.

     -I PATHNAME, -include-path PATHNAME
	     Specifies alternative path for included files.

     -to-stdout
	     Write compiler to stdout (implies -t).

     -s, -shared, -dynamic
	     Generate dynamically loadable shared object file.

     Language options:

     -D SYMBOL, -feature SYMBOL
	     Register feature identifier.

     -no-feature SYMBOL
	     Disable builtin feature identifier.

     -c++    Compile via a C++ source file (.cpp).

     -objc   Compile via Objective-C source file (.m).

     Syntax related options:

     -i, -case-insensitive
	     Don't preserve case of read symbols.

     -K, -keyword-style STYLE
	     Enable alternative keyword-syntax (prefix, suffix or none).

     -no-parentheses-synonyms
	     Disables list delimiter synonyms.

     -no-symbol-escape
	     Disables support for escaped symbols.

     -r5rs-syntax
	     Disables the CHICKEN extensions to R5RS syntax.

     -compile-syntax
	     Macros are made available at run-time.

     -j MODULE, -emit-import-library MODULE
	     Write compile-time module information into separate file.

     -J, -emit-all-import-libraries
	     Emit import-libraries for all defined modules.

     -no-compiler-syntax
	     Disable expansion of compiler-macros.

     -m NAME, -module NAME
	     Wrap compiled code in module of the given name.

     -M, -module-registration
	     Always  generate  module  registration  code,  even when import li-
	     braries are emitted.

     -N, -no-module-registration
	     Do   not	generate    module    registration    code.    Overrides
	     -module-registration.

     Translation options:

     -x, -explicit-use
	     Do not use units `library' and `eval' by default.

     -P, -check-syntax
	     Stop compilation after macro-expansion.

     -A, -analyze-only
	     Stop compilation after first analysis pass.

     Debugging options:

     -w, -no-warnings
	     Disable warnings.

     -d0, -d1, -d2, -d3, -debug-level NUMBER
	     Set level of available debugging information.

     -no-trace
	     Disable rudimentary debugging information.

     -profile
	     Executable emits profiling information.

     -accumulate-profile
	     Executable emits profiling information in append mode.

     -profile-name FILENAME
	     Name of the generated profile information file.

     -types FILENAME
	     Load additional type database.

     Optimization options:

     -O, -O0, -O1, -O2, -O3, -O4, -O5, -optimize-level NUMBER
	     Enable certain sets of optimization options.

     -optimize-leaf-routines
	     Enable leaf routine optimization.

     -no-usual-integrations
	     Standard procedures may be redefined.

     -u, -unsafe
	     Disable safety checks.

     -local  Assume globals are only modified in current file.

     -b, -block
	     Enable block-compilation.

     -disable-interrupts
	     Disable interrupts in compiled code.

     -f, -fixnum-arithmetic
	     Assume all numbers are fixnums.

     -disable-stack-overflow-checks
	     Disables detection of stack-overflows.

     -inline
	     Enable inlining.

     -inline-limit LIMIT
	     Set inlining threshold.

     -inline-global
	     Enable cross-module inlining.

     -specialize
	     Perform type-based specialization of primitive calls.

     -oi FILENAME, -emit-inline-file FILENAME
	     Generate  file  with globally inlinable procedures (implies -inline
	     -local).

     -consult-inline-file FILENAME
	     Explicitly load inline file.

     -ot FILENAME, -emit-types-file FILENAME
	     Write type-declaration information into file.

     -no-argc-checks
	     Disable argument count checks.

     -no-bound-checks
	     Disable bound variable checks.

     -no-procedure-checks
	     Disable procedure call checks.

     -no-procedure-checks-for-usual-bindings
	     Disable procedure call checks only for usual bindings.

     -no-procedure-checks-for-toplevel-bindings
	     Disable procedure call checks for toplevel bindings.

     -strict-types
	     Assume variable do not change their type.

     -clustering
	     Combine groups of local procedures into dispatch loop.

     -lfa2   Perform additional lightweight flow-analysis pass.

     -unroll-limit LIMIT
	     Specifies inlining limit for self-recursive calls.

     Configuration options:

     -unit NAME
	     Compile file as a library unit.

     -uses NAME
	     Declare library unit as used.

     -heap-size NUMBER
	     Specifies heap-size of compiled executable.

     -nursery NUMBER -stack-size NUMBER
	     Specifies nursery size of compiled executable.

     -X FILENAME, -extend FILENAME
	     Load file before compilation commences.

     -prelude EXPRESSION
	     Add expression to beginning of source file.

     -postlude EXPRESSION
	     Add expression to end of source file.

     -prologue FILENAME
	     Include file before main source file.

     -epilogue FILENAME
	     Include file after main source file.

     -e, -embedded
	     Compile as embedded (don't generate `main()').

     -gui    Compile as GUI application.

     -link NAME
	     Link extension with compiled executable (implies `-uses').

     -R NAME, -require-extension NAME
	     Require extension and import in compiled code.

     -dll, -library
	     Compile multiple units into a dynamic library.

     -libdir DIRECTORY
	     Override location of runtime library directory.

     Options to other passes:

     -C OPTION
	     Pass option to C compiler.

     -L OPTION
	     Pass option to linker.

     -I<DIR>
	     Pass "-I<DIR>" to C compiler (add include path).

     -L<DIR>
	     Pass "-L<DIR>" to linker (add library path).

     -k      Keep intermediate files.

     -c      Stop after compilation to object files.

     -t      Stop after translation to C.

     -cc COMPILER
	     Select a C compiler other than the default.

     -cxx COMPILER
	     Select a C++ compiler other than the default.

     -ld COMPILER
	     Select a linker other than the default.

     -static
	     Link with static CHICKEN libraries and extensions.

     -F<DIR>
	     Pass "-F<DIR>" to C compiler (add framework header path on  Mac  OS
	     X).

     -framework NAME
	     Passed to linker on Mac OS X.

     -rpath PATHNAME
	     Add directory to runtime library search path.

     -Wl,...
	     Pass linker options.

     -strip  Strip resulting binary.

     Inquiry options:

     -home   Show home-directory (where support files go).

     -cflags
	     Show required C-compiler flags and exit.

     -ldflags
	     Show required linker flags and exit.

     -libs   Show required libraries and exit.

     -cc-name
	     Show name of default C compiler used.

     -cxx-name
	     Show name of default C++ compiler used.

     -ld-name
	     Show name of default linker used.

     -dry-run
	     Just show commands executed, don't run them (implies `-v').

     Obscure options:

     -debug MODES
	     Display debugging output for the given modes.

     -compiler PATHNAME
	     Use a compiler other than the default `chicken'.

     -raw    Do not generate implicit init- and exit code.

     -emit-external-prototypes-first
	     Emit prototypes for callbacks before foreign declarations.

     -regenerate-import-libraries
	     Always  emit  import  libraries,  even  when their contents haven't
	     changed.  The default behaviour is to preserve existing import  li-
	     braries.

     -ignore-repository
	     Do not refer to repository for extensions.

     -keep-shadowed-macros
	     Do not remove shadowed macros.

     -host   Compile for host when configured for cross-compiling.

     -private-repository
	     Load extensions from executable path.

     -deployed
	     Link  support  file  to  be  used	from a deployed executable (sets
	     `rpath' accordingly, if supported on this platform.)

     -no-elevation
	     Embed manifest on Windows to supress elevation  warnings  for  pro-
	     grams named `install' or `setup'.

     Options  can  be collapsed if unambiguous, so "-vkfO" is the same as "-v -k
     -fixnum-arithmetic -optimize".

ENVIRONMENT
     The following environment variables change the behaviour of csc:

     CSC_OPTIONS  Can hold default options that should be passed to every  invo-
		  cation of csc.

EXIT STATUS
     The csc utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     chicken(1)

     More information can be found in the CHICKEN User's Manual.

AUTHORS
     The CHICKEN Team

BUGS
     Submit bug reports by e-mail to chicken-janitors@nongnu.org

FreeBSD ports 15.quarterly	  Apr 26, 2017				  CSC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=chicken-csc&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help