mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 05:59:10 +00:00
meson: Use implicit builtin dirs in pkgconfig generation
Starting with Meson 0.62, meson automatically populates the variables list in the pkgconfig file if you reference builtin directories in the pkgconfig file (whether via a custom pkgconfig variable or elsewhere). We need this, because ${prefix}/libexec is a hard-coded value which is incorrect on, for example, Debian. Bump requirement to 0.62, and remove version compares that retained support for older Meson versions. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
This commit is contained in:
parent
a9144f5313
commit
a0e6278dba
16 changed files with 32 additions and 48 deletions
17
meson.build
17
meson.build
|
@ -1,6 +1,6 @@
|
|||
project('gstreamer-full', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60.0',
|
||||
meson_version : '>= 0.62.0',
|
||||
default_options : ['buildtype=debugoptimized',
|
||||
# Needed due to https://github.com/mesonbuild/meson/issues/1889,
|
||||
# but this can cause problems in the future. Remove it
|
||||
|
@ -33,21 +33,6 @@ endif
|
|||
# Install gst-indent pre-commit hook
|
||||
run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")', check: false)
|
||||
|
||||
# Ensure that the user does not have Strawberry Perl in PATH, since it ships
|
||||
# with a pkg-config.bat and broken pkgconfig files for libffi and zlib. Will
|
||||
# cause a build error, such as in
|
||||
# https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/41
|
||||
ensure_no_strawberry_perl = '''
|
||||
import os
|
||||
assert(r'Strawberry\perl\bin' not in os.environ['PATH'])
|
||||
'''
|
||||
if build_system == 'windows' and meson.version().version_compare('<0.60.0')
|
||||
cmdres = run_command(python3, '-c', ensure_no_strawberry_perl, check: false)
|
||||
if cmdres.returncode() != 0
|
||||
error('You have Strawberry Perl in PATH which is known to cause build issues with Meson < 0.60.0. Please remove it from PATH, uninstall it, or upgrade Meson.')
|
||||
endif
|
||||
endif
|
||||
|
||||
# On macOS, you have to run "Install Certificates.command" otherwise Python
|
||||
# doesn't have access to the latest SSL CA Certificates, and Meson will fail to
|
||||
# download wrap files from websites that use, for example, Let's Encrypt.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-devtools', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'c_std=gnu99',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('GStreamer manuals and tutorials', 'c',
|
||||
version: '1.21.0.1',
|
||||
meson_version : '>= 0.60')
|
||||
meson_version : '>= 0.62')
|
||||
|
||||
hotdoc_p = find_program('hotdoc')
|
||||
if not hotdoc_p.found()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-editing-services', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
project('gst-integration-testsuites', [], version: '1.21.0.1', meson_version : '>= 0.60', license: 'LGPL')
|
||||
project('gst-integration-testsuites', [], version: '1.21.0.1', meson_version : '>= 0.62', license: 'LGPL')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-libav', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-omx', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-plugins-bad', 'c', 'cpp',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-plugins-base', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
@ -460,14 +460,14 @@ if get_option('default_library') == 'shared'
|
|||
plugins_pkgconfig_install_dir = disabler()
|
||||
endif
|
||||
|
||||
pkgconfig_variables = ['exec_prefix=${prefix}',
|
||||
pkgconfig_variables = [
|
||||
'exec_prefix=${prefix}',
|
||||
'toolsdir=${exec_prefix}/bin',
|
||||
'pluginsdir=${libdir}/gstreamer-1.0',
|
||||
'datarootdir=${prefix}/share',
|
||||
'datadir=${datarootdir}',
|
||||
'girdir=${datadir}/gir-1.0',
|
||||
'typelibdir=${libdir}/girepository-1.0',
|
||||
'libexecdir=${prefix}/libexec']
|
||||
'pluginscannerdir=${libexecdir}/gstreamer-1.0'
|
||||
]
|
||||
pkgconfig_subdirs = ['gstreamer-1.0']
|
||||
|
||||
meson_pkg_config_file_fixup_script = find_program('scripts/meson-pkg-config-file-fixup.py')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-plugins-good', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-plugins-ugly', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-python', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'c_std=gnu99',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gst-rtsp-server', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : ['warning_level=1', 'buildtype=debugoptimized'])
|
||||
|
||||
gst_version = meson.project_version()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
project('gstreamer-sharp', ['cs', 'c'], version: '1.21.0.1',
|
||||
meson_version : '>= 0.60', license: 'LGPL')
|
||||
meson_version : '>= 0.62', license: 'LGPL')
|
||||
|
||||
if host_machine.system() == 'osx'
|
||||
lib_prefix=''
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gstreamer-vaapi', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
project('gstreamer', 'c',
|
||||
version : '1.21.0.1',
|
||||
meson_version : '>= 0.60',
|
||||
meson_version : '>= 0.62',
|
||||
default_options : [ 'warning_level=1',
|
||||
'buildtype=debugoptimized' ])
|
||||
|
||||
|
@ -609,15 +609,14 @@ if get_option('default_library') == 'shared'
|
|||
# If we don't build static plugins there is no need to generate pc files
|
||||
plugins_pkgconfig_install_dir = disabler()
|
||||
endif
|
||||
pkgconfig_variables = ['exec_prefix=${prefix}',
|
||||
pkgconfig_variables = [
|
||||
'exec_prefix=${prefix}',
|
||||
'toolsdir=${exec_prefix}/bin',
|
||||
'pluginsdir=${libdir}/gstreamer-1.0',
|
||||
'datarootdir=${prefix}/share',
|
||||
'datadir=${datarootdir}',
|
||||
'girdir=${datadir}/gir-1.0',
|
||||
'typelibdir=${libdir}/girepository-1.0',
|
||||
'libexecdir=${prefix}/libexec',
|
||||
'pluginscannerdir=${libexecdir}/gstreamer-1.0']
|
||||
'pluginscannerdir=${libexecdir}/gstreamer-1.0'
|
||||
]
|
||||
pkgconfig_uninstalled_variables = ['exec_prefix=${prefix}',
|
||||
'gstreamerdir=${prefix}/subprojects/gstreamer',
|
||||
'bashhelpersdir=${gstreamerdir}/data/bash-completion/helpers',
|
||||
|
|
Loading…
Reference in a new issue