Bug 928364 - Remove unified source dependencies completely, they're useless. r=gps

The backend.RecursiveMakeBackend.built business ensures config.status reruns
when moz.build changes, which is the only thing that would affect unified
sources. Rerunning config.status updates unified sources if they need to
be updated. Once updated, normal object dependencies will ensure they are
rebuilt. Those same dependencies will ensure they are rebuilt when one of
the C/C++ sources they include change. IOW, unified sources don't need any
explicit dependencies generated by the backend.
This commit is contained in:
Mike Hommey 2013-10-24 08:06:01 +09:00
Родитель 2eefafb740
Коммит 921a0cb94f
1 изменённых файлов: 3 добавлений и 4 удалений

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

@ -580,11 +580,10 @@ class RecursiveMakeBackend(CommonBackend):
makefile.add_statement('%s := %s\n' % (unified_files_makefile_variable,
all_sources))
regen_cmds = ['for f in $(filter %.cpp,$^); do echo "#include \\"$$f\\""; done > $@']
for unified_file, source_filenames in unified_files():
rule = makefile.create_rule([unified_file])
rule.add_dependencies(extra_dependencies + source_filenames)
rule.add_commands(regen_cmds)
if extra_dependencies:
rule = makefile.create_rule([unified_file])
rule.add_dependencies(extra_dependencies)
# The rule we just defined is only for cases where the cpp files get
# blown away and we need to regenerate them. The rule doesn't correctly