summaryrefslogtreecommitdiff
path: root/moz/extractfiles.mk
diff options
context:
space:
mode:
Diffstat (limited to 'moz/extractfiles.mk')
-rw-r--r--moz/extractfiles.mk459
1 files changed, 459 insertions, 0 deletions
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
new file mode 100644
index 000000000000..faba88b7822f
--- /dev/null
+++ b/moz/extractfiles.mk
@@ -0,0 +1,459 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+MOZTARGET=$(OS)$(COM)$(CPU)
+MOZ_DIST_DIR=$(MISC)$/build$/mozilla$/$(BUILD_DIR)$/dist
+MOZ_BIN_DIR=$(MOZ_DIST_DIR)$/bin
+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 \
+ sqlite/sqlite3 \
+ ssl3
+
+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 # "$(ENABLE_NSS_MODULE)"=="YES"
+
+.IF "$(GUI)"=="WNT"
+BIN_RUNTIMELIST+= \
+ js3250 \
+ mozz \
+ msgbsutl \
+ nsldap32v50 \
+ nsldappr32v50
+.ELSE #"$(GUI)"=="WNT"
+BIN_RUNTIMELIST+= \
+ mozjs \
+ mozz \
+ msgbaseutil \
+ ldap50 \
+ prldap50
+.ENDIF
+
+COMPONENT_RUNTIMELIST= \
+ addrbook \
+ mork \
+ mozldap \
+ necko \
+ profile \
+ xpcom_compat_c \
+ rdf \
+ uconv \
+ vcard \
+ i18n \
+ pipnss
+
+.IF "$(GUI)"=="WNT"
+COMPONENT_RUNTIMELIST+= \
+ xppref32 \
+ xpc3250
+.ELSE #"$(GUI)"=="WNT"
+COMPONENT_RUNTIMELIST+= \
+ pref \
+ xpconnect
+.ENDIF
+
+COMREGISTRY_FILELIST= \
+ necko_dns.xpt \
+ xpcom_base.xpt \
+ xpcom_obsolete.xpt \
+ xpcom_components.xpt \
+ xpcom_ds.xpt \
+ xpcom_io.xpt \
+ xpcom_xpti.xpt \
+ addrbook.xpt \
+ mozldap.xpt \
+ pref.xpt
+
+.IF "$(GUI)"=="WNT"
+COMREGISTRY_FILELIST+= xpcom_thread.xpt
+.ELSE #"$(GUI)"=="WNT"
+COMREGISTRY_FILELIST+= xpcom_threads.xpt
+.ENDIF
+
+DEFAULTS_RUNTIMELIST= \
+ defaults$/pref$/browser-prefs.js \
+ defaults$/pref$/mailnews.js \
+ defaults$/pref$/mdn.js \
+ defaults$/pref$/smime.js \
+ defaults$/autoconfig$/platform.js \
+ defaults$/autoconfig$/prefcalls.js \
+ 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 \
+ libnslber32v50.a \
+ libnsldap32v50.a \
+ libnspr4.a \
+ libxpcom_core.dll.a \
+ libxpcom.dll.a \
+ libnss3.a \
+ libsmime3.a
+
+.ELSE
+
+LIBLIST= \
+ embed_base_s.lib \
+ mozreg_s.lib \
+ nslber32v50.lib \
+ nsldap32v50.lib \
+ nspr4.lib \
+ xpcom_core.lib \
+ xpcom.lib \
+ plc4.lib \
+ plds4.lib \
+ nss3.lib \
+ ssl3.lib \
+ smime3.lib
+
+.ENDIF
+
+.ELSE #"$(GUI)"=="WNT"
+
+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)
+
+.ENDIF
+.ENDIF # .IF "$(ENABLE_NSS_MODULE)"=="YES"
+
+INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/
+PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/
+
+
+.IF "$(GUI)"=="WNT"
+REG_SUBFIX= .exe
+.ELSE #"$(GUI)"=="WNT"
+REG_SUBFIX=
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+extract_mozab_files: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) \
+ make_temp_dir \
+ $(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
+ @@-$(MKDIR) $(RUNTIME_DIR)$/defaults
+ @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/pref
+ @@-$(MKDIR) $(LIB_DIR)
+ @@-$(MKDIR) $(INCLUDE_DIR)
+.IF "$(OS)"=="SOLARIS"
+ @@-$(MKDIR) $(RUNTIME_DIR)$/res
+.ENDIF
+
+$(OUT)$/bin$/mozruntime.zip: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
+ noop
+
+$(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
+# copy files in BIN_RUNTIMELIST
+ $(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \
+ $(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+.IF "$(GUI)" == "UNX"
+ $(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)$/$(file:d:d)/$(DLLPRE)$(file:f)$(DLLPOST) \
+ $(RUNTIME_DIR)$/$(DLLPRE)$(file:f)$(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"
+ @$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties
+.ELSE
+ @echo No Res Files to copy.
+.ENDIF
+
+# copy files in COMPONENT_RUNTIMELIST
+ $(foreach,file,$(COMPONENT_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/components$/$(DLLPRE)$(file)$(DLLPOST) \
+ $(RUNTIME_DIR)$/components$/$(DLLPRE)$(file)$(DLLPOST) &&) \
+ echo >& $(NULLDEV)
+
+# copy files in COMREGISTRY_FILELIST
+ $(foreach,file,$(COMREGISTRY_FILELIST) $(COPY) $(MOZ_BIN_DIR)$/components$/$(file) \
+ $(RUNTIME_DIR)$/components$/$(file) &&) \
+ echo >& $(NULLDEV)
+
+# copy files in DEFAULTS_RUNTIMELIST
+ @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/pref
+ @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/autoconfig
+ @@-$(MKDIR) $(RUNTIME_DIR)$/greprefs
+ $(foreach,file,$(DEFAULTS_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(file) $(RUNTIME_DIR)$/$(file) &&) \
+ echo >& $(NULLDEV)
+
+.IF "$(GUI)"=="UNX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX"
+ cd $(RUNTIME_DIR) && strip *$(DLLPOST)
+ cd $(RUNTIME_DIR)$/components && strip *$(DLLPOST)
+.ENDIF
+.ENDIF
+.IF "$(OS)"=="MACOSX"
+ $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
+ $(RUNTIME_DIR)$/*$(DLLPOST)
+# A crude hack to adapt all the install names in the components subdir:
+ $(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 \
+ $(file) &&) true
+.ENDIF
+
+# 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 "$(OS)"!="SOLARIS"
+ $(GNUCOPY) -pRL $(INCLUDE_PATH)* $(INCLUDE_DIR)
+ $(GNUCOPY) -pRL $(PUBLIC_PATH)* $(INCLUDE_DIR)
+.ELSE # "$(OS)"!="SOLARIS"
+ $(COPY) -pr $(INCLUDE_PATH)* $(INCLUDE_DIR)
+ $(COPY) -pr $(PUBLIC_PATH)* $(INCLUDE_DIR)
+.ENDIF # "$(OS)"!="SOLARIS"
+
+.IF "$(GUI)"=="UNX"
+ 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 -rf $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ -$(MKDIR) $(OUT)$/inc.nss
+ cd $(OUT)$/inc.nss && $(foreach,dir,$(NSS_INCLUDE_LIST) $(GNUCOPY) -pRL $(SOLARINCDIR)$/mozilla/$(dir) . &&) 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
+# processed here, hence the dependency on so_moz_runtime_files:
+$(MISC)$/build$/so_moz_lib_files: $(foreach,file,$(LIBLIST) $(LIB_DIR)$/$(file)) $(MISC)$/build$/so_moz_runtime_files
+ echo $(foreach,file,$(LIBLIST) $(MOZ_DIST_DIR)$/lib$/$(file))
+ $(foreach,file,$(LIBLIST) $(COPY) $(MOZ_DIST_DIR)$/lib$/$(file) \
+ $(LIB_DIR)$/$(file) &&) \
+ echo >& $(NULLDEV)
+.IF "$(OS)"=="MACOSX"
+ $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
+ $(LIB_DIR)$/*$(DLLPOST)
+.ENDIF
+.IF "$(GUI)"=="UNX"
+ 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$/$@
+
+$(DEFAULTS_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
+ @$(COPY) $(MOZ_BIN_DIR)$/$@ $(RUNTIME_DIR)$/$@
+
+RES_FILELIST: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
+.IF "$(OS)"=="SOLARIS"
+ @$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties
+.ELSE
+ @echo No Res Files to copy.
+.ENDIF
+
+$(LIB_DIR)$/%: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
+ noop
+
+$(MISC)$/CREATETARBALL: extract_mozab_files
+ @@-$(MKDIR) $(OUT)$/zipped
+ $(COPY) $(BIN)$/mozruntime.zip $(OUT)$/zipped$/$(MOZTARGET)runtime.zip
+.IF "$(GUI)"=="UNX"
+.IF "$(OS)"!="MACOSX"
+ cd $(LB) && strip *$(DLLPOST)
+.ENDIF
+.ENDIF
+ cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip *
+ cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+ cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.ENDIF