|
- #
- # Config file generated by fpcmkcfg on 4-12-14 - 19:26:48
- # Example fpc.cfg for Free Pascal Compiler
- #
-
- # ----------------------
- # Defines (preprocessor)
- # ----------------------
-
- #
- # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
- #
- # -d is the same as #DEFINE
- # -u is the same as #UNDEF
- #
-
- #
- # 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
- -O2
- -Xs
- #WRITE Compiling Release Version
- #ENDIF
-
- # For a debug version compile with debuginfo and all codegeneration checks on
- #IFDEF DEBUG
- -gl
- -Crtoi
- #WRITE Compiling Debug Version
- #ENDIF
-
- # assembling
- #ifdef darwin
- # use pipes instead of temporary files for assembling
- -ap
- # path to Xcode 4.3+ utilities (no problem if it doesn't exist)
- -FD/Applications/Xcode.app/Contents/Developer/usr/bin
- #endif
-
- # ----------------
- # Parsing switches
- # ----------------
-
- # Pascal language mode
- # -Mfpc free pascal dialect (default)
- # -Mobjfpc switch some Delphi 2 extensions on
- # -Mdelphi tries to be Delphi compatible
- # -Mtp tries to be TP/BP 7.0 compatible
- # -Mgpc tries to be gpc compatible
- # -Mmacpas tries to be compatible to the macintosh pascal dialects
- #
- # Turn on Object Pascal extensions by default
- #-Mobjfpc
-
- # Assembler reader mode
- # -Rdefault use default assembler
- # -Ratt read AT&T style assembler
- # -Rintel read Intel style assembler
- #
- # All assembler blocks are AT&T styled by default
- #-Ratt
-
- # Semantic checking
- # -S2 same as -Mobjfpc
- # -Sc supports operators like C (*=,+=,/= and -=)
- # -Sa include assertion code.
- # -Sd same as -Mdelphi
- # -Se<x> error options. <x> is a combination of the following:
- # <n> : compiler stops after <n> errors (default is 1)
- # w : compiler stops also after warnings
- # n : compiler stops also after notes
- # h : compiler stops also after hints
- # -Sg allow LABEL and GOTO
- # -Sh Use ansistrings
- # -Si support C++ styled INLINE
- # -Sk load fpcylix unit
- # -SI<x> set interface style to <x>
- # -SIcom COM compatible interface (default)
- # -SIcorba CORBA compatible interface
- # -Sm support macros like C (global)
- # -So same as -Mtp
- # -Sp same as -Mgpc
- # -Ss constructor name must be init (destructor must be done)
- # -Sx enable exception keywords (default in Delphi/ObjFPC modes)
- #
- # 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
- # -Os generate smaller code
- # -Oa=N set alignment to N
- # -O1 level 1 optimizations (quick optimizations, debuggable)
- # -O2 level 2 optimizations (-O1 + optimizations which make debugging more difficult)
- # -O3 level 3 optimizations (-O2 + optimizations which also may make the program slower rather than faster)
- # -Oo<x> switch on optimalization x. See fpc -i for possible values
- # -OoNO<x> switch off optimalization x. See fpc -i for possible values
- # -Op<x> set target cpu for optimizing, see fpc -i for possible values
-
- #ifdef darwin
- #ifdef cpui386
- -Cppentiumm
- -Oppentiumm
- #endif
- #endif
-
- # -----------------------
- # Set Filenames and Paths
- # -----------------------
-
- # Both slashes and backslashes are allowed in paths
-
- # path to the messagefile, not necessary anymore but can be used to override
- # the default language
- #-Fr/usr/lib/fpc/$fpcversion/msg/errore.msg
- #-Fr/usr/lib/fpc/$fpcversion/msg/errorn.msg
- #-Fr/usr/lib/fpc/$fpcversion/msg/errores.msg
- #-Fr/usr/lib/fpc/$fpcversion/msg/errord.msg
- #-Fr/usr/lib/fpc/$fpcversion/msg/errorr.msg
-
- # searchpath for units and other system dependent things
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
-
- #IFDEF FPCAPACHE_1_3
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
- #ELSE
- #IFDEF FPCAPACHE_2_0
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20
- #ELSE
- -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22
- #ENDIF
- #ENDIF
-
- # searchpath for fppkg user-specific packages
- -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/*
-
- # path to the gcclib
- #ifdef cpui386
- -Fl/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/32
- #endif
- #ifdef cpux86_64
- -Fl/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3
- #endif
-
- # searchpath for libraries
- #-Fl/usr/lib/fpc/$fpcversion/lib
- #-Fl/lib;/usr/lib
- -Fl/usr/lib/fpc/$fpcversion/lib/$FPCTARGET
-
- # searchpath for tools
- -FD/usr/lib/fpc/$fpcversion/bin/$FPCTARGET
-
- #IFNDEF CPUI386
- #IFNDEF CPUAMD64
- #DEFINE NEEDCROSSBINUTILS
- #ENDIF
- #ENDIF
-
- #IFNDEF Linux
- #DEFINE NEEDCROSSBINUTILS
- #ENDIF
-
- # binutils prefix for cross compiling
- #IFDEF FPC_CROSSCOMPILING
- #IFDEF NEEDCROSSBINUTILS
- -XP$FPCTARGET-
- #ENDIF
- #ENDIF
-
-
- # -------------
- # Linking
- # -------------
-
- # generate always debugging information for GDB (slows down the compiling
- # process)
- # -gc generate checks for pointers
- # -gd use dbx
- # -gg use gsym
- # -gh use heap trace unit (for memory leak debugging)
- # -gl use line info unit to show more info for backtraces
- # -gv generates programs tracable with valgrind
- # -gw generate dwarf debugging info
- #
- # Enable debuginfo and use the line info unit by default
- #-gl
-
- # 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 unit info
- # n : Show notes t : Show tried/used files
- # h : Show hints s : Show time stamps
- # i : Show general info q : Show message numbers
- # l : Show linenumbers c : Show conditionals
- # a : Show everything 0 : Show nothing (except errors)
- # b : Write file names messages r : Rhide/GCC compatibility mode
- # with full path x : Executable info (Win32 only)
- # v : write fpcdebug.txt with p : Write tree.log with parse tree
- # lots of debugging info
- #
- # Display Info, Warnings and Notes
- -viwn
- # If you don't want so much verbosity use
- #-vw
|