gstreamer/gst/parse/gen_lex.py.in
Nirbheek Chauhan b2f9808722 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-19 21:26:14 +01:00

28 lines
708 B
Python
Executable file

#!/usr/bin/env python3
import subprocess, sys, shlex
cfile = sys.argv[1]
hfile = sys.argv[2]
lfile = sys.argv[3]
tabhfile = sys.argv[4]
args = ['--header-file=' + hfile, '-o', cfile, '-Ppriv_gst_parse_yy', lfile]
flex = [r'@FLEX@'] + shlex.split(r'@FLEX_ARGS@')
subprocess.check_call(flex + args)
prefix = '''#ifdef HAVE_CONFIG_H
#include<config.h>
#endif
'''
parse_snippet = '''void priv_gst_parse_yyset_column (int column_no , void * yyscanner);
void priv_gst_parse_yyset_column (int column_no , void * yyscanner)
'''
contents = open(cfile).read()
if not 'priv_gst_parse_yyget_column' in contents:
contents = parse_snippet + contents
contents = prefix + contents
open(cfile, 'w').write(contents)