Give the standalone build system a finer grained control over which directories are checked out.

Bug #57282 r=blizzard
This commit is contained in:
cls%seawood.org 2000-12-27 05:29:50 +00:00
Родитель a43bfeb51a
Коммит 0dcaf7b61a
3 изменённых файлов: 109 добавлений и 40 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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

Просмотреть файл

@ -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)` ;\