The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
883 B

project('flex and bison', 'c')
# The point of this test is that one generator
# may output headers that are necessary to build
# the sources of a different generator.
flex = find_program('flex', required: false)
bison = find_program('bison', required: false)
if not flex.found()
error('MESON_SKIP_TEST flex not found.')
endif
if not bison.found()
error('MESON_SKIP_TEST bison not found.')
endif
lgen = generator(flex,
output : '@PLAINNAME@.yy.c',
arguments : ['-o', '@OUTPUT@', '@INPUT@'])
lfiles = lgen.process('lexer.l')
pgen = generator(bison,
output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'],
arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
pfiles = pgen.process('parser.y')
e = executable('pgen', 'prog.c',
lfiles,
pfiles,
override_options: 'unity=off')
test('parsertest', e,
args: [meson.current_source_dir() / 'testfile'])