|(require dynext/compile)||package: cext-lib|
(compile-extension quiet? input-file output-file include-dirs) → any/c quiet? : any/c input-file : path-string? output-file : path-string? include-dirs : (listof path-string?)
(current-extension-compiler compiler) → void? compiler : (or/c path-string? false/c)
The default is set by searching for an executable using the PATH environment variable, or using the CC or MZSCHEME_DYNEXT_COMPILER environment variable if either is defined (and the latter takes precedence). On Windows, the search looks for "cl.exe", then "gcc.exe", then "bcc32.exe" (Borland). On Unix, it looks for "gcc", then "cc". A #f value indicates that no compiler could be found.
On Windows, the default is (list "/c" "/O2" "/MT" 3m-flag-thunk) for "cl.exe", or (list "-c" "-O2" "-fPIC" 3m-flag-thunk) for "gcc.exe" and "bcc32.exe", where 3m-flag-thunk returns (list "-DMZ_PRECISE_GC") for the 3m variant and null for the CGC variant. On Unix, the default is usually (list "-c" "-O2" "-fPIC" 3m-flag-thunk). If the CFLAGS or MZSCHEME_DYNEXT_COMPILER_FLAGS environment variable is defined (the latter takes precedence), then its value is parsed as a list of strings that is appended before the defaults.
→ (-> path-string? (listof string?)) (current-make-compile-include-strings proc) → void? proc : (-> path-string? (listof string?))
On Windows, the default converts "dir" to (list "/Idir") for "cl.exe", (list "-Idir") for "gcc.exe" and "bcc32.exe". On Unix, the default converts "dir" to (list "-Idir"). If the CFLAGS environment variable is defined, then its value is parsed as a list of flags that is appended before the defaults.
The defaults are similar to current-extension-compiler-flags, but with "/E" (Windows "cl.exe") or "-E" and without non-"-D" flags.
(compile-variant variant-symbol) → void? variant-symbol : (one-of/c 'normal 'cgc '3m)
Unix: 'cc or 'gcc
Windows: 'gcc, 'msvc, or 'borland
|(require dynext/compile-sig)||package: cext-lib|
dynext:compile^ : signature
Includes everything exported by the dynext/compile module.
|(require dynext/compile-unit)||package: cext-lib|