author | Joshua Cranmer <Pidgeot18@gmail.com> |
Mon, 21 Oct 2013 13:08:00 -0500 | |
changeset 151508 | fb42a764f90bc91a628e472889e00b27b28b55ed |
parent 151507 | 5709e2db35ff8484b695befd64a26224ef6eaff7 |
child 151509 | 6916000f7b8ce028107d3c078148bfe2c19e008e |
push id | 35208 |
push user | Pidgeot18@gmail.com |
push date | Mon, 21 Oct 2013 20:01:03 +0000 |
treeherder | mozilla-inbound@ec37f434044a [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | gps |
bugs | 900526 |
milestone | 27.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/config/config.mk +++ b/config/config.mk @@ -24,16 +24,91 @@ topsrcdir = $(DEPTH) endif ifndef INCLUDED_AUTOCONF_MK include $(DEPTH)/config/autoconf.mk endif -include $(DEPTH)/.mozconfig.mk +# Integrate with mozbuild-generated make files. We first verify that no +# variables provided by the automatically generated .mk files are +# present. If they are, this is a violation of the separation of +# responsibility between Makefile.in and mozbuild files. +_MOZBUILD_EXTERNAL_VARIABLES := \ + ANDROID_GENERATED_RESFILES \ + ANDROID_RESFILES \ + CMMSRCS \ + CPP_UNIT_TESTS \ + DIRS \ + EXTRA_PP_COMPONENTS \ + EXTRA_PP_JS_MODULES \ + GTEST_CMMSRCS \ + GTEST_CPPSRCS \ + GTEST_CSRCS \ + HOST_CSRCS \ + HOST_LIBRARY_NAME \ + IS_COMPONENT \ + JS_MODULES_PATH \ + LIBRARY_NAME \ + LIBXUL_LIBRARY \ + MODULE \ + MSVC_ENABLE_PGO \ + NO_DIST_INSTALL \ + PARALLEL_DIRS \ + SDK_HEADERS \ + SIMPLE_PROGRAMS \ + TEST_DIRS \ + TIERS \ + TOOL_DIRS \ + XPCSHELL_TESTS \ + XPIDL_MODULE \ + $(NULL) + +_DEPRECATED_VARIABLES := \ + MOCHITEST_FILES_PARTS \ + MOCHITEST_BROWSER_FILES_PARTS \ + $(NULL) + +ifndef EXTERNALLY_MANAGED_MAKE_FILE +# Using $(firstword) may not be perfect. But it should be good enough for most +# scenarios. +_current_makefile = $(CURDIR)/$(firstword $(MAKEFILE_LIST)) + +$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ + $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ + )) + +$(foreach var,$(_DEPRECATED_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ + $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build)\ + )) + +# Import the automatically generated backend file. If this file doesn't exist, +# the backend hasn't been properly configured. We want this to be a fatal +# error, hence not using "-include". +ifndef STANDALONE_MAKEFILE +GLOBAL_DEPS += backend.mk +include backend.mk +endif + +# Freeze the values specified by moz.build to catch them if they fail. + +$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(eval $(var)_FROZEN := '$($(var))')) +$(foreach var,$(_DEPRECATED_VARIABLES),$(eval $(var)_FROZEN := '$($(var))')) + +CHECK_MOZBUILD_VARIABLES = $(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES), \ + $(if $(subst $($(var)_FROZEN),,'$($(var))'), \ + $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ + )) $(foreach var,$(_DEPRECATED_VARIABLES), \ + $(if $(subst $($(var)_FROZEN),,'$($(var))'), \ + $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build),\ + )) + +endif + space = $(NULL) $(NULL) # Include defs.mk files that can be found in $(srcdir)/$(DEPTH), # $(srcdir)/$(DEPTH-1), $(srcdir)/$(DEPTH-2), etc., and $(srcdir) # where $(DEPTH-1) is one level less of depth, $(DEPTH-2), two, etc. # i.e. for DEPTH=../../.., DEPTH-1 is ../.. and DEPTH-2 is .. # These defs.mk files are used to define variables in a directory # and all its subdirectories, recursively.
--- a/config/rules.mk +++ b/config/rules.mk @@ -11,82 +11,19 @@ ifndef topsrcdir endif # Define an include-at-most-once flag ifdef INCLUDED_RULES_MK $(error Do not include rules.mk twice!) endif INCLUDED_RULES_MK = 1 -# Integrate with mozbuild-generated make files. We first verify that no -# variables provided by the automatically generated .mk files are -# present. If they are, this is a violation of the separation of -# responsibility between Makefile.in and mozbuild files. -_MOZBUILD_EXTERNAL_VARIABLES := \ - ANDROID_GENERATED_RESFILES \ - ANDROID_RESFILES \ - CMMSRCS \ - CPP_UNIT_TESTS \ - DIRS \ - EXTRA_PP_COMPONENTS \ - EXTRA_PP_JS_MODULES \ - GTEST_CMMSRCS \ - GTEST_CPPSRCS \ - GTEST_CSRCS \ - HOST_CSRCS \ - HOST_LIBRARY_NAME \ - IS_COMPONENT \ - JS_MODULES_PATH \ - LIBRARY_NAME \ - LIBXUL_LIBRARY \ - MODULE \ - MSVC_ENABLE_PGO \ - NO_DIST_INSTALL \ - PARALLEL_DIRS \ - SDK_HEADERS \ - SIMPLE_PROGRAMS \ - TEST_DIRS \ - TIERS \ - TOOL_DIRS \ - XPCSHELL_TESTS \ - XPIDL_MODULE \ - $(NULL) - -_DEPRECATED_VARIABLES := \ - XPIDL_FLAGS \ - MOCHITEST_FILES_PARTS \ - MOCHITEST_BROWSER_FILES_PARTS \ - MOCHITEST_WEBAPPRT_CHROME_FILES \ - $(NULL) - -ifndef EXTERNALLY_MANAGED_MAKE_FILE -# Using $(firstword) may not be perfect. But it should be good enough for most -# scenarios. -_current_makefile = $(CURDIR)/$(firstword $(MAKEFILE_LIST)) - -$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ - $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ - )) - -$(foreach var,$(_DEPRECATED_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ - $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build)\ - )) - -ifneq (,$(XPIDLSRCS)$(SDK_XPIDLSRCS)) - $(error XPIDLSRCS and SDK_XPIDLSRCS have been merged and moved to moz.build files as the XPIDL_SOURCES variable. You must move these variables out of $(_current_makefile)) -endif - -# Import the automatically generated backend file. If this file doesn't exist, -# the backend hasn't been properly configured. We want this to be a fatal -# error, hence not using "-include". -ifndef STANDALONE_MAKEFILE -GLOBAL_DEPS += backend.mk -include backend.mk -endif -endif +# Make sure that anything that needs to be defined in moz.build wasn't +# overwritten. +_eval_for_side_effects := $(CHECK_MOZBUILD_VARIABLES) ifndef MOZILLA_DIR MOZILLA_DIR = $(topsrcdir) endif ifndef INCLUDED_CONFIG_MK include $(topsrcdir)/config/config.mk endif
--- a/config/tests/src-simple/Makefile.in +++ b/config/tests/src-simple/Makefile.in @@ -1,18 +1,18 @@ # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. LOCALE_SRCDIR = $(srcdir)/l10n -include $(topsrcdir)/config/config.mk +STANDALONE_MAKEFILE := 1 -STANDALONE_MAKEFILE := 1 +include $(topsrcdir)/config/config.mk XPI_NAME = test_jar_mn DEFINES += \ -DAB_CD=ab-X-stuff \ $(NULL) MY_MANIFEST = $(if $(USE_EXTENSION_MANIFEST), $(FINAL_TARGET)/chrome.manifest, $(FINAL_TARGET)/chrome/test.manifest)
--- a/js/src/config/config.mk +++ b/js/src/config/config.mk @@ -24,16 +24,91 @@ topsrcdir = $(DEPTH) endif ifndef INCLUDED_AUTOCONF_MK include $(DEPTH)/config/autoconf.mk endif -include $(DEPTH)/.mozconfig.mk +# Integrate with mozbuild-generated make files. We first verify that no +# variables provided by the automatically generated .mk files are +# present. If they are, this is a violation of the separation of +# responsibility between Makefile.in and mozbuild files. +_MOZBUILD_EXTERNAL_VARIABLES := \ + ANDROID_GENERATED_RESFILES \ + ANDROID_RESFILES \ + CMMSRCS \ + CPP_UNIT_TESTS \ + DIRS \ + EXTRA_PP_COMPONENTS \ + EXTRA_PP_JS_MODULES \ + GTEST_CMMSRCS \ + GTEST_CPPSRCS \ + GTEST_CSRCS \ + HOST_CSRCS \ + HOST_LIBRARY_NAME \ + IS_COMPONENT \ + JS_MODULES_PATH \ + LIBRARY_NAME \ + LIBXUL_LIBRARY \ + MODULE \ + MSVC_ENABLE_PGO \ + NO_DIST_INSTALL \ + PARALLEL_DIRS \ + SDK_HEADERS \ + SIMPLE_PROGRAMS \ + TEST_DIRS \ + TIERS \ + TOOL_DIRS \ + XPCSHELL_TESTS \ + XPIDL_MODULE \ + $(NULL) + +_DEPRECATED_VARIABLES := \ + MOCHITEST_FILES_PARTS \ + MOCHITEST_BROWSER_FILES_PARTS \ + $(NULL) + +ifndef EXTERNALLY_MANAGED_MAKE_FILE +# Using $(firstword) may not be perfect. But it should be good enough for most +# scenarios. +_current_makefile = $(CURDIR)/$(firstword $(MAKEFILE_LIST)) + +$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ + $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ + )) + +$(foreach var,$(_DEPRECATED_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ + $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build)\ + )) + +# Import the automatically generated backend file. If this file doesn't exist, +# the backend hasn't been properly configured. We want this to be a fatal +# error, hence not using "-include". +ifndef STANDALONE_MAKEFILE +GLOBAL_DEPS += backend.mk +include backend.mk +endif + +# Freeze the values specified by moz.build to catch them if they fail. + +$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(eval $(var)_FROZEN := '$($(var))')) +$(foreach var,$(_DEPRECATED_VARIABLES),$(eval $(var)_FROZEN := '$($(var))')) + +CHECK_MOZBUILD_VARIABLES = $(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES), \ + $(if $(subst $($(var)_FROZEN),,'$($(var))'), \ + $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ + )) $(foreach var,$(_DEPRECATED_VARIABLES), \ + $(if $(subst $($(var)_FROZEN),,'$($(var))'), \ + $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build),\ + )) + +endif + space = $(NULL) $(NULL) # Include defs.mk files that can be found in $(srcdir)/$(DEPTH), # $(srcdir)/$(DEPTH-1), $(srcdir)/$(DEPTH-2), etc., and $(srcdir) # where $(DEPTH-1) is one level less of depth, $(DEPTH-2), two, etc. # i.e. for DEPTH=../../.., DEPTH-1 is ../.. and DEPTH-2 is .. # These defs.mk files are used to define variables in a directory # and all its subdirectories, recursively.
--- a/js/src/config/rules.mk +++ b/js/src/config/rules.mk @@ -11,82 +11,19 @@ ifndef topsrcdir endif # Define an include-at-most-once flag ifdef INCLUDED_RULES_MK $(error Do not include rules.mk twice!) endif INCLUDED_RULES_MK = 1 -# Integrate with mozbuild-generated make files. We first verify that no -# variables provided by the automatically generated .mk files are -# present. If they are, this is a violation of the separation of -# responsibility between Makefile.in and mozbuild files. -_MOZBUILD_EXTERNAL_VARIABLES := \ - ANDROID_GENERATED_RESFILES \ - ANDROID_RESFILES \ - CMMSRCS \ - CPP_UNIT_TESTS \ - DIRS \ - EXTRA_PP_COMPONENTS \ - EXTRA_PP_JS_MODULES \ - GTEST_CMMSRCS \ - GTEST_CPPSRCS \ - GTEST_CSRCS \ - HOST_CSRCS \ - HOST_LIBRARY_NAME \ - IS_COMPONENT \ - JS_MODULES_PATH \ - LIBRARY_NAME \ - LIBXUL_LIBRARY \ - MODULE \ - MSVC_ENABLE_PGO \ - NO_DIST_INSTALL \ - PARALLEL_DIRS \ - SDK_HEADERS \ - SIMPLE_PROGRAMS \ - TEST_DIRS \ - TIERS \ - TOOL_DIRS \ - XPCSHELL_TESTS \ - XPIDL_MODULE \ - $(NULL) - -_DEPRECATED_VARIABLES := \ - XPIDL_FLAGS \ - MOCHITEST_FILES_PARTS \ - MOCHITEST_BROWSER_FILES_PARTS \ - MOCHITEST_WEBAPPRT_CHROME_FILES \ - $(NULL) - -ifndef EXTERNALLY_MANAGED_MAKE_FILE -# Using $(firstword) may not be perfect. But it should be good enough for most -# scenarios. -_current_makefile = $(CURDIR)/$(firstword $(MAKEFILE_LIST)) - -$(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ - $(error Variable $(var) is defined in $(_current_makefile). It should only be defined in moz.build files),\ - )) - -$(foreach var,$(_DEPRECATED_VARIABLES),$(if $(filter file override,$(subst $(NULL) ,_,$(origin $(var)))),\ - $(error Variable $(var) is defined in $(_current_makefile). This variable has been deprecated. It does nothing. It must be removed in order to build)\ - )) - -ifneq (,$(XPIDLSRCS)$(SDK_XPIDLSRCS)) - $(error XPIDLSRCS and SDK_XPIDLSRCS have been merged and moved to moz.build files as the XPIDL_SOURCES variable. You must move these variables out of $(_current_makefile)) -endif - -# Import the automatically generated backend file. If this file doesn't exist, -# the backend hasn't been properly configured. We want this to be a fatal -# error, hence not using "-include". -ifndef STANDALONE_MAKEFILE -GLOBAL_DEPS += backend.mk -include backend.mk -endif -endif +# Make sure that anything that needs to be defined in moz.build wasn't +# overwritten. +_eval_for_side_effects := $(CHECK_MOZBUILD_VARIABLES) ifndef MOZILLA_DIR MOZILLA_DIR = $(topsrcdir) endif ifndef INCLUDED_CONFIG_MK include $(topsrcdir)/config/config.mk endif