Sign in Join

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

Mailing lists / fpc-pascal / 2007-09

fpc 2.2.0 win32_arm-linux cross-compiler issue

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

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

Paul Nicholls

Hi all,
I have downloaded the freepascal 2.2.0 fpc source code ( fpcbuild-2.2.0.zip) and attempted to create a arm-linux cross-compiler that runs under win32. I have done this previously with the fpcbuild-2.0.4 .zip file ok using this batch file:

******START OF BATCH FILE****************
set path=G:\fpc\2.2.0\bin\i386-win32
make distclean

make all install CPU_TARGET=arm OS_TARGET=linux
CROSSBINDIR=G:\fpc-crossbinutils\arm-linux BINUTILSPREFIX=arm-linux- INSTALL_PREFIX=G:\fpc_win32_arm-linux COMPILER_OPTIONS="cpufpemu"

pause
********END OF BATCH FILE**************

After I build the cross-compiler and tried using 'ppcrossarm.exe' to build a pascal program I was having errors in the output and noticed this:

Free Pascal Compiler version 2.2.0 [2007/09/24] for arm Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: WinCE for ARM

I am using the same batch file to compile my pascal program that I used before so I am unsure why it is saying that the Target OS: WinCE for ARM is coming up :(

cheers,
Paul

Peter Vreman
to Paul Nicholls
Show quoted text 28 lines
Hi all, I have downloaded the freepascal 2.2.0 fpc source code ( fpcbuild-2.2.0.zip) and attempted to create a arm-linux cross-compiler that runs under win32. I have done this previously with the fpcbuild-2.0.4 .zip file ok using this batch file: ******START OF BATCH FILE**************** set path=G:\fpc\2.2.0\bin\i386-win32 make distclean make all install CPU_TARGET=arm OS_TARGET=linux CROSSBINDIR=G:\fpc-crossbinutils\arm-linux BINUTILSPREFIX=arm-linux- INSTALL_PREFIX=G:\fpc_win32_arm-linux COMPILER_OPTIONS="cpufpemu" pause ********END OF BATCH FILE************** After I build the cross-compiler and tried using 'ppcrossarm.exe' to build a pascal program I was having errors in the output and noticed this: Free Pascal Compiler version 2.2.0 [2007/09/24] for arm Copyright (c) 1993-2007 by Florian Klaempfl Target OS: WinCE for ARM I am using the same batch file to compile my pascal program that I used before so I am unsure why it is saying that the Target OS: WinCE for ARM is coming up :(

WinCE is the default ARM target if a cross compiler is build under Windows. You need to specify -Tlinux on the commandline or add it to fpc.cfg to make it the default:

#ifdef cpuarm
-Tlinux
#endif

Paul Nicholls
to Peter Vreman
Peter Vreman wrote 42 lines
> Hi all, > I have downloaded the freepascal 2.2.0 fpc source code ( > fpcbuild-2.2.0.zip) and attempted to create a arm-linux cross-compiler that > runs under win32. I have done this previously with the fpcbuild-2.0.4.zip > file ok using this batch file: > > ******START OF BATCH FILE**************** > set path=G:\fpc\2.2.0\bin\i386-win32 > make distclean > > make all install CPU_TARGET=arm OS_TARGET=linux > CROSSBINDIR=G:\fpc-crossbinutils\arm-linux BINUTILSPREFIX=arm-linux- > INSTALL_PREFIX=G:\fpc_win32_arm-linux COMPILER_OPTIONS="cpufpemu" > > pause > ********END OF BATCH FILE************** > > > After I build the cross-compiler and tried using 'ppcrossarm.exe' to build a > pascal program I was having errors in the output and noticed this: > > Free Pascal Compiler version 2.2.0 [2007/09/24] for arm > Copyright (c) 1993-2007 by Florian Klaempfl > Target OS: WinCE for ARM > > I am using the same batch file to compile my pascal program that I used > before so I am unsure why it is saying that the Target OS: WinCE for ARM is > coming up :( WinCE is the default ARM target if a cross compiler is build under Windows. You need to specify -Tlinux on the commandline or add it to fpc.cfg to make it the default: #ifdef cpuarm -Tlinux #endif Thanks Peter that addition to the fpc.cfg worked! :)

I am not sure why I didn't need that before though....I was previously using:

-XParm-linux- in the fpc.cfg file like so:

#IFDEF GP2X
# -Ce
# -CfSOFT
# -CfLIBGCC
-XS
# -XD
-Xd
-XParm-linux-
#ifdef cpuarm
-Tlinux
#endif
-Fug:\FPC_win32_arm-linux\units\arm-linux\*
-Flg:\devkitGP2X\arm-linux\lib
-Flg:\devkitGP2X\arm-linux\lib\ldscripts
-Flg:\devkitGP2X\lib
-Flg:\devkitGP2X\lib\gcc\arm-linux\4.0.2
-Flg:\devkitGP2X\lib\pkgconfig
-Flg:\devkitGP2X\sysroot\lib
-Flg:\devkitGP2X\sysroot\usr\lib
-Flg:\devkitGP2X\sysroot\usr\lib\gconv

# -Flg:\Fpc\2.0.4\lib\arm-linux\lib
# -Flg:\Fpc\2.0.4\lib
# -Flg:\Fpc\2.0.4\lib\sysroot\lib
# -Flg:\Fpc\2.0.4\lib\sysroot\usr\lib
# SOFT LIBGCC FPA FPA10 FPA11 VFP
#ENDIF

cheers,
Paul