2005-10-15 13:58:18 +00:00
|
|
|
# libgstparse.la is an optionally built helper library linked into core
|
2002-04-07 23:32:16 +00:00
|
|
|
noinst_LTLIBRARIES = libgstparse.la
|
2002-03-31 21:09:17 +00:00
|
|
|
|
2013-11-19 14:03:35 +00:00
|
|
|
CLEANFILES = grammar.tab.h parse_lex.h grammar.output
|
gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg...
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Make the parser reentrant and recursively callable. This requires flex
>= 2.5.31, for older versions pregenerated sources are used as we
can't bump the build dependency. Finally fixes #349180.
* gst/gstparse.c: (gst_parse_launch):
Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
now anyway.
* docs/gst/Makefile.am:
* docs/gst/Makefile.am:
* gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
(__gst_parse_strfree), (__gst_parse_link_new),
(__gst_parse_link_free), (__gst_parse_chain_new),
(__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
(gst_parse_element_set), (gst_parse_free_link),
(gst_parse_found_pad), (gst_parse_perform_delayed_link),
(gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
(_gst_parse_launch):
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
(yy_get_previous_state), (yy_try_NUL_trans), (input),
(_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
(_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
(_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
(_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
(_gst_parse_yypop_buffer_state),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
(_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
(yy_fatal_error), (_gst_parse_yyget_extra),
(_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
(_gst_parse_yyget_in), (_gst_parse_yyget_out),
(_gst_parse_yyget_leng), (_gst_parse_yyget_text),
(_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
(_gst_parse_yyset_column), (_gst_parse_yyset_in),
(_gst_parse_yyset_out), (_gst_parse_yyget_debug),
(_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
(_gst_parse_yyset_lval), (_gst_parse_yylex_init),
(yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
(yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
(_gst_parse_yyfree):
If the installed flex version is too old use pre-generated parser
sources. These pre-generated parser sources are always updated when
the actual flex/bison sources change but require everybody who wants
to change something in the parser to have flex >= 2.5.31 installed.
2007-04-18 12:34:51 +00:00
|
|
|
EXTRA_DIST = \
|
|
|
|
grammar.y \
|
2008-04-01 13:48:59 +00:00
|
|
|
parse.l
|
2002-04-01 04:36:56 +00:00
|
|
|
|
2003-10-29 00:15:46 +00:00
|
|
|
# uncomment these lines to dist the generated sources
|
2013-11-19 14:03:35 +00:00
|
|
|
#BUILT_SOURCES = grammar.tab.h grammar.tab.c parse_lex.h lex.priv_gst_parse_yy.c
|
2011-10-08 13:17:25 +00:00
|
|
|
#libgstparse_la_SOURCES = lex.priv_gst_parse_yy.c grammar.tab.c
|
2003-10-29 00:15:46 +00:00
|
|
|
|
|
|
|
# uncomment these lines to _NOT_ dist the generated sources
|
2014-04-07 09:36:58 +00:00
|
|
|
nodist_libgstparse_la_SOURCES = lex.priv_gst_parse_yy.c grammar.tab.c grammar.tag.h parse_lex.h
|
2011-10-08 13:17:25 +00:00
|
|
|
CLEANFILES += grammar.tab.c lex.priv_gst_parse_yy.c
|
2003-08-30 02:42:55 +00:00
|
|
|
|
2013-12-27 11:55:02 +00:00
|
|
|
libgstparse_la_CFLAGS = $(GST_ALL_CFLAGS) -DYYMALLOC=g_malloc -DYYFREE=g_free
|
2005-10-15 13:58:18 +00:00
|
|
|
libgstparse_la_LIBADD = $(GST_ALL_LIBS)
|
2002-03-31 21:09:17 +00:00
|
|
|
|
2014-04-07 09:36:58 +00:00
|
|
|
noinst_HEADERS = types.h
|
2002-03-31 21:09:17 +00:00
|
|
|
|
2007-04-19 10:22:29 +00:00
|
|
|
grammar.tab.c grammar.tab.h: grammar.y
|
2011-10-08 13:17:25 +00:00
|
|
|
$(AM_V_GEN)$(BISON_PATH) -d -v -ppriv_gst_parse_yy $(srcdir)/grammar.y -o grammar.tab.c && \
|
2006-05-14 23:23:56 +00:00
|
|
|
mv grammar.tab.c grammar.tab_tmp.c && \
|
|
|
|
echo '#ifdef HAVE_CONFIG_H' > grammar.tab_tmp2.c && \
|
|
|
|
echo '#include <config.h>' >> grammar.tab_tmp2.c && \
|
|
|
|
echo '#endif' >> grammar.tab_tmp2.c && \
|
|
|
|
cat grammar.tab_tmp.c >> grammar.tab_tmp2.c && \
|
|
|
|
rm grammar.tab_tmp.c && \
|
2006-05-04 15:20:14 +00:00
|
|
|
mv grammar.tab_tmp2.c grammar.tab.c
|
2007-04-19 10:22:29 +00:00
|
|
|
|
2014-04-07 09:36:58 +00:00
|
|
|
lex.priv_gst_parse_yy.c parse_lex.h: parse.l grammar.tab.h
|
2013-11-19 14:03:35 +00:00
|
|
|
$(AM_V_GEN)$(FLEX_PATH) --header-file=parse_lex.h -Ppriv_gst_parse_yy $^ && \
|
2011-10-08 13:17:25 +00:00
|
|
|
mv lex.priv_gst_parse_yy.c lex.priv_gst_parse_yy_tmp.c && \
|
|
|
|
echo '#ifdef HAVE_CONFIG_H' > lex.priv_gst_parse_yy_tmp2.c && \
|
|
|
|
echo '#include <config.h>' >> lex.priv_gst_parse_yy_tmp2.c && \
|
|
|
|
echo '#endif' >> lex.priv_gst_parse_yy_tmp2.c && \
|
2013-11-29 19:00:35 +00:00
|
|
|
{ grep -q priv_gst_parse_yyget_column parse_lex.h || \
|
|
|
|
{ echo 'int priv_gst_parse_yyget_column (void * yyscanner);' >> lex.priv_gst_parse_yy_tmp2.c && \
|
|
|
|
echo 'void priv_gst_parse_yyset_column (int column_no , void * yyscanner);' >> lex.priv_gst_parse_yy_tmp2.c; }; } && \
|
2011-10-08 13:17:25 +00:00
|
|
|
cat lex.priv_gst_parse_yy_tmp.c >> lex.priv_gst_parse_yy_tmp2.c && \
|
|
|
|
rm lex.priv_gst_parse_yy_tmp.c && \
|
|
|
|
mv lex.priv_gst_parse_yy_tmp2.c lex.priv_gst_parse_yy.c
|
2006-06-12 16:50:09 +00:00
|
|
|
|
|
|
|
.NOTPARALLEL:
|
|
|
|
|