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

FreeBSD Manual Pages

  
 
  

home | help
CSC(1)			FreeBSD	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-libs
	     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 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 in-
		  vocation 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	13.0			 Apr 26, 2017			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | EXIT STATUS | SEE ALSO | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=csc5&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help