From: Nirbheek Chauhan Date: Wed, 21 Sep 2022 13:49:45 +0000 (+0530) Subject: meson: Use implicit builtin dirs in pkgconfig generation X-Git-Tag: 1.22.0~904 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0e6278dba899f122d806994d47ee0e2c1741b34;p=platform%2Fupstream%2Fgstreamer.git 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: --- diff --git a/meson.build b/meson.build index 0df45b3..47567e6 100644 --- a/meson.build +++ b/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. diff --git a/subprojects/gst-devtools/meson.build b/subprojects/gst-devtools/meson.build index fc7205e..d0523ea 100644 --- a/subprojects/gst-devtools/meson.build +++ b/subprojects/gst-devtools/meson.build @@ -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' ]) diff --git a/subprojects/gst-docs/meson.build b/subprojects/gst-docs/meson.build index 790f217..62ea0af 100644 --- a/subprojects/gst-docs/meson.build +++ b/subprojects/gst-docs/meson.build @@ -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() diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build index b035dac..79caed7 100644 --- a/subprojects/gst-editing-services/meson.build +++ b/subprojects/gst-editing-services/meson.build @@ -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' ]) diff --git a/subprojects/gst-integration-testsuites/meson.build b/subprojects/gst-integration-testsuites/meson.build index b735fc7..f37b549 100644 --- a/subprojects/gst-integration-testsuites/meson.build +++ b/subprojects/gst-integration-testsuites/meson.build @@ -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') diff --git a/subprojects/gst-libav/meson.build b/subprojects/gst-libav/meson.build index 1cdd33c..661de7d 100644 --- a/subprojects/gst-libav/meson.build +++ b/subprojects/gst-libav/meson.build @@ -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' ]) diff --git a/subprojects/gst-omx/meson.build b/subprojects/gst-omx/meson.build index d1b149d..05c4b68 100644 --- a/subprojects/gst-omx/meson.build +++ b/subprojects/gst-omx/meson.build @@ -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' ]) diff --git a/subprojects/gst-plugins-bad/meson.build b/subprojects/gst-plugins-bad/meson.build index 90098a1..fa4423e 100644 --- a/subprojects/gst-plugins-bad/meson.build +++ b/subprojects/gst-plugins-bad/meson.build @@ -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' ]) diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build index 451ee15..42e2b29 100644 --- a/subprojects/gst-plugins-base/meson.build +++ b/subprojects/gst-plugins-base/meson.build @@ -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}', - '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'] +pkgconfig_variables = [ + 'exec_prefix=${prefix}', + 'toolsdir=${exec_prefix}/bin', + 'pluginsdir=${libdir}/gstreamer-1.0', + 'girdir=${datadir}/gir-1.0', + 'typelibdir=${libdir}/girepository-1.0', + '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') diff --git a/subprojects/gst-plugins-good/meson.build b/subprojects/gst-plugins-good/meson.build index 97a3863..e3a1b04 100644 --- a/subprojects/gst-plugins-good/meson.build +++ b/subprojects/gst-plugins-good/meson.build @@ -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' ]) diff --git a/subprojects/gst-plugins-ugly/meson.build b/subprojects/gst-plugins-ugly/meson.build index c9fe6ba..4bb67f4 100644 --- a/subprojects/gst-plugins-ugly/meson.build +++ b/subprojects/gst-plugins-ugly/meson.build @@ -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' ]) diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build index c28df16..3def112 100644 --- a/subprojects/gst-python/meson.build +++ b/subprojects/gst-python/meson.build @@ -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' ]) diff --git a/subprojects/gst-rtsp-server/meson.build b/subprojects/gst-rtsp-server/meson.build index df41235..eb86469 100644 --- a/subprojects/gst-rtsp-server/meson.build +++ b/subprojects/gst-rtsp-server/meson.build @@ -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() diff --git a/subprojects/gstreamer-sharp/meson.build b/subprojects/gstreamer-sharp/meson.build index 3c90d34..ba1ed0f 100644 --- a/subprojects/gstreamer-sharp/meson.build +++ b/subprojects/gstreamer-sharp/meson.build @@ -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='' diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build index fa75c1f..167f288 100644 --- a/subprojects/gstreamer-vaapi/meson.build +++ b/subprojects/gstreamer-vaapi/meson.build @@ -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' ]) diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build index 85e36ef..c719e79 100644 --- a/subprojects/gstreamer/meson.build +++ b/subprojects/gstreamer/meson.build @@ -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}', - '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_variables = [ + 'exec_prefix=${prefix}', + 'toolsdir=${exec_prefix}/bin', + 'pluginsdir=${libdir}/gstreamer-1.0', + 'girdir=${datadir}/gir-1.0', + 'typelibdir=${libdir}/girepository-1.0', + 'pluginscannerdir=${libexecdir}/gstreamer-1.0' +] pkgconfig_uninstalled_variables = ['exec_prefix=${prefix}', 'gstreamerdir=${prefix}/subprojects/gstreamer', 'bashhelpersdir=${gstreamerdir}/data/bash-completion/helpers',