aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/52 object generator/meson.build
blob: e20da6f466dda6b9d9e21b5c5b395990f86345d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
project('object generator', 'c')

python = find_program('python3', required : false)
if not python.found()
  python = find_program('python')
endif

# Note that this will not add a dependency to the compiler executable.
# Code will not be rebuilt if it changes.
comp = '@0@/@1@'.format(meson.current_source_dir(), 'obj_generator.py')

if host_machine.system() == 'windows'
  outputname = '@BASENAME@.obj'
else
  outputname = '@BASENAME@.o'
endif

cc = meson.get_compiler('c').cmd_array().get(-1)
# Generate an object file manually.
gen = generator(python,
 output : outputname,
 arguments : [comp, cc, '@INPUT@', '@OUTPUT@'])

generated = gen.process(['source.c', 'source2.c'])

# Generate an object file with indexed OUTPUT replacement.
gen2 = generator(python,
 output : outputname,
 arguments : [comp, cc, '@INPUT@', '@OUTPUT0@'])
generated2 = gen2.process(['source3.c'])

e = executable('prog', 'prog.c', generated, generated2)

test('objgen', e)