4811c2dc9f
Add patches and/or tweaks to the following modules: curl, cppunit, icu, lcms2, libxml2, libxslt, libxmlsec, lpsolve, nss, openssl, python3 lcms2 has an inconsistency where the .lib and the .dll don't agree on the .dll name. openssl gets a honorable mention because apparently it's undocumented custom build system can build with /MDd if one picks the right configuration but i couldn't figure out how to do that in an hour of trying, and just patched the release config instead. Change-Id: I7854a0fc85247e398d561b4f513d09fe2d1ebb3c
223 lines
8.2 KiB
Diff
223 lines
8.2 KiB
Diff
--- misc/nss-3.13.5/mozilla/nsprpub/configure 2010-02-08 19:41:35.000000000 +0100
|
|
+++ misc/build/nss-3.13.5/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,-z,origin -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.13.5/mozilla/security/coreconf/Darwin.mk 2010-02-04 19:59:10.000000000 +0100
|
|
+++ misc/build/nss-3.13.5/mozilla/security/coreconf/Darwin.mk 2010-06-11 16:35:54.966185975 +0200
|
|
@@ -39,8 +39,12 @@
|
|
|
|
DEFAULT_COMPILER = cc
|
|
|
|
-CC = gcc
|
|
-CCC = g++
|
|
+# CC is taken from environment automatically.
|
|
+#CC = cc
|
|
+# Use CCC from environment.
|
|
+#CCC = c++
|
|
+CCC = $(CXX)
|
|
+
|
|
RANLIB = ranlib
|
|
|
|
ifndef CPU_ARCH
|
|
@@ -57,19 +57,25 @@
|
|
|
|
ifeq (,$(filter-out i%86,$(CPU_ARCH)))
|
|
ifdef USE_64
|
|
+ifeq (,$(findstring -arch ,$(CC)))
|
|
CC += -arch x86_64
|
|
+endif
|
|
override CPU_ARCH = x86_64
|
|
else
|
|
OS_REL_CFLAGS = -Di386
|
|
+ifeq (,$(findstring -arch ,$(CC)))
|
|
CC += -arch i386
|
|
+endif
|
|
override CPU_ARCH = x86
|
|
endif
|
|
else
|
|
ifeq (arm,$(CPU_ARCH))
|
|
# Nothing set for arm currently.
|
|
else
|
|
OS_REL_CFLAGS = -Dppc
|
|
+ifeq (,$(findstring -arch ,$(CC)))
|
|
CC += -arch ppc
|
|
+endif
|
|
endif
|
|
endif
|
|
|
|
--- misc/nss-3.13.5/mozilla/security/coreconf/FreeBSD.mk 2009-11-23 05:06:29.000000000 -0500
|
|
+++ misc/build/nss-3.13.5/mozilla/security/coreconf/FreeBSD.mk 2012-08-28 20:27:20.000000000 -0400
|
|
@@ -57,6 +57,7 @@
|
|
|
|
DSO_CFLAGS = -fPIC
|
|
DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
|
|
+DSO_LDOPTS += -Wl,-z,origin '-Wl,-rpath,$$ORIGIN'
|
|
|
|
#
|
|
# The default implementation strategy for FreeBSD is pthreads.
|
|
--- misc/nss-3.13.5/mozilla/security/coreconf/Linux.mk 2010-01-15 23:19:00.000000000 +0100
|
|
+++ misc/build/nss-3.13.5/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,-z,origin '-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.13.5/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
|
|
+++ misc/build/nss-3.13.5/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.13.5/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
|
|
+++ misc/build/nss-3.13.5/mozilla/security/coreconf/arch.mk 2010-06-11 16:35:54.990913282 +0200
|
|
@@ -324,10 +324,15 @@
|
|
# 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
|
|
+ifdef THIS_HAS_BEEN_DISABLED_TO_GET_out
|
|
#
|
|
# Define USE_DEBUG_RTL if you want to use the debug runtime library
|
|
# (RTL) in the debug build
|
|
--- misc/nss-3.13.5/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100
|
|
+++ misc/build/nss-3.13.5/mozilla/security/nss/cmd/platlibs.mk 2010-06-11 16:35:55.004869805 +0200
|
|
@@ -41,27 +41,32 @@
|
|
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), FreeBSD)
|
|
+EXTRA_SHARED_LIBS += -Wl,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
+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,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
else
|
|
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
|
|
+EXTRA_SHARED_LIBS += -Wl,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
endif
|
|
else
|
|
ifeq ($(USE_64), 1)
|
|
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib'
|
|
+EXTRA_SHARED_LIBS += -Wl,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
else
|
|
-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib'
|
|
+EXTRA_SHARED_LIBS += -Wl,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
endif
|
|
endif
|
|
endif
|
|
--- misc/nss-3.13.5/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200
|
|
+++ misc/build/nss-3.13.5/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)
|
|
|
|
--- misc/nss-3.13.5/mozilla/security/coreconf/Darwin.mk
|
|
+++ misc/build/nss-3.13.5/mozilla/security/coreconf/Darwin.mk
|
|
@@ -64,12 +64,16 @@
|
|
endif
|
|
|
|
ifneq (,$(MACOS_SDK_DIR))
|
|
+ CLANG_VERSION_FULL := $(shell $(CC) -v 2>&1 | grep "clang version" | sed -e "s/^.*clang version[ ]*//" | awk '{ print $$1 }')
|
|
GCC_VERSION_FULL := $(shell $(CC) -dumpversion)
|
|
GCC_VERSION_MAJOR := $(shell echo $(GCC_VERSION_FULL) | awk -F. '{ print $$1 }')
|
|
GCC_VERSION_MINOR := $(shell echo $(GCC_VERSION_FULL) | awk -F. '{ print $$2 }')
|
|
GCC_VERSION = $(GCC_VERSION_MAJOR).$(GCC_VERSION_MINOR)
|
|
+ ifneq (,$(CLANG_VERSION_FULL))
|
|
+ DARWIN_SDK_CFLAGS = -isysroot $(MACOS_SDK_DIR)
|
|
+ DARWIN_SDK_SHLIBFLAGS = -isysroot $(MACOS_SDK_DIR)
|
|
|
|
- ifeq (,$(filter-out 2 3,$(GCC_VERSION_MAJOR)))
|
|
+ else ifeq (,$(filter-out 2 3,$(GCC_VERSION_MAJOR)))
|
|
# GCC <= 3
|
|
DARWIN_SDK_FRAMEWORKS = -F$(MACOS_SDK_DIR)/System/Library/Frameworks
|
|
ifneq (,$(shell find $(MACOS_SDK_DIR)/Library/Frameworks -maxdepth 0))
|