[fpc-pascal] Smartlinking while cross compiling

Brad Campbell brad at wasp.net.au
Wed Oct 8 09:15:02 CEST 2008


G'day all,

I'm cross compiling from i386-linux to i386-darwin/powerpc-darwin/i386-win32. I can't seem to create 
smartlinkable libraries for anything other than i386-linux and so all my cross compiled files are 
suddenly huge by comparison.

I thought I had this working. Everything is compiled with -CX -XX, but I only have .a files in my 
i386-linux directory, and my -va compile logs from the other architectures all say..

         unit STRUTILS can't be smart linked, switching to static linking
[7.082] Searching file /opt/cross/lib/fpc/2.2.3/units/powerpc-darwin/rtl/strutils.o... found

I have No idea what I've changed (if anything), so I thought I'd ask if it were possible to even 
make it work.

I'll include the script I use to create my cross compilers just in case.
I can compile for all the platforms with these compilers, and also compile lazarus against them.

I *thought* I had smartlinking working for non-linux, but on closer inspection it appears not to be.

#!/bin/bash
set -e
make distclean
make all install INSTALL_PREFIX=/opt/cross OPT="-gl -XX -CX"

make distclean
FPC=ppc386 make crossall crossinstall CPU_TARGET=i386 OS_TARGET=darwin CROSSBINDIR=/opt/cross/bin 
BINUTILSPREFIX=i386-darwin- INSTALL_PREFIX=/opt/cross OPT="-gl -XX -CX -Xd 
-Fl/opt/cross/MacOSX10.4u.sdk/usr/lib"

make distclean
FPC=ppc386 make crossall crossinstall CPU_TARGET=powerpc OS_TARGET=darwin CROSSBINDIR=/opt/cross/bin 
BINUTILSPREFIX=powerpc-darwin- INSTALL_PREFIX=/opt/cross OPT="-gl -XX -CX -Xd 
-Fl/opt/cross/MacOSX10.4u.sdk/usr/lib"

make distclean
FPC=ppc386 make crossall crossinstall CPU_TARGET=i386 OS_TARGET=win32 CROSSBINDIR=/opt/cross/bin 
BINUTILSPREFIX=i386-mingw- INSTALL_PREFIX=/opt/cross OPT="-gl -XX -CX"

Regards,
Brad
-- 
Dolphins are so intelligent that within a few weeks they can
train Americans to stand at the edge of the pool and throw them
fish.



More information about the fpc-pascal mailing list