Bug 903118 - set mozconfig environment variables for sub-makes; r=gps

This commit is contained in:
Mike Shal 2013-08-14 09:34:18 -04:00
parent 669ff96c05
commit 95b7b7aab1
5 changed files with 77 additions and 12 deletions

View File

@ -104,18 +104,9 @@ endif
# Load mozconfig Options
# See build pages, http://www.mozilla.org/build/ for how to set up mozconfig.
MOZCONFIG_LOADER := build/autoconf/mozconfig2client-mk
define CR
endef
# As $(shell) doesn't preserve newlines, use sed to replace them with an
# unlikely sequence (||), which is then replaced back to newlines by make
# before evaluation.
$(eval $(subst ||,$(CR),$(shell _PYMAKE=$(.PYMAKE) $(TOPSRCDIR)/$(MOZCONFIG_LOADER) $(TOPSRCDIR) 2> $(TOPSRCDIR)/.mozconfig.out | sed 's/$$/||/')))
# mozconfig.mk needs to be loaded multiple times by configure, so we don't check
# for INCLUDED_MOZCONFIG_MK
include $(TOPSRCDIR)/config/makefiles/mozconfig.mk
ifdef AUTOCLOBBER
export AUTOCLOBBER=1

View File

@ -0,0 +1,33 @@
# -*- makefile -*-
# vim:set ts=8 sw=8 sts=8 noet:
#
# 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/.
#
INCLUDED_MOZCONFIG_MK = 1
# We are pulling in the mozconfig exports, so we only need to run once for the
# whole make process tree (not for each sub-make). Export this so the sub-makes
# don't read mozconfig multiple times.
export INCLUDED_MOZCONFIG_MK
MOZCONFIG_LOADER := build/autoconf/mozconfig2client-mk
define CR
endef
# topsrcdir is used by rules.mk (set from the generated Makefile), while
# TOPSRCDIR is used by client.mk
ifneq (,$(topsrcdir))
top := $(topsrcdir)
else
top := $(TOPSRCDIR)
endif
# As $(shell) doesn't preserve newlines, use sed to replace them with an
# unlikely sequence (||), which is then replaced back to newlines by make
# before evaluation.
$(eval $(subst ||,$(CR),$(shell _PYMAKE=$(.PYMAKE) $(top)/$(MOZCONFIG_LOADER) $(top) 2> $(top)/.mozconfig.out | sed 's/$$/||/')))

View File

@ -10,6 +10,10 @@ ifndef topsrcdir
$(error topsrcdir was not set))
endif
ifndef INCLUDED_MOZCONFIG_MK
include $(topsrcdir)/config/makefiles/mozconfig.mk
endif
# 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

View File

@ -0,0 +1,33 @@
# -*- makefile -*-
# vim:set ts=8 sw=8 sts=8 noet:
#
# 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/.
#
INCLUDED_MOZCONFIG_MK = 1
# We are pulling in the mozconfig exports, so we only need to run once for the
# whole make process tree (not for each sub-make). Export this so the sub-makes
# don't read mozconfig multiple times.
export INCLUDED_MOZCONFIG_MK
MOZCONFIG_LOADER := build/autoconf/mozconfig2client-mk
define CR
endef
# topsrcdir is used by rules.mk (set from the generated Makefile), while
# TOPSRCDIR is used by client.mk
ifneq (,$(topsrcdir))
top := $(topsrcdir)
else
top := $(TOPSRCDIR)
endif
# As $(shell) doesn't preserve newlines, use sed to replace them with an
# unlikely sequence (||), which is then replaced back to newlines by make
# before evaluation.
$(eval $(subst ||,$(CR),$(shell _PYMAKE=$(.PYMAKE) $(top)/$(MOZCONFIG_LOADER) $(top) 2> $(top)/.mozconfig.out | sed 's/$$/||/')))

View File

@ -10,6 +10,10 @@ ifndef topsrcdir
$(error topsrcdir was not set))
endif
ifndef INCLUDED_MOZCONFIG_MK
include $(topsrcdir)/config/makefiles/mozconfig.mk
endif
# 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