summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2018-10-18 13:40:09 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2018-11-20 08:57:20 +0100
commitbaf0d6d65da8314d718380bb5750ccd29f3d9a08 (patch)
tree62022a1c2ff55b537131d9247f1d298c75e321a3 /external
parent20a7d7af616899f39824d546a325c7673506b0b2 (diff)
Fix NSS parallel build
This is just a minimal solution and obviously not fully parallel. We still have to walk the tree twice: 1. copy all needed headers to dist (export export_private) 2. the parallel build (libs) The fixes are: * Add a few rm and @$(MAKE_OBJDIR) calls to various targets * Serialize minimal steps in nss_build_all => Build libs of nss/lib and nss/cmd/lib before all other => drop the minimal all target * Make $(SHARED_LIBRARY) depend on $(LIBRARY), otherwise dll lib creation on Windows builds a static lib, instead of the dll one * Drop all "export:: private_export" rules. We run this before the build and duplicate targets break the header install Change-Id: I1c35985c90d2d63990e04a0d2bb9d8ae921a2182 Reviewed-on: https://gerrit.libreoffice.org/62011 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'external')
-rw-r--r--external/nss/ExternalProject_nss.mk4
-rw-r--r--external/nss/UnpackedTarball_nss.mk1
-rw-r--r--external/nss/nss.parallel.patch653
3 files changed, 656 insertions, 2 deletions
diff --git a/external/nss/ExternalProject_nss.mk b/external/nss/ExternalProject_nss.mk
index a270e1f7de87..2de4c5710fd8 100644
--- a/external/nss/ExternalProject_nss.mk
+++ b/external/nss/ExternalProject_nss.mk
@@ -23,7 +23,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecuta
$(if $(filter X86_64,$(CPUNAME)),USE_64=1) \
LIB="$(ILIB)" \
XCFLAGS="-arch:SSE $(SOLARINC)" \
- $(MAKE) -j1 nss_build_all RC="rc.exe $(SOLARINC)" \
+ $(MAKE) nss_build_all RC="rc.exe $(SOLARINC)" \
NSINSTALL='$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py' \
,nss)
@@ -45,7 +45,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecuta
$(if $(filter iOS-ARM,$(OS)-$(CPUNAME)),CPU_ARCH=arm) \
NSPR_CONFIGURE_OPTS="--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)") \
NSDISTMODE=copy \
- $(MAKE) -j1 AR="$(AR)" \
+ $(MAKE) AR="$(AR)" \
RANLIB="$(RANLIB)" \
NMEDIT="$(NM)edit" \
COMMA=$(COMMA) \
diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk
index e20598f4ae01..b734e0a24d70 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -34,6 +34,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
external/nss/nss.utf8bom.patch.1) \
$(if $(filter ANDROID,$(OS)), \
external/nss/nss-android.patch.1) \
+ external/nss/nss.parallel.patch \
))
ifeq ($(COM_IS_CLANG),TRUE)
diff --git a/external/nss/nss.parallel.patch b/external/nss/nss.parallel.patch
new file mode 100644
index 000000000000..0e7c2ee715ae
--- /dev/null
+++ b/external/nss/nss.parallel.patch
@@ -0,0 +1,653 @@
+diff -ur a/nss/nspr/config/config.mk b/nss/nspr/config/config.mk
+--- a/nss/nspr/config/config.mk 2018-03-05 15:50:28.000000000 +0000
++++ b/nss/nspr/config/config.mk 2018-10-16 15:43:00.444179603 +0000
+@@ -64,7 +64,7 @@
+ endif # NO_PROFILE_GUIDED_OPTIMIZE
+
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
++if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+
+ LINK_DLL = $(LD) $(OS_DLLFLAGS) $(DLLFLAGS)
+diff -ur a/nss/nspr/config/Makefile.in b/nss/nspr/config/Makefile.in
+--- a/nss/nspr/config/Makefile.in 2018-03-05 15:50:28.000000000 +0000
++++ b/nss/nspr/config/Makefile.in 2018-10-16 15:43:38.107971866 +0000
+@@ -98,7 +98,7 @@
+
+ # Redefine MAKE_OBJDIR for just this directory
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); else true; fi
++if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+
+ export:: $(TARGETS)
+diff -ur a/nss/nss/cmd/lib/Makefile b/nss/nss/cmd/lib/Makefile
+--- a/nss/nss/cmd/lib/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/cmd/lib/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -44,6 +44,5 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+
+diff -ur a/nss/nss/cmd/libpkix/testutil/Makefile b/nss/nss/cmd/libpkix/testutil/Makefile
+--- a/nss/nss/cmd/libpkix/testutil/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/cmd/libpkix/testutil/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -47,5 +47,4 @@
+
+ include $(PLAT_DEPTH)/platrules.mk
+
+-export:: private_export
+
+diff -ur a/nss/nss/cmd/shlibsign/Makefile b/nss/nss/cmd/shlibsign/Makefile
+--- a/nss/nss/cmd/shlibsign/Makefile 2018-10-18 11:31:47.775647843 +0000
++++ b/nss/nss/cmd/shlibsign/Makefile 2018-10-18 10:47:47.743324992 +0000
+@@ -98,5 +98,7 @@
+ endif
+ endif
+
+-libs install :: $(CHECKLOC)
++libs::
++ $(MAKE) install
++ $(MAKE) $(CHECKLOC)
+
+diff -ur a/nss/nss/coreconf/Makefile b/nss/nss/coreconf/Makefile
+--- a/nss/nss/coreconf/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/coreconf/Makefile 2018-10-16 18:21:22.754470152 +0000
+@@ -11,5 +11,3 @@
+
+ include $(DEPTH)/coreconf/config.mk
+ include $(DEPTH)/coreconf/rules.mk
+-
+-export:: libs
+diff -ur a/nss/nss/coreconf/nsinstall/Makefile b/nss/nss/coreconf/nsinstall/Makefile
+--- a/nss/nss/coreconf/nsinstall/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/coreconf/nsinstall/Makefile 2018-10-16 16:06:39.648396919 +0000
+@@ -37,6 +37,6 @@
+
+ # Redefine MAKE_OBJDIR for just this directory
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
++if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+
+diff -ur a/nss/nss/coreconf/rules.mk b/nss/nss/coreconf/rules.mk
+--- a/nss/nss/coreconf/rules.mk 2018-10-18 11:31:47.791647745 +0000
++++ b/nss/nss/coreconf/rules.mk 2018-10-18 11:29:45.256374246 +0000
+@@ -13,7 +13,6 @@
+ # Double-Colon rules for utilizing the binary release model. #
+ #######################################################################
+
+-all:: export libs
+
+ ifeq ($(AUTOCLEAN),1)
+ autobuild:: clean export private_export libs program install
+@@ -265,15 +264,17 @@
+ endif
+ $(RANLIB) $@
+
+-
+ ifeq ($(OS_TARGET),OS2)
+ $(IMPORT_LIBRARY): $(MAPFILE)
++ @$(MAKE_OBJDIR)
+ rm -f $@
+ $(IMPLIB) $@ $<
+ $(RANLIB) $@
+ endif
++
+ ifeq ($(OS_ARCH),WINNT)
+ $(IMPORT_LIBRARY): $(LIBRARY)
++ @$(MAKE_OBJDIR)
+ cp -f $< $@
+ endif
+
+@@ -285,7 +286,7 @@
+ endif
+ endif
+
+-$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE) $(SUB_SHLOBJS)
++$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE) $(SUB_SHLOBJS) $(LIBRARY)
+ @$(MAKE_OBJDIR)
+ rm -f $@
+ ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
+@@ -390,6 +391,7 @@
+
+ $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
+ @$(MAKE_OBJDIR)
++ rm -f "$@"
+ ifdef USE_NT_C_SYNTAX
+ $(CC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<)
+ else
+@@ -401,6 +403,7 @@
+ endif
+
+ $(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
++ @$(MAKE_OBJDIR)
+ ifdef USE_NT_C_SYNTAX
+ $(CC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<)
+ else
+@@ -427,6 +430,7 @@
+
+ $(OBJDIR)/$(PROG_PREFIX)%: %.cpp
+ @$(MAKE_OBJDIR)
++ rm -f "$@"
+ ifdef USE_NT_C_SYNTAX
+ $(CCC) -Fo$@ -c $(CFLAGS) $(CXXFLAGS) $(call core_abspath,$<)
+ else
+@@ -441,7 +445,8 @@
+ # Please keep the next two rules in sync.
+ #
+ $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cc
+- $(MAKE_OBJDIR)
++ @$(MAKE_OBJDIR)
++ rm -f "$@"
+ ifdef STRICT_CPLUSPLUS_SUFFIX
+ echo "#line 1 \"$<\"" | cat - $< > $(OBJDIR)/t_$*.cc
+ $(CCC) -o $@ -c $(CFLAGS) $(CXXFLAGS) $(OBJDIR)/t_$*.cc
+@@ -460,6 +465,7 @@
+
+ $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cpp
+ @$(MAKE_OBJDIR)
++ rm -f "$@"
+ ifdef STRICT_CPLUSPLUS_SUFFIX
+ echo "#line 1 \"$<\"" | cat - $< > $(OBJDIR)/t_$*.cc
+ $(CCC) -o $@ -c $(CFLAGS) $(CXXFLAGS) $(OBJDIR)/t_$*.cc
+@@ -502,11 +508,7 @@
+ ################################################################################
+
+ $(JAVA_DESTPATH) $(JAVA_DESTPATH)/$(PACKAGE) $(JMCSRCDIR)::
+- @if test ! -d $@; then \
+- echo Creating $@; \
+- rm -rf $@; \
+- $(NSINSTALL) -D $@; \
+- fi
++ @$(MAKE_OBJDIR)
+
+ ################################################################################
+ ## IDL_GEN
+@@ -763,10 +765,7 @@
+
+ ifneq ($(EXPORTS),)
+ $(PUBLIC_EXPORT_DIR)::
+- @if test ! -d $@; then \
+- echo Creating $@; \
+- $(NSINSTALL) -D $@; \
+- fi
++ @$(MAKE_OBJDIR)
+
+ export:: $(PUBLIC_EXPORT_DIR)
+
+@@ -782,10 +781,7 @@
+
+ ifneq ($(PRIVATE_EXPORTS),)
+ $(PRIVATE_EXPORT_DIR)::
+- @if test ! -d $@; then \
+- echo Creating $@; \
+- $(NSINSTALL) -D $@; \
+- fi
++ @$(MAKE_OBJDIR)
+
+ private_export:: $(PRIVATE_EXPORT_DIR)
+
+@@ -793,7 +789,6 @@
+ $(INSTALL) -m 444 $^ $(PRIVATE_EXPORT_DIR)
+ else
+ private_export::
+- @echo There are no private exports.;
+ endif
+
+ ##########################################################################
+@@ -833,10 +828,7 @@
+
+ ifneq ($(EXPORTS),)
+ $(SOURCE_RELEASE_XP_DIR)/include::
+- @if test ! -d $@; then \
+- echo Creating $@; \
+- $(NSINSTALL) -D $@; \
+- fi
++ @$(MAKE_OBJDIR)
+
+ release_export:: $(SOURCE_RELEASE_XP_DIR)/include
+
+diff -ur a/nss/nss/coreconf/UNIX.mk b/nss/nss/coreconf/UNIX.mk
+--- a/nss/nss/coreconf/UNIX.mk 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/coreconf/UNIX.mk 2018-10-16 16:07:04.792261231 +0000
+@@ -60,7 +60,7 @@
+ endif
+
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
++if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+
+ include $(CORE_DEPTH)/coreconf/Werror.mk
+diff -ur a/nss/nss/lib/base/Makefile b/nss/nss/lib/base/Makefile
+--- a/nss/nss/lib/base/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/base/Makefile 2018-10-16 18:20:46.906690979 +0000
+@@ -8,4 +8,3 @@
+ include config.mk
+ include $(CORE_DEPTH)/coreconf/rules.mk
+
+-export:: private_export
+diff -ur a/nss/nss/lib/certdb/Makefile b/nss/nss/lib/certdb/Makefile
+--- a/nss/nss/lib/certdb/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/certdb/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/certhigh/Makefile b/nss/nss/lib/certhigh/Makefile
+--- a/nss/nss/lib/certhigh/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/certhigh/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/ckfw/Makefile b/nss/nss/lib/ckfw/Makefile
+--- a/nss/nss/lib/ckfw/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/ckfw/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -25,7 +25,6 @@
+ # nssck.api: ck.api ckapi.perl
+ # $(PERL) ckapi.perl ck.api
+
+-export:: private_export
+
+ # can't do this in manifest.mn because OS_TARGET isn't defined there.
+ ifeq (,$(filter-out WINNT WIN95,$(OS_TARGET)))
+diff -ur a/nss/nss/lib/crmf/Makefile b/nss/nss/lib/crmf/Makefile
+--- a/nss/nss/lib/crmf/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/crmf/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -46,4 +46,3 @@
+ #######################################################################
+
+
+-export:: private_export
+diff -ur a/nss/nss/lib/cryptohi/Makefile b/nss/nss/lib/cryptohi/Makefile
+--- a/nss/nss/lib/cryptohi/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/cryptohi/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -45,5 +45,4 @@
+ #######################################################################
+
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/dbm/include/Makefile b/nss/nss/lib/dbm/include/Makefile
+--- a/nss/nss/lib/dbm/include/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/dbm/include/Makefile 2018-10-16 18:20:46.906690979 +0000
+@@ -44,4 +44,3 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+diff -ur a/nss/nss/lib/dev/Makefile b/nss/nss/lib/dev/Makefile
+--- a/nss/nss/lib/dev/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/dev/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -21,4 +21,3 @@
+ endif
+ endif
+
+-export:: private_export
+diff -ur a/nss/nss/lib/freebl/Makefile b/nss/nss/lib/freebl/Makefile
+--- a/nss/nss/lib/freebl/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/freebl/Makefile 2018-10-18 11:16:25.840967858 +0000
+@@ -561,8 +561,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+-
+ rijndael_tables:
+ $(CC) -o $(OBJDIR)/make_rijndael_tab rijndael_tables.c \
+ $(DEFINES) $(INCLUDES) $(OBJDIR)/libfreebl.a
+@@ -635,8 +633,9 @@
+ ifdef NEED_STUB_BUILD
+ SINGLE_SHLIB_DIR = $(OBJDIR)/$(OS_TARGET)_SINGLE_SHLIB
+ ALL_TRASH += $(SINGLE_SHLIB_DIR)
++
+ $(SINGLE_SHLIB_DIR):
+- -mkdir $(SINGLE_SHLIB_DIR)
++ -mkdir -p $(SINGLE_SHLIB_DIR)
+
+ release_md libs:: $(SINGLE_SHLIB_DIR)
+ $(MAKE) FREEBL_CHILD_BUILD=1 USE_STUB_BUILD=1 \
+diff -ur a/nss/nss/lib/libpkix/include/Makefile b/nss/nss/lib/libpkix/include/Makefile
+--- a/nss/nss/lib/libpkix/include/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/include/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/Makefile b/nss/nss/lib/libpkix/Makefile
+--- a/nss/nss/lib/libpkix/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/certsel/Makefile b/nss/nss/lib/libpkix/pkix/certsel/Makefile
+--- a/nss/nss/lib/libpkix/pkix/certsel/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/certsel/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/checker/Makefile b/nss/nss/lib/libpkix/pkix/checker/Makefile
+--- a/nss/nss/lib/libpkix/pkix/checker/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/checker/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/crlsel/Makefile b/nss/nss/lib/libpkix/pkix/crlsel/Makefile
+--- a/nss/nss/lib/libpkix/pkix/crlsel/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/crlsel/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/Makefile b/nss/nss/lib/libpkix/pkix/Makefile
+--- a/nss/nss/lib/libpkix/pkix/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/params/Makefile b/nss/nss/lib/libpkix/pkix/params/Makefile
+--- a/nss/nss/lib/libpkix/pkix/params/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/params/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/results/Makefile b/nss/nss/lib/libpkix/pkix/results/Makefile
+--- a/nss/nss/lib/libpkix/pkix/results/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/results/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/store/Makefile b/nss/nss/lib/libpkix/pkix/store/Makefile
+--- a/nss/nss/lib/libpkix/pkix/store/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/store/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/top/Makefile b/nss/nss/lib/libpkix/pkix/top/Makefile
+--- a/nss/nss/lib/libpkix/pkix/top/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/top/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix/util/Makefile b/nss/nss/lib/libpkix/pkix/util/Makefile
+--- a/nss/nss/lib/libpkix/pkix/util/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix/util/Makefile 2018-10-16 18:20:46.918690908 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix_pl_nss/Makefile b/nss/nss/lib/libpkix/pkix_pl_nss/Makefile
+--- a/nss/nss/lib/libpkix/pkix_pl_nss/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix_pl_nss/Makefile 2018-10-16 18:20:46.914690932 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix_pl_nss/module/Makefile b/nss/nss/lib/libpkix/pkix_pl_nss/module/Makefile
+--- a/nss/nss/lib/libpkix/pkix_pl_nss/module/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix_pl_nss/module/Makefile 2018-10-16 18:20:46.914690932 +0000
+@@ -44,5 +44,4 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+diff -ur a/nss/nss/lib/libpkix/pkix_pl_nss/pki/Makefile b/nss/nss/lib/libpkix/pkix_pl_nss/pki/Makefile
+--- a/nss/nss/lib/libpkix/pkix_pl_nss/pki/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix_pl_nss/pki/Makefile 2018-10-16 18:20:46.914690932 +0000
+@@ -44,6 +44,5 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+
+diff -ur a/nss/nss/lib/libpkix/pkix_pl_nss/system/Makefile b/nss/nss/lib/libpkix/pkix_pl_nss/system/Makefile
+--- a/nss/nss/lib/libpkix/pkix_pl_nss/system/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/libpkix/pkix_pl_nss/system/Makefile 2018-10-16 18:20:46.914690932 +0000
+@@ -44,6 +44,5 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+
+diff -ur a/nss/nss/lib/nss/Makefile b/nss/nss/lib/nss/Makefile
+--- a/nss/nss/lib/nss/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/nss/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -43,4 +43,3 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+diff -ur a/nss/nss/lib/pk11wrap/Makefile b/nss/nss/lib/pk11wrap/Makefile
+--- a/nss/nss/lib/pk11wrap/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/pk11wrap/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -44,7 +44,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+ $(OBJDIR)/pk11load$(OBJ_SUFFIX): debug_module.c
+
+diff -ur a/nss/nss/lib/pki/Makefile b/nss/nss/lib/pki/Makefile
+--- a/nss/nss/lib/pki/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/pki/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -8,4 +8,3 @@
+ include config.mk
+ include $(CORE_DEPTH)/coreconf/rules.mk
+
+-export:: private_export
+diff -ur a/nss/nss/lib/softoken/legacydb/Makefile b/nss/nss/lib/softoken/legacydb/Makefile
+--- a/nss/nss/lib/softoken/legacydb/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/softoken/legacydb/Makefile 2018-10-16 18:20:46.906690979 +0000
+@@ -56,7 +56,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+ # indicates dependency on freebl static lib
+ $(SHARED_LIBRARY): $(CRYPTOLIB)
+diff -ur a/nss/nss/lib/softoken/Makefile b/nss/nss/lib/softoken/Makefile
+--- a/nss/nss/lib/softoken/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/softoken/Makefile 2018-10-16 18:20:46.906690979 +0000
+@@ -56,7 +56,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+ # indicates dependency on freebl static lib
+ $(SHARED_LIBRARY): $(CRYPTOLIB)
+diff -ur a/nss/nss/lib/sqlite/Makefile b/nss/nss/lib/sqlite/Makefile
+--- a/nss/nss/lib/sqlite/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/sqlite/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -45,7 +45,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+ ifeq (WINNT,$(OS_ARCH))
+ # sqlite calls the deprecated GetVersionExA method
+diff -ur a/nss/nss/lib/ssl/Makefile b/nss/nss/lib/ssl/Makefile
+--- a/nss/nss/lib/ssl/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/ssl/Makefile 2018-10-16 18:20:46.922690884 +0000
+@@ -62,4 +62,3 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+diff -ur a/nss/nss/lib/util/Makefile b/nss/nss/lib/util/Makefile
+--- a/nss/nss/lib/util/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/util/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -47,4 +47,3 @@
+ #######################################################################
+
+
+-export:: private_export
+diff -ur a/nss/nss/lib/zlib/Makefile b/nss/nss/lib/zlib/Makefile
+--- a/nss/nss/lib/zlib/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/lib/zlib/Makefile 2018-10-16 18:20:46.910690955 +0000
+@@ -43,7 +43,6 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-export:: private_export
+
+ test: $(PROGRAMS)
+ @cd $(OBJDIR); \
+diff -ur a/nss/nss/Makefile b/nss/nss/Makefile
+--- a/nss/nss/Makefile 2018-10-18 11:31:47.783647793 +0000
++++ b/nss/nss/Makefile 2018-10-16 18:39:22.603411256 +0000
+@@ -49,7 +49,14 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-nss_build_all: build_nspr all latest
++nss_build_all:
++ $(MAKE) build_nspr
++ $(MAKE) -C coreconf/nsinstall program
++ $(MAKE) export private_export
++ $(MAKE) -C lib libs
++ $(MAKE) -C cmd/lib libs
++ $(MAKE) libs
++ $(MAKE) latest
+
+ nss_clean_all: clobber_nspr clobber
+
+diff -ur a/nss/nss/coreconf/mkdepend/Makefile b/nss/nss/coreconf/mkdepend/Makefile
+--- a/nss/nss/coreconf/mkdepend/Makefile 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/coreconf/mkdepend/Makefile 2018-10-18 12:06:59.130387290 +0000
+@@ -55,6 +55,6 @@
+
+ # Redefine MAKE_OBJDIR for just this directory
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
++if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+
+
+diff -ur a/nss/nss/coreconf/ruleset.mk b/nss/nss/coreconf/ruleset.mk
+--- a/nss/nss/coreconf/ruleset.mk 2018-06-21 09:24:45.000000000 +0000
++++ b/nss/nss/coreconf/ruleset.mk 2018-10-18 11:57:39.289911053 +0000
+@@ -138,7 +138,7 @@
+ MAKE_OBJDIR = $(INSTALL) -D $(OBJDIR)
+ else
+ define MAKE_OBJDIR
+- if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
++ if test ! -e $(@D); then mkdir -p $(@D); fi
+ endef
+ endif
+
+diff -ur a/nss/nspr/config/rules.mk b/nss/nspr/config/rules.mk
+--- a/nss/nspr/config/rules.mk 2018-10-16 18:35:01.587180560 +0200
++++ b/nss/nspr/config/rules.mk 2018-10-19 14:35:50.694148084 +0200
+@@ -253,6 +253,7 @@
+
+ $(PROGRAM): $(OBJS)
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
+ ifdef MOZ_PROFILE_USE
+ # In the second pass, we need to merge the pgc files into the pgd file.
+@@ -288,6 +289,7 @@
+
+ ifeq ($(OS_TARGET), OS2)
+ $(IMPORT_LIBRARY): $(MAPFILE)
++ @$(MAKE_OBJDIR)
+ rm -f $@
+ $(IMPLIB) $@ $(MAPFILE)
+ else
+@@ -299,7 +301,7 @@
+ endif
+ endif
+
+-$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE)
++$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE) $(LIBRARY)
+ @$(MAKE_OBJDIR)
+ rm -f $@
+ ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
+@@ -378,6 +380,7 @@
+ ifeq ($(OS_ARCH),WINNT)
+ $(RES): $(RESNAME)
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ # The resource compiler does not understand the -U option.
+ ifdef NS_USE_GCC
+ $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
+@@ -389,6 +392,7 @@
+
+ $(MAPFILE): $(LIBRARY_NAME).def
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ ifeq ($(OS_ARCH),SunOS)
+ grep -v ';-' $< | \
+ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
+@@ -425,6 +429,7 @@
+
+ $(OBJDIR)/%.$(OBJ_SUFFIX): %.cpp
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
+ $(CCC) -Fo$@ -c $(CCCFLAGS) $(call pr_abspath,$<)
+ else
+@@ -444,6 +449,7 @@
+ WCCFLAGS3 = $(subst -D,-d,$(WCCFLAGS2))
+ $(OBJDIR)/%.$(OBJ_SUFFIX): %.c
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
+ $(CC) -Fo$@ -c $(CFLAGS) $(call pr_abspath,$<)
+ else
+@@ -461,6 +467,7 @@
+
+ $(OBJDIR)/%.$(OBJ_SUFFIX): %.s
+ @$(MAKE_OBJDIR)
++ rm -f $@
+ $(AS) -o $@ $(ASFLAGS) -c $<
+
+ %.i: %.c