1 # SPDX-License-Identifier: MIT
3 # Copyright The SCons Foundation
7 SetOption('experimental','ninja')
8 DefaultEnvironment(tools=[])
11 vars.Add("USE_GEN_SOURCE_ALIAS")
13 env = Environment(variables=vars)
14 my_gen_alias = 'my_ninja_gen_sources'
17 env['SCANNERS'][0].add_scanner('.htest', SCons.Tool.CScanner)
18 env.Command('out.txt', [], f'echo USE_GEN_SOURCE_ALIAS={env["USE_GEN_SOURCE_ALIAS"]}')
20 if env['USE_GEN_SOURCE_ALIAS'] == "1":
21 env['NINJA_GENERATED_SOURCE_ALIAS_NAME'] = my_gen_alias
23 env['NINJA_GENERATED_SOURCE_SUFFIXES'] = ['.htest']
27 env.Alias(my_gen_alias, env.Textfile('generated_header1.htest', [
29 'int func1(){return 4;};'
31 alias = env.Alias(my_gen_alias, env.Textfile('generated_header2.htest', [
36 env.Depends(alias, 'out.txt')
38 my_gen_alias, env.Textfile('generated_header2.c', [
39 '#include "generated_header1.htest"',
40 '#include "generated_header2.htest"',
42 'int func2(){return func1();}'
45 env.Program(target='gen_source', source=['gen_source.c', 'generated_header2.c'])