Bug 1556185 - Ensure autoconf.mk is tracked as a dependency when preprocessing webidls. r=nalexander

webidlsrcs.mk is treated specially by the build system, and this entire
process should be supported better by moz.build, but in the meantime this
fixes the clobber bug caused by not re-building these targets when defines
are updated.

Differential Revision: https://phabricator.services.mozilla.com/D33415

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Chris Manchester 2019-06-03 20:33:36 +00:00
Родитель 6b4074617b
Коммит 399d530b9b
2 изменённых файлов: 13 добавлений и 1 удалений

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

@ -6,6 +6,15 @@ webidl_base := $(topsrcdir)/dom/webidl
ifdef COMPILE_ENVIRONMENT
# Akin to GLOBAL_DEPS, but set early enough that webidlsrcs.mk
# can make use of them as dependencies.
WEBIDL_PP_DEPS := \
backend.mk \
Makefile \
$(DEPTH)/config/autoconf.mk \
$(topsrcdir)/config/config.mk \
$(NULL)
# Generated by moz.build
include webidlsrcs.mk

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

@ -1782,7 +1782,10 @@ class RecursiveMakeBackend(CommonBackend):
for source in sorted(webidls.all_preprocessed_sources()):
basename = os.path.basename(source)
rule = mk.create_rule([basename])
rule.add_dependencies([source, '$(GLOBAL_DEPS)'])
# GLOBAL_DEPS would be used here, but due to the include order of
# our makefiles it's not set early enough to be useful, so we use
# WEBIDL_PP_DEPS, which has analagous content.
rule.add_dependencies([source, '$(WEBIDL_PP_DEPS)'])
rule.add_commands([
# Remove the file before writing so bindings that go from
# static to preprocessed don't end up writing to a symlink,