meson: add option to disable parse-launch pipeline string parser

This commit is contained in:
Tim-Philipp Müller 2018-08-10 00:08:43 +01:00
parent e5ad55d649
commit ce4698487e
5 changed files with 30 additions and 17 deletions

View file

@ -173,9 +173,12 @@ else
gst_cdata.set('GST_DISABLE_REGISTRY_DEFINE', '#define GST_DISABLE_REGISTRY 1')
endif
# FIXME: add --disable-parse option? (but autotools doesn't seem to set this
# define properly at all either even though it does expose the option)
gst_cdata.set('GST_DISABLE_PARSE_DEFINE', '#undef GST_DISABLE_PARSE')
gst_parse = get_option('gst_parse')
if gst_parse
gst_cdata.set('GST_DISABLE_PARSE_DEFINE', '#undef GST_DISABLE_PARSE')
else
gst_cdata.set('GST_DISABLE_PARSE_DEFINE', '#define GST_DISABLE_PARSE 1')
endif
# FIXME: add --disable-plugin option?
gst_cdata.set('GST_DISABLE_PLUGIN_DEFINE', '#undef GST_DISABLE_PLUGIN')
@ -207,8 +210,11 @@ gst_enums = gnome.mkenums_simple('gstenumtypes',
gstenum_h = gst_enums[1]
gstenum_c = gst_enums[0]
gst_parse_sources = []
if gst_parse
subdir('parse')
endif
subdir('parse')
subdir('printf')
libgst_c_args = gst_c_args + [
@ -227,7 +233,7 @@ endif
gst_incdirs = [configinc]
gst_gen_sources = [gstenum_h]
libgst = library('gstreamer-1.0', gst_sources,
gstenum_h, gstenum_c, grammar, parser, gst_registry_sources,
gstenum_h, gstenum_c, gst_parse_sources, gst_registry_sources,
version : libversion,
soversion : soversion,
c_args : libgst_c_args,

View file

@ -69,3 +69,5 @@ grammar = custom_target('parsegrammar',
command : [python3, gen_grammar, '@OUTPUT0@', '@OUTPUT1@', '@INPUT@'],
depends : [parser],
)
gst_parse_sources += [parser, grammar]

View file

@ -1,4 +1,6 @@
option('gst_debug', type : 'boolean', value : true)
option('gst_parse', type : 'boolean', value : true,
description: 'Enable pipeline string parser')
option('registry', type : 'boolean', value : true)
option('tracer_hooks', type : 'boolean', value : true)
option('ptp-helper-setuid-user', type : 'string',

View file

@ -1,5 +1,4 @@
have_debug = true # FIXME
have_parse = true # FIXME
# tests and condition when to skip the test
core_tests = [
@ -18,7 +17,7 @@ core_tests = [
[ 'gst/gstdatetime.c' ],
[ 'gst/gstdeinit.c' ],
[ 'gst/gstdevice.c' ],
[ 'gst/gstelement.c', not gst_registry ],
[ 'gst/gstelement.c', not gst_registry or not gst_parse],
[ 'gst/gstelementfactory.c', not gst_registry ],
[ 'gst/gstghostpad.c', not gst_registry ],
[ 'gst/gstinfo.c' ],
@ -68,7 +67,7 @@ core_tests = [
[ 'libs/collectpads.c', not gst_registry ],
[ 'libs/controller.c' ],
[ 'libs/flowcombiner.c' ],
[ 'libs/gstharness.c' ],
[ 'libs/gstharness.c', not gst_parse ],
[ 'libs/gstnetclientclock.c' ],
[ 'libs/gstnettimeprovider.c' ],
[ 'libs/gsttestclock.c' ],
@ -86,20 +85,20 @@ core_tests = [
[ 'elements/filesink.c', not gst_registry ],
[ 'elements/filesrc.c', not gst_registry ],
[ 'elements/funnel.c', not gst_registry ],
[ 'elements/identity.c', not gst_registry ],
[ 'elements/identity.c', not gst_registry or not gst_parse ],
[ 'elements/multiqueue.c', not gst_registry ],
[ 'elements/selector.c', not gst_registry ],
[ 'elements/streamiddemux.c', not gst_registry ],
[ 'elements/tee.c', not gst_registry ],
[ 'elements/tee.c', not gst_registry or not gst_parse],
[ 'elements/queue.c', not gst_registry ],
[ 'elements/queue2.c', not gst_registry ],
[ 'elements/queue2.c', not gst_registry or not gst_parse],
[ 'elements/valve.c', not gst_registry ],
[ 'pipelines/seek.c', not gst_registry ],
[ 'pipelines/queue-error.c', not gst_registry ],
[ 'pipelines/parse-disabled.c', have_parse ],
[ 'pipelines/simple-launch-lines.c', not have_parse ],
[ 'pipelines/parse-launch.c', not have_parse ],
[ 'pipelines/cleanup.c', not have_parse ],
[ 'pipelines/queue-error.c', not gst_registry or not gst_parse],
[ 'pipelines/parse-disabled.c', gst_parse ],
[ 'pipelines/simple-launch-lines.c', not gst_parse ],
[ 'pipelines/parse-launch.c', not gst_parse ],
[ 'pipelines/cleanup.c', not gst_parse ],
[ 'tools/gstinspect.c' ],
# These take quite long, put them at the end
[ 'elements/fakesink.c', not gst_registry ],

View file

@ -1,4 +1,8 @@
tools = [ 'gst-inspect', 'gst-launch', 'gst-stats', 'gst-typefind' ]
tools = ['gst-inspect', 'gst-stats', 'gst-typefind']
if gst_parse
tools += ['gst-launch']
endif
foreach tool : tools
exe_name = '@0@-@1@'.format(tool, apiversion)