summaryrefslogtreecommitdiff
path: root/moz
diff options
context:
space:
mode:
Diffstat (limited to 'moz')
-rwxr-xr-xmoz/README4
-rw-r--r--moz/extractfiles.mk132
-rw-r--r--moz/prj/build.lst2
-rw-r--r--moz/zipped/makefile.mk119
4 files changed, 245 insertions, 12 deletions
diff --git a/moz/README b/moz/README
new file mode 100755
index 000000000000..6b1d0a2e169e
--- /dev/null
+++ b/moz/README
@@ -0,0 +1,4 @@
+Rebuild moz whenever changes have been made in the nss module. Those libs are
+merged into mozruntime.zip which is build in this project.
+
+Please read nss/readme.txt !!! \ No newline at end of file
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
index d7027620d27c..654cbc8d05e0 100644
--- a/moz/extractfiles.mk
+++ b/moz/extractfiles.mk
@@ -36,6 +36,46 @@ 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 "$(ENABLE_NSS_MODULE)"=="YES"
+
+
+.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 \
+ sqlite3 \
+ ssl3
+
+BIN_RUNTIMELIST= \
+ xpcom \
+ xpcom_core \
+ xpcom_compat
+.ELSE
+
.IF "$(GUI)" == "WNT"
FREEBL_LIB=freebl3
.ELSE # "$(GUI)" == "WNT"
@@ -46,6 +86,7 @@ INCLUDE_DIR=$(INCCOM)
.ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
.ENDIF # "$(GUI)" == "WNT"
+
BIN_RUNTIMELIST= \
nspr4 \
plc4 \
@@ -58,7 +99,8 @@ BIN_RUNTIMELIST= \
softokn3 \
smime3 \
$(FREEBL_LIB)
-
+.ENDIF # "$(ENABLE_NSS_MODULE)"=="YES"
+
.IF "$(GUI)"=="WNT"
BIN_RUNTIMELIST+= \
js3250 \
@@ -87,7 +129,7 @@ COMPONENT_RUNTIMELIST= \
vcard \
i18n \
pipnss
-
+
.IF "$(GUI)"=="WNT"
COMPONENT_RUNTIMELIST+= \
xppref32 \
@@ -126,8 +168,52 @@ DEFAULTS_RUNTIMELIST= \
greprefs$/all.js \
greprefs$/security-prefs.js
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+#These headers come from the separate NSS module if enabled
+NSS_INCLUDE_LIST= nspr nss
+
+.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"$(ENABLE_NSS_MODULE)"=="YES"
+
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
+
LIBLIST= \
libembed_base_s.a \
libmozreg_s.a \
@@ -138,7 +224,9 @@ LIBLIST= \
libxpcom.dll.a \
libnss3.a \
libsmime3.a
+
.ELSE
+
LIBLIST= \
embed_base_s.lib \
mozreg_s.lib \
@@ -152,8 +240,11 @@ LIBLIST= \
nss3.lib \
ssl3.lib \
smime3.lib
+
.ENDIF
-.ELSE #"$(GUI)"=="WNT"
+
+.ELSE #"$(GUI)"=="WNT"
+
LIBLIST= \
libembed_base_s.a \
libmozreg_s.a \
@@ -169,7 +260,9 @@ LIBLIST= \
libnss3$(DLLPOST) \
libssl3$(DLLPOST) \
libsmime3$(DLLPOST)
+
.ENDIF
+.ENDIF # .IF "$(ENABLE_NSS_MODULE)"=="YES"
INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/
PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/
@@ -188,7 +281,7 @@ extract_mozab_files: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) \
$(MISC)$/build$/so_moz_runtime_files \
$(MISC)$/build$/so_moz_include_files \
$(MISC)$/build$/so_moz_lib_files
-
+
make_temp_dir:
@@-$(MKDIR) $(RUNTIME_DIR)
@@-$(MKDIR) $(RUNTIME_DIR)$/components
@@ -212,7 +305,21 @@ $(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 "$(ENABLE_NSS_MODULE)" == "YES"
+# We add the libraries from the separate nss module
+ $(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARLIBDIR)$/$(DLLPRE)$(file)$(DLLPOST) \
+ $(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
.ENDIF
+.ELSE # .IF "$(GUI)" == "UNX"
+.IF "$(ENABLE_NSS_MODULE)" == "YES"
+# 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"
@@ -275,12 +382,13 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
# zip runtime files to mozruntime.zip
cd $(RUNTIME_DIR) && zip -r ..$/..$/bin$/mozruntime.zip *
-
+
$(TOUCH) $@
$(INCCOM)$/nsBuildID.h: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@-echo "You can delete $(INCCOM) to force it copy all include files again."
-
+
+
$(MISC)$/build$/so_moz_include_files: $(INCCOM)$/nsBuildID.h
.IF "$(USE_SHELL)"=="4nt"
$(COPY) /QSZ $(INCLUDE_PATH)* $(INCLUDE_DIR)
@@ -299,6 +407,13 @@ $(MISC)$/build$/so_moz_include_files: $(INCCOM)$/nsBuildID.h
chmod -R 775 $(INCCOM)
.ENDIF
$(TOUCH) $@
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+ +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) \
+ $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
+ echo >& $(NULLDEV)
+ $(foreach,dir,$(NSS_INCLUDE_LIST) rm -r -f $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
+ echo >& $(NULLDEV)
+.ENDIF
# On UNX the rules for so_moz_runtime_files copy files into the same directory
# used here (LIB_DIR), and on MACOSX all those files together need to be
@@ -316,13 +431,13 @@ $(MISC)$/build$/so_moz_lib_files: $(foreach,file,$(LIBLIST) $(LIB_DIR)$/$(file)
chmod -R 775 $(LB)
.ENDIF
$(TOUCH) $@
-
+
$(BIN_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@$(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$@$(DLLPOST) $(RUNTIME_DIR)$/$(DLLPRE)$@$(DLLPOST)
$(COMPONENT_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@$(COPY) $(MOZ_BIN_DIR)$/components$/$(DLLPRE)$@$(DLLPOST) $(RUNTIME_DIR)$/components$/$(DLLPRE)$@$(DLLPOST)
-
+
$(COMREGISTRY_FILELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@$(COPY) $(MOZ_BIN_DIR)$/components$/$@ $(RUNTIME_DIR)$/components$/$@
@@ -336,7 +451,6 @@ RES_FILELIST: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@echo No Res Files to copy.
.ENDIF
-
$(LIB_DIR)$/%: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
noop
diff --git a/moz/prj/build.lst b/moz/prj/build.lst
index f5593fae6d42..717c309da96e 100644
--- a/moz/prj/build.lst
+++ b/moz/prj/build.lst
@@ -1,4 +1,4 @@
-moz moz : solenv SO:so_prereq NULL
+moz moz : solenv SO:so_prereq NSS:nss NULL
moz moz usr1 - all moz_mkout NULL
moz moz nmake - all moz_mozilla NULL
moz moz\zipped nmake - all moz_zipped moz_mozilla NULL
diff --git a/moz/zipped/makefile.mk b/moz/zipped/makefile.mk
index 9015bed34d60..400b5767759c 100644
--- a/moz/zipped/makefile.mk
+++ b/moz/zipped/makefile.mk
@@ -55,7 +55,8 @@ ALLTAR:
ALLTAR: \
$(MISC)$/unpacked_$(TARGET)_inc \
$(MISC)$/unpacked_$(TARGET)_lib \
- $(BIN)$/mozruntime.zip
+ $(BIN)$/mozruntime.zip \
+ $(MISC)$/replace_old_nss_libs
.ENDIF
.IF "$(GUI)" == "UNX"
@@ -81,6 +82,120 @@ $(MISC)$/unpacked_$(TARGET)_inc : $(OS)$(COM)$(CPU)inc.zip
$(BIN)$/mozruntime.zip : $(OS)$(COM)$(CPU)runtime.zip
$(COPY) $(OS)$(COM)$(CPU)runtime.zip $(BIN)$/mozruntime.zip
+LIBLIST =
+BIN_RUNTIMELIST =
+NSS_INCLUDE_LIST =
+NSS_MODULE_RUNTIME_LIST =
+
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+# 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) \
+ nspr4 \
+ plc4 \
+ plds4 \
+ nss3 \
+ ssl3 \
+ softokn3 \
+ smime3
+
+.IF "$(GUI)"=="WNT"
+.IF "$(COM)"=="GCC"
+LIBLIST= \
+ libnspr4.a \
+ libnss3.a \
+ libsmime3.a \
+ libplc4.a \
+ libplds4.a \
+ libssl3.a
-.ENDIF # unpack mozab zips
+.ELSE
+LIBLIST= \
+ nspr4.lib \
+ plc4.lib \
+ plds4.lib \
+ nss3.lib \
+ ssl3.lib\
+ smime3.lib
+.ENDIF
+.ELSE #"$(GUI)"=="WNT"
+LIBLIST= \
+ lib$(FREEBL_LIB_OLD)$(DLLPOST) \
+ libnspr4$(DLLPOST) \
+ libsoftokn3$(DLLPOST) \
+ libplc4$(DLLPOST) \
+ libplds4$(DLLPOST) \
+ libnss3$(DLLPOST) \
+ libssl3$(DLLPOST) \
+ libsmime3$(DLLPOST)
+
+.ENDIF # .IF "$(GUI)"=="WNT"
+
+
+NSS_INCLUDE_LIST= nspr nss
+
+
+.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) \
+ nspr4 \
+ nss3 \
+ nssckbi \
+ nssdbm3 \
+ nssutil3 \
+ plc4 \
+ plds4 \
+ smime3 \
+ softokn3 \
+ sqlite3 \
+ ssl3
+
+
+.ENDIF #.IF "$(ENABLE_NSS_MODULE)"=="YES"
+# Remove the nss libs build in moz and those build in the nss module
+$(MISC)$/replace_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \
+$(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip
+ +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCCOM)$/$(dir) \
+ $(INCCOM)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ $(foreach,dir,$(NSS_INCLUDE_LIST) rm -r -f $(INCCOM)$/$(dir)_remove_me &&) \
+ echo >& $(NULLDEV)
+ $(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \
+ echo >& $(NULLDEV)
+ $(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+.IF "$(GUI)"=="WNT"
+ $(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+.ELSE
+ $(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(DLLPRE)$(lib)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+.ENDIF
+ $(TOUCH) $@
+
+.ENDIF # unpack mozab zips