configuration : flex_cdata)
# Find bison, configure grammar generator
+bison_parser_cdata = configuration_data()
bison_cdata = configuration_data()
bison_min_version='2.4'
message('bison version @0@ >= @1@: YES'.format(bversion, bison_min_version))
endif
+if bversion.version_compare('>' + '2.5')
+ bison_parser_cdata.set('BISON_PURE_PARSER', '%define api.pure full')
+else
+ bison_parser_cdata.set('BISON_PURE_PARSER', '%pure-parser')
+endif
+gen_grammar_file = configure_file(input : 'grammar.y.in',
+ output : 'grammar.y',
+ configuration : bison_parser_cdata)
bison_cdata.set('BISON', bison.path())
bison_cdata.set('BISON_ARGS', '')
)
grammar = custom_target('parsegrammar',
- input : 'grammar.y',
+ input : gen_grammar_file,
output : ['grammar.tab.c', 'grammar.tab.h'],
command : [python3, gen_grammar, '@OUTPUT0@', '@OUTPUT1@', '@INPUT@'],
depends : [parser],