From 5e6d84ab73db7064c1e11a567b76e38d690f86ea Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 13 Oct 2010 13:50:42 +0100 Subject: tweak this to build in AIX --- moz/extractfiles.mk | 2 +- moz/makefile.mk | 8 +- moz/patches/aix_build_fix.patch | 203 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 211 insertions(+), 2 deletions(-) create mode 100644 moz/patches/aix_build_fix.patch (limited to 'moz') diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk index dedfade257db..faba88b7822f 100644 --- a/moz/extractfiles.mk +++ b/moz/extractfiles.mk @@ -342,7 +342,7 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip echo >& $(NULLDEV) .IF "$(GUI)"=="UNX" -.IF "$(OS)"!="MACOSX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" cd $(RUNTIME_DIR) && strip *$(DLLPOST) cd $(RUNTIME_DIR)$/components && strip *$(DLLPOST) .ENDIF diff --git a/moz/makefile.mk b/moz/makefile.mk index feb2c50343ee..49e9b41010ea 100644 --- a/moz/makefile.mk +++ b/moz/makefile.mk @@ -52,6 +52,11 @@ LD_LIBRARY_PATH!:=$(LD_LIBRARY_PATH)$(PATH_SEPERATOR)$(PKGCONFIG_ROOT)$/lib DISABLE_MOZ_EXECUTABLE=TRUE .EXPORT : DISABLE_MOZ_EXECUTABLE +.IF "$(OS)"=="AIX" +LDFLAGS+:=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) +.EXPORT : LDFLAGS +.ENDIF + .IF "$(SYSBASE)"!="" && "$(OS)" == "LINUX" ## hmm... rather gcc specific switches... CFLAGS:=-isystem $(SYSBASE)/usr/include -B$(SYSBASE)/usr/lib @@ -87,7 +92,8 @@ PATCH_FILES = \ patches/respect_disable_pango.patch \ patches/arm_build_fix.patch \ patches/link_fontconfig.patch \ - patches/brokenmakefile.patch + patches/brokenmakefile.patch \ + patches/aix_build_fix.patch # This file is needed for the W32 build when BUILD_MOZAB is set # (currently only vc8/vs2005 is supported when BUILD_MOZAB is set) diff --git a/moz/patches/aix_build_fix.patch b/moz/patches/aix_build_fix.patch new file mode 100644 index 000000000000..d778532eeb44 --- /dev/null +++ b/moz/patches/aix_build_fix.patch @@ -0,0 +1,203 @@ +--- misc/mozilla/nsprpub/configure 2010-08-19 07:05:19.000000000 -0500 ++++ misc/build/mozilla/nsprpub/configure 2010-08-19 07:34:33.000000000 -0500 +@@ -2938,7 +2938,8 @@ + #define SYSV 1 + EOF + +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' + ac_safe=`echo "sys/atomic_op.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for sys/atomic_op.h""... $ac_c" 1>&6 + echo "configure:2944: checking for sys/atomic_op.h" >&5 +@@ -3067,7 +3068,6 @@ + AIX_LINK_OPTS='-brtl -bnso -berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/mozilla/nsprpub/configure.in 2010-08-19 07:05:19.000000000 -0500 ++++ misc/build/mozilla/nsprpub/configure.in 2010-08-19 07:35:35.000000000 -0500 +@@ -811,7 +811,8 @@ + AC_DEFINE(XP_UNIX) + AC_DEFINE(AIX) + AC_DEFINE(SYSV) +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' + AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H)) + case "${target_os}" in + aix3.2*) +@@ -854,7 +855,6 @@ + AIX_LINK_OPTS='-brtl -bnso -berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/mozilla/security/coreconf/AIX.mk 2010-08-19 07:04:11.000000000 -0500 ++++ misc/build/mozilla/security/coreconf/AIX.mk 2010-08-19 07:38:42.000000000 -0500 +@@ -62,35 +62,30 @@ + + DEFAULT_COMPILER = xlc_r + +-CC = xlc_r +-CCC = xlC_r ++CCC = $(CXX) + + CPU_ARCH = rs6000 + + RANLIB = ranlib + + OS_CFLAGS = -DAIX -DSYSV +-OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm ++OS_LIBS += -Wl,-blibpath:/usr/lib:/lib -lc -lm + +-DSO_LDOPTS = -brtl -bnortllib -bM:SRE -bnoentry +-MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm ++DSO_LDOPTS = -Wl,-brtl -Wl,-bnortllib ++MKSHLIB = $(CC) --shared $(DSO_LDOPTS) -Wl,-blibpath:/usr/lib:/lib -lc -lm + + AIX_WRAP = $(DIST)/lib/aixwrap.o + AIX_TMP = $(OBJDIR)/_aix_tmp.o + + ifdef MAPFILE +-DSO_LDOPTS += -bexport:$(MAPFILE) ++DSO_LDOPTS += -Wl,-bexport:$(MAPFILE) + else +-DSO_LDOPTS += -bexpall ++DSO_LDOPTS += -Wl,-bexpall + endif + + PROCESS_MAP_FILE = grep -v ';+' $< | grep -v ';-' | \ + sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@ + +-ifdef BUILD_OPT +- OPTIMIZER += -qmaxmem=-1 +-endif +- + ifeq ($(USE_64), 1) + OS_CFLAGS += -DAIX_64BIT + OBJECT_MODE=64 +--- misc/mozilla/security/nss/cmd/platlibs.mk 2010-08-19 07:03:52.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2010-08-19 07:39:10.000000000 -0500 +@@ -154,7 +154,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) +@@ -207,7 +207,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # If GNU ld is used, we must use the -rpath-link option to tell +--- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-19 07:03:57.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-19 07:42:30.000000000 -0500 +@@ -74,6 +74,10 @@ + + include $(CORE_DEPTH)/coreconf/rules.mk + ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif ++ + ####################################################################### + # (6) Execute "component" rules. (OPTIONAL) # + ####################################################################### +--- misc/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-19 07:03:57.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-19 07:41:51.000000000 -0500 +@@ -74,6 +74,8 @@ + # (7) Execute "local" rules. (OPTIONAL). # + ####################################################################### + ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif + + include ../../platrules.mk +- +--- misc/mozilla/dbm/include/mcom_db.h 2010-08-19 08:39:18.000000000 -0500 ++++ misc/build/mozilla/dbm/include/mcom_db.h 2010-08-19 08:39:45.000000000 -0500 +@@ -88,7 +88,7 @@ + + #ifdef __DBINTERFACE_PRIVATE + +-#ifdef HAVE_SYS_CDEFS_H ++#if defined(HAVE_SYS_CDEFS_H) && !defined(_AIX) + #include + #else + #include "cdefs.h" +--- misc/mozilla/configure 2010-08-19 09:18:07.000000000 -0500 ++++ misc/build/mozilla/configure 2010-08-19 09:11:35.000000000 -0500 +@@ -5884,6 +5884,9 @@ + CC_VERSION=`lslpp -Lcq vac.C 2>/dev/null | awk -F: '{ print $3 }'` + CXX_VERSION=`lslpp -Lcq vacpp.cmp.core 2>/dev/null | awk -F: '{ print $3 }'` + fi ++ else ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure.in 2010-08-19 09:18:07.000000000 -0500 ++++ misc/build/mozilla/configure.in 2010-08-19 09:10:46.000000000 -0500 +@@ -1489,6 +1489,9 @@ + CC_VERSION=`lslpp -Lcq vac.C 2>/dev/null | awk -F: '{ print $3 }'` + CXX_VERSION=`lslpp -Lcq vacpp.cmp.core 2>/dev/null | awk -F: '{ print $3 }'` + fi ++ else ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure 2010-08-19 11:03:27.000000000 -0500 ++++ misc/build/mozilla/configure 2010-08-19 11:05:38.000000000 -0500 +@@ -5887,6 +5887,8 @@ + else + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MOZ_FIX_LINK_PATHS= ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-brtl" + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure.in 2010-08-19 11:03:36.000000000 -0500 ++++ misc/build/mozilla/configure.in 2010-08-19 11:04:33.000000000 -0500 +@@ -1492,6 +1492,9 @@ + else + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ AC_MSG_WARN([Clearing MOZ_FIX_LINK_PATHS till we can fix bug 332075.]) ++ MOZ_FIX_LINK_PATHS= ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-brtl" + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/config/rules.mk 2010-08-20 04:09:51.000000000 -0500 ++++ misc/build/mozilla/config/rules.mk 2010-08-20 05:02:37.000000000 -0500 +@@ -488,8 +488,13 @@ + ifeq ($(OS_ARCH),AIX) + ifdef IS_COMPONENT + ifneq ($(HAS_EXTRAEXPORTS),1) ++ifdef GNU_CC ++MKSHLIB += -Wl,-bE:$(MOZILLA_DIR)/build/unix/aix.exp -Wl,-bnoexpall ++MKCSHLIB += -Wl,-bE:$(MOZILLA_DIR)/build/unix/aix.exp -Wl,-bnoexpall ++else + MKSHLIB += -bE:$(MOZILLA_DIR)/build/unix/aix.exp -bnoexpall + MKCSHLIB += -bE:$(MOZILLA_DIR)/build/unix/aix.exp -bnoexpall ++endif # GNU_CXX + endif # HAS_EXTRAEXPORTS + endif # IS_COMPONENT + endif # AIX -- cgit