mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-25 03:49:42 +00:00
Bug 1645986 - Properly mark generated files required during compile as such. r=firefox-build-system-reviewers,rstewart
Ideally, this kind of manual work wouldn't be required, but the frontend doesn't provide enough information and while backend could correlate the information, they currently don't. Differential Revision: https://phabricator.services.mozilla.com/D80606
This commit is contained in:
parent
9820df71e8
commit
0636209ca5
@ -1250,7 +1250,7 @@ class GeneratedFile(ContextDerived):
|
||||
|
||||
def __init__(self, context, script, method, outputs, inputs,
|
||||
flags=(), localized=False, force=False,
|
||||
py2=False):
|
||||
py2=False, required_during_compile=None):
|
||||
ContextDerived.__init__(self, context)
|
||||
self.script = script
|
||||
self.method = method
|
||||
@ -1287,8 +1287,12 @@ class GeneratedFile(ContextDerived):
|
||||
or 'stl_wrappers/' in f or 'xpidl.stub' in f
|
||||
]
|
||||
|
||||
self.required_during_compile = [
|
||||
f for f in self.outputs if f.endswith(('.asm', '.c', '.cpp'))]
|
||||
if required_during_compile is None:
|
||||
self.required_during_compile = [
|
||||
f for f in self.outputs if f.endswith(
|
||||
('.asm', '.c', '.cpp', '.m', '.mm', '.def', 'symverscript'))]
|
||||
else:
|
||||
self.required_during_compile = required_during_compile
|
||||
|
||||
|
||||
class ChromeManifestEntry(ContextDerived):
|
||||
|
@ -840,7 +840,8 @@ class TreeMetadataEmitter(LoggingMixin):
|
||||
defines = lib.defines.get_defines()
|
||||
yield GeneratedFile(context, script,
|
||||
'generate_symbols_file', lib.symbols_file,
|
||||
[symbols_file], defines)
|
||||
[symbols_file], defines,
|
||||
required_during_compile=[lib.symbols_file])
|
||||
if static_lib:
|
||||
is_rust_library = context.get('IS_RUST_LIBRARY')
|
||||
if is_rust_library:
|
||||
|
@ -42,7 +42,9 @@ def get_generated_sources():
|
||||
with open(gen_sources, 'r') as f:
|
||||
data = json.load(f)
|
||||
for f in data['sources']:
|
||||
yield f, mozpath.join(buildconfig.topobjdir, f)
|
||||
# Exclute symverscript
|
||||
if mozpath.basename(f) != 'symverscript':
|
||||
yield f, mozpath.join(buildconfig.topobjdir, f)
|
||||
# Next, return all the files in $objdir/ipc/ipdl/_ipdlheaders.
|
||||
base = 'ipc/ipdl/_ipdlheaders'
|
||||
finder = FileFinder(mozpath.join(buildconfig.topobjdir, base))
|
||||
|
Loading…
x
Reference in New Issue
Block a user