Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2014-05

fpc.cfg - how to set it so it uses arm embedded as the default target

7 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Justin Smyth

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

Reply by email

Jonas Maebe
to Justin Smyth
Justin Smyth wrote 8 lines
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

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

Reply by email

Justin Smyth
to Jonas Maebe

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

Reply by email

Jonas Maebe
to Justin Smyth
Justin Smyth wrote
I'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

Reply by email

Jonas Maebe
to Jonas Maebe
Jonas Maebe wrote 6 lines
On 20 May 2014, at 15:15, Justin Smyth wrote: > I'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.

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

Reply by email

Justin Smyth
to Jonas Maebe: 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)

Earlier message 33 lines
-----Original Message----- From: Jonas Maebe Sent: Tuesday, 20 May 2014 10:49 PM To: ; FPC-Pascal users discussions Subject: Re: [fpc-pascal] fpc.cfg - how to set it so it uses arm embedded as the default target On 20 May 2014, at 14:32, Justin Smyth wrote: > 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 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

Reply by email

Justin Smyth
to Justin Smyth

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

Earlier message 442 lines
-----Original Message----- From: On Behalf Of Justin Smyth Sent: Tuesday, 20 May 2014 11:30 PM To: 'FPC-Pascal users discussions' Subject: Re: [fpc-pascal] fpc.cfg - how to set it so it uses arm embedded as the default target 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) -----Original Message----- From: Jonas Maebe Sent: Tuesday, 20 May 2014 10:49 PM To: ; FPC-Pascal users discussions Subject: Re: [fpc-pascal] fpc.cfg - how to set it so it uses arm embedded as the default target On 20 May 2014, at 14:32, Justin Smyth wrote: > 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 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

Reply by email