Kaynağa Gözat

* Updated comments in fpc.cfg partly based on comments in samplecfg's fpc.cfg
* Replaced $FPCTARGET->$fpctarget
* Moved fppkg package search-path so that packages can override apache units
* Renamed APACHE_1_13 define to APACHE_1_3

git-svn-id: trunk@17132 -

joost 14 yıl önce
ebeveyn
işleme
e3eeca3efd
2 değiştirilmiş dosya ile 100 ekleme ve 86 silme
  1. 33 29
      utils/fpcmkcfg/fpc.cft
  2. 67 57
      utils/fpcmkcfg/fpccfg.inc

+ 33 - 29
utils/fpcmkcfg/fpc.cft

@@ -62,17 +62,23 @@
 #      -Sc        supports operators like C (*=,+=,/= and -=)
 #      -Sa        include assertion code.
 #      -Sd        same as -Mdelphi
-#      -Se<x>     compiler stops after the <x> errors (default is 1)
+#      -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>
-#         -SIcomCOM compatible interface (default)
-#         -SIcorbaCORBA compatible interface
+#         -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
@@ -95,18 +101,15 @@
 #-Cr
 #-Ct
 
-# Optimizer switches for i386 compiler
+# Optimizer switches
 # -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 
-
+# -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
 
 # -----------------------
 # Set Filenames and Paths
@@ -123,23 +126,23 @@
 #-Fr%basepath%/msg/errorr.msg
 
 # searchpath for units and other system dependent things
--Fu%basepath%/units/$FPCTARGET/
--Fu%basepath%/units/$FPCTARGET/*
--Fu%basepath%/units/$FPCTARGET/rtl
-
-# searchpath for fppkg user-specific packages
--Fu%localbasepath%/units/$FPCTARGET/*
+-Fu%basepath%/units/$fpctarget
+-Fu%basepath%/units/$fpctarget/*
+-Fu%basepath%/units/$fpctarget/rtl
 
-#IFDEF FPCAPACHE_1_13
--Fu%basepath%/units/$FPCTARGET/httpd13/
+#IFDEF FPCAPACHE_1_3
+-Fu%basepath%/units/$fpctarget/httpd13/
 #ELSE
 #IFDEF FPCAPACHE_2_0
--Fu%basepath%/units/$FPCTARGET/httpd20
+-Fu%basepath%/units/$fpctarget/httpd20
 #ELSE
--Fu%basepath%/units/$FPCTARGET/httpd22
+-Fu%basepath%/units/$fpctarget/httpd22
 #ENDIF
 #ENDIF
 
+# searchpath for fppkg user-specific packages
+-Fu%localbasepath%/units/$FPCTARGET/*
+
 # path to the gcclib
 %gcclibpath%
 
@@ -195,15 +198,16 @@
 #      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
+#      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 : Show all procedure          r : Rhide/GCC compatibility mode
-#          declarations if an error    x : Executable info (Win32 only)
-#          occurs
+#      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, Notes and Hints
+# Display Info, Warnings and Notes
 -viwn
 # If you don't want so much verbosity use
 #-vw

+ 67 - 57
utils/fpcmkcfg/fpccfg.inc

@@ -1,7 +1,7 @@
 {$ifdef Delphi}
-const DefaultConfig : array[0..23] of string[240]=(
+const DefaultConfig : array[0..25] of string[240]=(
 {$else Delphi}
-const DefaultConfig : array[0..23,1..240] of char=(
+const DefaultConfig : array[0..25,1..240] of char=(
 {$endif Delphi}
   '#'#010+
   '# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%'#010+
@@ -70,21 +70,29 @@ const DefaultConfig : array[0..23,1..240] of char=(
   '#      -Sc        supports operators like C (*=,+=,/= and -=)'#010+
   '#      -Sa        include assertion code.'#010+
   '#      -Sd        same as -Mdelphi'#010+
-  '#      -Se<x>     compiler stops after the <x> errors (default is 1)'#010+
-  '#      -Sg   ','     allow LABEL and GOTO'#010+
-  '#      -Sh        Use ansistrings'#010+
+  '#      -Se<x>     error options. <x> is a combination of the following'+
+  ':'#010+
+  '#         ','<n> : compiler stops after <n> errors (default is 1)'#010+
+  '#         w   : compiler stops also after warnings'#010+
+  '#         n   : compiler stops also after notes'#010+
+  '#         h   : compiler stops also after hints'#010+
+  '#      -Sg        allow LABEL and GOTO'#010+
+  '#','      -Sh        Use ansistrings'#010+
   '#      -Si        support C++ styled INLINE'#010+
+  '#      -Sk        load fpcylix unit'#010+
   '#      -SI<x>     set interface style to <x>'#010+
-  '#         -SIcomCOM compatible interface (default)'#010+
-  '#         -SIcorbaCORBA compatible inter','face'#010+
+  '#         -SIcom    COM compatible interface (default)'#010+
+  '#         -SIcorba  CORBA c','ompatible interface'#010+
   '#      -Sm        support macros like C (global)'#010+
   '#      -So        same as -Mtp'#010+
   '#      -Sp        same as -Mgpc'#010+
   '#      -Ss        constructor name must be init (destructor must be do'+
   'ne)'#010+
+  '#      -Sx        enable exception',' keywords (default in Delphi/ObjFP'+
+  'C modes)'#010+
   '#'#010+
   '# Allow goto, inline, C-operators, C-vars'#010+
-  '-Sgic',#010+
+  '-Sgic'#010+
   #010+
   '# ---------------'#010+
   '# Code generation'#010+
@@ -92,12 +100,12 @@ const DefaultConfig : array[0..23,1..240] of char=(
   #010+
   '# Uncomment the next line if you always want static/dynamic units by d'+
   'efault'#010+
-  '# (can be overruled with -CD, -CS at the commandline)'#010+
+  '# (can be over','ruled with -CD, -CS at the commandline)'#010+
   '#-CS'#010+
   '#-CD'#010+
   #010+
   '# Set the default heapsize to 8Mb'#010+
-  '#-Ch800','0000'#010+
+  '#-Ch8000000'#010+
   #010+
   '# Set default codegeneration checks (iocheck, overflow, range, stack)'#010+
   '#-Ci'#010+
@@ -105,67 +113,67 @@ const DefaultConfig : array[0..23,1..240] of char=(
   '#-Cr'#010+
   '#-Ct'#010+
   #010+
-  '# Optimizer switches for i386 compiler'#010+
-  '# -Os        generate smaller code'#010+
-  '# -O1        level 1 optimizations (quick optimizations)'#010+
-  '# -O2       ',' level 2 optimizations (-O1 + slower optimizations)'#010+
-  '# -O3        level 3 optimizations (same as -O2u)'#010+
+  '# Optimizer switches'#010+
+  '# -Os        generate smaller ','code'#010+
   '# -Oa=N      set alignment to N'#010+
-  '# -OoX       switch on optimalization X. '#010+
-  '# -OoNOX     switch off optimalization X.'#010+
-  '#               X is o','ne of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASM'+
-  'CSE LOOPUNROLL'#010+
-  '# -OpCPU     set target processor.'#010+
-  '#             CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4'+
-  ', PENTIUMM '#010+
-  #010+
+  '# -O1        level 1 optimizations (quick optimizations, debuggable)'#010+
+  '# -O2        level 2 optimizations (-O1 + optimizations which make deb'+
+  'ugging more difficult)'#010+
+  '# -O3        level 3 optimizations (-O2 +',' optimizations which also m'+
+  'ay make the program slower rather than faster)'#010+
+  '# -Oo<x>     switch on optimalization x. See fpc -i for possible value'+
+  's'#010+
+  '# -OoNO<x>   switch off optimalization x. See fpc -i for possible valu'+
+  'es'#010+
+  '# -Op<x>     set targ','et cpu for optimizing, see fpc -i for possible '+
+  'values'#010+
   #010+
   '# -----------------------'#010+
   '# Set Filenames and Paths'#010+
-  '# ------','-----------------'#010+
+  '# -----------------------'#010+
   #010+
   '# Both slashes and backslashes are allowed in paths'#010+
   #010+
-  '# path to the messagefile, not necessary anymore but can be used to ov'+
-  'erride'#010+
+  '# path to the messagefile, not necessary anymore but ','can be used to '+
+  'override'#010+
   '# the default language'#010+
   '#-Fr%basepath%/msg/errore.msg'#010+
   '#-Fr%basepath%/msg/errorn.msg'#010+
-  '#-Fr%bas','epath%/msg/errores.msg'#010+
+  '#-Fr%basepath%/msg/errores.msg'#010+
   '#-Fr%basepath%/msg/errord.msg'#010+
   '#-Fr%basepath%/msg/errorr.msg'#010+
   #010+
-  '# searchpath for units and other system dependent things'#010+
-  '-Fu%basepath%/units/$FPCTARGET/'#010+
-  '-Fu%basepath%/units/$FPCTARGET/*'#010+
-  '-Fu%basepath%/units/$FPCTARGET/rtl',#010+
-  #010+
-  '# searchpath for fppkg user-specific packages'#010+
-  '-Fu%localbasepath%/units/$FPCTARGET/*'#010+
+  '# searchpath for units and other system d','ependent things'#010+
+  '-Fu%basepath%/units/$fpctarget'#010+
+  '-Fu%basepath%/units/$fpctarget/*'#010+
+  '-Fu%basepath%/units/$fpctarget/rtl'#010+
   #010+
-  '#IFDEF FPCAPACHE_1_13'#010+
-  '-Fu%basepath%/units/$FPCTARGET/httpd13/'#010+
+  '#IFDEF FPCAPACHE_1_3'#010+
+  '-Fu%basepath%/units/$fpctarget/httpd13/'#010+
   '#ELSE'#010+
   '#IFDEF FPCAPACHE_2_0'#010+
-  '-Fu%basepath%/units/$FPCTARGET/httpd20'#010+
+  '-Fu%basepath%/units/$fpctarget/httpd','20'#010+
   '#ELSE'#010+
-  '-Fu%basepath%/units','/$FPCTARGET/httpd22'#010+
+  '-Fu%basepath%/units/$fpctarget/httpd22'#010+
   '#ENDIF'#010+
   '#ENDIF'#010+
   #010+
+  '# searchpath for fppkg user-specific packages'#010+
+  '-Fu%localbasepath%/units/$FPCTARGET/*'#010+
+  #010+
   '# path to the gcclib'#010+
   '%gcclibpath%'#010+
   #010+
   '# searchpath for libraries'#010+
   '#-Fl%basepath%/lib'#010+
-  '#-Fl/lib;/usr/lib'#010+
+  '#-Fl/lib;/u','sr/lib'#010+
   #010+
   '# searchpath for tools'#010+
   '-FD%basepath%/bin/$FPCTARGET'#010+
   #010+
   '%NEEDCROSSBINUTILSIFDEF%'#010+
   #010+
-  '# binutils prefix for cros','s compiling'#010+
+  '# binutils prefix for cross compiling'#010+
   '#IFDEF FPC_CROSSCOMPILING'#010+
   '#IFDEF NEEDCROSSBINUTILS'#010+
   '  -XP$FPCTARGET-'#010+
@@ -175,26 +183,26 @@ const DefaultConfig : array[0..23,1..240] of char=(
   #010+
   '# -------------'#010+
   '# Linking'#010+
-  '# -------------'#010+
+  '# ---','----------'#010+
   #010+
   '# generate always debugging information for GDB (slows down the compil'+
   'ing'#010+
   '# process)'#010+
-  '#      -gc      ','  generate checks for pointers'#010+
+  '#      -gc        generate checks for pointers'#010+
   '#      -gd        use dbx'#010+
   '#      -gg        use gsym'#010+
-  '#      -gh        use heap trace unit (for memory leak debugging)'#010+
+  '#      -gh        use heap trace unit (for ','memory leak debugging)'#010+
   '#      -gl        use line info unit to show more info for backtraces'#010+
-  '#      -gv        ge','nerates programs tracable with valgrind'#010+
+  '#      -gv        generates programs tracable with valgrind'#010+
   '#      -gw        generate dwarf debugging info'#010+
   '#'#010+
-  '# Enable debuginfo and use the line info unit by default'#010+
+  '# Enable debuginfo and use the line i','nfo unit by default'#010+
   '#-gl'#010+
   #010+
   '# always pass an option to the linker'#010+
   '#-k-s'#010+
   #010+
-  '# Always strip debuginfo from the executab','le'#010+
+  '# Always strip debuginfo from the executable'#010+
   '-Xs'#010+
   #010+
   #010+
@@ -206,22 +214,24 @@ const DefaultConfig : array[0..23,1..240] of char=(
   '-l'#010+
   #010+
   '# Verbosity'#010+
-  '#      e : Show errors (default)       d : Show debug info'#010+
+  '#      e : Show err','ors (default)       d : Show debug info'#010+
   '#      w : Show warnings               u : Show unit info'#010+
-  '#      n : Show',' notes                  t : Show tried/used files'#010+
-  '#      h : Show hints                  m : Show defined macros'#010+
-  '#      i : Show general info           p : Show compiled procedures'#010+
-  '#      l : Show linenumbers            c : Show conditional','s'#010+
+  '#      n : Show notes                  t : Show tried/used files'#010+
+  '#      h : Show hints                  s : Show time stamps'#010+
+  '#      i : Show g','eneral info           q : Show message numbers'#010+
+  '#      l : Show linenumbers            c : Show conditionals'#010+
   '#      a : Show everything             0 : Show nothing (except errors'+
   ')'#010+
-  '#      b : Show all procedure          r : Rhide/GCC compatibility mod'+
-  'e'#010+
-  '#          declarations if an error    x : Executable info (Win32 only'+
+  '#      b : Write file names messages   r : Rhide/GCC compati','bility m'+
+  'ode'#010+
+  '#          with full path              x : Executable info (Win32 only'+
   ')'#010+
-  '#          occurs'#010+
+  '#      v : write fpcdebug.txt with     p : Write tree.log with parse t'+
+  'ree'#010+
+  '#          lots of debugging info'#010+
   '#'#010+
-  '# ','Display Info, Warnings, Notes and Hints'#010+
+  '# Display Info, Warnings and Notes'#010+
   '-viwn'#010+
-  '# If you don'#039't want so much verbosity use'#010+
+  '# If ','you don'#039't want so much verbosity use'#010+
   '#-vw'#010
 );