summaryrefslogtreecommitdiff
path: root/moz
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2010-10-13 13:50:42 +0100
committerCaolán McNamara <caolanm@redhat.com>2010-10-13 14:34:03 +0100
commit5e6d84ab73db7064c1e11a567b76e38d690f86ea (patch)
tree8f7e7a55873178e8080f7dfe392ee6597d602ef4 /moz
parentb57a972d3025770a48601263b967b98737323365 (diff)
tweak this to build in AIX
Diffstat (limited to 'moz')
-rw-r--r--moz/extractfiles.mk2
-rw-r--r--moz/makefile.mk8
-rw-r--r--moz/patches/aix_build_fix.patch203
3 files changed, 211 insertions, 2 deletions
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 <sys/cdefs.h>
+ #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