86 lines
2.8 KiB
Diff
86 lines
2.8 KiB
Diff
diff --git a/gst/parse/gen_grammar.py.in b/gst/parse/gen_grammar.py.in
|
|
index 3a7af00..8d4cc92 100755
|
|
--- a/gst/parse/gen_grammar.py.in
|
|
+++ b/gst/parse/gen_grammar.py.in
|
|
@@ -6,9 +6,9 @@ cfile = sys.argv[1]
|
|
hfile = sys.argv[2]
|
|
yfile = sys.argv[3]
|
|
|
|
-args = ['-d', '-v', '-ppriv_gst_parse_yy', yfile, '-o', cfile]
|
|
-bison = [r'@BISON@'] + shlex.split(r'@BISON_ARGS@')
|
|
-subprocess.check_call(bison + args)
|
|
+args = ['-d', '-v', '-p', 'priv_gst_parse_yy', '-o', cfile, yfile]
|
|
+yacc = [r'@YACC@'] + shlex.split(r'@YACC_ARGS@')
|
|
+subprocess.check_call(yacc + args)
|
|
|
|
prefix = '''
|
|
#ifdef HAVE_CONFIG_H
|
|
diff --git a/gst/parse/grammar.y.in b/gst/parse/grammar.y.in
|
|
index 2ef703d..8292df9 100644
|
|
--- a/gst/parse/grammar.y.in
|
|
+++ b/gst/parse/grammar.y.in
|
|
@@ -830,7 +830,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
|
|
%lex-param { void *scanner }
|
|
%parse-param { void *scanner }
|
|
%parse-param { graph_t *graph }
|
|
-@BISON_PURE_PARSER@
|
|
+@YACC_PURE_PARSER@
|
|
|
|
%start graph
|
|
%%
|
|
diff --git a/gst/parse/meson.build b/gst/parse/meson.build
|
|
index 35ed6f2..0391dad 100644
|
|
--- a/gst/parse/meson.build
|
|
+++ b/gst/parse/meson.build
|
|
@@ -26,41 +26,24 @@ gen_lex = configure_file(input : 'gen_lex.py.in',
|
|
output : 'gen_lex.py',
|
|
configuration : flex_cdata)
|
|
|
|
-# Find bison, configure grammar generator
|
|
-bison_parser_cdata = configuration_data()
|
|
-bison_cdata = configuration_data()
|
|
+# Find yacc, configure grammar generator
|
|
+yacc_parser_cdata = configuration_data()
|
|
+yacc_cdata = configuration_data()
|
|
|
|
-bison_min_version='2.4'
|
|
-bison = find_program('bison', 'win_bison')
|
|
+yacc = find_program('byacc')
|
|
|
|
-bversion_res = run_command([bison, '--version'])
|
|
-if bversion_res.returncode() != 0
|
|
- error('Could not get bison version (@0@)'.format(bversion_res.stderr()))
|
|
-endif
|
|
-
|
|
-bversion = bversion_res.stdout().split('\n')[0].split(' ')[-1].strip()
|
|
-if bversion.version_compare('<' + bison_min_version)
|
|
- error('bison version @0@ >= @1@: NO'.format(bversion, bison_min_version))
|
|
-else
|
|
- 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
|
|
+yacc_parser_cdata.set('YACC_PURE_PARSER', '%pure-parser')
|
|
|
|
gen_grammar_file = configure_file(input : 'grammar.y.in',
|
|
output : 'grammar.y',
|
|
- configuration : bison_parser_cdata)
|
|
+ configuration : yacc_parser_cdata)
|
|
|
|
-bison_cdata.set('BISON', bison.path())
|
|
-bison_cdata.set('BISON_ARGS', '')
|
|
+yacc_cdata.set('YACC', yacc.path())
|
|
+yacc_cdata.set('YACC_ARGS', '')
|
|
|
|
gen_grammar = configure_file(input : 'gen_grammar.py.in',
|
|
output : 'gen_grammar.py',
|
|
- configuration : bison_cdata)
|
|
+ configuration : yacc_cdata)
|
|
|
|
# Custom targets
|
|
parser = custom_target('parselex',
|