usage: fbc [options] <input files>

input files:

  *.a = static library, *.o = object file, *.bas = source

  *.rc = resource script, *.res = compiled resource (win32)

  *.xpm = icon resource (*nix/*bsd)

options:

  @<file>          Read more command line arguments from a file

  -a <file>        Treat file as .o/.a input file

  -arch <type>     Set target architecture (default: 486)

  -asm att|intel   Set asm format (-gen gcc|llvm, x86 or x86_64 only)

  -b <file>        Treat file as .bas input file

  -c               Compile only, do not link

  -C               Preserve temporary .o files

  -d <name>[=<val>]  Add a global #define

  -dll             Same as -dylib

  -dylib           Create a DLL (win32) or shared library (*nix/*BSD)

  -e               Enable runtime error checking

  -ex              -e plus RESUME support

  -exx             -ex plus array bounds/null-pointer checking

  -export          Export symbols for dynamic linkage

  -forcelang <name>  Override #lang statements in source code

  -fpmode fast|precise  Select floating-point math accuracy/speed

  -fpu x87|sse     Set target FPU

  -g               Add debug info

  -gen gas|gcc|llvm  Select code generation backend

  [-]-help         Show this help output

  -i <path>        Add an include file search path

  -include <file>  Pre-#include a file for each input .bas

  -l <name>        Link in a library

  -lang <name>     Select FB dialect: deprecated, fblite, qb

  -lib             Create a static library

  -m <name>        Specify main module (default if not -c: first input .bas)

  -map <file>      Save linking map to file

  -maxerr <n>      Only show <n> errors

  -mt              Use thread-safe FB runtime

  -nodeflibs       Do not include the default libraries

  -noerrline       Do not show source context in error messages

  -o <file>        Set .o (or -pp .bas) file name for prev/next input file

  -O <value>       Optimization level (default: 0)

  -p <path>        Add a library search path

  -pic             Generate position-indepedent code (non-x86 Unix shared libs)

  -pp              Write out preprocessed input file (.pp.bas) only

  -prefix <path>   Set the compiler prefix path

  -print host|target  Display host/target system name

  -print fblibdir  Display the compiler's lib/ path

  -print x         Display output binary/library file name (if known)

  -profile         Enable function profiling

  -r               Write out .asm (-gen gas), .c (-gen gcc) or .ll (-gen llvm) only

  -rr              Write out the final .asm only

  -R               Preserve temporary .asm/.c/.ll/.def files

  -RR              Preserve the final .asm file

  -s console|gui   Select win32 subsystem

  -showincludes    Display a tree of file names of #included files

  -static          Prefer static libraries over dynamic ones when linking

  -t <value>       Set .exe stack size in kbytes, default: 1024 (win32/dos)

  -target <name>   Set cross-compilation target

  -title <name>    Set XBE display title (xbox)

  -v               Be verbose

  -vec <n>         Automatic vectorization level (default: 0)

  [-]-version      Show compiler version

  -w all|pedantic|<n>  Set min warning level: all, pedantic or a value

  -Wa <a,b,c>      Pass options to 'as'

  -Wc <a,b,c>      Pass options to 'gcc' (-gen gcc) or 'llc' (-gen llvm)

  -Wl <a,b,c>      Pass options to 'ld'

  -x <file>        Set output executable/library file name

  -z gosub-setjmp  Use setjmp/longjmp to implement GOSUB

