322578 Support ppc<->x86 cross builds for Mac OS X. Core cross-compile support. r=bsmedberg r=cls sr=bryner a/1.8=shaver a/1.8.0=dveditz

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@191055 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mark%moxienet.com
2006-02-23 19:30:43 +00:00
parent 9e263bec7d
commit d43b7dd56b

View File

@@ -373,14 +373,32 @@ ifdef HOST_NSPR_MDCPUCFG
HOST_CC := $(HOST_CC) -DMDCPUCFG=$(TARGET_NSPR_MDCPUCFG)
endif
ifdef CROSS_COMPILE
# jscpucfg needs to know when it's supposed to produce a config for the target
JSCPUCFG_DEFINES = -DCROSS_COMPILE=1
# This is incredibly hacky. Darwin NSPR uses the same MDCPUCFG for multiple
# processors, and determines which processor to configure for based on
# #ifdef i386. This macro is among the NSPR defines, but is also automatically
# defined by the compiler when building for i386. It therefore needs to be
# defined here if targeting i386, and explicitly undefined otherwise.
ifeq ($(OS_ARCH),Darwin)
ifeq ($(TARGET_CPU),powerpc)
DEFINES += -Ui386
else
DEFINES += -Di386=1
endif
endif
endif
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
# QNX's compiler apparently can't build a binary directly from a source file.
jscpucfg.o: jscpucfg.c Makefile.in
$(HOST_CC) $(HOST_CFLAGS) -c $(DEFINES) $(NSPR_CFLAGS) -o $@ $<
$(HOST_CC) $(HOST_CFLAGS) -c $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) -o $@ $<
jscpucfg: jscpucfg.o
$(HOST_CC) $(HOST_CFLAGS) $(DEFINES) -o $@ $<
$(HOST_CC) $(HOST_CFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -o $@ $<
endif
else
ifeq ($(OS_ARCH),WINCE)
@@ -388,7 +406,7 @@ jscpucfg$(HOST_BIN_SUFFIX):
echo no need to build jscpucfg $<
else
jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.c Makefile.in
$(HOST_CC) $(HOST_CFLAGS) $(DEFINES) $(NSPR_CFLAGS) $(OUTOPTION)$@ $<
$(HOST_CC) $(HOST_CFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(OUTOPTION)$@ $<
endif
endif