office-gobmx/nss/nss.patch
Thomas Arnhold 304c490d72 nss/moz: Add Linux 3.0 profile
As this is a copy of Linux2.6.mk this has to be
MPL 1.1/GPL 2.0/LGPL 2.1 I think.
2011-07-24 23:14:15 +02:00

205 lines
8 KiB
Diff

--- misc/nss-3.12.8/mozilla/nsprpub/config/rules.mk 2009-12-09 22:24:37.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/nsprpub/config/rules.mk 2010-06-11 16:35:54.946870871 +0200
@@ -345,7 +345,12 @@
ifdef NS_USE_GCC
$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
else
- $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
+ #We remove stl from the paths to avoid that rc.exe finds the stlport of
+ #OOo. stlport includes the system stl which will fail. By removing it,
+ #rc will use the stl from the system if the path is in the INCLUDE
+ #variable.
+ INCLUDE="$(subst /stl,,$(INCLUDE))" $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
+
endif # GCC
@echo $(RES) finished
endif
--- misc/nss-3.12.8/mozilla/nsprpub/configure 2010-02-08 19:41:35.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/nsprpub/configure 2010-06-11 16:35:54.960188991 +0200
@@ -3900,7 +3900,7 @@
PR_MD_CSRCS=linux.c
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
DSO_CFLAGS=-fPIC
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ DSO_LDOPTS='-shared -Wl,-rpath,\$$ORIGIN -Wl,-soname -Wl,$(notdir $@)'
_OPTIMIZE_FLAGS=-O2
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
# combo is not yet good at debugging inlined
--- misc/nss-3.12.8/mozilla/security/coreconf/Darwin.mk 2010-02-04 19:59:10.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/Darwin.mk 2010-06-11 16:35:54.966185975 +0200
@@ -39,8 +39,12 @@
DEFAULT_COMPILER = cc
-CC = cc
-CCC = c++
+# CC is taken from environment automatically.
+#CC = cc
+# Use CCC from environment.
+#CCC = c++
+CCC = $(CXX)
+
RANLIB = ranlib
ifndef CPU_ARCH
--- misc/nss-3.12.8/mozilla/security/coreconf/Linux.mk 2010-01-15 23:19:00.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/Linux.mk 2010-06-11 16:35:54.981151732 +0200
@@ -46,8 +46,11 @@
IMPL_STRATEGY = _PTH
endif
-CC = gcc
-CCC = g++
+# CC is taken from environment automatically.
+#CC = gcc
+# Use CCC from environment.
+#CCC = g++
+CCC = $(CXX)
RANLIB = ranlib
DEFAULT_COMPILER = gcc
@@ -147,7 +150,7 @@
# incorrectly reports undefined references in the libraries we link with, so
# we don't use -z defs there.
ZDEFS_FLAG = -Wl,-z,defs
-DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG))
+DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) '-Wl,-rpath,$$ORIGIN'
LDFLAGS += $(ARCHFLAG)
# INCLUDES += -I/usr/include -Y/usr/include/linux
@@ -158,8 +161,13 @@
#
CPU_TAG = _$(CPU_ARCH)
+ifeq ($(SYSTEM_ZLIB),YES)
+# Currently (3.12.4) only the tools modutil and signtool are linked with libz
+# If USE_SYSTEM_ZLIB is not set then the tools link statically libzlib.a which
+# is also build in nss.
USE_SYSTEM_ZLIB = 1
ZLIB_LIBS = -lz
+endif
# The -rpath '$$ORIGIN' linker option instructs this library to search for its
# dependencies in the same directory where it resides.
--- misc/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2010-06-11 16:35:54.985571182 +0200
@@ -89,8 +89,12 @@
# OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
endif
else
- CC = cc
- CCC = CC
+# CC is taken from environment automatically.
+# CC = cc
+# Use CXX from environment.
+# CCC = CC
+ CCC = $(CXX)
+
ASFLAGS += -Wa,-P
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT
--- misc/nss-3.12.8/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/arch.mk 2010-06-11 16:35:54.990913282 +0200
@@ -324,7 +324,12 @@
# IMPL_STRATEGY may be defined too.
#
-OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
+# OBJDIR_NAME is used to build the directory containing the built objects, for
+# example mozilla/dist/Linux2.6_x86_glibc_PTH_DBG.OBJ
+# We need to deliver the contents of that folder into the solver. To make that easier
+# in the makefile we rename this directory to "out".
+#OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
+OBJDIR_NAME = out
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT
--- misc/nss-3.12.8/mozilla/security/coreconf/rules.mk 2009-12-08 02:33:36.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/rules.mk 2010-06-11 16:35:54.996448704 +0200
@@ -355,7 +355,12 @@
ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
else
- $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
+ #We remove stl from the paths to avoid that rc.exe finds the stlport of
+ #OOo. stlport includes the system stl which will fail. By removing it,
+ #rc will use the stl from the system if the path is in the INCLUDE
+ #variable.
+ INCLUDE="$(subst /stl,,$(INCLUDE))" $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
+
endif
@echo $(RES) finished
endif
--- misc/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100
+++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-06-11 16:35:55.004869805 +0200
@@ -41,27 +41,28 @@
ifeq ($(OS_ARCH), SunOS)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1/64:/usr/lib/mps/64'
+#In OOo we would probable put the executables next to libs
+EXTRA_SHARED_LIBS += -R '$$ORIGIN'
else
-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1:/usr/lib/mps'
+EXTRA_SHARED_LIBS += -R '$$ORIGIN'
endif
else
-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib'
+EXTRA_SHARED_LIBS += -R '$$ORIGIN'
endif
endif
ifeq ($(OS_ARCH), Linux)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib'
+EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN'
else
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
+EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN'
endif
else
ifeq ($(USE_64), 1)
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib'
+EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN'
else
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib'
+EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN'
endif
endif
endif
--- misc/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200
+++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2010-06-11 16:35:55.009851148 +0200
@@ -78,10 +78,15 @@
# sign any and all shared libraries that contain the word freebl
-CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
-CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
+# Signing causes loading of some system library which in turn loads
+# libsqlite3. Then it loads libsqulite3 from nss, which does not have the proper
+# version. Therefore signing fails.
+# We cannot build with the system sqlite3, because it is too old (SDK
+# 10.4). Otherwise one could set NSS_USE_SYSTEM_SQLITE=1 and use the system lib.
+#CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
+#CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
ifndef NSS_DISABLE_DBM
-CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
+#CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
endif
CHECKLOC = $(CHECKLIBS:.$(DLL_SUFFIX)=.chk)
--- /dev/null 2011-07-24 19:07:44.290563140 +0200
+++ misc/build/nss-3.12.8/mozilla/security/coreconf/Linux3.0.mk 2011-07-24 22:21:02.710513995 +0200
@@ -0,0 +1,11 @@
+include $(CORE_DEPTH)/coreconf/Linux.mk
+
+OS_REL_CFLAGS += -DLINUX2_1
+MKSHLIB = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) $(RPATH)
+
+ifdef MAPFILE
+ MKSHLIB += -Wl,--version-script,$(MAPFILE)
+endif
+PROCESS_MAP_FILE = grep -v ';-' $< | \
+ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
+