mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-02 21:48:55 +00:00
meson: Add a new option to control the source for orc
Previously we were unconditionally cloning the orc subproject because we want the developer environment to use the latest orc. However, some people want to use the system orc instead, or want to auto-detect which to use, with the system orc getting preference. This requires adding a new option to select that. See discussion at: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2556 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1282 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3062>
This commit is contained in:
parent
0e73b36870
commit
6caa8524dd
3 changed files with 25 additions and 1 deletions
22
meson.build
22
meson.build
|
@ -119,7 +119,19 @@ elif build_system == 'darwin'
|
|||
subproject('macos-bison-binary')
|
||||
endif
|
||||
|
||||
orc_subproject = subproject('orc', required: get_option('orc'))
|
||||
orc_option = get_option('orc')
|
||||
# There is a check below to keep this in sync with subprojects/gst-plugins-base/meson.build
|
||||
orc_req = '>= 0.4.24'
|
||||
orc_source_option = get_option('orc-source')
|
||||
orc_subproject = disabler()
|
||||
if orc_option.allowed()
|
||||
if orc_source_option == 'subproject'
|
||||
orc_subproject = subproject('orc', required: orc_option)
|
||||
else
|
||||
dependency('orc-0.4', version: orc_req, required: orc_option,
|
||||
allow_fallback: orc_source_option == 'auto')
|
||||
endif
|
||||
endif
|
||||
|
||||
foreach custom_subproj: get_option('custom_subprojects').split(',')
|
||||
if custom_subproj != ''
|
||||
|
@ -157,6 +169,14 @@ foreach sp : subprojects
|
|||
subproj = subproject(project_name, required: is_required, default_options: default_options)
|
||||
endif
|
||||
|
||||
if project_name == 'gst-plugins-base'
|
||||
gst_base_orc_req = subproj.get_variable('orc_req', '')
|
||||
if gst_base_orc_req != orc_req
|
||||
error('orc_req is "@0@" but it should be "@1@" from subprojects/gst-plugins-base/meson.build'
|
||||
.format(orc_req, gst_base_orc_req))
|
||||
endif
|
||||
endif
|
||||
|
||||
if subproj.found()
|
||||
plugins = subproj.get_variable('gst_plugins', [])
|
||||
legacy_plugins = subproj.get_variable('plugins', [])
|
||||
|
|
|
@ -38,6 +38,7 @@ option('gst-full-device-providers', type : 'string', value : '',
|
|||
description : '''List of device providers to expose in gstreamer-full's ABI with the syntax plugin1:dp1;plugin2:dp1:dp2. By default '' will export all device provider of the enabled plugin.''')
|
||||
option('gst-full-dynamic-types', type : 'string', value : '',
|
||||
description : '''List of dynamic types to expose in gstreamer-full's ABI with the syntax plugin:dt1,dt2. By default '' will export all device provider of the enabled plugin.''')
|
||||
option('orc-source', type: 'combo', choices: ['system', 'subproject', 'auto'], value: 'subproject')
|
||||
|
||||
# License-related feature options
|
||||
option('gpl', type: 'feature', value: 'disabled',
|
||||
|
|
|
@ -3,3 +3,6 @@ directory=orc
|
|||
url=https://gitlab.freedesktop.org/gstreamer/orc.git
|
||||
push-url=git@gitlab.freedesktop.org:gstreamer/orc.git
|
||||
revision=8ef6d657ccc1e98476ebc5d101c6729e6b916f78
|
||||
|
||||
[provide]
|
||||
orc-0.4 = orc_dep
|
||||
|
|
Loading…
Reference in a new issue