meson: add option to disable parse-launch pipeline string parser
authorTim-Philipp Müller <tim@centricular.com>
Thu, 9 Aug 2018 23:08:43 +0000 (00:08 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 9 Aug 2018 23:08:43 +0000 (00:08 +0100)
gst/meson.build
gst/parse/meson.build
meson_options.txt
tests/check/meson.build
tools/meson.build

index 33a985a..91d0e19 100644 (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,
index b627d1c..365cd9c 100644 (file)
@@ -69,3 +69,5 @@ grammar = custom_target('parsegrammar',
   command : [python3, gen_grammar, '@OUTPUT0@', '@OUTPUT1@', '@INPUT@'],
   depends : [parser],
 )
+
+gst_parse_sources += [parser, grammar]
index f4a382b..bde56a9 100644 (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',
index 31dc1a8..0e7edd1 100644 (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 ],
index 78ea0e0..1e33811 100644 (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)