зеркало из https://github.com/mozilla/gecko-dev.git
Bug 861453 - Restore empty substs after bug 857557, but put them in a separate file, unlisted as a dependency for everything. r=gps
This commit is contained in:
Родитель
803e59e01a
Коммит
d64a195ccb
|
@ -1,2 +1,3 @@
|
|||
include $(DEPTH)/config/emptyvars.mk
|
||||
@ALLSUBSTS@
|
||||
include $(topsrcdir)/config/baseconfig.mk
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
@ALLEMPTYSUBSTS@
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
CONFIGURE_SUBST_FILES += [
|
||||
'autoconf.mk',
|
||||
'emptyvars.mk',
|
||||
'doxygen.cfg',
|
||||
'makefiles/test/Makefile',
|
||||
'tests/makefiles/autodeps/Makefile',
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
include $(DEPTH)/config/emptyvars.mk
|
||||
@ALLSUBSTS@
|
||||
include $(topsrcdir)/config/baseconfig.mk
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
@ALLEMPTYSUBSTS@
|
|
@ -4384,7 +4384,7 @@ AC_SUBST(ac_configure_args)
|
|||
dnl Spit out some output
|
||||
dnl ========================================================
|
||||
|
||||
AC_OUTPUT([js-confdefs.h Makefile config/autoconf.mk])
|
||||
AC_OUTPUT([js-confdefs.h Makefile config/autoconf.mk config/emptyvars.mk])
|
||||
|
||||
# Produce the js-config script at configure time; see the comments for
|
||||
# 'js-config' in Makefile.in.
|
||||
|
|
|
@ -86,13 +86,15 @@ class ConfigEnvironment(object):
|
|||
- ALLDEFINES contains the defines in the form #define NAME VALUE, in
|
||||
sorted order, for use in config files, for an automatic listing of
|
||||
defines.
|
||||
and another additional subst variable from all the other substs:
|
||||
and two other additional subst variables from all the other substs:
|
||||
- ALLSUBSTS contains the substs in the form NAME = VALUE, in sorted
|
||||
order, for use in autoconf.mk. It includes ACDEFINES, but doesn't
|
||||
include ALLDEFINES. Only substs with a VALUE are included, such that
|
||||
the resulting file doesn't change when new empty substs are added.
|
||||
This results in less invalidation of build dependencies in the case
|
||||
of autoconf.mk..
|
||||
- ALLEMPTYSUBSTS contains the substs with an empty value, in the form
|
||||
NAME =.
|
||||
|
||||
ConfigEnvironment expects a "top_srcdir" subst to be set with the top
|
||||
source directory, in msys format on windows. It is used to derive a
|
||||
|
@ -113,6 +115,8 @@ class ConfigEnvironment(object):
|
|||
shell_escape(self.defines[name])) for name in global_defines])
|
||||
self.substs['ALLSUBSTS'] = '\n'.join(sorted(['%s = %s' % (name,
|
||||
self.substs[name]) for name in self.substs if self.substs[name]]))
|
||||
self.substs['ALLEMPTYSUBSTS'] = '\n'.join(sorted(['%s =' % name
|
||||
for name in self.substs if not self.substs[name]]))
|
||||
self.substs['ALLDEFINES'] = '\n'.join(sorted(['#define %s %s' % (name,
|
||||
self.defines[name]) for name in global_defines]))
|
||||
|
||||
|
|
|
@ -22,14 +22,14 @@ class ConfigEnvironment(ConfigStatus.ConfigEnvironment):
|
|||
|
||||
class TestEnvironment(unittest.TestCase):
|
||||
def test_auto_substs(self):
|
||||
'''Test the automatically set values of ACDEFINES, ALLDEFINES
|
||||
and ALLSUBSTS.
|
||||
'''Test the automatically set values of ACDEFINES, ALLDEFINES,
|
||||
ALLSUBSTS and ALLEMPTYSUBSTS.
|
||||
'''
|
||||
env = ConfigEnvironment('.', '.',
|
||||
defines = [ ('foo', 'bar'), ('baz', 'qux 42'),
|
||||
('abc', 'def'), ('extra', 'foobar') ],
|
||||
non_global_defines = ['extra', 'ignore'],
|
||||
substs = [ ('FOO', 'bar'), ('ABC', 'def'),
|
||||
substs = [ ('FOO', 'bar'), ('FOOBAR', ''), ('ABC', 'def'),
|
||||
('bar', 'baz qux'), ('zzz', '"abc def"'),
|
||||
('qux', '') ])
|
||||
# non_global_defines should be filtered out in ACDEFINES and
|
||||
|
@ -47,6 +47,9 @@ ACDEFINES = -Dfoo=bar -Dbaz=qux\ 42 -Dabc=def
|
|||
FOO = bar
|
||||
bar = baz qux
|
||||
zzz = "abc def"''')
|
||||
# ALLEMPTYSUBSTS contains all substs with no value.
|
||||
self.assertEqual(env.substs['ALLEMPTYSUBSTS'], '''FOOBAR =
|
||||
qux =''')
|
||||
|
||||
def test_config_file(self):
|
||||
'''Test the creation of config files.
|
||||
|
|
Загрузка…
Ссылка в новой задаче