# # Config file generated by fpcmkcfg on 20.1.2011 - 13:10:44 # 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 -glh -Crtoi #WRITE Compiling Debug Version #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 compiler stops after the errors (default is 1) # -Sg allow LABEL and GOTO # -Sh Use ansistrings # -Si support C++ styled INLINE # -SI set interface style to # -SIcomCOM compatible interface (default) # -SIcorbaCORBA 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) # -St allow 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 for i386 compiler # -Os generate smaller code # -O1 level 1 optimizations (quick optimizations) # -O2 level 2 optimizations (-O1 + slower optimizations) # -O3 level 3 optimizations (same as -O2u) # -Oa=N set alignment to N # -OoX switch on optimalization X. # -OoNOX switch off optimalization X. # X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL # -OpCPU set target processor. # CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM # ----------------------- # 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$(FPCDir)/msg/errore.msg #-Fr$(FPCDir)/msg/errorn.msg #-Fr$(FPCDir)/msg/errores.msg #-Fr$(FPCDir)/msg/errord.msg #-Fr$(FPCDir)/msg/errorr.msg # path to the gcclib #-Fl$(FPCDir)/lib #IFDEF FPCAPACHE_1_13 -Fu$(FPCDir)/units/$FPCTARGET/httpd13/ #ELSE #IFDEF FPCAPACHE_2_0 -Fu$(FPCDir)/units/$FPCTARGET/httpd20 #ELSE -Fu$(FPCDir)/units/$FPCTARGET/httpd22 #ENDIF #ENDIF # searchpath for units and other system dependent things -Fu$(FPCDir)/units/$FPCTARGET/ -Fu$(FPCDir)/units/$FPCTARGET/* -Fu$(FPCDir)/units/$FPCTARGET/rtl # searchpath for libraries #-Fl$(FPCDir)/lib #-Fl/lib;/usr/lib # searchpath for tools -FD$(FPCDir)/bin/$FPCTARGET # binutils prefix for cross compiling #IFDEF FPC_CROSSCOMPILING -XP$FPCTARGET- #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 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) # occurs # # Display Info, Warnings, Notes and Hints -viwn # If you don't want so much verbosity use #-vw