mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-03 05:59:44 +00:00
tools: Add support for building gstreamer tools against gst-full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
This commit is contained in:
parent
2a30f1038a
commit
2952a73f40
67
meson.build
67
meson.build
|
@ -7,6 +7,7 @@ project('gstreamer-full', 'c',
|
||||||
# when it's no longer necessary.
|
# when it's no longer necessary.
|
||||||
'cpp_std=c++14'])
|
'cpp_std=c++14'])
|
||||||
|
|
||||||
|
apiversion = '1.0'
|
||||||
gst_version = '>= @0@'.format(meson.project_version())
|
gst_version = '>= @0@'.format(meson.project_version())
|
||||||
|
|
||||||
build_system = build_machine.system()
|
build_system = build_machine.system()
|
||||||
|
@ -76,9 +77,16 @@ if not meson.is_subproject() and cc.get_id() == 'msvc'
|
||||||
language: ['c', 'cpp'])
|
language: ['c', 'cpp'])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
building_full = get_option('default_library') == 'static'
|
||||||
|
tools_option = 'tools=auto'
|
||||||
|
if building_full and not get_option('tools').disabled()
|
||||||
|
# Do not build subprojects tools when we build them against gst-full
|
||||||
|
tools_option = 'tools=disabled'
|
||||||
|
endif
|
||||||
|
|
||||||
# Ordered list of subprojects (dict has no ordering guarantees)
|
# Ordered list of subprojects (dict has no ordering guarantees)
|
||||||
subprojects = [
|
subprojects = [
|
||||||
['gstreamer', {'build-hotdoc': true}],
|
['gstreamer', {'build-hotdoc': true, 'subproject_options': [tools_option]}],
|
||||||
['gst-plugins-base', {'option': get_option('base'), 'build-hotdoc': true}],
|
['gst-plugins-base', {'option': get_option('base'), 'build-hotdoc': true}],
|
||||||
['gst-plugins-good', {'option': get_option('good'), 'build-hotdoc': true}],
|
['gst-plugins-good', {'option': get_option('good'), 'build-hotdoc': true}],
|
||||||
['libnice', { 'option': get_option('libnice'), 'match_gst_version': false}],
|
['libnice', { 'option': get_option('libnice'), 'match_gst_version': false}],
|
||||||
|
@ -86,9 +94,9 @@ subprojects = [
|
||||||
['gst-plugins-ugly', { 'option': get_option('ugly'), 'build-hotdoc': true}],
|
['gst-plugins-ugly', { 'option': get_option('ugly'), 'build-hotdoc': true}],
|
||||||
['gst-libav', { 'option': get_option('libav'), 'build-hotdoc': true}],
|
['gst-libav', { 'option': get_option('libav'), 'build-hotdoc': true}],
|
||||||
['gst-rtsp-server', { 'option': get_option('rtsp_server'), 'build-hotdoc': true}],
|
['gst-rtsp-server', { 'option': get_option('rtsp_server'), 'build-hotdoc': true}],
|
||||||
['gst-devtools', { 'option': get_option('devtools'), 'build-hotdoc': true }],
|
['gst-devtools', { 'option': get_option('devtools'), 'build-hotdoc': true, 'subproject_options': [tools_option]}],
|
||||||
['gst-integration-testsuites', { 'option': get_option('devtools') }],
|
['gst-integration-testsuites', { 'option': get_option('devtools') }],
|
||||||
['gst-editing-services', { 'option': get_option('ges'), 'build-hotdoc': true}],
|
['gst-editing-services', { 'option': get_option('ges'), 'build-hotdoc': true, 'subproject_options': [tools_option]}],
|
||||||
['gstreamer-vaapi', { 'option': get_option('vaapi'), 'build-hotdoc': true}],
|
['gstreamer-vaapi', { 'option': get_option('vaapi'), 'build-hotdoc': true}],
|
||||||
['gst-omx', { 'option': get_option('omx'), 'build-hotdoc': true}],
|
['gst-omx', { 'option': get_option('omx'), 'build-hotdoc': true}],
|
||||||
['gstreamer-sharp', { 'option': get_option('sharp') }],
|
['gstreamer-sharp', { 'option': get_option('sharp') }],
|
||||||
|
@ -126,6 +134,7 @@ subprojects_names = []
|
||||||
plugins_doc_caches = []
|
plugins_doc_caches = []
|
||||||
orc_update_targets = []
|
orc_update_targets = []
|
||||||
all_plugins = []
|
all_plugins = []
|
||||||
|
all_tools = {}
|
||||||
# Using a list and not a dict to keep the ordering to build the chain of `gir`
|
# Using a list and not a dict to keep the ordering to build the chain of `gir`
|
||||||
# dependencies
|
# dependencies
|
||||||
all_libraries = []
|
all_libraries = []
|
||||||
|
@ -136,22 +145,24 @@ foreach sp : subprojects
|
||||||
sysdep = build_infos.get('sysdep', '')
|
sysdep = build_infos.get('sysdep', '')
|
||||||
sysdep_version = build_infos.get('sysdep_version', '')
|
sysdep_version = build_infos.get('sysdep_version', '')
|
||||||
match_gst_version = build_infos.get('match_gst_version', true)
|
match_gst_version = build_infos.get('match_gst_version', true)
|
||||||
|
default_options = build_infos.get('subproject_options', [])
|
||||||
|
|
||||||
if match_gst_version
|
if match_gst_version
|
||||||
subproj = subproject(project_name, version: gst_version, required: is_required)
|
subproj = subproject(project_name, version: gst_version, required: is_required, default_options: default_options)
|
||||||
elif sysdep != ''
|
elif sysdep != ''
|
||||||
sysdep_dep = dependency(sysdep, version: sysdep_version, required: false)
|
sysdep_dep = dependency(sysdep, version: sysdep_version, required: false, default_options: default_options)
|
||||||
if not sysdep_dep.found()
|
if not sysdep_dep.found()
|
||||||
subproj = subproject(project_name, required: is_required)
|
subproj = subproject(project_name, required: is_required, default_options: default_options)
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
subproj = subproject(project_name, required: is_required)
|
subproj = subproject(project_name, required: is_required, default_options: default_options)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if subproj.found()
|
if subproj.found()
|
||||||
plugins = subproj.get_variable('plugins', [])
|
plugins = subproj.get_variable('plugins', [])
|
||||||
all_plugins += plugins
|
all_plugins += plugins
|
||||||
all_libraries += subproj.get_variable('libraries', [])
|
all_libraries += subproj.get_variable('libraries', [])
|
||||||
|
all_tools += subproj.get_variable('gst_tools', {})
|
||||||
|
|
||||||
orc_update_targets += subproj.get_variable('orc_update_targets', [])
|
orc_update_targets += subproj.get_variable('orc_update_targets', [])
|
||||||
|
|
||||||
|
@ -250,7 +261,16 @@ configure_file(
|
||||||
all_plugins_paths]
|
all_plugins_paths]
|
||||||
)
|
)
|
||||||
|
|
||||||
if get_option('default_library') == 'static'
|
if building_full
|
||||||
|
cdata = configuration_data()
|
||||||
|
cdata.set_quoted('GST_API_VERSION', apiversion)
|
||||||
|
cdata.set_quoted('GETTEXT_PACKAGE', 'gstreamer-full-1.0')
|
||||||
|
cdata.set_quoted('PACKAGE_VERSION', gst_version)
|
||||||
|
cdata.set_quoted('GST_PACKAGE_ORIGIN', get_option('package-origin'))
|
||||||
|
configure_file(output : 'config.h', configuration : cdata)
|
||||||
|
configinc = include_directories('.')
|
||||||
|
gst_c_args = ['-DHAVE_CONFIG_H']
|
||||||
|
|
||||||
# Generate a .c file which declare and register all built plugins
|
# Generate a .c file which declare and register all built plugins
|
||||||
plugins_names = []
|
plugins_names = []
|
||||||
foreach plugin: all_plugins
|
foreach plugin: all_plugins
|
||||||
|
@ -279,6 +299,7 @@ if get_option('default_library') == 'static'
|
||||||
|
|
||||||
# Get a list of libraries that needs to be exposed in the ABI.
|
# Get a list of libraries that needs to be exposed in the ABI.
|
||||||
exposed_libs = []
|
exposed_libs = []
|
||||||
|
exposed_deps = []
|
||||||
exposed_girs = []
|
exposed_girs = []
|
||||||
incdir_deps = []
|
incdir_deps = []
|
||||||
wanted_libs = ['gstreamer-1.0'] + get_option('gst-full-libraries')
|
wanted_libs = ['gstreamer-1.0'] + get_option('gst-full-libraries')
|
||||||
|
@ -290,6 +311,7 @@ if get_option('default_library') == 'static'
|
||||||
|
|
||||||
if pkg_name in wanted_libs or all_libs
|
if pkg_name in wanted_libs or all_libs
|
||||||
if lib_def.has_key('lib')
|
if lib_def.has_key('lib')
|
||||||
|
exposed_deps += dependency(pkg_name)
|
||||||
incdir_deps += dependency(pkg_name).partial_dependency(includes: true, sources: true)
|
incdir_deps += dependency(pkg_name).partial_dependency(includes: true, sources: true)
|
||||||
exposed_libs += [lib_def['lib']]
|
exposed_libs += [lib_def['lib']]
|
||||||
endif
|
endif
|
||||||
|
@ -375,6 +397,33 @@ if get_option('default_library') == 'static'
|
||||||
libraries_private: gst_full_libs_private,
|
libraries_private: gst_full_libs_private,
|
||||||
subdirs : 'gstreamer-1.0')
|
subdirs : 'gstreamer-1.0')
|
||||||
meson.override_dependency('gstreamer-full-1.0', gst_full_dep)
|
meson.override_dependency('gstreamer-full-1.0', gst_full_dep)
|
||||||
|
|
||||||
|
if not get_option('tools').disabled()
|
||||||
|
foreach tool, data: all_tools
|
||||||
|
exe_name = '@0@-@1@'.format(tool, apiversion)
|
||||||
|
extra_args = data.get('extra_c_args', [])
|
||||||
|
sources = data.get('files')
|
||||||
|
deps = []
|
||||||
|
foreach d : data.get('deps', [])
|
||||||
|
if d not in exposed_deps
|
||||||
|
deps += d
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
executable(exe_name,
|
||||||
|
sources,
|
||||||
|
install: true,
|
||||||
|
include_directories : [configinc],
|
||||||
|
dependencies : [gst_full_dep] + deps,
|
||||||
|
c_args: extra_args + gst_c_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
||||||
|
)
|
||||||
|
|
||||||
|
if data.has_key('man_page')
|
||||||
|
install_man(data.get('man_page'))
|
||||||
|
endif
|
||||||
|
|
||||||
|
endforeach
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
message('Building subprojects: ' + ', '.join(subprojects_names))
|
message('Building subprojects: ' + ', '.join(subprojects_names))
|
||||||
|
@ -402,5 +451,5 @@ if orc_subproject.found() and orc_update_targets.length() > 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
summary({
|
summary({
|
||||||
'gstreamer-full': get_option('default_library') == 'static',
|
'gstreamer-full': building_full,
|
||||||
}, section: 'Build options', bool_yn: true, list_sep: ' ')
|
}, section: 'Build options', bool_yn: true, list_sep: ' ')
|
||||||
|
|
|
@ -16,6 +16,7 @@ option('rs', type : 'feature', value : 'disabled')
|
||||||
option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples')
|
option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples')
|
||||||
option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking')
|
option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking')
|
||||||
option('qt5', type : 'feature', value : 'auto', description : 'Qt5 Support')
|
option('qt5', type : 'feature', value : 'auto', description : 'Qt5 Support')
|
||||||
|
option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build command line tools')
|
||||||
|
|
||||||
# Other options
|
# Other options
|
||||||
option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
|
option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
|
||||||
|
@ -46,3 +47,6 @@ option('nls', type : 'feature', value : 'auto', description : 'Enable native lan
|
||||||
option('orc', type : 'feature', value : 'auto', description : 'Enable Optimized Inner Loop Runtime Compiler')
|
option('orc', type : 'feature', value : 'auto', description : 'Enable Optimized Inner Loop Runtime Compiler')
|
||||||
option('doc', type : 'feature', value : 'auto', description : 'Generate API documentation with hotdoc')
|
option('doc', type : 'feature', value : 'auto', description : 'Generate API documentation with hotdoc')
|
||||||
option('gtk_doc', type : 'feature', value : 'disabled', description : 'Generate API documentation with gtk-doc')
|
option('gtk_doc', type : 'feature', value : 'disabled', description : 'Generate API documentation with gtk-doc')
|
||||||
|
|
||||||
|
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
||||||
|
description : 'package origin URL to use in plugins')
|
||||||
|
|
|
@ -13,3 +13,4 @@ option('nls', type : 'feature', value : 'auto', yield: true,
|
||||||
description : 'Enable native language support (translations)')
|
description : 'Enable native language support (translations)')
|
||||||
option('doc', type : 'feature', value : 'auto', yield: true,
|
option('doc', type : 'feature', value : 'auto', yield: true,
|
||||||
description: 'Enable documentation.')
|
description: 'Enable documentation.')
|
||||||
|
option('tools', type : 'feature', value : 'auto', yield : true)
|
||||||
|
|
|
@ -1,57 +1,68 @@
|
||||||
executable('gst-validate-' + apiversion,
|
gst_tools = {
|
||||||
'gst-validate.c',
|
'gst-validate': {
|
||||||
install: true,
|
'files': files('gst-validate.c'),
|
||||||
include_directories : inc_dirs,
|
'deps': [validate_dep, gio_dep],
|
||||||
dependencies : validate_dep,
|
},
|
||||||
c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="gst-validate-@0@"'.format(apiversion)],
|
'gst-validate-media-check': {
|
||||||
)
|
'files': files('gst-validate-media-check.c'),
|
||||||
|
'deps': [validate_dep, gio_dep],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
gst_transcoder_dep = dependency('gstreamer-transcoder-' + apiversion, version : gst_req,
|
if validate_video_dep.found()
|
||||||
fallback : ['gst-plugins-bad', 'gst_transcoder_dep'], required: false)
|
gst_tools += {
|
||||||
|
'gst-validate-images-check': {
|
||||||
if gst_transcoder_dep.found()
|
'files': files('gst-validate-images-check.c'),
|
||||||
executable('gst-validate-transcoding-' + apiversion,
|
'deps': [validate_dep, validate_video_dep, gio_dep],
|
||||||
'gst-validate-transcoding.c',
|
},
|
||||||
install: true,
|
}
|
||||||
include_directories : inc_dirs,
|
|
||||||
dependencies : [validate_dep, gst_transcoder_dep],
|
|
||||||
c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="gst-validate-transcoding-@0@"'.format(apiversion)],
|
|
||||||
)
|
|
||||||
else
|
else
|
||||||
warning('Can not build gst-validate-transcoding-' + apiversion)
|
message('Can not build gst-validate-images-check' + apiversion)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable('gst-validate-media-check-' + apiversion,
|
|
||||||
'gst-validate-media-check.c',
|
|
||||||
install: true,
|
|
||||||
include_directories : inc_dirs,
|
|
||||||
dependencies : validate_dep,
|
|
||||||
c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="gst-validate-media-check-@0@"'.format(apiversion)],
|
|
||||||
)
|
|
||||||
|
|
||||||
rtsp_server_dep = dependency('gstreamer-rtsp-server-' + apiversion,
|
rtsp_server_dep = dependency('gstreamer-rtsp-server-' + apiversion,
|
||||||
fallback: ['gst-rtsp-server', 'gst_rtsp_server_dep'],
|
fallback: ['gst-rtsp-server', 'gst_rtsp_server_dep'],
|
||||||
version : gst_req,
|
version : gst_req,
|
||||||
required: false)
|
required: false)
|
||||||
|
|
||||||
if rtsp_server_dep.found()
|
if rtsp_server_dep.found()
|
||||||
executable('gst-validate-rtsp-server-' + apiversion,
|
gst_tools += {'gst-validate-rtsp-server': {
|
||||||
'gst-validate-rtsp-server.c',
|
'files': files('gst-validate-rtsp-server.c'),
|
||||||
install: true,
|
'deps': [validate_dep, rtsp_server_dep, gio_dep],
|
||||||
include_directories: inc_dirs,
|
}
|
||||||
dependencies : [rtsp_server_dep, validate_dep],
|
}
|
||||||
c_args: [gst_c_args] + ['-DG_LOG_DOMAIN="gst-validate-rtsp-server-@0@"'.format(apiversion)],
|
else
|
||||||
)
|
message('Can not build gst-validate-rtsp-server-' + apiversion)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if validate_video_dep.found()
|
gst_transcoder_dep = dependency('gstreamer-transcoder-' + apiversion, version : gst_req,
|
||||||
executable('gst-validate-images-check-' + apiversion,
|
fallback : ['gst-plugins-bad', 'gst_transcoder_dep'], required: false)
|
||||||
'gst-validate-images-check.c',
|
if gst_transcoder_dep.found()
|
||||||
install: true,
|
gst_tools += {'gst-validate-transcoding': {
|
||||||
include_directories : inc_dirs,
|
'files': files('gst-validate-transcoding.c'),
|
||||||
dependencies : [validate_dep, validate_video_dep],
|
'deps': [validate_dep, gst_transcoder_dep, gio_dep],
|
||||||
c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="gst-validate-images-check-@0@"'.format(apiversion)]
|
}
|
||||||
)
|
}
|
||||||
|
else
|
||||||
|
message('Can not build gst-validate-transcoding-' + apiversion)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if not get_option('tools').disabled()
|
||||||
|
|
||||||
|
foreach tool, data: gst_tools
|
||||||
|
if data.has_key('config_data')
|
||||||
|
else
|
||||||
|
exe_name = '@0@-@1@'.format(tool, apiversion)
|
||||||
|
executable(
|
||||||
|
exe_name,
|
||||||
|
data.get('files'),
|
||||||
|
install: true,
|
||||||
|
include_directories : inc_dirs,
|
||||||
|
dependencies : data.get('deps'),
|
||||||
|
c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tmpconf = configuration_data()
|
tmpconf = configuration_data()
|
||||||
|
|
|
@ -271,9 +271,8 @@ libraries = []
|
||||||
|
|
||||||
subdir('ges')
|
subdir('ges')
|
||||||
subdir('plugins')
|
subdir('plugins')
|
||||||
if not get_option('tools').disabled()
|
subdir('tools')
|
||||||
subdir('tools')
|
|
||||||
endif
|
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
if not get_option('examples').disabled()
|
if not get_option('examples').disabled()
|
||||||
subdir('examples')
|
subdir('examples')
|
||||||
|
|
|
@ -6,48 +6,62 @@ if gstvalidate_dep.found()
|
||||||
ges_tool_args += ['-DGST_USE_UNSTABLE_API']
|
ges_tool_args += ['-DGST_USE_UNSTABLE_API']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ges_launch = executable('ges-launch-@0@'.format(apiversion),
|
|
||||||
'ges-validate.c', 'ges-launch.c', 'ges-launcher.c', 'utils.c', 'ges-launcher-kb.c',
|
|
||||||
c_args : [ges_tool_args] + ['-DG_LOG_DOMAIN="ges-launch-@0@"'.format(apiversion)],
|
|
||||||
dependencies : deps,
|
|
||||||
install: true
|
|
||||||
)
|
|
||||||
|
|
||||||
install_man('ges-launch-1.0.1')
|
ges_launch_files = files('ges-validate.c', 'ges-launch.c', 'ges-launcher.c', 'utils.c', 'ges-launcher-kb.c')
|
||||||
|
man_page = files('ges-launch-1.0.1')
|
||||||
|
gst_tools = {'ges-launch':
|
||||||
|
{
|
||||||
|
'files': ges_launch_files,
|
||||||
|
'deps': deps,
|
||||||
|
'extra_c_args': ges_tool_args,
|
||||||
|
'man_page': man_page,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# bash completion
|
if not get_option('tools').disabled()
|
||||||
bashcomp_option = get_option('bash-completion')
|
ges_launch = executable('ges-launch-@0@'.format(apiversion),
|
||||||
bashcomp_dep = dependency('bash-completion', version : '>= 2.0', required : bashcomp_option)
|
ges_launch_files,
|
||||||
bash_completions_dir = ''
|
c_args : [ges_tool_args] + ['-DG_LOG_DOMAIN="ges-launch-@0@"'.format(apiversion)],
|
||||||
bash_helpers_dir = ''
|
dependencies : deps,
|
||||||
|
install: true
|
||||||
|
)
|
||||||
|
|
||||||
bashcomp_found = false
|
install_man(man_page)
|
||||||
if bashcomp_dep.found()
|
|
||||||
bashcomp_found = true
|
# bash completion
|
||||||
bashcomp_dir_override = bashcomp_dep.version().version_compare('>= 2.10') ? ['datadir', datadir] : ['prefix', prefix]
|
bashcomp_option = get_option('bash-completion')
|
||||||
bash_completions_dir = bashcomp_dep.get_variable('completionsdir', pkgconfig_define: bashcomp_dir_override)
|
bashcomp_dep = dependency('bash-completion', version : '>= 2.0', required : bashcomp_option)
|
||||||
if bash_completions_dir == ''
|
bash_completions_dir = ''
|
||||||
msg = 'Found bash-completion but the .pc file did not set \'completionsdir\'.'
|
bash_helpers_dir = ''
|
||||||
if bashcomp_option.enabled()
|
|
||||||
error(msg)
|
bashcomp_found = false
|
||||||
else
|
if bashcomp_dep.found()
|
||||||
message(msg)
|
bashcomp_found = true
|
||||||
|
bashcomp_dir_override = bashcomp_dep.version().version_compare('>= 2.10') ? ['datadir', datadir] : ['prefix', prefix]
|
||||||
|
bash_completions_dir = bashcomp_dep.get_variable('completionsdir', pkgconfig_define: bashcomp_dir_override)
|
||||||
|
if bash_completions_dir == ''
|
||||||
|
msg = 'Found bash-completion but the .pc file did not set \'completionsdir\'.'
|
||||||
|
if bashcomp_option.enabled()
|
||||||
|
error(msg)
|
||||||
|
else
|
||||||
|
message(msg)
|
||||||
|
endif
|
||||||
|
bashcomp_found = false
|
||||||
endif
|
endif
|
||||||
bashcomp_found = false
|
|
||||||
endif
|
|
||||||
|
|
||||||
bash_helpers_dir = bashcomp_dep.get_variable('helpersdir', pkgconfig_define: bashcomp_dir_override)
|
bash_helpers_dir = bashcomp_dep.get_variable('helpersdir', pkgconfig_define: bashcomp_dir_override)
|
||||||
if bash_helpers_dir == ''
|
if bash_helpers_dir == ''
|
||||||
msg = 'Found bash-completion, but the .pc file did not set \'helpersdir\'.'
|
msg = 'Found bash-completion, but the .pc file did not set \'helpersdir\'.'
|
||||||
if bashcomp_option.enabled()
|
if bashcomp_option.enabled()
|
||||||
error(msg)
|
error(msg)
|
||||||
else
|
else
|
||||||
message(msg)
|
message(msg)
|
||||||
|
endif
|
||||||
|
bashcomp_found = false
|
||||||
endif
|
endif
|
||||||
bashcomp_found = false
|
|
||||||
endif
|
|
||||||
|
|
||||||
if bashcomp_found
|
if bashcomp_found
|
||||||
install_data('../data/completions/ges-launch-1.0', install_dir : bash_completions_dir)
|
install_data('../data/completions/ges-launch-1.0', install_dir : bash_completions_dir)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -477,9 +477,7 @@ subdir('gst-libs')
|
||||||
subdir('gst')
|
subdir('gst')
|
||||||
subdir('ext')
|
subdir('ext')
|
||||||
subdir('sys')
|
subdir('sys')
|
||||||
if not get_option('tools').disabled()
|
subdir('tools')
|
||||||
subdir('tools')
|
|
||||||
endif
|
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
|
|
||||||
# xgettext is optional (on Windows for instance)
|
# xgettext is optional (on Windows for instance)
|
||||||
|
|
|
@ -25,29 +25,38 @@ if host_system == 'windows'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable('gst-device-monitor-@0@'.format(api_version),
|
gst_tools = {
|
||||||
'gst-device-monitor.c',
|
'gst-device-monitor': {
|
||||||
install: true,
|
'files': files('gst-device-monitor.c'),
|
||||||
c_args : gst_plugins_base_args + ['-DG_LOG_DOMAIN="gst-device-monitor-@0@"'.format(api_version)],
|
'deps': tool_deps,
|
||||||
include_directories: [configinc],
|
'man_page': files('gst-device-monitor-@0@.1'.format(api_version))
|
||||||
dependencies : tool_deps,
|
},
|
||||||
)
|
'gst-discoverer': {
|
||||||
install_man('gst-device-monitor-@0@.1'.format(api_version))
|
'files': files('gst-discoverer.c'),
|
||||||
|
'deps': tool_deps,
|
||||||
|
'man_page': files('gst-discoverer-@0@.1'.format(api_version))
|
||||||
|
},
|
||||||
|
'gst-play': {
|
||||||
|
'files': files('gst-play.c', 'gst-play-kb.c'),
|
||||||
|
'deps': tool_deps,
|
||||||
|
'man_page': files('gst-play-@0@.1'.format(api_version))
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
executable('gst-discoverer-@0@'.format(api_version),
|
if not get_option('tools').disabled()
|
||||||
'gst-discoverer.c',
|
foreach tool, data: gst_tools
|
||||||
install: true,
|
exe_name = '@0@-@1@'.format(tool, api_version)
|
||||||
c_args : gst_plugins_base_args + ['-DG_LOG_DOMAIN="gst-discoverer-@0@"'.format(api_version)],
|
executable(exe_name,
|
||||||
include_directories: [configinc],
|
data.get('files'),
|
||||||
dependencies : tool_deps,
|
install: true,
|
||||||
)
|
include_directories : [configinc],
|
||||||
install_man('gst-discoverer-@0@.1'.format(api_version))
|
dependencies : data.get('deps'),
|
||||||
|
c_args: data.get('extra_c_args', []) + gst_plugins_base_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
||||||
|
)
|
||||||
|
|
||||||
executable('gst-play-@0@'.format(api_version),
|
if data.has_key('man_page')
|
||||||
'gst-play.c', 'gst-play-kb.c',
|
install_man(data.get('man_page'))
|
||||||
install: true,
|
endif
|
||||||
c_args : gst_plugins_base_args + ['-DG_LOG_DOMAIN="gst-play-@0@"'.format(api_version)] + extra_args,
|
endforeach
|
||||||
include_directories: [configinc],
|
|
||||||
dependencies : tool_deps + [libm] + extra_deps,
|
endif
|
||||||
)
|
|
||||||
install_man('gst-play-@0@.1'.format(api_version))
|
|
||||||
|
|
|
@ -2013,6 +2013,6 @@
|
||||||
"package": "gstreamer-vaapi",
|
"package": "gstreamer-vaapi",
|
||||||
"source": "gstreamer-vaapi",
|
"source": "gstreamer-vaapi",
|
||||||
"tracers": {},
|
"tracers": {},
|
||||||
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues"
|
"url": "Unknown package origin"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -11,5 +11,5 @@ option('tests', type : 'feature', value : 'auto', yield : true)
|
||||||
option('doc', type : 'feature', value : 'auto', yield: true,
|
option('doc', type : 'feature', value : 'auto', yield: true,
|
||||||
description: 'Enable documentation.')
|
description: 'Enable documentation.')
|
||||||
option('package-origin', type : 'string',
|
option('package-origin', type : 'string',
|
||||||
value : 'https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues',
|
value : 'Unknown package origin',
|
||||||
yield : true, description : 'package origin URL to use in plugins')
|
yield : true, description : 'package origin URL to use in plugins')
|
||||||
|
|
|
@ -610,9 +610,7 @@ libraries = []
|
||||||
subdir('gst')
|
subdir('gst')
|
||||||
subdir('libs')
|
subdir('libs')
|
||||||
subdir('plugins')
|
subdir('plugins')
|
||||||
if not get_option('tools').disabled()
|
subdir('tools')
|
||||||
subdir('tools')
|
|
||||||
endif
|
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
subdir('data')
|
subdir('data')
|
||||||
subdir('docs')
|
subdir('docs')
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
# If tools are disabled, we still allow building them against gst-full
|
||||||
|
# later, so populate the gst_tools dictionary in any case.
|
||||||
|
gst_tools = {}
|
||||||
|
|
||||||
tools = ['gst-inspect', 'gst-stats', 'gst-typefind']
|
tools = ['gst-inspect', 'gst-stats', 'gst-typefind']
|
||||||
|
|
||||||
extra_launch_dep = []
|
extra_launch_dep = []
|
||||||
|
@ -26,14 +30,25 @@ foreach tool : tools
|
||||||
extra_c_args += extra_launch_arg
|
extra_c_args += extra_launch_arg
|
||||||
endif
|
endif
|
||||||
|
|
||||||
executable(exe_name,
|
man_page = files('@0@-1.0.1'.format(tool))
|
||||||
src_file,
|
if not get_option('tools').disabled()
|
||||||
install: true,
|
executable(exe_name,
|
||||||
include_directories : [configinc],
|
src_file,
|
||||||
dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep] + extra_deps,
|
install: true,
|
||||||
c_args: gst_c_args + extra_c_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
include_directories : [configinc],
|
||||||
)
|
dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep] + extra_deps,
|
||||||
|
c_args: gst_c_args + extra_c_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
||||||
|
)
|
||||||
|
|
||||||
man_page = '@0@-1.0.1'.format(tool)
|
install_man(man_page)
|
||||||
install_man(man_page)
|
endif
|
||||||
|
|
||||||
|
gst_tools += {tool:
|
||||||
|
{
|
||||||
|
'files': files(src_file),
|
||||||
|
'deps': [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep] + extra_deps,
|
||||||
|
'extra_c_args': extra_c_args,
|
||||||
|
'man_page': man_page,
|
||||||
|
}
|
||||||
|
}
|
||||||
endforeach
|
endforeach
|
||||||
|
|
Loading…
Reference in a new issue