The following is alphabetical listing of all command-line options, as generated by the compiler:
ppc386 [options] <inputfile> [options] + switch option on, - off -a the compiler doesn't delete the generated assembler file -al list sourcecode lines in assembler file (still BETA !!) -B build all modules -C code generation options -CD create dynamic library -Ch<n> <n> bytes heap (between 1023 and 67107840) -Ci IO-checking -Cn omit linking stage -Co check overflow of integer operations -Cr range checking -Cs<n> set stack size to <n> -Ct stack checking -CS create static library -Cx use smartlinking -d<x> defines the symbol <x> -e<x> set path to executable -E same as -Cn -F set file names and paths -Fe<x> redirect error output to <x> -Fg<x> same as -Fl -Fi<x> adds <x> to include path -Fl<x> adds <x> to library path -FL<x> uses <x> as dynamic linker -Fo<x> adds <x> to object path -Fr<x> load error message file <x> -Fu<x> adds <x> to unit path -g generate debugger information -gg use gsym -gd use dbx -i information -I<x> adds <x> to include path -k<x> Pass <x> to the linker -l write logo -n don't read the default config file -o<x> change the name of the executable produced to <x> -pg generate profile code for gprof -P use pipes instead of creating temporary assembler files -S syntax options -S2 switch some Delphi 2 extensions on -Sc supports operators like C (*=,+=,/= and -=) -Sd compiler disposes asm lists (uses less memory but slower) -Se compiler stops after the first error -Sg allow LABEL and GOTO -Si support C++ stlyed INLINE -Sm support macros like C (global) -So tries to be TP/BP 7.0 compatible -Sp tries to be gpc compatible -Ss constructor name must be init (destructor must be done) -St allow static keyword in objects -Sv allow variable directives (cvar,external,public,export) -s don't call assembler and linker (only with -a) -T<x> Target operating system -TGO32V1 version 1 of DJ Delorie DOS extender -TGO32V2 version 2 of DJ Delorie DOS extender -TLINUX Linux -TOS2 OS/2 2.x -TWin32 Windows 32 Bit -u<x> undefines the symbol <x> -U unit options -Un don't check the unit name -Up<x> same as -Fu<x> -Us compile a system unit -v<x> Be verbose. <x> is a combination of the following letters : e : Show errors (default) d : Show debug info w : Show warnings u : Show used files n : Show notes t : Show tried files h : Show hints m : Show defined macros i : Show general info p : Show compiled procedures l : Show linenumbers c : Show conditionals a : Show everything 0 : Show nothing (except errors) b : Show all procedure declarations if an error occurs -X executable options -Xc link with the c library -XD link with dynamic libraries (defines FPC_LINK_DYNAMIC) -Xs strip all symbols from executable -XS link with static libraries (defines FPC_LINK_STATIC) Processor specific options: -A output format -Ao coff file using GNU AS -Anasmcoff coff file using Nasm -Anasmelf elf32 (linux) file using Nasm -Anasmobj obj file using Nasm -Amasm obj using Masm (Mircosoft) -Atasm obj using Tasm (Borland) -R assembler reading style -Ratt read AT&T style assembler -Rintel read Intel style assembler -Rdirect copy assembler text directly to assembler file -O<x> optimizations -Og generate smaller code -OG generate faster code (default) -Or keep certain variables in registers (still BUGGY!!!) -Ou enable uncertain optimizations (see docs) -O1 level 1 optimizations (quick optimizations) -O2 level 2 optimizations (-O1 + slower optimizations) -O3 level 3 optimizations (same as -O2u) -Op target processor -Op1 set target processor to 386/486 -Op2 set target processor to Pentium/PentiumMMX (tm) -Op3 set target processor to PPro/PII/c6x86/K6 (tm) -? shows this help -h shows this help without waiting