Hi Folks
I've got fpc to compile in a dos box for Arm Embedded using this script
fpc -Parm -Tembedded -WpLPC1343FBD48 -Cparmv7m myprogram.pp
how do it get the above commands into fpc.cfg ?
so I can just type fpc myprogram.pp
Kind Regards
Justin

Mailing lists / fpc-pascal / 2014-05
7 messages · 2 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi Folks
I've got fpc to compile in a dos box for Arm Embedded using this script
fpc -Parm -Tembedded -WpLPC1343FBD48 -Cparmv7m myprogram.pp
how do it get the above commands into fpc.cfg ?
so I can just type fpc myprogram.pp
Kind Regards
Justin
On Windows, create a file called fpc.cfg in your "USERPROFILE" directory (can see what it is by typing "echo %USERPROFILE%" in a command line window) with the following contents:
#include \path\to\default\fpc.cfg
-Parm
-Tembedded
-WpLPC1343FBD48
-Cparmv7m
The default fpc.cfg is located in the same directory as fpc.exe.
Jonas
I've created this no change , when I run fpc I comes up trying to use ppc386.exe
This is my path on my vm
PATH=c:\users\sslvpn;C:\lazarusExtras\FPC\2.6.4\bin\arm-embedded;C:\LazarusE xtras\fpc\2.6.4\Source\rtl\units\arm-embedded;C:\LazarusExtras\fpc\2.6.4\Sou rce\rtl\embedded;C:\LazarusExtras\fpc\2.6.4\Source\rtl\embedded\arm;C:\Progr am Files
(x86)\Notepad++;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\Wind owsPowerShell\v1.0\;C:\Program Files\OpenVPN\bin;C:\Program Files\TortoiseSVN\bin;
And my fpc.cfg
#
# Config file generated by fpcmkcfg on 18/05/2014 - 23:21:56 # 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 #-FrC:\LazarusExtras\fpc\2.6.4/msg/errore.msg #-FrC:\LazarusExtras\fpc\2.6.4/msg/errorn.msg
#-FrC:\LazarusExtras\fpc\2.6.4/msg/errores.msg
#-FrC:\LazarusExtras\fpc\2.6.4/msg/errord.msg
#-FrC:\LazarusExtras\fpc\2.6.4/msg/errorr.msg
# searchpath for units and other system dependent things -FuC:\LazarusExtras\fpc\2.6.4/units/$fpctarget
-FuC:\LazarusExtras\fpc\2.6.4/units/$fpctarget/*
-FuC:\LazarusExtras\fpc\2.6.4/units/$fpctarget/rtl -FuC:\LazarusExtras\fpc\2.6.4/Source/rtl/units/arm-embedded -FuC:\LazarusExtras\fpc\2.6.4/compiler/arm
#IFDEF FPCAPACHE_1_3
-FuC:\LazarusExtras\fpc\2.6.4/units/$fpctarget/httpd13/ #ELSE
#IFDEF FPCAPACHE_2_0
-FuC:\LazarusExtras\fpc\2.6.4/units/$fpctarget/httpd20 #ELSE
-FuC:\LazarusExtras\fpc\2.6.4/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
#-FlC:\LazarusExtras\fpc\2.6.4/lib
#-Fl/lib;/usr/lib
-FlC:\LazarusExtras\fpc\2.6.4/lib/$FPCTARGET
# searchpath for tools
-FDC:\LazarusExtras\fpc\2.6.4/bin/$FPCTARGET
#IFNDEF CPUI386
#IFNDEF CPUAMD64
#DEFINE NEEDCROSSBINUTILS
#ENDIF
#ENDIF
#IFNDEF Win32
#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
Kind Regards
Justin
PS the vm is Windows 7 x64
Justin Smyth wroteI've created this no change , when I run fpc I comes up trying to use ppc386.exe
try running fpc with the -va parameter, then it will tell you where it looks for configuration files, which one it uses and the options it parses. Best pipe the output through "more" or to a file, as it will be a lot of text.
Jonas
Nevermind: it's the ppc*.exe that parses the configuration file, not fpc.exe. There is no configuration file specifically for fpc.exe. One alternative is to call ppcrossarm instead of fpc. Another is to create e.g. a .bat file that calls fpc -Parm. The rest of the options you can put in a configuration file (although in that case, you obviously can put them just as well in the .bat file).
Jonas
On Windows, create a file called fpc.cfg in your "USERPROFILE" directory (can see what it…
I get
[0.003] Macro defined: WIN32
[0.003] Macro defined: MSWINDOWS
[0.003] Macro defined: WINDOWS
[0.003] Macro defined: FPC_WINLIKEWIDESTRING
[0.003] Macro defined: FPC_NO_GENERIC_STACK_CHECK
[0.003] Macro defined: FPC_HAS_WINLIKERESOURCES
[0.003] Macro defined: WIN32
[0.003] Macro defined: FPC
[0.003] Macro defined: VER2
[0.003] Macro defined: VER2_6
[0.003] Macro defined: VER2_6_5
[0.003] Macro defined: RESSTRSECTIONS
[0.003] Macro defined: FPC_HASFIXED64BITVARIANT
[0.003] Macro defined: FPC_HASINTERNALOLEVARIANT2VARIANTCAST [0.003] Macro defined: FPC_HAS_VARSETS
[0.003] Macro defined: FPC_HAS_VALGRINDBOOL
[0.003] Macro defined: FPC_HAS_STR_CURRENCY
[0.003] Macro defined: FPC_REAL2REAL_FIXED
[0.003] Macro defined: FPC_STRTOCHARARRAYPROC
[0.003] Macro defined: FPC_STRTOSHORTSTRINGPROC
[0.003] Macro defined: FPC_OBJFPC_EXTENDED_IF
[0.003] Macro defined: FPC_HAS_OPERATOR_ENUMERATOR [0.003] Macro defined: FPC_HAS_CONSTREF
[0.003] Macro defined: FPC_STATICRIPFIXED
[0.003] Macro defined: FPC_HAS_INTERNAL_ABS_LONG
[0.003] Macro defined: FPC_HAS_UNICODESTRING
[0.003] Macro defined: FPC_RTTI_PACKSET1
[0.003] Macro defined: FPC_HAS_CEXTENDED
[0.003] Macro defined: FPC_HAS_INTERNAL_ROX
[0.003] Macro defined: FPC_HAS_INTERNAL_SAR
[0.003] Macro defined: FPC_HAS_INTERNAL_BSX
[0.003] Macro defined: FPC_HAS_MEMBAR
[0.003] Macro defined: FPC_SETBASE_USED
[0.003] Macro defined: INTERNAL_BACKTRACE
[0.003] Macro defined: STR_CONCAT_PROCS
[0.003] Macro defined: REGCALL
[0.003] Macro defined: FPC_HAS_FEATURE_SUPPORT
[0.003] Macro defined: CPU86
[0.003] Macro defined: CPU87
[0.003] Macro defined: CPU386
[0.003] Macro defined: CPUI386
[0.003] Macro defined: CPU32
[0.003] Macro defined: FPC_HAS_TYPE_EXTENDED
[0.003] Macro defined: FPC_HAS_TYPE_DOUBLE
[0.003] Macro defined: FPC_HAS_TYPE_SINGLE
[0.004] Reading options from file fpc.cfg
[0.004] Start of reading config file fpc.cfg
[0.004] interpreting file option "#"
[0.004] interpreting file option "# Config file generated by fpcmkcfg on 18/05/2014 - 23:21:56"
[0.004] interpreting file option "# Example fpc.cfg for Free Pascal Compiler"
[0.004] interpreting file option "#"
[0.004] interpreting file option "# ----------------------" [0.004] interpreting file option "# Defines (preprocessor)" [0.004] interpreting file option "# ----------------------" [0.004] interpreting file option "#"
[0.004] interpreting file option "# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed"
[0.004] interpreting file option "#"
[0.004] interpreting file option "# -d is the same as #DEFINE" [0.004] interpreting file option "# -u is the same as #UNDEF" [0.004] interpreting file option "#"
[0.004] interpreting file option "#"
[0.004] interpreting file option "# Some examples (for switches see below, and the -? helppages)"
[0.004] interpreting file option "#"
[0.004] interpreting file option "# Try compiling with the -dRELEASE or -dDEBUG on the commandline"
[0.004] interpreting file option "#"
[0.004] interpreting file option "# For a release compile with optimizes and strip debuginfo"
[0.004] interpreting file option "#IFDEF RELEASE"
[0.004] interpreting file option "#WRITE Compiling Release Version" [0.004] interpreting file option "#ENDIF"
[0.004] interpreting file option "# For a debug version compile with debuginfo and all codegeneration checks on"
[0.004] interpreting file option "#IFDEF DEBUG"
[0.004] interpreting file option "#WRITE Compiling Debug Version" [0.004] interpreting file option "#ENDIF"
[0.004] interpreting file option "# assembling"
[0.004] interpreting file option "#ifdef darwin"
[0.004] interpreting file option "# use pipes instead of temporary files for assembling"
[0.004] interpreting file option "# path to Xcode 4.3+ utilities (no problem if it doesn't exist)"
[0.004] interpreting file option "#endif"
[0.004] interpreting file option "# ----------------" [0.004] interpreting file option "# Parsing switches" [0.004] interpreting file option "# ----------------" [0.004] interpreting file option "# Pascal language mode" [0.004] interpreting file option "# -Mfpc free pascal dialect (default)"
[0.004] interpreting file option "# -Mobjfpc switch some Delphi 2 extensions on"
[0.004] interpreting file option "# -Mdelphi tries to be Delphi compatible"
[0.006] interpreting file option "# -Mtp tries to be TP/BP 7.0 compatible"
[0.006] interpreting file option "# -Mgpc tries to be gpc compatible"
[0.006] interpreting file option "# -Mmacpas tries to be compatible to the macintosh pascal dialects"
[0.006] interpreting file option "#"
[0.006] interpreting file option "# Turn on Object Pascal extensions by default"
[0.006] interpreting file option "#-Mobjfpc"
[0.006] interpreting file option "# Assembler reader mode" [0.006] interpreting file option "# -Rdefault use default assembler" [0.006] interpreting file option "# -Ratt read AT&T style assembler"
[0.006] interpreting file option "# -Rintel read Intel style assembler"
[0.006] interpreting file option "#"
[0.006] interpreting file option "# All assembler blocks are AT&T styled by default"
[0.006] interpreting file option "#-Ratt"
[0.006] interpreting file option "# Semantic checking" [0.006] interpreting file option "# -S2 same as -Mobjfpc" [0.006] interpreting file option "# -Sc supports operators like C (*=,+=,/= and -=)"
[0.006] interpreting file option "# -Sa include assertion code." [0.006] interpreting file option "# -Sd same as -Mdelphi" [0.006] interpreting file option "# -Se<x> error options. <x> is a combination of the following:"
[0.006] interpreting file option "# <n> : compiler stops after <n> errors (default is 1)"
[0.007] interpreting file option "# w : compiler stops also after warnings"
[0.007] interpreting file option "# n : compiler stops also after notes"
[0.007] interpreting file option "# h : compiler stops also after hints"
[0.007] interpreting file option "# -Sg allow LABEL and GOTO" [0.007] interpreting file option "# -Sh Use ansistrings" [0.007] interpreting file option "# -Si support C++ styled INLINE"
[0.007] interpreting file option "# -Sk load fpcylix unit" [0.007] interpreting file option "# -SI<x> set interface style to <x>"
[0.007] interpreting file option "# -SIcom COM compatible interface (default)"
[0.007] interpreting file option "# -SIcorba CORBA compatible interface"
[0.007] interpreting file option "# -Sm support macros like C (global)"
[0.007] interpreting file option "# -So same as -Mtp" [0.007] interpreting file option "# -Sp same as -Mgpc" [0.007] interpreting file option "# -Ss constructor name must be init (destructor must be done)"
[0.007] interpreting file option "# -Sx enable exception keywords (default in Delphi/ObjFPC modes)"
[0.007] interpreting file option "#"
[0.007] interpreting file option "# Allow goto, inline, C-operators, C-vars" [0.007] Handling option "-Sgic"
[0.007] interpreting option "-Sgic"
[0.007] interpreting file option "# ---------------" [0.007] interpreting file option "# Code generation" [0.007] interpreting file option "# ---------------" [0.007] interpreting file option "# Uncomment the next line if you always want static/dynamic units by default"
[0.007] interpreting file option "# (can be overruled with -CD, -CS at the commandline)"
[0.007] interpreting file option "#-CS"
[0.007] interpreting file option "#-CD"
[0.007] interpreting file option "# Set the default heapsize to 8Mb" [0.007] interpreting file option "#-Ch8000000"
[0.007] interpreting file option "# Set default codegeneration checks (iocheck, overflow, range, stack)"
[0.007] interpreting file option "#-Ci"
[0.007] interpreting file option "#-Co"
[0.007] interpreting file option "#-Cr"
[0.007] interpreting file option "#-Ct"
[0.007] interpreting file option "# Optimizer switches" [0.007] interpreting file option "# -Os generate smaller code" [0.007] interpreting file option "# -Oa=N set alignment to N" [0.007] interpreting file option "# -O1 level 1 optimizations (quick optimizations, debuggable)"
[0.007] interpreting file option "# -O2 level 2 optimizations (-O1 + optimizations which make debugging more difficult)" [0.007] interpreting file option "# -O3 level 3 optimizations (-O2 + optimizations which also may make the program slower rather than faster)" [0.007] interpreting file option "# -Oo<x> switch on optimalization x. See fpc -i for possible values"
[0.007] interpreting file option "# -OoNO<x> switch off optimalization x. See fpc -i for possible values"
[0.007] interpreting file option "# -Op<x> set target cpu for optimizing, see fpc -i for possible values"
[0.007] interpreting file option "#ifdef darwin"
[0.007] interpreting file option "#ifdef cpui386"
[0.007] interpreting file option "#endif"
[0.007] interpreting file option "#endif"
[0.007] interpreting file option "# -----------------------" [0.007] interpreting file option "# Set Filenames and Paths" [0.007] interpreting file option "# -----------------------" [0.007] interpreting file option "# Both slashes and backslashes are allowed in paths"
[0.007] interpreting file option "# path to the messagefile, not necessary anymore but can be used to override"
[0.007] interpreting file option "# the default language" [0.007] interpreting file option
"#-FrC:\LazarusExtras\fpc\2.6.4/msg/errore.msg"
[0.007] interpreting file option
"#-FrC:\LazarusExtras\fpc\2.6.4/msg/errorn.msg"
[0.007] interpreting file option
"#-FrC:\LazarusExtras\fpc\2.6.4/msg/errores.msg"
[0.007] interpreting file option
"#-FrC:\LazarusExtras\fpc\2.6.4/msg/errord.msg"
[0.007] interpreting file option
"#-FrC:\LazarusExtras\fpc\2.6.4/msg/errorr.msg"
[0.007] interpreting file option "# searchpath for units and other system dependent things"
[0.007] Handling option "-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32" [0.007] interpreting option "-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32" [0.007] Path "C:\LazarusExtras\fpc\2.6.4\units\i386-win32\" not found [0.007] Handling option "-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/*" [0.008] interpreting option
"-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/*" [0.009] Path "C:\LazarusExtras\fpc\2.6.4\units\i386-win32\*\" not found [0.009] Handling option "-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/rtl" [0.009] interpreting option
"-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/rtl" [0.009] Path "C:\LazarusExtras\fpc\2.6.4\units\i386-win32\rtl\" not found [0.009] Handling option
"-FuC:\LazarusExtras\fpc\2.6.4/Source/rtl/units/arm-embedded" [0.009] interpreting option
"-FuC:\LazarusExtras\fpc\2.6.4/Source/rtl/units/arm-embedded" [0.009] Handling option "-FuC:\LazarusExtras\fpc\2.6.4/compiler/arm" [0.009] interpreting option "-FuC:\LazarusExtras\fpc\2.6.4/compiler/arm" [0.009] interpreting file option "#IFDEF FPCAPACHE_1_3" [0.009] interpreting file option "#ELSE"
[0.009] interpreting file option "#IFDEF FPCAPACHE_2_0" [0.009] interpreting file option "#ELSE"
[0.009] Handling option
"-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/httpd22" [0.009] interpreting option
"-FuC:\LazarusExtras\fpc\2.6.4/units/i386-win32/httpd22" [0.010] Path "C:\LazarusExtras\fpc\2.6.4\units\i386-win32\httpd22\" not found
[0.010] interpreting file option "#ENDIF"
[0.010] interpreting file option "#ENDIF"
[0.010] interpreting file option "# searchpath for fppkg user-specific packages"
[0.017] Handling option
"-FuC:\Users\SSLVPN\AppData\Local\\FreePascal\fppkg/units/i386-win32/*" [0.017] interpreting option
"-FuC:\Users\SSLVPN\AppData\Local\\FreePascal\fppkg/units/i386-win32/*" [0.017] Path
"C:\Users\SSLVPN\AppData\Local\\FreePascal\fppkg\units\i386-win32\*\" not found
[0.017] interpreting file option "# path to the gcclib" [0.017] interpreting file option "# searchpath for libraries" [0.018] interpreting file option "#-FlC:\LazarusExtras\fpc\2.6.4/lib" [0.018] interpreting file option "#-Fl/lib;/usr/lib" [0.019] Handling option "-FlC:\LazarusExtras\fpc\2.6.4/lib/i386-win32" [0.019] interpreting option "-FlC:\LazarusExtras\fpc\2.6.4/lib/i386-win32" [0.019] Path "C:\LazarusExtras\fpc\2.6.4\lib\i386-win32\" not found [0.019] interpreting file option "# searchpath for tools" [0.019] Handling option "-FDC:\LazarusExtras\fpc\2.6.4/bin/i386-win32" [0.019] interpreting option "-FDC:\LazarusExtras\fpc\2.6.4/bin/i386-win32" [0.019] interpreting file option "#IFNDEF CPUI386" [0.019] interpreting file option "#IFNDEF CPUAMD64" [0.019] interpreting file option "#DEFINE NEEDCROSSBINUTILS" [0.019] interpreting file option "#ENDIF"
[0.019] interpreting file option "#ENDIF"
[0.019] interpreting file option "#IFNDEF Win32"
[0.019] interpreting file option "#DEFINE NEEDCROSSBINUTILS" [0.019] interpreting file option "#ENDIF"
[0.019] interpreting file option "# binutils prefix for cross compiling" [0.019] interpreting file option "#IFDEF FPC_CROSSCOMPILING" [0.019] interpreting file option "#IFDEF NEEDCROSSBINUTILS" [0.019] interpreting file option "#ENDIF"
[0.019] interpreting file option "#ENDIF"
[0.019] interpreting file option "# -------------" [0.019] interpreting file option "# Linking"
[0.019] interpreting file option "# -------------" [0.019] interpreting file option "# generate always debugging information for GDB (slows down the compiling"
[0.019] interpreting file option "# process)"
[0.020] interpreting file option "# -gc generate checks for pointers"
[0.020] interpreting file option "# -gd use dbx" [0.020] interpreting file option "# -gg use gsym" [0.020] interpreting file option "# -gh use heap trace unit (for memory leak debugging)"
[0.020] interpreting file option "# -gl use line info unit to show more info for backtraces"
[0.020] interpreting file option "# -gv generates programs tracable with valgrind"
[0.020] interpreting file option "# -gw generate dwarf debugging info"
[0.020] interpreting file option "#"
[0.020] interpreting file option "# Enable debuginfo and use the line info unit by default"
[0.020] interpreting file option "#-gl"
[0.020] interpreting file option "# always pass an option to the linker" [0.020] interpreting file option "#-k-s"
[0.020] interpreting file option "# Always strip debuginfo from the executable"
[0.020] Handling option "-Xs"
[0.020] interpreting option "-Xs"
[0.020] interpreting file option "# -------------" [0.020] interpreting file option "# Miscellaneous" [0.020] interpreting file option "# -------------" [0.020] interpreting file option "# Write always a nice FPC logo ;)" [0.020] Handling option "-l"
[0.020] interpreting option "-l"
[0.020] interpreting file option "# Verbosity"
[0.020] interpreting file option "# e : Show errors (default) d : Show debug info"
[0.020] interpreting file option "# w : Show warnings u : Show unit info"
[0.020] interpreting file option "# n : Show notes t : Show tried/used files"
[0.020] interpreting file option "# h : Show hints s : Show time stamps"
[0.020] interpreting file option "# i : Show general info q : Show message numbers"
[0.020] interpreting file option "# l : Show linenumbers c : Show conditionals"
[0.020] interpreting file option "# a : Show everything 0 : Show nothing (except errors)"
[0.020] interpreting file option "# b : Write file names messages r : Rhide/GCC compatibility mode"
[0.020] interpreting file option "# with full path x : Executable info (Win32 only)"
[0.020] interpreting file option "# v : write fpcdebug.txt with p : Write tree.log with parse tree"
[0.020] interpreting file option "# lots of debugging info" [0.020] interpreting file option "#"
[0.020] interpreting file option "# Display Info, Warnings and Notes" [0.020] Handling option "-viwn"
[0.020] interpreting option "-viwn"
[0.020] interpreting file option "# If you don't want so much verbosity use" [0.020] interpreting file option "#-vw"
[0.020] End of reading config file fpc.cfg
[0.020] Handling option "-va"
[0.020] interpreting option "-va"
[0.020] Handling option "myprogram.pp"
[0.020] found source file name "myprogram.pp"
[0.020] Macro defined: ENDIAN_LITTLE
[0.020] Macro defined: FPC_LITTLE_ENDIAN
[0.020] Macro defined: FPC_ABI_DEFAULT
[0.020] Free Pascal Compiler version 2.6.5 [2014/05/19] for i386 [0.020] Copyright (c) 1993-2012 by Florian Klaempfl and others [0.020] Path "C:\LazarusExtras\fpc\2.6.4\rtl\i386-win32\" not found [0.020] Macro defined: CPUPENTIUM
[0.020] Macro defined: FPUX87
[0.020] Macro defined: FPC_HAS_TYPE_EXTENDED
[0.020] Macro defined: FPC_HAS_TYPE_SINGLE
[0.020] Macro defined: FPC_HAS_TYPE_DOUBLE
[0.020] Macro defined: FPC_LINK_STATIC
[0.020] Macro FPC_VERSION set to 2
[0.020] Macro FPC_RELEASE set to 6
[0.020] Macro FPC_PATCH set to 5
[0.020] Macro FPC_FULLVERSION set to 20605
[0.020] Macro defined: FPC_HAS_FEATURE_HEAP
[0.020] Macro defined: FPC_HAS_FEATURE_INITFINAL
[0.020] Macro defined: FPC_HAS_FEATURE_RTTI
[0.020] Macro defined: FPC_HAS_FEATURE_CLASSES
[0.020] Macro defined: FPC_HAS_FEATURE_EXCEPTIONS
[0.020] Macro defined: FPC_HAS_FEATURE_EXITCODE
[0.020] Macro defined: FPC_HAS_FEATURE_ANSISTRINGS [0.020] Macro defined: FPC_HAS_FEATURE_WIDESTRINGS [0.020] Macro defined: FPC_HAS_FEATURE_TEXTIO
[0.020] Macro defined: FPC_HAS_FEATURE_CONSOLEIO
[0.020] Macro defined: FPC_HAS_FEATURE_FILEIO
[0.022] Macro defined: FPC_HAS_FEATURE_RANDOM
[0.022] Macro defined: FPC_HAS_FEATURE_VARIANTS
[0.022] Macro defined: FPC_HAS_FEATURE_OBJECTS
[0.022] Macro defined: FPC_HAS_FEATURE_DYNARRAYS
[0.022] Macro defined: FPC_HAS_FEATURE_THREADING
[0.022] Macro defined: FPC_HAS_FEATURE_COMMANDARGS [0.022] Macro defined: FPC_HAS_FEATURE_PROCESSES
[0.022] Macro defined: FPC_HAS_FEATURE_STACKCHECK
[0.022] Macro defined: FPC_HAS_FEATURE_DYNLIBS
[0.022] Macro defined: FPC_HAS_FEATURE_SOFTFPU
[0.022] Macro defined: FPC_HAS_FEATURE_OBJECTIVEC1 [0.022] Macro defined: FPC_HAS_FEATURE_RESOURCES
[0.022] Compiler: C:\LazarusExtras\fpc\2.6.4\bin\arm-embedded\ppc386.exe [0.022] Compiler OS: Win32 for i386
[0.022] Target OS: Win32 for i386
[0.022] Using executable path: C:\LazarusExtras\fpc\2.6.4\bin\arm-embedded\ [0.022] Using unit path: C:\LazarusExtras\fpc\2.6.4\compiler\arm\ [0.022] Using unit path:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\ [0.022] Using unit path: .\
[0.022] Using library path: C:\LazarusExtras\fpc\2.6.4\compiler\arm\ [0.022] Using library path:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\ [0.022] Using library path: .\
[0.022] Using object path: C:\LazarusExtras\fpc\2.6.4\compiler\arm\ [0.022] Using object path:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\ [0.022] Using object path: .\
[0.022] Compiling myprogram.pp
[0.022] Searching file myprogram.pp... found
[0.022] Registering new unit SYSTEM
[0.023] Load from PROGRAM (implementation) unit SYSTEM [0.024] Loading unit SYSTEM
[0.024] Unitsearch: system.ppu
[0.024] Unitsearch: system.pp
[0.024] Unitsearch: system.pas
[0.024] Unitsearch: C:\LazarusExtras\fpc\2.6.4\compiler\arm\system.ppu [0.024] Unitsearch: C:\LazarusExtras\fpc\2.6.4\compiler\arm\system.pp [0.024] Unitsearch: C:\LazarusExtras\fpc\2.6.4\compiler\arm\system.pas [0.024] Unitsearch:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.ppu [0.024] PPU Loading
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.ppu [0.024] PPU Name:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.ppu [0.024] PPU Invalid Version 169
[0.024] Unitsearch:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.pp [0.024] Unitsearch:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.pas [0.024] Unitsearch: system.ppu
[0.024] Unitsearch: system.pp
[0.024] Unitsearch: system.pas
[0.025] Unitsearch: system.pp
[0.025] Unitsearch: system.pas
[0.025] Unitsearch: C:\LazarusExtras\fpc\2.6.4\compiler\arm\system.pp [0.026] Unitsearch: C:\LazarusExtras\fpc\2.6.4\compiler\arm\system.pas [0.026] Unitsearch:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.pp [0.026] Unitsearch:
C:\LazarusExtras\fpc\2.6.4\Source\rtl\units\arm-embedded\system.pas [0.026] Unitsearch: system.pp
[0.026] Unitsearch: system.pas
[0.026] Can't find unit system used by Program
[0.026] Compilation aborted
Error: C:\LazarusExtras\fpc\2.6.4\bin\arm-embedded\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)
I've been thinking about this , I've come up with a solution
I'm going to be using this in lazarus , so in the project options when you select arm I think you need to be able to select the chip set to be used.
The Chipset can be found by using ppcrossarm.exe -i
That will list the chipset and then provide fpc / ppcrossarm.exe with -W<targetchipset>
Then I should be able to compile my project in lazarus