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