Change-Id: I8318982eb1cee1a694dbdd504e0ca106a29d807e Reviewed-on: https://gerrit.libreoffice.org/11700 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
154 lines
5.4 KiB
Diff
154 lines
5.4 KiB
Diff
diff -ru a/nspr/configure b/nspr/configure
|
|
--- a/a/nspr/configure 2014-09-29 16:46:38.427423757 +0100
|
|
+++ b/b/nspr/configure 2014-09-29 16:47:42.984012225 +0100
|
|
@@ -7018,7 +7018,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
|
|
diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
|
|
--- a/a/nss/cmd/platlibs.mk 2014-09-29 16:46:38.306422654 +0100
|
|
+++ b/b/nss/cmd/platlibs.mk 2014-09-29 16:47:42.987012253 +0100
|
|
@@ -10,17 +10,22 @@
|
|
|
|
ifeq ($(OS_ARCH), SunOS)
|
|
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
|
|
endif
|
|
|
|
+ifeq ($(OS_ARCH), FreeBSD)
|
|
+EXTRA_SHARED_LIBS += -Wl,-z,origin -Wl,-rpath,'$$ORIGIN'
|
|
+endif
|
|
+
|
|
ifeq ($(OS_ARCH), Linux)
|
|
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
|
|
endif
|
|
|
|
diff -ru a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk
|
|
--- a/a/nss/coreconf/arch.mk 2014-09-29 16:46:38.175421471 +0100
|
|
+++ b/b/nss/coreconf/arch.mk 2014-09-29 16:47:42.986012244 +0100
|
|
@@ -280,10 +280,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
|
|
diff -ru a/nss/coreconf/FreeBSD.mk b/nss/coreconf/FreeBSD.mk
|
|
--- a/a/nss/coreconf/FreeBSD.mk 2014-09-29 16:46:38.189421588 +0100
|
|
+++ b/b/nss/coreconf/FreeBSD.mk 2014-09-29 16:47:42.984012225 +0100
|
|
@@ -25,6 +25,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.
|
|
diff -ru a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk
|
|
--- a/a/nss/coreconf/Linux.mk 2014-09-29 16:46:38.189421588 +0100
|
|
+++ b/b/nss/coreconf/Linux.mk 2014-09-29 16:47:42.985012235 +0100
|
|
@@ -16,8 +16,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
|
|
@@ -145,7 +148,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
|
|
@@ -176,8 +179,13 @@
|
|
endif
|
|
endif
|
|
|
|
+ifneq ($(SYSTEM_ZLIB),)
|
|
+# 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.
|
|
diff -ru a/nss/coreconf/rules.mk b/nss/coreconf/rules.mk
|
|
--- a/a/nss/coreconf/rules.mk 2014-09-29 16:46:38.188421578 +0100
|
|
+++ b/b/nss/coreconf/rules.mk 2014-09-29 16:47:42.986012244 +0100
|
|
@@ -261,7 +261,7 @@
|
|
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
|
$(AR) $(subst /,\\,$(OBJS))
|
|
else
|
|
- $(AR) $(OBJS)
|
|
+ $(AR) cr $@ $(OBJS)
|
|
endif
|
|
$(RANLIB) $@
|
|
|
|
diff -ru a/nss/coreconf/SunOS5.mk b/nss/coreconf/SunOS5.mk
|
|
--- a/a/nss/coreconf/SunOS5.mk 2014-09-29 16:46:38.175421471 +0100
|
|
+++ b/b/nss/coreconf/SunOS5.mk 2014-09-29 16:47:42.985012235 +0100
|
|
@@ -48,8 +48,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
|
|
diff -ru a/nss/Makefile b/nss/Makefile
|
|
--- a/a/nss/Makefile 2014-09-29 16:46:38.171421425 +0100
|
|
+++ b/b/nss/Makefile 2014-09-29 16:47:42.987012253 +0100
|
|
@@ -1,3 +1,5 @@
|
|
+export AR
|
|
+export RANLIB
|
|
#! gmake
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|