673205080e
The interaction of environment variables and make variables is fun. For some reason, the workdir/.../UnpackedTarball/nss/mozilla/nsprpub/configure script is run twice: Once directly from nss/ExternalProject_nss.mk, once from the sub-make run from nss/ExternalProject_nss.mk. In the first case, the AR and RANLIB exported by the gbuild make process propagate just fine to the configure script. In the latter case, not. So add AR and RANLIB assignments on the sub-make command line (to override values set in some of the nss makefiles), *and* make sure the sub-make exports AR and RANLIB. Change-Id: Ibd55bc8a7e001106e12b2207500e74c7bd01c73a
242 lines
8.6 KiB
Diff
242 lines
8.6 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 = gcc
|
|
|
|
-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)
|
|
|
|
# On Maemo, we need to use the -rpath-link flag for even the standard system
|
|
@@ -158,8 +161,13 @@
|
|
endif
|
|
endif
|
|
|
|
+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/coreconf/rules.mk
|
|
+++ misc/build/nss-3.13.5/mozilla/security/coreconf/rules.mk
|
|
@@ -293,7 +293,7 @@
|
|
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
|
$(AR) $(subst /,\\,$(OBJS))
|
|
else
|
|
- $(AR) $(OBJS)
|
|
+ $(AR) cr $@ $(OBJS)
|
|
endif
|
|
$(RANLIB) $@
|
|
|
|
--- misc/nss-3.13.5/mozilla/security/nss/Makefile
|
|
+++ misc/build/nss-3.13.5/mozilla/security/nss/Makefile
|
|
@@ 1,0 +1,0 @@
|
|
+export AR
|
|
+export RANLIB
|
|
#! gmake
|
|
#
|
|
# ***** BEGIN LICENSE BLOCK *****
|
|
--- 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))
|