diff --git a/allmakefiles.sh b/allmakefiles.sh index 6f98c684de1..23873666984 100755 --- a/allmakefiles.sh +++ b/allmakefiles.sh @@ -297,6 +297,7 @@ modules/libimg/pngcom/Makefile MAKEFILES_libjar=" modules/libjar/Makefile +modules/libjar/standalone/Makefile " MAKEFILES_libreg=" @@ -387,6 +388,12 @@ netwerk/streamconv/src/Makefile netwerk/streamconv/test/Makefile netwerk/test/Makefile netwerk/testserver/Makefile + +uriloader/exthandler/Makefile +intl/strres/public/Makefile +intl/locale/idl/Makefile +$MAKEFILES_js +modules/libpref/public/Makefile " MAKEFILES_uriloader=" @@ -554,12 +561,20 @@ xpcom/proxy/public/Makefile xpcom/proxy/src/Makefile xpcom/proxy/tests/Makefile xpcom/sample/Makefile -xpcom/tests/Makefile -xpcom/tests/dynamic/Makefile -xpcom/tests/services/Makefile xpcom/threads/Makefile xpcom/tools/Makefile xpcom/tools/registry/Makefile + +$MAKEFILES_libreg +$MAKEFILES_libjar +intl/unicharutil/public/Makefile +intl/uconv/public/Makefile +" + +MAKEFILES_xpcom_tests=" +xpcom/tests/Makefile +xpcom/tests/dynamic/Makefile +xpcom/tests/services/Makefile " MAKEFILES_xpinstall=" @@ -682,6 +697,10 @@ security/psm/Makefile security/psm/lib/Makefile security/psm/lib/client/Makefile security/psm/lib/protocol/Makefile + +intl/strres/public/Makefile +intl/locale/idl/Makefile +intl/locale/public/Makefile " MAKEFILES_psm_glue=" @@ -731,7 +750,9 @@ extensions/transformiix/Makefile " if [ "$MOZ_MAIL_NEWS" ]; then - MAKEFILES_mailnews=`cat ${srcdir}/mailnews/makefiles` + if [ -f ${srcdir}/mailnews/makefiles ]; then + MAKEFILES_mailnews=`cat ${srcdir}/mailnews/makefiles` + fi fi if [ ! "$SYSTEM_JPEG" ]; then @@ -760,7 +781,9 @@ fi # # l10n/ # -MAKEFILES_langpacks=`cat ${srcdir}/l10n/makefiles.all` +if [ -f ${srcdir}/l10n/makefiles.all ]; then + MAKEFILES_langpacks=`cat ${srcdir}/l10n/makefiles.all` +fi if [ "$MOZ_L10N" ]; then MAKEFILES_l10n="l10n/Makefile" @@ -958,6 +981,7 @@ $MAKEFILES_view $MAKEFILES_webshell $MAKEFILES_widget $MAKEFILES_xpcom +$MAKEFILES_xpcom_tests $MAKEFILES_xpconnect $MAKEFILES_xpinstall $MAKEFILES_xpfe @@ -974,17 +998,17 @@ else js) add_makefiles "$MAKEFILES_js" ;; necko) add_makefiles " - $MAKEFILES_netwerk $MAKEFILES_xpcom $MAKEFILES_libreg" + $MAKEFILES_netwerk $MAKEFILES_dbm $MAKEFILES_xpcom" ;; - psm) add_makefiles "$MAKEFILES_dbm $MAKEFILES_xpcom $MAKEFILES_libreg $MAKEFILES_intl $MAKEFILES_libjar $MAKEFILES_security $MAKEFILES_js $MAKEFILES_psm_glue" + psm) add_makefiles "$MAKEFILES_dbm $MAKEFILES_xpcom $MAKEFILES_security $MAKEFILES_js $MAKEFILES_psm_glue" ;; transformiix) add_makefiles "$MAKEFILES_transformiix" ;; - xpcom) add_makefiles "$MAKEFILES_xpcom $MAKEFILES_libreg $MAKEFILES_intl $MAKEFILES_libjar" + xpcom) add_makefiles "$MAKEFILES_xpcom" + ;; xpconnect) add_makefiles " - $MAKEFILES_xpconnect $MAKEFILES_js $MAKEFILES_xpcom - $MAKEFILES_libreg" + $MAKEFILES_xpconnect $MAKEFILES_js $MAKEFILES_xpcom" ;; esac done diff --git a/build/unix/modules.mk b/build/unix/modules.mk index 3eab3ca6272..8aecbfb985d 100644 --- a/build/unix/modules.mk +++ b/build/unix/modules.mk @@ -18,9 +18,7 @@ # BUILD_MODULE_DIRS := config build include -BUILD_MODULE_DEP_DIRS := -_BUILD_MODS = -NSPRPUB_DIR = +BUILD_MODULE_CVS = config build include # client.mk does not have topsrcdir set ifndef topsrcdir @@ -36,43 +34,85 @@ NSPRPUB_DIR = $(topsrcdir)/nsprpub endif endif +# BM_DIRS_mod: list of directories to traverse from toplevel Makefile +# BM_DEP_DIRS_mod: list of directories to run "export" over +# BM_CVS_mod: list of directories to check out of cvs recursively +# BM_CVS_NS_mod: list of directories to check out of cvs non-recursively + ifneq ($(BUILD_MODULES),all) -BUILD_MODULE_DIRS_dbm = $(NSPRPUB_DIR) dbm -BUILD_MODULE_DIRS_js = $(NSPRPUB_DIR) js/src -BUILD_MODULE_DIRS_necko = $(BUILD_MODULE_DIRS_xpcom) netwerk -BUILD_MODULE_DIRS_transformiix = extensions/transformiix +# +# dbm +# +BM_DIRS_dbm = $(NSPRPUB_DIR) dbm +BM_CVS_dbm = $(BM_DIRS_dbm) -BUILD_MODULE_DIRS_xpconnect = $(BUILD_MODULE_DIRS_xpcom) $(BUILD_MODULE_DIRS_js) js/src/xpconnect -BUILD_MODULE_DIRS_security = $(BUILD_MODULE_DIRS_xpcom) $(BUILD_MODULE_DIRS_dbm) security +# +# js +# +BM_DIRS_js = $(NSPRPUB_DIR) js/src +BM_CVS_js = $(NSPRPUB_DIR) +BM_CVS_NS_js = js js/src js/src/fdlibm -BUILD_MODULE_DIRS_xpcom = $(NSPRPUB_DIR) modules/libreg xpcom -BUILD_MODULE_DEP_DIRS_xpcom = intl modules/libjar +# +# xpcom +# +BM_DIRS_xpcom = $(NSPRPUB_DIR) modules/libreg xpcom +BM_DEP_DIRS_xpcom = intl/unicharutil/public intl/uconv/public modules/libjar +BM_CVS_NS_xpcom = xpcom xpcom/typelib xpcom/typelib/xpidl intl/unicharutil/public intl/uconv/public +BM_CVS_xpcom = modules/libreg xpcom/typelib/xpt xpcom/base xpcom/ds xpcom/io xpcom/components xpcom/threads xpcom/reflect xpcom/proxy xpcom/build xpcom/tools xpcom/sample modules/libjar -BUILD_MODULE_DIRS_psm = $(BUILD_MODULE_DIRS_dbm) $(BUILD_MODULE_DIRS_xpcom) security netwerk/base/public netwerk/socket/base dom/public $(BUILD_MODULE_DIRS_js) extensions/psm-glue -BUILD_MODULE_DEP_DIRS_psm = $(BUILD_MODULE_DEP_DIRS_xpcom) uriloader/base modules/libpref/public profile/public caps/idl modules/appfilelocprovider/public netwerk/protocol/http/public gfx/idl gfx/public rdf/base/idl xpfe/appshell/public widget/public docshell/base layout/html/forms/public layout/base/public rdf/content/public dom/src/base modules/oji/public caps/include +# +# xpconnect +# +BM_DIRS_xpconnect = $(BM_DIRS_xpcom) $(BM_DIRS_js) js/src/xpconnect +BM_CVS_xpconnect = $(BM_CVS_xpcom) $(BM_CVS_js) js/src/xpconnect +BM_CVS_NS_xpconnect = $(BM_CVS_NS_xpcom) $(BM_CVS_NS_js) js/src/xpconnect -BUILD_MODULE_DIRS += $(foreach mod,$(BUILD_MODULES), $(BUILD_MODULE_DIRS_$(mod))) -BUILD_MODULE_DEP_DIRS += $(foreach mod,$(BUILD_MODULES), $(BUILD_MODULE_DEP_DIRS_$(mod))) +# +# necko +# +BM_DIRS_necko = $(BM_DIRS_xpcom) $(BM_DIRS_dbm) netwerk +BM_DEP_DIRS_necko = $(BM_DEP_DIRS_xpcom) $(BM_DEP_DIRS_dbm) uriloader/exthandler intl/locale/idl intl/strres/public js/src modules/libpref/public +BM_CVS_necko = $(BM_CVS_xpcom) $(BM_CVS_dbm) netwerk uriloader/exthandler +BM_CVS_NS_necko = $(BM_CVS_NS_xpcom) intl/locale/idl intl/strres/public modules/libpref/public $(BM_CVS_NS_js) + +# +# tranformiix +# +BM_DIRS_transformiix = extensions/transformiix + +# +# psm +# +BM_DIRS_psm = $(BM_DIRS_dbm) $(BM_DIRS_xpcom) security netwerk/base/public netwerk/socket/base dom/public $(BM_DIRS_js) extensions/psm-glue +BM_DEP_DIRS_psm = $(BM_DEP_DIRS_dbm) $(BM_DEP_DIRS_xpcom) $(BM_DEP_DIRS_js) intl/locale/idl intl/locale/public intl/strres/public uriloader/base modules/libpref/public profile/public caps/idl modules/appfilelocprovider/public netwerk/protocol/http/public gfx/idl gfx/public rdf/base/idl xpfe/appshell/public widget/public docshell/base layout/html/forms/public layout/base/public rdf/content/public dom/src/base modules/oji/public caps/include +BM_CVS_psm = $(BM_CVS_dbm) $(BM_CVS_xpcom) $(BM_CVS_js) security netwerk/base/public netwerk/socket/base dom/public $(BM_CVS_js) extensions/psm-glue +BM_CVS_NS_psm = $(BM_CVS_NS_dbm) $(BM_CVS_NS_xpcom) $(BM_CVS_NS_js) intl/locale/idl intl/locale/public intl/strres/public uriloader/base modules/libpref/public profile/public caps/idl modules/appfilelocprovider/public netwerk/protocol/http/public gfx/idl gfx/public rdf/base/idl xpfe/appshell/public widget/public docshell/base layout/html/forms/public layout/base/public rdf/content/public dom/src/base modules/oji/public caps/include + + +# +# Tally +# + +BUILD_MODULE_DIRS += $(foreach mod,$(BUILD_MODULES), $(BM_DIRS_$(mod))) +BUILD_MODULE_DEP_DIRS = $(foreach mod,$(BUILD_MODULES), $(BM_DEP_DIRS_$(mod))) +BUILD_MODULE_CVS += $(foreach mod,$(BUILD_MODULES), $(BM_CVS_$(mod))) +BUILD_MODULE_CVS_NS = $(foreach mod,$(BUILD_MODULES), $(BM_CVS_NS_$(mod))) # Remove dups from the list to speed up the build # ifdef PERL -BUILD_MODULE_DIRS := $(shell $(PERL) -e 'undef @out; \ - foreach $$d (@ARGV) { \ - push @out, $$d if (!grep(/$$d/, @out)); \ - }; \ - print "@out\n"; ' $(BUILD_MODULE_DIRS)) -BUILD_MODULE_DEP_DIRS := $(shell $(PERL) -e 'undef @out; \ - foreach $$d (@ARGV) { \ - push @out, $$d if (!grep(/$$d/, @out)); \ - }; \ - print "@out\n"; ' $(BUILD_MODULE_DEP_DIRS)) +BUILD_MODULE_DIRS := $(shell $(topsrcdir)/build/unix/uniq.pl $(BUILD_MODULE_DIRS)) +BUILD_MODULE_DEP_DIRS := $(shell $(topsrcdir)/build/unix/uniq.pl $(BUILD_MODULE_DEP_DIRS)) + else # Since PERL isn't defined, client.mk must've called us so order doesn't matter BUILD_MODULE_DIRS := $(sort $(BUILD_MODULE_DIRS)) BUILD_MODULE_DEP_DIRS := $(sort $(BUILD_MODULE_DEP_DIRS)) +BUILD_MODULE_CVS := $(sort $(BUILD_MODULE_CVS)) +BUILD_MODULE_CVS_NS := $(sort $(BUILD_MODULE_CVS_NS)) endif endif # BUILD_MODULES diff --git a/client.mk b/client.mk index b7d594cf135..addd50b9379 100644 --- a/client.mk +++ b/client.mk @@ -222,18 +222,22 @@ CVSCO_LDAPCSDK = cvs $(CVS_FLAGS) co $(LDAPCSDK_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $ # CVS defines for standalone modules # ifneq ($(BUILD_MODULES),all) - MOZ_CO_MODULE := $(filter-out $(NSPRPUB_DIR) security directory/c-sdk, $(BUILD_MODULE_DIRS) $(BUILD_MODULE_DEP_DIRS)) + MOZ_CO_MODULE := $(filter-out $(NSPRPUB_DIR) security directory/c-sdk, $(BUILD_MODULE_CVS)) MOZ_CO_MODULE += allmakefiles.sh client.mk aclocal.m4 configure configure.in MOZ_CO_MODULE += Makefile.in MOZ_CO_MODULE := $(addprefix mozilla/, $(MOZ_CO_MODULE)) -ifeq (,$(filter $(NSPRPUB_DIR), $(BUILD_MODULE_DIRS) $(BUILD_MODULE_DEP_DIRS))) + + NOSUBDIRS_MODULE := $(addprefix mozilla/, $(BUILD_MODULE_CVS_NS)) + CVSCO_NOSUBDIRS := $(CVSCO) -l $(CVS_CO_DATE_FLAGS) $(NOSUBDIRS_MODULE) + +ifeq (,$(filter $(NSPRPUB_DIR), $(BUILD_MODULE_CVS))) CVSCO_NSPR := endif -ifeq (,$(filter security, $(BUILD_MODULE_DIRS) $(BUILD_MODULE_DEP_DIRS))) +ifeq (,$(filter security, $(BUILD_MODULE_CVS))) CVSCO_PSM := CVSCO_NSS := endif -ifeq (,$(filter directory/c-sdk, $(BUILD_MODULE_DIRS) $(BUILD_MODULE_DEP_DIRS))) +ifeq (,$(filter directory/c-sdk, $(BUILD_MODULE_CVS))) CVSCO_LDAPCSDK := endif else @@ -303,7 +307,8 @@ real_checkout: cvs_co $(CVSCO_PSM) && \ cvs_co $(CVSCO_NSS) && \ cvs_co $(CVSCO_LDAPCSDK) && \ - cvs_co $(CVSCO_SEAMONKEY) + cvs_co $(CVSCO_SEAMONKEY) && \ + cvs_co $(CVSCO_NOSUBDIRS) @echo "checkout finish: "`date` | tee -a $(CVSCO_LOGFILE) # @: Check the log for conflicts. ; @conflicts=`egrep "^C " $(CVSCO_LOGFILE)` ;\