Difference between revisions of "Configuration"

From Freepascal Amiga wiki
Jump to navigation Jump to search
(Added initial content for compiler configuration)
(Replaced initial content with something more appropiate and truthfull)
Line 1: Line 1:
The Freepascal compiler is basically nothing more then a commandline program that you can execute from the shell by typing the "fpc" (without quotes) and pressing enter.
+
The Freepascal compiler is basically nothing more then a commandline program that you can execute from the shell by typing the "fpc" (without quotes) and pressing enter. Providing no options to the commandline compiler will result in the compiler showing which options it accepts in order to configure the compiler.
  
Although a full-fledged IDE like Lazarus incorporate the FPC-compiler to address specific targets, also such an IDE need to use the commandline version of the FPC command in order to be able to cross-compile for specific targets. The only difference with regards to configuring the commandline compiler (when invoked) is a pimped GUI.
+
When a project needs to be compiled, several options need to be provided to f.e. make sure the compiler is able to produce a working executable.
  
The commandline compiler does not really require a configuration if you do not want it to use one (although by default the fpc command _always_ will use a fpc.cfg file when it exist), but then you would need to provide all the several options the compiler can handle in the form of parameters. It would require you to provide those options each and every time you want to compile a project.
+
Those options can also be provided by using the fpc.cfg file (that, by default, resides in the same drawer as the fpc command).
  
This becomes tiresome very quick as most options required are the same over and over again. Therefore you can use the fpc.cfg file to provide some of those options as being standard, whilst providing other (for your project) specific options to the commandline compiler.
+
In case you need to override an option that is already in place in the fpc.cfg configuration file, then you can simply provide it as an option to the fpc command.
  
In case you need to override an option that is already in place in the fpc.cfg configuration file, then you simply provide it as an option to the fpc command.
+
Please note that FP-IDE (that is included in the AROS distribution of FPC) uses it's own fp.cfg file (when the IDE resides in it's own drawer) and therefore does not use the default fpc.cfg file (that is found in the drawer where the fpc command resides).
  
Also note that the FP-IDE (that is included in the AROS distribution of FPC) uses it's own fpc.cfg file (when the IDE resides in it's own drawer) and therefore overrides the default fpc.cfg file (that is found in the drawer where the fpc command resides).
+
AROS freepascal adds one extra define on top of fpc's default defines, and can be used to provide special configuration options for aros. The define is AROS.
  
Configuration of the compiler is basically the same as the normal compiler configuration (used on other platforms).
+
Other then that, configuration of the compiler is basically the same as the normal compiler configuration (used on other platforms).
  
 
Details on how to configure the compiler can be read in the [//www.freepascal.org/docs-html/user/userch5.html#x33-400005 offical FreePascal user manual, chapter 5 - Compiler configuration].
 
Details on how to configure the compiler can be read in the [//www.freepascal.org/docs-html/user/userch5.html#x33-400005 offical FreePascal user manual, chapter 5 - Compiler configuration].
 +
 +
== The default fpc.cfg file (used by fpc) ==
 +
 +
Below you can see the default fpc.cfg file that is provided in the Freepascal archive for AROS.
 +
 +
You'll have to make sure that the lines starting with -Fu entries in this configuration point to paths that match your configuration and fpc setup.
 +
 +
<pre>
 +
#
 +
# Config file generated by fpcmkcfg on 5-7-12 - 11:39: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
 +
  -gl
 +
  -Crtoi
 +
  #WRITE Compiling Debug Version
 +
#ENDIF
 +
 +
# assembling
 +
#ifdef darwin
 +
# use pipes instead of temporary files for assembling
 +
-ap
 +
#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//$fpcversion/msg/errore.msg
 +
#-Fr//$fpcversion/msg/errorn.msg
 +
#-Fr//$fpcversion/msg/errores.msg
 +
#-Fr//$fpcversion/msg/errord.msg
 +
#-Fr//$fpcversion/msg/errorr.msg
 +
 +
# searchpath for units and other system dependent things
 +
-FuDevelopment:units/i386-aros/*
 +
-FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 +
#IFDEF FPCAPACHE_1_3
 +
-Fu//$fpcversion/units/$fpctarget/httpd13/
 +
#ELSE
 +
#IFDEF FPCAPACHE_2_0
 +
-Fu//$fpcversion/units/$fpctarget/httpd20
 +
#ELSE
 +
-Fu//$fpcversion/units/$fpctarget/httpd22
 +
#ENDIF
 +
#ENDIF
 +
 +
# searchpath for fppkg user-specific packages
 +
-Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 +
 +
# path to the gcclib
 +
 +
 +
# searchpath for libraries
 +
#-Fl//$fpcversion/lib
 +
#-Fl/lib;/usr/lib
 +
 +
# searchpath for tools
 +
-FD//$fpcversion/bin/$FPCTARGET
 +
 +
#IFNDEF CPUI386
 +
#IFNDEF CPUAMD64
 +
#DEFINE NEEDCROSSBINUTILS
 +
#ENDIF
 +
#ENDIF
 +
 +
#IFNDEF aros
 +
#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
 +
</pre>
 +
 +
== the default fp.cfg file (used by fp IDE) ==
 +
 +
Below you can see the default configuration file used by the fp-IDE. Normally you would not (and shouldn't) edit this file manually, but by using the GUI in fp-IDE.
 +
 +
<pre>
 +
# Automatically created file, don't edit.
 +
#IFDEF NORMAL
 +
-Taros
 +
-Mfpc
 +
-O2
 +
-Cp80386
 +
-Op80386
 +
-Rdefault
 +
-FuDevelopment:units/i386-aros/*
 +
-Fu/Development/lib
 +
-FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 +
-Fu//$fpcversion/units/$fpctarget/httpd13/
 +
-Fu//$fpcversion/units/$fpctarget/httpd20
 +
-Fu//$fpcversion/units/$fpctarget/httpd22
 +
-Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 +
-Fl/Development/lib
 +
-Fo/Development/lib
 +
-FDDevelopment:bin
 +
-XS
 +
-g-
 +
-p-
 +
-b-
 +
#ENDIF
 +
 +
#IFDEF DEBUG
 +
-Taros
 +
-Mfpc
 +
-vi
 +
-Sg
 +
-Cr
 +
-CpPENTIUMM
 +
-OpPENTIUMM
 +
-Rdefault
 +
-ap
 +
-FuDevelopment:units/i386-aros/*
 +
-FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 +
-Fu//$fpcversion/units/$fpctarget/httpd13/
 +
-Fu//$fpcversion/units/$fpctarget/httpd20
 +
-Fu//$fpcversion/units/$fpctarget/httpd22
 +
-Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 +
-FDDevelopment:bin
 +
-XS
 +
-gl
 +
-p-
 +
-b-
 +
 +
-XP$FPCTARGET-
 +
-l
 +
#ENDIF
 +
 +
#IFDEF RELEASE
 +
-Taros
 +
-Mfpc
 +
-O2
 +
-Cp80386
 +
-Op80386
 +
-Rdefault
 +
-FuDevelopment:units/i386-aros/*
 +
-FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros
 +
-FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 +
-Fu//$fpcversion/units/$fpctarget/httpd13/
 +
-Fu//$fpcversion/units/$fpctarget/httpd20
 +
-Fu//$fpcversion/units/$fpctarget/httpd22
 +
-Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 +
-FDDevelopment:bin
 +
-XS
 +
-g-
 +
-p-
 +
-b-
 +
#ENDIF
 +
</pre>

Revision as of 07:00, 19 September 2013

The Freepascal compiler is basically nothing more then a commandline program that you can execute from the shell by typing the "fpc" (without quotes) and pressing enter. Providing no options to the commandline compiler will result in the compiler showing which options it accepts in order to configure the compiler.

When a project needs to be compiled, several options need to be provided to f.e. make sure the compiler is able to produce a working executable.

Those options can also be provided by using the fpc.cfg file (that, by default, resides in the same drawer as the fpc command).

In case you need to override an option that is already in place in the fpc.cfg configuration file, then you can simply provide it as an option to the fpc command.

Please note that FP-IDE (that is included in the AROS distribution of FPC) uses it's own fp.cfg file (when the IDE resides in it's own drawer) and therefore does not use the default fpc.cfg file (that is found in the drawer where the fpc command resides).

AROS freepascal adds one extra define on top of fpc's default defines, and can be used to provide special configuration options for aros. The define is AROS.

Other then that, configuration of the compiler is basically the same as the normal compiler configuration (used on other platforms).

Details on how to configure the compiler can be read in the offical FreePascal user manual, chapter 5 - Compiler configuration.

The default fpc.cfg file (used by fpc)

Below you can see the default fpc.cfg file that is provided in the Freepascal archive for AROS.

You'll have to make sure that the lines starting with -Fu entries in this configuration point to paths that match your configuration and fpc setup.

#
# Config file generated by fpcmkcfg on 5-7-12 - 11:39: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
  -gl
  -Crtoi
  #WRITE Compiling Debug Version
#ENDIF

# assembling
#ifdef darwin
# use pipes instead of temporary files for assembling
-ap
#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//$fpcversion/msg/errore.msg
#-Fr//$fpcversion/msg/errorn.msg
#-Fr//$fpcversion/msg/errores.msg
#-Fr//$fpcversion/msg/errord.msg
#-Fr//$fpcversion/msg/errorr.msg

# searchpath for units and other system dependent things
-FuDevelopment:units/i386-aros/*
-FuDevelopment:lazarus/components/lazutils/lib/i386-aros
-FuDevelopment:lazarus/lcl/units/i386-aros
-FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
#IFDEF FPCAPACHE_1_3
-Fu//$fpcversion/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu//$fpcversion/units/$fpctarget/httpd20
#ELSE
-Fu//$fpcversion/units/$fpctarget/httpd22
#ENDIF
#ENDIF

# searchpath for fppkg user-specific packages
-Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*

# path to the gcclib


# searchpath for libraries
#-Fl//$fpcversion/lib
#-Fl/lib;/usr/lib

# searchpath for tools
-FD//$fpcversion/bin/$FPCTARGET

#IFNDEF CPUI386
#IFNDEF CPUAMD64
#DEFINE NEEDCROSSBINUTILS
#ENDIF
#ENDIF

#IFNDEF aros
#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

the default fp.cfg file (used by fp IDE)

Below you can see the default configuration file used by the fp-IDE. Normally you would not (and shouldn't) edit this file manually, but by using the GUI in fp-IDE.

# Automatically created file, don't edit.
#IFDEF NORMAL
 -Taros
 -Mfpc
 -O2
 -Cp80386
 -Op80386
 -Rdefault
 -FuDevelopment:units/i386-aros/*
 -Fu/Development/lib
 -FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 -Fu//$fpcversion/units/$fpctarget/httpd13/
 -Fu//$fpcversion/units/$fpctarget/httpd20
 -Fu//$fpcversion/units/$fpctarget/httpd22
 -Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 -Fl/Development/lib
 -Fo/Development/lib
 -FDDevelopment:bin
 -XS
 -g-
 -p-
 -b-
#ENDIF

#IFDEF DEBUG
 -Taros
 -Mfpc
 -vi
 -Sg
 -Cr
 -CpPENTIUMM
 -OpPENTIUMM
 -Rdefault
 -ap
 -FuDevelopment:units/i386-aros/*
 -FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 -Fu//$fpcversion/units/$fpctarget/httpd13/
 -Fu//$fpcversion/units/$fpctarget/httpd20
 -Fu//$fpcversion/units/$fpctarget/httpd22
 -Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 -FDDevelopment:bin
 -XS
 -gl
 -p-
 -b-
 
 -XP$FPCTARGET-
 -l
#ENDIF

#IFDEF RELEASE
 -Taros
 -Mfpc
 -O2
 -Cp80386
 -Op80386
 -Rdefault
 -FuDevelopment:units/i386-aros/*
 -FuDevelopment:lazarus/components/lazutils/lib/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros
 -FuDevelopment:lazarus/lcl/units/i386-aros/fpgui
 -Fu//$fpcversion/units/$fpctarget/httpd13/
 -Fu//$fpcversion/units/$fpctarget/httpd20
 -Fu//$fpcversion/units/$fpctarget/httpd22
 -Fu$LOCAL_APPDATA/FreePascal/fppkg/units/$FPCTARGET/*
 -FDDevelopment:bin
 -XS
 -g-
 -p-
 -b-
#ENDIF