summaryrefslogtreecommitdiff
path: root/nss/nss.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nss/nss.patch')
-rw-r--r--nss/nss.patch191
1 files changed, 191 insertions, 0 deletions
diff --git a/nss/nss.patch b/nss/nss.patch
new file mode 100644
index 000000000000..b5f871dd1ecc
--- /dev/null
+++ b/nss/nss.patch
@@ -0,0 +1,191 @@
+--- misc/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2009-12-09 22:24:37.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/nsprpub/configure 2010-02-08 19:41:35.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/security/coreconf/Darwin.mk 2010-02-04 19:59:10.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/security/coreconf/Linux.mk 2010-01-15 23:19:00.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
++++ misc/build/nss-3.12.6/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.6/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
++++ misc/build/nss-3.12.6/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.6/mozilla/security/coreconf/rules.mk 2009-12-08 02:33:36.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100
++++ misc/build/nss-3.12.6/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.6/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200
++++ misc/build/nss-3.12.6/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)
+