[gs-devel] Cross-compiling Ghostscript, linker issues, Mac OS X
Gerben Wierda
Gerben.Wierda at rna.nl
Fri Jul 25 18:21:47 PDT 2008
I am trying to cross compile ghostscript:
- compile system: Mac OS X 10.5
- target system: Mac OS X 10.4
What I have done:
In a master makefile I have set
SDK=/Developer/SDKs/MacOSX10.4u.sdk
SDKCFLAGS= -isysroot ${SDK}
SDKLDFLAGS= -isysroot ${SDK} -Wl,-syslibroot,${SDK}
and I run from that same Makefile
./configure --without-x && make XCFLAGS="${SDKCFLAGS}" XLDFLAGS="$
{SDKLDFLAGS}"
This works up to a point. The CFLAGS gets changed and a compile to
object looks like (e.g.)
gcc -DHAVE_MKSTEMP -DHAVE_HYPOT -DHAVE_FONTCONFIG -O2 -Wall -
Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes
-Wwrite-strings -Wno-strict-aliasing -fno-builtin -fno-common -
DHAVE_STDINT_H -DGX_COLOR_INDEX_TYPE="unsigned long long" -isysroot /
Developer/SDKs/MacOSX10.4u.sdk -I./obj -I./src -o ./obj/gxipixel.o -
c ./src/gxipixel.c
But the final link has no XLDFLAGS. obj/ldt.tr contains:
gcc -o ./bin/gs ./obj/gsromfs1.o ./obj/gs.o ./obj/gp_getnv.o \
./obj/gp_unix.o \
./obj/gp_unifs.o \
[etc.]
unixlink.mak contains:
$(GS_XE): $(ld_tr) $(ECHOGS_XE) $(XE_ALL) $(PSOBJ)gsromfs$
(COMPILE_INITS).$(OBJ)
$(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS) -o $(GS_XE)
$(ECHOGS_XE) -a $(ldt_tr) -n -s $(PSOBJ)gsromfs$
(COMPILE_INITS).$(OBJ) $(PSOBJ)gs.$(OBJ) -s
cat $(ld_tr) >>$(ldt_tr)
$(ECHOGS_XE) -a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS)
Hence, I expect LDFLAGS to be there before -o ./bin/gs but it is not
there in ldt.tr.
I am stymied. Any clues what goes wrong here?
Thanks,
G
PS. Trying to give these cross compiling flags to configure fails
miserably (configure is unable to link anything).
More information about the gs-devel
mailing list