[ci skip] update generated files
[scons.git] / test / ninja / ninja_test_sconscripts / sconstruct_generated_sources_alias
blobd8fcf0914e8b85e730088ebac657547174281f92
1 # SPDX-License-Identifier: MIT
3 # Copyright The SCons Foundation
5 import SCons
7 SetOption('experimental','ninja')
8 DefaultEnvironment(tools=[])
10 vars = Variables()
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
22 else:
23     env['NINJA_GENERATED_SOURCE_SUFFIXES'] = ['.htest']
25 env.Tool('ninja')
27 env.Alias(my_gen_alias, env.Textfile('generated_header1.htest', [
28     '#pragma once',
29     'int func1(){return 4;};'
30 ]))
31 alias = env.Alias(my_gen_alias, env.Textfile('generated_header2.htest', [
32     '#pragma once',
33     '',
34     'int func2();'
35 ]))
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"',
41     '',
42     'int func2(){return func1();}'
45 env.Program(target='gen_source', source=['gen_source.c', 'generated_header2.c'])