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

FreeBSD Manual Pages

  
 
  

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
	       libraries.

       -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
	       programs	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
		    invocation 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:
       http://wiki.call-cc.org/manual/index.

AUTHORS
       The CHICKEN Team

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

FreeBSD	Ports 14.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+14.3.quarterly>

home | help