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.
36 lines
883 B
36 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'])
|
|
|