summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-06-23 14:31:41 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-06-25 14:19:00 +0100
commit423479cd751e6fe7436237890240b6c9674dec5d (patch)
treec6883c46e795b20db8f08f758d2ea6cf37010235
parent403bdf77473afaea60b80d212af19b8a1c08b876 (diff)
Resolves: fdo#51166 disconnect inclusion of nss libs in install from mozilla
We need the nss libs in our final install always (unless using system-nss libs) so finally disentangle nss from mozilla because --disable-build-mozilla had the sideeffect of *not* including the nss libraries in the final install. Which means that the xml_xmlsec.dll on windows couldn't be loaded due to missing dependencies. a) Strip out the nss libs from the pre-builds if those are being used. b) Strip out the nss libs from the mozilla build itself if that's being used. c) Don't include the nss libs in the weird mozillaruntime.zip which gets unpacked into the install. d) Package the nss libs directly in scp2 like everything else Change-Id: Ia89d75cb0c0b83e84e60d0444ffc7997103fbc55
-rw-r--r--moz/extractfiles.mk163
-rw-r--r--moz/zipped/makefile.mk75
-rw-r--r--scp2/InstallModule_ooo.mk1
-rw-r--r--scp2/source/ooo/file_library_ooo.scp31
-rw-r--r--scp2/source/ooo/module_hidden_ooo.scp12
5 files changed, 67 insertions, 215 deletions
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
index 7f309be69c52..44822a6965ca 100644
--- a/moz/extractfiles.mk
+++ b/moz/extractfiles.mk
@@ -32,75 +32,10 @@ RUNTIME_DIR=$(MISC)$/$(MOZTARGET)runtime
LIB_DIR=$(LB)
INCLUDE_DIR=$(INCCOM)
-
-
-#If we build the NSS module then we do not need the old nss libs from here
-.IF "$(SYSTEM_NSS)"=="NO"
-
-
-.IF "$(OS)" == "SOLARIS"
-.IF "$(CPU)" == "S" #32bit
-FREEBL_LIB=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
-.ELIF "$(CPU)" == "U" #64bit unxsolu4
-FREEBL_LIB=freebl_64int_3 freebl_64fpu_3
-.ELSE
-FREEBL_LIB=freebl3
-.ENDIF #"$(CPU)" == "S"
-
-.ELSE # "$(OS)" == "SOLARIS"
-FREEBL_LIB=freebl3
-.ENDIF # "$(OS)" == "SOLARIS"
-
-
-NSS_MODULE_RUNTIME_LIST:= \
- $(FREEBL_LIB) \
- nspr4 \
- nss3 \
- nssckbi \
- nssdbm3 \
- nssutil3 \
- plc4 \
- plds4 \
- smime3 \
- softokn3 \
- ssl3
-
-# For Mac OS X >= 10.6 the system lib is used instead (see nss/makefile.mk):
-.IF "$(OS)" == "MACOSX" && "$(MAC_OS_X_VERSION_MIN_REQUIRED)" >= "1060"
-.ELSE
-NSS_MODULE_RUNTIME_LIST += sqlite/sqlite3
-.END
-
BIN_RUNTIMELIST= \
xpcom \
xpcom_core \
xpcom_compat
-.ELSE
-
-.IF "$(GUI)" == "WNT"
- FREEBL_LIB=freebl3
-.ELSE # "$(GUI)" == "WNT"
- .IF "$(OS)$(CPUNAME)" == "SOLARISSPARC"
- FREEBL_LIB=freebl_32fpu_3
- .ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
- FREEBL_LIB=freebl3
- .ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
-.ENDIF # "$(GUI)" == "WNT"
-
-
-BIN_RUNTIMELIST= \
- nspr4 \
- plc4 \
- plds4 \
- xpcom \
- xpcom_core \
- xpcom_compat \
- nss3 \
- ssl3 \
- softokn3 \
- smime3 \
- $(FREEBL_LIB)
-.ENDIF # "$(SYSTEM_NSS)"=="NO"
.IF "$(GUI)"=="WNT"
BIN_RUNTIMELIST+= \
@@ -169,47 +104,6 @@ DEFAULTS_RUNTIMELIST= \
greprefs$/all.js \
greprefs$/security-prefs.js
-.IF "$(SYSTEM_NSS)"=="NO"
-
-.IF "$(GUI)"=="WNT"
-.IF "$(COM)"=="GCC"
-
-
-LIBLIST= \
- libembed_base_s.a \
- libmozreg_s.a \
- libnslber32v50.a \
- libnsldap32v50.a \
- libxpcom_core.dll.a \
- libxpcom.dll.a
-
-.ELSE #"$(COM)"=="GCC"
-
-LIBLIST= \
- embed_base_s.lib \
- mozreg_s.lib \
- nslber32v50.lib \
- nsldap32v50.lib \
- xpcom_core.lib \
- xpcom.lib
-
-.ENDIF #"$(COM)"=="GCC"
-
-.ELSE #"$(GUI)"=="WNT"
-
-LIBLIST= \
- libembed_base_s.a \
- libmozreg_s.a \
- liblber50.a \
- libxpcom_core$(DLLPOST) \
- libxpcom$(DLLPOST) \
- libmsgbaseutil$(DLLPOST) \
- libldap50$(DLLPOST) \
-
-.ENDIF
-
-.ELSE # .IF"$(SYSTEM_NSS)"=="NO"
-
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -218,11 +112,8 @@ LIBLIST= \
libmozreg_s.a \
libnslber32v50.a \
libnsldap32v50.a \
- libnspr4.a \
libxpcom_core.dll.a \
- libxpcom.dll.a \
- libnss3.a \
- libsmime3.a
+ libxpcom.dll.a
.ELSE
@@ -231,14 +122,8 @@ LIBLIST= \
mozreg_s.lib \
nslber32v50.lib \
nsldap32v50.lib \
- nspr4.lib \
xpcom_core.lib \
- xpcom.lib \
- plc4.lib \
- plds4.lib \
- nss3.lib \
- ssl3.lib \
- smime3.lib
+ xpcom.lib
.ENDIF
@@ -248,20 +133,12 @@ LIBLIST= \
libembed_base_s.a \
libmozreg_s.a \
liblber50.a \
- libnspr4$(DLLPOST) \
libxpcom_core$(DLLPOST) \
libxpcom$(DLLPOST) \
libmsgbaseutil$(DLLPOST) \
- libldap50$(DLLPOST) \
- libsoftokn3$(DLLPOST) \
- libplc4$(DLLPOST) \
- libplds4$(DLLPOST) \
- libnss3$(DLLPOST) \
- libssl3$(DLLPOST) \
- libsmime3$(DLLPOST)
+ libldap50$(DLLPOST)
-.ENDIF
-.ENDIF # .IF "$(SYSTEM_NSS)"=="NO"
+.ENDIF #"$(GUI)"=="WNT"
INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/
PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/
@@ -304,22 +181,8 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
$(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \
$(LIB_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
echo >& $(NULLDEV)
-.IF "$(SYSTEM_NSS)" == "NO"
-# We add the libraries from the separate nss module
- $(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARLIBDIR)$/$(file:d:d)/$(DLLPRE)$(file:f)$(DLLPOST) \
- $(RUNTIME_DIR)$/$(DLLPRE)$(file:f)$(DLLPOST) &&) \
- echo >& $(NULLDEV)
-.ENDIF
-.ELSE # .IF "$(GUI)" == "UNX"
-.IF "$(SYSTEM_NSS)" == "NO"
-# We add the libraries from the separate nss module
- $(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARBINDIR)$/$(DLLPRE)$(file)$(DLLPOST) \
- $(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
- echo >& $(NULLDEV)
-.ENDIF
.ENDIF # .IF "$(GUI)" == "UNX"
-
# copy files in RES_FILELIST
.IF "$(OS)"=="SOLARIS"
@$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties
@@ -357,29 +220,14 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
# relative ("@loader_path") ones:
$(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \
install_name_tool \
- -change @executable_path/libnspr4.dylib @loader_path/libnspr4.dylib \
- -change @executable_path/libplc4.dylib @loader_path/libplc4.dylib \
- -change @executable_path/libplds4.dylib @loader_path/libplds4.dylib \
- $(file) &&) true
- $(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \
- install_name_tool \
-change @executable_path/libldap50.dylib \
@loader_path/../libldap50.dylib \
-change @executable_path/libmozjs.dylib @loader_path/../libmozjs.dylib \
-change @executable_path/libmozz.dylib @loader_path/../libmozz.dylib \
-change @executable_path/libmsgbaseutil.dylib \
@loader_path/../libmsgbaseutil.dylib \
- -change @executable_path/libnspr4.dylib @loader_path/../libnspr4.dylib \
- -change @executable_path/libnss3.dylib @loader_path/../libnss3.dylib \
- -change @executable_path/libplc4.dylib @loader_path/../libplc4.dylib \
- -change @executable_path/libplds4.dylib @loader_path/../libplds4.dylib \
-change @executable_path/libprldap50.dylib \
@loader_path/../libprldap50.dylib \
- -change @executable_path/libsmime3.dylib \
- @loader_path/../libsmime3.dylib \
- -change @executable_path/libsoftokn3.dylib \
- @loader_path/../libsoftokn3.dylib \
- -change @executable_path/libssl3.dylib @loader_path/../libssl3.dylib \
-change @executable_path/libxpcom.dylib @loader_path/../libxpcom.dylib \
-change @executable_path/libxpcom_compat.dylib \
@loader_path/../libxpcom_compat.dylib \
@@ -460,6 +308,3 @@ $(MISC)$/CREATETARBALL: extract_mozab_files
.ENDIF
cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip *
cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
-.IF "$(SYSTEM_NSS)"=="NO"
- cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
-.ENDIF
diff --git a/moz/zipped/makefile.mk b/moz/zipped/makefile.mk
index f401982798c2..67c575feec80 100644
--- a/moz/zipped/makefile.mk
+++ b/moz/zipped/makefile.mk
@@ -52,7 +52,7 @@ ALLTAR: \
$(MISC)$/unpacked_$(TARGET)_inc \
$(MISC)$/unpacked_$(TARGET)_lib \
$(BIN)$/mozruntime.zip \
- $(MISC)$/replace_old_nss_libs
+ $(MISC)$/remove_old_nss_libs
.ENDIF
.IF "$(GUI)" == "UNX"
@@ -94,24 +94,11 @@ $(BIN)$/mozruntime%zip : $(OS)$(COM)UBruntime.zip
.ENDIF # "$(GUIBASE)"=="aqua"
LIBLIST =
-BIN_RUNTIMELIST =
-NSS_MODULE_RUNTIME_LIST =
-
-# The prebuilt moz files include all the old NSS stuff from moz and not the new
-# NSS libs, headers, etc, from the separate nss module. If we use the nss module
-# then we must take care not to deliver the old NSS stuff from the "prebuilts"
-.IF "$(GUI)" == "WNT"
- FREEBL_LIB_OLD=freebl3
-.ELSE # "$(GUI)" == "WNT"
- .IF "$(OS)$(CPUNAME)" == "SOLARISSPARC"
- FREEBL_LIB_OLD=freebl_32fpu_3
- .ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
- FREEBL_LIB_OLD=freebl3
- .ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
-.ENDIF # "$(GUI)" == "WNT"
-
-BIN_RUNTIMELIST= \
- $(FREEBL_LIB_OLD) \
+
+# The old prebuilt moz files include all the old NSS stuff from moz but we
+# always build the toplevel nss module, so we must delete all these
+NSS_RUNTIMELIST= \
+ freebl3 \
nspr4 \
plc4 \
plds4 \
@@ -141,7 +128,7 @@ LIBLIST= \
.ENDIF
.ELSE #"$(GUI)"=="WNT"
LIBLIST= \
- lib$(FREEBL_LIB_OLD)$(DLLPOST) \
+ libfreebl3$(DLLPOST) \
libnspr4$(DLLPOST) \
libsoftokn3$(DLLPOST) \
libplc4$(DLLPOST) \
@@ -152,21 +139,8 @@ LIBLIST= \
.ENDIF # .IF "$(GUI)"=="WNT"
-.IF "$(OS)" == "SOLARIS"
-.IF "$(CPU)" == "S" #32bit
-FREEBL=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
-.ELIF "$(CPU)" == "U" #64bit unxsolu4
-FREEBL=freebl_64int_3 freebl_64fpu_3
-.ELSE
-FREEBL=freebl3
-.ENDIF #"$(CPU)" == "S"
-
-.ELSE # "$(OS)" == "SOLARIS"
-FREEBL=freebl3
-.ENDIF # "$(OS)" == "SOLARIS"
-
-NSS_MODULE_RUNTIME_LIST:= \
- $(FREEBL) \
+NSS_RUNTIMELIST:= \
+ freebl3 \
nspr4 \
nss3 \
nssckbi \
@@ -174,33 +148,22 @@ NSS_MODULE_RUNTIME_LIST:= \
nssutil3 \
plc4 \
plds4 \
+ sqlite3 \
smime3 \
softokn3 \
ssl3
-# On Linux/Unix sqlite is delivered to $(SOLARLIBDIR)/sqlite/libsqlite3.so (see
-# nss/README) and for Mac OS X >= 10.6 the system lib is used instead (see
-# nss/makefile.mk):
-.IF "$(OS)" == "MACOSX" && "$(MAC_OS_X_VERSION_MIN_REQUIRED)" >= "1060"
-.ELSE
-NSS_MODULE_RUNTIME_LIST += sqlite/sqlite3
-.END
-
-# Remove the nss libs build in moz and those build in the nss module
-$(MISC)$/replace_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \
+# Remove the nss libs
+$(MISC)$/remove_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \
$(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip
$(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \
- echo >& $(NULLDEV)
- $(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \
- echo >& $(NULLDEV)
-.IF "$(GUI)"=="WNT"
- +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib:f)$(DLLPOST) &&) \
- echo >& $(NULLDEV)
-.ELSE
- +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(lib:d)$(DLLPRE)$(lib:f)$(DLLPOST) &&) \
- echo >& $(NULLDEV)
-.ENDIF
+ echo >& $(NULLDEV)
+ $(foreach,lib,$(NSS_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+ rm -r -f $(INCCOM)$/nss &&) \
+ echo >& $(NULLDEV)
+ rm -r -f $(INCCOM)$/nspr &&) \
+ echo >& $(NULLDEV)
$(TOUCH) $@
.ENDIF # unpack mozab zips
-
diff --git a/scp2/InstallModule_ooo.mk b/scp2/InstallModule_ooo.mk
index b903a03963c8..a36be0514d25 100644
--- a/scp2/InstallModule_ooo.mk
+++ b/scp2/InstallModule_ooo.mk
@@ -76,6 +76,7 @@ $(eval $(call gb_InstallModule_define_if_set,scp2/ooo,\
SYSTEM_MOZILLA \
SYSTEM_MYTHES \
SYSTEM_NEON \
+ SYSTEM_NSS \
SYSTEM_OPENSSL \
SYSTEM_PANGO \
SYSTEM_PORTAUDIO \
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index 6e5ec3f02d64..117f6d6242f8 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -1326,6 +1326,37 @@ SPECIAL_LIB_FILE(gid_File_Lib_Ucpdav1,ucpdav1)
#endif
#endif
+#ifndef SYSTEM_NSS
+SPECIAL_LIB_FILE(gid_File_Lib_Freebl3,freebl3)
+SPECIAL_LIB_FILE(gid_File_Lib_Nss3,nss3)
+SPECIAL_LIB_FILE(gid_File_Lib_Nspr,nspr4)
+SPECIAL_LIB_FILE(gid_File_Lib_Nssdbm3,nssdbm3)
+SPECIAL_LIB_FILE(gid_File_Lib_Nssutil3,nssutil3)
+SPECIAL_LIB_FILE(gid_File_Lib_Nssckbi,nssckbi)
+SPECIAL_LIB_FILE(gid_File_Lib_Plc4,plc4)
+SPECIAL_LIB_FILE(gid_File_Lib_Plds4,plds4)
+SPECIAL_LIB_FILE(gid_File_Lib_Softokn3,softokn3)
+SPECIAL_LIB_FILE(gid_File_Lib_Smime3,smime3)
+#ifdef WNT
+SPECIAL_LIB_FILE(gid_File_Lib_Sqlite3,sqlite3)
+#else
+/*
+ For MacOSX >= 10.6 we can apparently use the system sqlite.
+
+ For MacOSX 10.4 we've delivered sqlite into a sqlite subdir for the duration
+ of the build to avoid #i106132#. Now we need to put it into the program dir of
+ the install.
+*/
+#if !defined(MACOS) || (MAC_OS_X_VERSION_MIN_REQUIRED < 1060)
+File gid_File_Lib_Sqlite3
+ Name = "sqlite/" SPECIAL_NAME(sqlite3);
+ PACKED_LIB_FILE_BODY;
+End
+#endif
+#endif
+SPECIAL_LIB_FILE(gid_File_Lib_Ssl3,ssl3)
+#endif
+
SPECIAL_LIB_FILE(gid_File_Lib_Ucpfile1,ucpfile1)
SPECIAL_LIB_FILE(gid_File_Lib_Ucpftp1,ucpftp1)
diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp
index 9c87d80883b0..a3ff86d9613c 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -408,6 +408,18 @@ Module gid_Module_Root_Files_5
gid_Unixlink_File_Lib_Rasqal,
gid_File_Lib_Rdf,
gid_Unixlink_File_Lib_Rdf,
+ gid_File_Lib_Freebl3,
+ gid_File_Lib_Nss3,
+ gid_File_Lib_Nspr,
+ gid_File_Lib_Nssdbm3,
+ gid_File_Lib_Nssutil3,
+ gid_File_Lib_Nssckbi,
+ gid_File_Lib_Plc4,
+ gid_File_Lib_Plds4,
+ gid_File_Lib_Softokn3,
+ gid_File_Lib_Smime3,
+ gid_File_Lib_Sqlite3,
+ gid_File_Lib_Ssl3,
gid_File_Lib_Unordf,
gid_File_Lib_Sndfile,
gid_File_Lib_Tvhlp1,