mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
meson: Add feature options for many plugins
The rest will be converted later, these are necessary for gst-build to set options correctly. https://bugzilla.gnome.org/show_bug.cgi?id=795107
This commit is contained in:
parent
8908260c1f
commit
7ef303fa28
6 changed files with 109 additions and 94 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
# FIXME implement these
|
||||||
subdir('assrender')
|
subdir('assrender')
|
||||||
subdir('aom')
|
subdir('aom')
|
||||||
subdir('bs2b')
|
subdir('bs2b')
|
||||||
|
|
|
@ -1,63 +1,18 @@
|
||||||
subdir('accurip')
|
foreach plugin : ['accurip', 'adpcmdec', 'adpcmenc', 'aiff', 'asfmux',
|
||||||
subdir('adpcmdec')
|
'audiobuffersplit', 'audiofxbad', 'audiomixmatrix',
|
||||||
subdir('adpcmenc')
|
'audiolatency', 'audiovisualizers', 'autoconvert', 'bayer',
|
||||||
subdir('aiff')
|
'camerabin2', 'coloreffects', 'compositor', 'debugutils',
|
||||||
subdir('asfmux')
|
'dvbsuboverlay', 'dvdspu', 'faceoverlay', 'festival',
|
||||||
subdir('audiobuffersplit')
|
'fieldanalysis', 'freeverb', 'frei0r', 'gaudieffects', 'gdp',
|
||||||
subdir('audiofxbad')
|
'geometrictransform', 'id3tag', 'inter', 'interlace',
|
||||||
subdir('audiomixmatrix')
|
'ivfparse', 'ivtc', 'jp2kdecimator', 'jpegformat', 'librfb',
|
||||||
subdir('audiolatency')
|
'midi', 'mpegdemux', 'mpegpsmux', 'mpegtsdemux', 'mpegtsmux',
|
||||||
subdir('audiovisualizers')
|
'mxf', 'netsim', 'onvif', 'pcapparse', 'pnm', 'proxy',
|
||||||
subdir('autoconvert')
|
'rawparse', 'removesilence', 'sdp', 'segmentclip', 'siren',
|
||||||
subdir('bayer')
|
'smooth', 'speed', 'stereo', 'subenc', 'timecode',
|
||||||
subdir('camerabin2')
|
'videofilters', 'videoframe_audiolevel', 'videoparsers',
|
||||||
subdir('coloreffects')
|
'videosignal', 'vmnc', 'y4m', 'yadif']
|
||||||
subdir('compositor')
|
if not get_option(plugin).disabled()
|
||||||
subdir('debugutils')
|
subdir(plugin)
|
||||||
subdir('dvbsuboverlay')
|
endif
|
||||||
subdir('dvdspu')
|
endforeach
|
||||||
subdir('faceoverlay')
|
|
||||||
subdir('festival')
|
|
||||||
subdir('fieldanalysis')
|
|
||||||
subdir('freeverb')
|
|
||||||
subdir('frei0r')
|
|
||||||
subdir('gaudieffects')
|
|
||||||
subdir('gdp')
|
|
||||||
subdir('geometrictransform')
|
|
||||||
subdir('id3tag')
|
|
||||||
subdir('inter')
|
|
||||||
subdir('interlace')
|
|
||||||
subdir('ivfparse')
|
|
||||||
subdir('ivtc')
|
|
||||||
subdir('jp2kdecimator')
|
|
||||||
subdir('jpegformat')
|
|
||||||
subdir('librfb')
|
|
||||||
subdir('midi')
|
|
||||||
subdir('mpegdemux')
|
|
||||||
subdir('mpegpsmux')
|
|
||||||
subdir('mpegtsdemux')
|
|
||||||
subdir('mpegtsmux')
|
|
||||||
subdir('mxf')
|
|
||||||
subdir('netsim')
|
|
||||||
subdir('onvif')
|
|
||||||
subdir('pcapparse')
|
|
||||||
subdir('pnm')
|
|
||||||
subdir('proxy')
|
|
||||||
subdir('rawparse')
|
|
||||||
subdir('removesilence')
|
|
||||||
subdir('sdp')
|
|
||||||
subdir('segmentclip')
|
|
||||||
subdir('siren')
|
|
||||||
subdir('smooth')
|
|
||||||
#subdir('smoothwave')
|
|
||||||
subdir('speed')
|
|
||||||
subdir('stereo')
|
|
||||||
subdir('subenc')
|
|
||||||
subdir('timecode')
|
|
||||||
subdir('videofilters')
|
|
||||||
subdir('videoframe_audiolevel')
|
|
||||||
subdir('videoparsers')
|
|
||||||
subdir('videosignal')
|
|
||||||
subdir('vmnc')
|
|
||||||
subdir('y4m')
|
|
||||||
subdir('yadif')
|
|
||||||
|
|
37
meson.build
37
meson.build
|
@ -1,6 +1,6 @@
|
||||||
project('gst-plugins-bad', 'c', 'cpp',
|
project('gst-plugins-bad', 'c', 'cpp',
|
||||||
version : '1.15.0.1',
|
version : '1.15.0.1',
|
||||||
meson_version : '>= 0.46',
|
meson_version : '>= 0.47',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
||||||
|
@ -273,9 +273,6 @@ cdata.set_quoted('GST_API_VERSION', api_version)
|
||||||
cdata.set_quoted('GST_LICENSE', 'LGPL')
|
cdata.set_quoted('GST_LICENSE', 'LGPL')
|
||||||
cdata.set_quoted('LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
|
cdata.set_quoted('LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
|
||||||
cdata.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
|
cdata.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
|
||||||
if get_option('nls')
|
|
||||||
cdata.set('ENABLE_NLS', 1)
|
|
||||||
endif
|
|
||||||
|
|
||||||
warning_flags = [
|
warning_flags = [
|
||||||
'-Wmissing-declarations',
|
'-Wmissing-declarations',
|
||||||
|
@ -460,20 +457,15 @@ endif
|
||||||
|
|
||||||
have_orcc = false
|
have_orcc = false
|
||||||
orcc_args = []
|
orcc_args = []
|
||||||
if get_option('orc') != 'no'
|
# Used by various libraries/elements that use Orc code
|
||||||
need_orc = get_option('orc') == 'yes'
|
orc_dep = dependency('orc-0.4', required : get_option('orc'))
|
||||||
# Used by various libraries/elements that use Orc code
|
orcc = find_program('orcc', required : get_option('orc'))
|
||||||
orc_dep = dependency('orc-0.4', required : need_orc)
|
if orc_dep.found() and orcc.found()
|
||||||
orcc = find_program('orcc', required : need_orc)
|
have_orcc = true
|
||||||
if orc_dep.found() and orcc.found()
|
orcc_args = [orcc, '--include', 'glib.h']
|
||||||
have_orcc = true
|
cdata.set('HAVE_ORC', 1)
|
||||||
orcc_args = [orcc, '--include', 'glib.h']
|
|
||||||
cdata.set('HAVE_ORC', 1)
|
|
||||||
else
|
|
||||||
message('Orc Compiler not found, will use backup C code')
|
|
||||||
cdata.set('DISABLE_ORC', 1)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
|
message('Orc Compiler not found or disabled, will use backup C code')
|
||||||
cdata.set('DISABLE_ORC', 1)
|
cdata.set('DISABLE_ORC', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -495,9 +487,9 @@ libsinc = include_directories('gst-libs')
|
||||||
|
|
||||||
python3 = import('python3').find_python()
|
python3 = import('python3').find_python()
|
||||||
|
|
||||||
gir = find_program('g-ir-scanner', required : false)
|
gir = find_program('g-ir-scanner', required : get_option('introspection'))
|
||||||
gnome = import('gnome')
|
gnome = import('gnome')
|
||||||
build_gir = gir.found() and not meson.is_cross_build() and get_option('introspection')
|
build_gir = gir.found() and not meson.is_cross_build()
|
||||||
gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
|
gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
|
||||||
'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
|
'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
|
||||||
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
|
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
|
||||||
|
@ -518,11 +510,12 @@ subdir('ext')
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
subdir('pkgconfig')
|
subdir('pkgconfig')
|
||||||
|
|
||||||
configure_file(output : 'config.h', configuration : cdata)
|
|
||||||
|
|
||||||
# xgettext is optional (on Windows for instance)
|
# xgettext is optional (on Windows for instance)
|
||||||
if get_option('nls') and find_program('xgettext', required : false).found()
|
if find_program('xgettext', required : get_option('nls')).found()
|
||||||
|
cdata.set('ENABLE_NLS', 1)
|
||||||
subdir('po')
|
subdir('po')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
configure_file(output : 'config.h', configuration : cdata)
|
||||||
|
|
||||||
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
|
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
|
||||||
|
|
|
@ -1,12 +1,77 @@
|
||||||
option('gst_player_tests', type: 'boolean', value: false,
|
option('gst_player_tests', type: 'boolean', value: false,
|
||||||
description: 'Enable GstPlayer tests that need network access')
|
description: 'Enable GstPlayer tests that need network access')
|
||||||
|
|
||||||
|
# Feature options for plugins without external deps
|
||||||
|
option('accurip', type : 'feature', value : 'auto')
|
||||||
|
option('adpcmdec', type : 'feature', value : 'auto')
|
||||||
|
option('adpcmenc', type : 'feature', value : 'auto')
|
||||||
|
option('aiff', type : 'feature', value : 'auto')
|
||||||
|
option('asfmux', type : 'feature', value : 'auto')
|
||||||
|
option('audiobuffersplit', type : 'feature', value : 'auto')
|
||||||
|
option('audiofxbad', type : 'feature', value : 'auto')
|
||||||
|
option('audiomixmatrix', type : 'feature', value : 'auto')
|
||||||
|
option('audiolatency', type : 'feature', value : 'auto')
|
||||||
|
option('audiovisualizers', type : 'feature', value : 'auto')
|
||||||
|
option('autoconvert', type : 'feature', value : 'auto')
|
||||||
|
option('bayer', type : 'feature', value : 'auto')
|
||||||
|
option('camerabin2', type : 'feature', value : 'auto')
|
||||||
|
option('coloreffects', type : 'feature', value : 'auto')
|
||||||
|
option('compositor', type : 'feature', value : 'auto')
|
||||||
|
option('debugutils', type : 'feature', value : 'auto')
|
||||||
|
option('dvbsuboverlay', type : 'feature', value : 'auto')
|
||||||
|
option('dvdspu', type : 'feature', value : 'auto')
|
||||||
|
option('faceoverlay', type : 'feature', value : 'auto')
|
||||||
|
option('festival', type : 'feature', value : 'auto')
|
||||||
|
option('fieldanalysis', type : 'feature', value : 'auto')
|
||||||
|
option('freeverb', type : 'feature', value : 'auto')
|
||||||
|
option('frei0r', type : 'feature', value : 'auto')
|
||||||
|
option('gaudieffects', type : 'feature', value : 'auto')
|
||||||
|
option('gdp', type : 'feature', value : 'auto')
|
||||||
|
option('geometrictransform', type : 'feature', value : 'auto')
|
||||||
|
option('id3tag', type : 'feature', value : 'auto')
|
||||||
|
option('inter', type : 'feature', value : 'auto')
|
||||||
|
option('interlace', type : 'feature', value : 'auto')
|
||||||
|
option('ivfparse', type : 'feature', value : 'auto')
|
||||||
|
option('ivtc', type : 'feature', value : 'auto')
|
||||||
|
option('jp2kdecimator', type : 'feature', value : 'auto')
|
||||||
|
option('jpegformat', type : 'feature', value : 'auto')
|
||||||
|
option('librfb', type : 'feature', value : 'auto')
|
||||||
|
option('midi', type : 'feature', value : 'auto')
|
||||||
|
option('mpegdemux', type : 'feature', value : 'auto')
|
||||||
|
option('mpegpsmux', type : 'feature', value : 'auto')
|
||||||
|
option('mpegtsdemux', type : 'feature', value : 'auto')
|
||||||
|
option('mpegtsmux', type : 'feature', value : 'auto')
|
||||||
|
option('mxf', type : 'feature', value : 'auto')
|
||||||
|
option('netsim', type : 'feature', value : 'auto')
|
||||||
|
option('onvif', type : 'feature', value : 'auto')
|
||||||
|
option('pcapparse', type : 'feature', value : 'auto')
|
||||||
|
option('pnm', type : 'feature', value : 'auto')
|
||||||
|
option('proxy', type : 'feature', value : 'auto')
|
||||||
|
option('rawparse', type : 'feature', value : 'auto')
|
||||||
|
option('removesilence', type : 'feature', value : 'auto')
|
||||||
|
option('sdp', type : 'feature', value : 'auto')
|
||||||
|
option('segmentclip', type : 'feature', value : 'auto')
|
||||||
|
option('siren', type : 'feature', value : 'auto')
|
||||||
|
option('smooth', type : 'feature', value : 'auto')
|
||||||
|
option('speed', type : 'feature', value : 'auto')
|
||||||
|
option('stereo', type : 'feature', value : 'auto')
|
||||||
|
option('subenc', type : 'feature', value : 'auto')
|
||||||
|
option('timecode', type : 'feature', value : 'auto')
|
||||||
|
option('videofilters', type : 'feature', value : 'auto')
|
||||||
|
option('videoframe_audiolevel', type : 'feature', value : 'auto')
|
||||||
|
option('videoparsers', type : 'feature', value : 'auto')
|
||||||
|
option('videosignal', type : 'feature', value : 'auto')
|
||||||
|
option('vmnc', type : 'feature', value : 'auto')
|
||||||
|
option('y4m', type : 'feature', value : 'auto')
|
||||||
|
option('yadif', type : 'feature', value : 'auto')
|
||||||
|
|
||||||
|
# Common feature options
|
||||||
|
option('examples', type : 'feature', value : 'auto', yield : true)
|
||||||
|
option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
|
||||||
|
option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
|
||||||
|
option('orc', type : 'feature', value : 'auto', yield : true)
|
||||||
|
|
||||||
# Common options
|
# Common options
|
||||||
option('nls', type : 'boolean', value : true, yield: true,
|
|
||||||
description : 'Enable native language support (translations)')
|
|
||||||
option('orc', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto', yield : true)
|
|
||||||
option('introspection', type : 'boolean', value : true, yield : true,
|
|
||||||
description : 'Generate gobject-introspection bindings')
|
|
||||||
option('package-name', type : 'string', yield : true,
|
option('package-name', type : 'string', yield : true,
|
||||||
description : 'package name to use in plugins')
|
description : 'package name to use in plugins')
|
||||||
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
gtk_dep = dependency('gtk+-3.0', required : false)
|
gtk_dep = dependency('gtk+-3.0', required : get_option('examples'))
|
||||||
gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : false)
|
gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : get_option('examples'))
|
||||||
|
|
||||||
if use_wayland and gtk_dep.found() and gtk_wayland_dep.found()
|
if use_wayland and gtk_dep.found() and gtk_wayland_dep.found()
|
||||||
executable('waylandsink',
|
executable('waylandsink',
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
if host_machine.system() != 'windows'
|
if host_machine.system() != 'windows'
|
||||||
subdir('check')
|
subdir('check')
|
||||||
endif
|
endif
|
||||||
|
if not get_option('examples').disabled()
|
||||||
subdir('examples')
|
subdir('examples')
|
||||||
|
endif
|
||||||
|
|
Loading…
Reference in a new issue