--- 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,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.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))