# # Example ppc386.cfg for Free Pascal Compiler Version 0.99.12 # # ---------------------- # Defines (preprocessor) # ---------------------- # # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed # # -d is the same as #DEFINE # -u is the same as #UNDEF # # When not m68k is defined at the commandline, define i386 #IFNDEF m68k #DEFINE i386 #ENDIF # # Some examples (for switches see below, and the -? helppages) # # Try compiling with the -dRELEASE or -dDEBUG on the commandline # # For a release compile with optimizes and strip debuginfo #IFDEF RELEASE -OG2p2 -Xs #WRITE Compiling Release Version #ENDIF # For a debug version compile with debuginfo and all codegeneration checks on #IFDEF DEBUG -g -Crtoi #WRITE Compiling Debug Version #ENDIF # ---------------- # Parsing switches # ---------------- # All assembler blocks are intel styled by default #-Rintel # All assembler blocks are AT&T styled by default #-Ratt # Semantic checking # -S2 switch some Delphi 2 extension on # -Sc supports operators like C (*=,+=,/= and -=) # -Sg allows LABEL and GOTO # -Si support C++ stlyed INLINE # -Sm support macros like C (global) # -So tries to be TP/BP 7.0 compatible # -Ss constructor name must be init (destructor must be done) # -St allows static keyword in objects # Allow goto, inline, C-operators, C-vars -Sgic # --------------- # Code generation # --------------- # Uncomment the next line if you always want static/dynamic units by default # (can be overruled with -CD, -CS at the commandline) #-CS #-CD # Set the default heapsize to 8Mb #-Ch8000000 # Set default codegeneration checks (iocheck, overflow, range, stack) #-Ci #-Co #-Cr #-Ct # Optimizer switches # -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) # Optimize always for Size and Pentium -OG2p2 # ----------------------- # Set Filenames and Paths # ----------------------- # Slashes are also allowed under dos # path to the messagefile, not necessary anymore but can be used to override # the default language #-Fr$1/msg/errore.msg #-Fr$1/msg/errorn.msg # searchpath for includefiles #-Fi/pp/inc;/pp/rtl/inc # searchpath for units and other system dependent things #IFDEF Go32V1 #IFDEF FPC_LINK_STATIC -Fu$1/rtl/go32v1/static -Fu$1/units/go32v1/static #ENDIF -Fu$1/rtl/go32v1 -Fu$1/units/go32v1 #ENDIF #IFDEF Go32V2 #IFDEF FPC_LINK_STATIC -Fu$1/rtl/go32v2/static -Fu$1/units/go32v2/static #ENDIF -Fu$1/rtl/go32v2 -Fu$1/units/go32v2 #ENDIF #IFDEF Win32 #IFDEF FPC_LINK_STATIC -Fu$1/rtl/win32/static -Fu$1/units/win32/static #ENDIF -Fu$1/rtl/win32 -Fu$1/units/win32 #ENDIF #IFDEF OS2 #IFDEF FPC_LINK_STATIC -Fu$1/rtl/os2/static -Fu$1/units/os2/static #ENDIF -Fu$1/rtl/os2 -Fu$1/units/os2 #ENDIF #IFDEF Linux # For statically, smartlinked units #IFDEF FPC_LINK_STATIC -Fu$1/rtl/linux/static -Fu$1/units/linux/static #ENDIF # For Dynamically linked units #IFDEF FPC_LINK_DYNAMIC -Fu$1/rtl/linux/shared -Fu$1/units/linux/shared #ENDIF -Fu$1/rtl/linux -Fu$1/units/linux #-Fu~/pp/units;~/pp/rtl/linux #-Fu/usr/lib/fpc/0.99.12/units;/usr/lib/fpc/0.99.12/rtl #ENDIF # searchpath for libraries -Fl$GCCDIR #-Fl/pp/lib #-Fl/lib;/usr/lib # ------------- # Linking # ------------- # generate always debugging information for GDB (slows down the compiling # process) #-g # always pass an option to the linker #-k-s # Always strip debuginfo from the executable -Xs # ------------- # Miscellaneous # ------------- # Write always a nice FPC logo ;) -l # Verbosity # 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) # Display Info, Warnings, Notes and Hints -veiwn # If you don't want so much verbosity use #-vw # # That's all folks #