* never define a cross-prefix in the generated fpc.cfg when the target cpu is

the JVM, because those are always cross-compilations and the utilities
    involved (such as the java binary) don't have a prefix. That's also why
    the JVM snapshots contain their own fpc.cfg file, because fpc.cfg files
    from current releases obviously don't contain a special case for the JVM
    target.

git-svn-id: branches/jvmbackend@19233 -
This commit is contained in:
Jonas Maebe 2011-09-25 19:05:30 +00:00
parent 26b19274a3
commit 1edaa922c1
2 changed files with 244 additions and 235 deletions

View File

@ -168,6 +168,12 @@
%NEEDCROSSBINUTILSIFDEF%
# never need cross-prefix when targeting the JVM
# (no native compiler, always cross-compiling)
#ifdef cpujvm
#undef NEEDCROSSBINUTILS
#endif
# binutils prefix for cross compiling
#IFDEF FPC_CROSSCOMPILING
#IFDEF NEEDCROSSBINUTILS

View File

@ -3,252 +3,255 @@ const DefaultConfig : array[0..26] of string[240]=(
{$else Delphi}
const DefaultConfig : array[0..26,1..240] of char=(
{$endif Delphi}
'#'#013#010+
'# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%'#013#010+
'# Example fpc.cfg for Free Pascal Compiler'#013#010+
'#'#013#010+
#013#010+
'# ----------------------'#013#010+
'# Defines (preprocessor)'#013#010+
'# ----------------------'#013#010+
#013#010+
'#'#013#010+
'# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE',', #DEFINE, #UNDEF are allowed'+
#013#010+
'#'#013#010+
'# -d is the same as #DEFINE'#013#010+
'# -u is the same as #UNDEF'#013#010+
'#'#013#010+
#013#010+
'#'#013#010+
'# Some examples (for switches see below, and the -? helppages)'#013#010+
'#'#013#010+
'# Try compiling with the -dRELEASE or -dDEBUG on the commandline'#013#010+
'#'#013#010+
#013#010+
'# F','or a release compile with optimizes and strip debuginfo'#013#010+
'#IFDEF RELEASE'#013#010+
' -O2'#013#010+
' -Xs'#013#010+
' #WRITE Compiling Release Version'#013#010+
'#ENDIF'#013#010+
#013#010+
'#'#010+
'# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%'#010+
'# Example fpc.cfg for Free Pascal Compiler'#010+
'#'#010+
#010+
'# ----------------------'#010+
'# Defines (preprocessor)'#010+
'# ----------------------'#010+
#010+
'#'#010+
'# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE,',' #UNDEF are allowed'+
#010+
'#'#010+
'# -d is the same as #DEFINE'#010+
'# -u is the same as #UNDEF'#010+
'#'#010+
#010+
'#'#010+
'# Some examples (for switches see below, and the -? helppages)'#010+
'#'#010+
'# Try compiling with the -dRELEASE or -dDEBUG on the commandline'#010+
'#'#010+
#010+
'# For a release compile w','ith optimizes and strip debuginfo'#010+
'#IFDEF RELEASE'#010+
' -O2'#010+
' -Xs'#010+
' #WRITE Compiling Release Version'#010+
'#ENDIF'#010+
#010+
'# For a debug version compile with debuginfo and all codegeneration ch'+
'ecks on'#013#010+
'#IFDEF DEBUG'#013#010+
' -gl'#013#010+
' -Crto','i'#013#010+
' #WRITE Compiling Debug Version'#013#010+
'#ENDIF'#013#010+
#013#010+
'# assembling'#013#010+
'#ifdef darwin'#013#010+
'# use pipes instead of temporary files for assembling'#013#010+
'-ap'#013#010+
'#endif'#013#010+
#013#010+
'# ----------------'#013#010+
'# Parsing switches'#013#010+
'# ----------------'#013#010+
#013#010+
'# Pascal language mode'#013#010+
'# -','Mfpc free pascal dialect (default)'#013#010+
'# -Mobjfpc switch some Delphi 2 extensions on'#013#010+
'# -Mdelphi tries to be Delphi compatible'#013#010+
'# -Mtp tries to be TP/BP 7.0 compatible'#013#010+
'# -Mgpc tries to be gpc compatible',#013#010+
'# -Mmacpas tries to be compatible to the macintosh pascal diale'+
'cts'#013#010+
'#'#013#010+
'# Turn on Object Pascal extensions by default'#013#010+
'#-Mobjfpc'#013#010+
#013#010+
'# Assembler reader mode'#013#010+
'# -Rdefault use default assembler'#013#010+
'# -Ratt read AT&T style ','assembler'#013#010+
'# -Rintel read Intel style assembler'#013#010+
'#'#013#010+
'# All assembler blocks are AT&T styled by default'#013#010+
'#-Ratt'#013#010+
#013#010+
'# Semantic checking'#013#010+
'# -S2 same as -Mobjfpc'#013#010+
'# -Sc supports operators like C (*=,+=,/= and -=)'#013,#010+
'# -Sa include assertion code.'#013#010+
'# -Sd same as -Mdelphi'#013#010+
'ecks on'#010+
'#IFDEF DEBUG'#010+
' -gl'#010+
' -Crtoi'#010+
' #WRITE Compiling Debug Versi','on'#010+
'#ENDIF'#010+
#010+
'# assembling'#010+
'#ifdef darwin'#010+
'# use pipes instead of temporary files for assembling'#010+
'-ap'#010+
'#endif'#010+
#010+
'# ----------------'#010+
'# Parsing switches'#010+
'# ----------------'#010+
#010+
'# Pascal language mode'#010+
'# -Mfpc free pascal dialect (default)'#010+
'# ','-Mobjfpc switch some Delphi 2 extensions on'#010+
'# -Mdelphi tries to be Delphi compatible'#010+
'# -Mtp tries to be TP/BP 7.0 compatible'#010+
'# -Mgpc tries to be gpc compatible'#010+
'# -Mmacpas tries to be compatible to the ma','cintosh pascal dia'+
'lects'#010+
'#'#010+
'# Turn on Object Pascal extensions by default'#010+
'#-Mobjfpc'#010+
#010+
'# Assembler reader mode'#010+
'# -Rdefault use default assembler'#010+
'# -Ratt read AT&T style assembler'#010+
'# -Rintel read Intel style assembler'#010+
'#'#010+
'# ','All assembler blocks are AT&T styled by default'#010+
'#-Ratt'#010+
#010+
'# Semantic checking'#010+
'# -S2 same as -Mobjfpc'#010+
'# -Sc supports operators like C (*=,+=,/= and -=)'#010+
'# -Sa include assertion code.'#010+
'# -Sd same as',' -Mdelphi'#010+
'# -Se<x> error options. <x> is a combination of the following'+
':'#013#010+
'# <n> : compiler stops after <n> errors (default is 1)'#013#010+
'# w : compile','r stops also after warnings'#013#010+
'# n : compiler stops also after notes'#013#010+
'# h : compiler stops also after hints'#013#010+
'# -Sg allow LABEL and GOTO'#013#010+
'# -Sh Use ansistrings'#013#010+
'# -Si support C++ styled I','NLINE'#013#010+
'# -Sk load fpcylix unit'#013#010+
'# -SI<x> set interface style to <x>'#013#010+
'# -SIcom COM compatible interface (default)'#013#010+
'# -SIcorba CORBA compatible interface'#013#010+
'# -Sm support macros like C (globa','l)'#013#010+
'# -So same as -Mtp'#013#010+
'# -Sp same as -Mgpc'#013#010+
'# -Ss constructor name must be init (destructor must be do'+
'ne)'#013#010+
':'#010+
'# <n> : compiler stops after <n> errors (default is 1)'#010+
'# w : compiler stops also after warnings'#010+
'# n : compiler stops also after no','tes'#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 sty','le to <x>'#010+
'# -SIcom COM compatible interface (default)'#010+
'# -SIcorba CORBA compatible 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 '+
'done)'#010+
'# -Sx enable exception keywords (default in Delphi/ObjFPC '+
'modes)'#013#010+
'#'#013#010+
'# Allow goto, i','nline, C-operators, C-vars'#013#010+
'-Sgic'#013#010+
#013#010+
'# ---------------'#013#010+
'# Code generation'#013#010+
'# ---------------'#013#010+
#013#010+
'modes)'#010+
'#'#010+
'# Allow goto, inline, C-operators, C-vars'#010+
'-Sgic'#010+
#010+
'# ---------------'#010+
'# Code generation'#010+
'# ---------------'#010,
#010+
'# Uncomment the next line if you always want static/dynamic units by d'+
'efault'#013#010+
'# (can be overruled with -CD, -CS at the commandline)'#013#010+
'#-CS'#013#010+
'#-CD'#013,#010+
#013#010+
'# Set the default heapsize to 8Mb'#013#010+
'#-Ch8000000'#013#010+
#013#010+
'# Set default codegeneration checks (iocheck, overflow, range, stack)'#013+
'efault'#010+
'# (can be overruled with -CD, -CS at the commandline)'#010+
'#-CS'#010+
'#-CD'#010+
#010+
'#-Ci'#013#010+
'#-Co'#013#010+
'#-Cr'#013#010+
'#-Ct'#013#010+
#013#010+
'# Optimizer switches'#013#010+
'# -Os generate smaller code'#013#010+
'# -Oa=N set alignment to N'#013,#010+
'# -O1 level 1 optimizations (quick optimizations, debuggable)'#013+
'# Set the default heapsize to 8Mb'#010+
'#-Ch8000000'#010+
#010+
'# -O2 level 2 optimizations (-O1 + optimizations which make deb'+
'ugging more difficult)'#013#010+
'# Set default codegeneration checks (iocheck, over','flow, range, stack'+
')'#010+
'#-Ci'#010+
'#-Co'#010+
'#-Cr'#010+
'#-Ct'#010+
#010+
'# Optimizer switches'#010+
'# -Os generate smaller code'#010+
'# -Oa=N set alignment to N'#010+
'# -O1 level 1 optimizations (quick optimizations, debuggable)'#010+
'# -O2 level 2 optimizations (-O1 + ','optimizations which make d'+
'ebugging more difficult)'#010+
'# -O3 level 3 optimizations (-O2 + optimizations which also may'+
' make',' the program slower rather than faster)'#013#010+
' make the program slower rather than faster)'#010+
'# -Oo<x> switch on optimalization x. See fpc -i for possible value'+
's'#013#010+
'# -OoNO<x> switch off optimalization x. See fpc -i for possible valu'+
'es'#013#010+
'# -Op<x> set target cpu for optimizing, see fpc ','-i for possible '+
'values'#013#010+
#013#010+
'#ifdef darwin'#013#010+
'#ifdef cpui386'#013#010+
'-Cppentiumm'#013#010+
'-Oppentiumm'#013#010+
'#endif'#013#010+
'#endif'#013#010+
#013#010+
'# -----------------------'#013#010+
'# Set Filenames and Paths'#013#010+
'# -----------------------'#013#010+
#013#010+
'# Both slashes and backslashes are allowed in paths'#013#010+
#013#010+
'#',' path to the messagefile, not necessary anymore but can be used to '+
'override'#013#010+
'# the default language'#013#010+
'#-Fr%basepath%/msg/errore.msg'#013#010+
'#-Fr%basepath%/msg/errorn.msg'#013#010+
'#-Fr%basepath%/msg/errores.msg'#013#010+
'#-Fr%basepath%/msg/errord.msg'#013#010+
'#-Fr%basepath%','/msg/errorr.msg'#013#010+
#013#010+
'# searchpath for units and other system dependent things'#013#010+
'-Fu%basepath%/units/$fpctarget'#013#010+
'-Fu%basepath%/units/$fpctarget/*'#013#010+
'-Fu%basepath%/units/$fpctarget/rtl'#013#010+
#013#010+
'#IFDEF FPCAPACHE_1_3'#013#010+
'-Fu%basepath%/units/$fpctarget/httpd1','3/'#013#010+
'#ELSE'#013#010+
'#IFDEF FPCAPACHE_2_0'#013#010+
'-Fu%basepath%/units/$fpctarget/httpd20'#013#010+
'#ELSE'#013#010+
'-Fu%basepath%/units/$fpctarget/httpd22'#013#010+
'#ENDIF'#013#010+
'#ENDIF'#013#010+
#013#010+
'# searchpath for fppkg user-specific packages'#013#010+
'-Fu%localbasepath%/units/$FPCTARGET/*'#013#010+
#013#010+
'# path to the ','gcclib'#013#010+
'%gcclibpath%'#013#010+
#013#010+
'# searchpath for libraries'#013#010+
'#-Fl%basepath%/lib'#013#010+
'#-Fl/lib;/usr/lib'#013#010+
#013#010+
'# searchpath for tools'#013#010+
'-FD%basepath%/bin/$FPCTARGET'#013#010+
#013#010+
'%NEEDCROSSBINUTILSIFDEF%'#013#010+
#013#010+
'# binutils prefix for cross compiling'#013#010+
'#IFDEF FPC_CROSSCOMPILIN','G'#013#010+
'#IFDEF NEEDCROSSBINUTILS'#013#010+
' -XP$FPCTARGET-'#013#010+
'#ENDIF'#013#010+
'#ENDIF'#013#010+
#013#010+
#013#010+
'# -------------'#013#010+
'# Linking'#013#010+
'# -------------'#013#010+
#013#010+
's'#010+
'# ','-OoNO<x> switch off optimalization x. See fpc -i for possible va'+
'lues'#010+
'# -Op<x> set target cpu for optimizing, see fpc -i for possible va'+
'lues'#010+
#010+
'#ifdef darwin'#010+
'#ifdef cpui386'#010+
'-Cppentiumm'#010+
'-Oppentiumm'#010+
'#endif'#010+
'#endif'#010+
#010+
'# -----------------------',#010+
'# Set Filenames and Paths'#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+
'# the default language'#010+
'#-Fr%basepath%/msg/errore.msg'#010+
'#-F','r%basepath%/msg/errorn.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+
'#IFDEF FPCAPACHE_1_3'#010+
'-Fu%basepath%/units/$fpctarget/httpd13/'#010+
'#ELSE'#010+
'#IFDEF FPCAPACHE_2_0'#010+
'-Fu%basepath%/units/$fpctarget/httpd20'#010+
'#ELSE'#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+
#010+
'# searchpath for tools'#010+
'-FD%basepath%/bin/$FPCTARGET'#010+
#010+
'%NEEDCROSSBINUTILSI','FDEF%'#010+
#010+
'# never need cross-prefix when targeting the JVM'#010+
'# (no native compiler, always cross-compiling)'#010+
'#ifdef cpujvm'#010+
'#undef NEEDCROSSBINUTILS'#010+
'#endif'#010+
#010+
'# binutils prefix for cross compiling'#010+
'#IFDEF FPC_CROSSCOMPILING'#010+
'#IFDEF NEEDCROSSBINUTILS'#010+
' ',' -XP$FPCTARGET-'#010+
'#ENDIF'#010+
'#ENDIF'#010+
#010+
#010+
'# -------------'#010+
'# Linking'#010+
'# -------------'#010+
#010+
'# generate always debugging information for GDB (slows down the compil'+
'ing'#013#010+
'# process)'#013#010+
'# -gc generate checks for p','ointers'#013#010+
'# -gd use dbx'#013#010+
'# -gg use gsym'#013#010+
'# -gh use heap trace unit (for memory leak debugging)'#013#010+
'# -gl use line info unit to show more info for backtraces'#013+
'ing'#010+
'# process)'#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+
'# -gl use line info unit to show more info for backtraces'#010+
'# -gv generates programs tracable with valgrind'#010+
'# -gw genera','te dwarf debugging info'#010+
'#'#010+
'# Enable debuginfo and use the line info unit by default'#010+
'#-gl'#010+
#010+
'# -gv generates programs t','racable with valgrind'#013#010+
'# -gw generate dwarf debugging info'#013#010+
'#'#013#010+
'# Enable debuginfo and use the line info unit by default'#013#010+
'#-gl'#013#010+
#013#010+
'# always pass an option to the linker'#013#010+
'#-k-s'#013#010+
#013#010+
'# Always strip debuginfo from the executable'#013#010+
'-Xs'#013#010,
#013#010+
#013#010+
'# -------------'#013#010+
'# Miscellaneous'#013#010+
'# -------------'#013#010+
#013#010+
'# Write always a nice FPC logo ;)'#013#010+
'-l'#013#010+
#013#010+
'# Verbosity'#013#010+
'# e : Show errors (default) d : Show debug info'#013#010+
'# w : Show warnings u : Show unit info'#013#010+
'# n :',' Show notes t : Show tried/used files'#013+
'# always pass an option to the linker'#010+
'#-k-s'#010+
#010+
'# h : Show hints s : Show time stamps'#013#010+
'# i : Show general info q : Show message numbers'#013#010+
'# l : Show linenumbers c : Show conditiona','ls'#013#010+
'# a : Show everything 0 : Show nothing (except errors'+
')'#013#010+
'# Always strip debuginfo from the executable'#010+
'-Xs'#010+
#010+
#010+
'# -------------'#010+
'# Miscellaneous'#010+
'# -------------'#010+
#010+
'# Writ','e always a nice FPC logo ;)'#010+
'-l'#010+
#010+
'# Verbosity'#010+
'# e : Show errors (default) d : Show debug info'#010+
'# w : Show warnings u : Show unit info'#010+
'# n : Show notes t : Show tried/used files'#010+
'# h : Sho','w hints s : Show time stamps'#010+
'# i : Show general info q : Show message numbers'#010+
'# l : Show linenumbers c : Show conditionals'#010+
'# a : Show everything 0 : Show nothing (except error',
's)'#010+
'# b : Write file names messages r : Rhide/GCC compatibility mod'+
'e'#013#010+
'e'#010+
'# with full path x : Executable info (Win32 only'+
')'#013#010+
'# v : write ','fpcdebug.txt with p : Write tree.log with parse'+
' tree'#013#010+
'# lots of debugging info'#013#010+
'#'#013#010+
'# Display Info, Warnings and Notes'#013#010+
'-viwn'#013#010+
'# If you don'#039't want so much verbosity use'#013#010+
'#-vw'#013#010
')'#010+
'# v : write fpcdebug.txt with p : Write tree.log with parse t'+
'ree'#010+
'# lots of ','debugging info'#010+
'#'#010+
'# Display Info, Warnings and Notes'#010+
'-viwn'#010+
'# If you don'#039't want so much verbosity use'#010+
'#-vw'#010
);