A. Alphabetical listing of command-line options

The following is alphabetical listing of all command-line options, as generated by the compiler:
ppc386 [options] <inputfile> [options]
put + after a boolean switch option to enable it, - to disable it
  -a     the compiler doesn't delete the generated assembler file
           -al        list sourcecode lines in assembler file
           -ar        list register allocation/release info in assembler file
           -at        list temp allocation/release info in assembler file
  -b     generate browser info
           -bl        generate local symbol info
  -B     build all modules
  -C<x>  code generation options:
           -CD        create also dynamic library (not supported)
           -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
           -CX        create also smartlinked library
  -d<x>  defines the symbol <x>
  -e<x>  set path to executable
  -E     same as -Cn
  -F<x>  set file names and paths:
           -FD<x>     sets the directory where to search for compiler utilities
           -Fe<x>     redirect error output to <x>
           -FE<x>     set exe/unit output path to <x>
           -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
           -FU<x>     set unit output path to <x>, overrides -FE
  -g     generate debugger information:
           -gg        use gsym
           -gd        use dbx
           -gh        use heap trace unit (for memory leak debugging)
           -gl        use line info unit to show more info for backtraces
           -gc        generate checks for pointers
  -i     information
           -iD        return compiler date
           -iV        return compiler version
           -iSO       return compiler OS
           -iSP       return compiler processor
           -iTO       return target OS
           -iTP       return target processor
  -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 (defines FPC_PROFILE)
  -P     use pipes instead of creating temporary assembler files
  -S<x>  syntax options:
           -S2        switch some Delphi 2 extensions on
           -Sc        supports operators like C (*=,+=,/= and -=)
           -sa        include assertion code.
           -Sd        tries to be Delphi compatible
           -Se<x>     compiler stops after the <x> errors (default is 1)
           -Sg        allow LABEL and GOTO
           -Sh        Use ansistrings
           -Si        support C++ styled 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
  -s     don't call assembler and linker (only with -a)
  -u<x>  undefines the symbol <x>
  -U     unit options:
           -Un        don't check the unit name
           -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 unit info
           n : Show notes                  t : Show tried/used 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          r : Rhide/GCC compatibility mode
               declarations if an error    x : Executable info (Win32 only)
  -X     executable options:
           -Xc        link with the c library
           -Xs        strip all symbols from executable
           -XD        try to link dynamic          (defines FPC_LINK_DYNAMIC)
           -XS        try to link static (default) (defines FPC_LINK_STATIC)
           -XX        try to link smart            (defines FPC_LINK_SMART)

Processor specific options:
  -A<x>  output format:
           -Aas       assemble using GNU AS
           -Aasaout   assemble using GNU AS for aout (Go32v1)
           -Anasmcoff coff (Go32v2) file using Nasm
           -Anasmelf  elf32 (Linux) file using Nasm
           -Anasmobj  obj file using Nasm
           -Amasm     obj file using Masm (Microsoft)
           -Atasm     obj file using Tasm (Borland)
           -Acoff     coff (Go32v2) using internal writer
           -Apecoff   pecoff (Win32) using internal writer
  -R<x>  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
           -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<x>     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)
  -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
  -W<x>  Win32 target options
           -WB<x>     Set Image base to Hexadecimal <x> value
           -WC        Specify console type application
           -WD        Use DEFFILE to export functions of DLL or EXE
           -WG        Specify graphic type application
           -WN        Do not generate relocation code (necessary for debugging)
           -WR        Generate relocation code

  -?     shows this help
  -h     shows this help without waiting

Free Pascal Compiler