mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 19:21:06 +00:00
meson: Ensure that soup plugin is built on Windows
The libpsl subproject wasn't building successfully and CI didn't notice because: 1. The plugin wasn't explicitly enabled 2. Even when the plugin is explicitly enabled, the dep is not required at build time when not building a static plugin So fix all of these issues. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5038>
This commit is contained in:
parent
fdb3cdf1fd
commit
62d3e8fc32
5 changed files with 13 additions and 4 deletions
|
@ -427,6 +427,8 @@ build fedora clang:
|
||||||
-Dvaapi=disabled
|
-Dvaapi=disabled
|
||||||
-Dgst-plugins-base:pango=enabled
|
-Dgst-plugins-base:pango=enabled
|
||||||
-Dgst-plugins-good:cairo=enabled
|
-Dgst-plugins-good:cairo=enabled
|
||||||
|
-Dgst-plugins-good:soup=enabled
|
||||||
|
-Dgst-plugins-good:soup-lookup-dep=true
|
||||||
-Dgst-plugins-bad:d3d11-wgc=enabled
|
-Dgst-plugins-bad:d3d11-wgc=enabled
|
||||||
rules:
|
rules:
|
||||||
# If this matches, it means the pipeline is running against either the main
|
# If this matches, it means the pipeline is running against either the main
|
||||||
|
@ -490,9 +492,12 @@ build vs2022 arm64:
|
||||||
ARCH: 'arm64'
|
ARCH: 'arm64'
|
||||||
# pango pulls in cairo which pulls in pixman which doesn't build because of
|
# pango pulls in cairo which pulls in pixman which doesn't build because of
|
||||||
# https://github.com/mesonbuild/meson/issues/9889
|
# https://github.com/mesonbuild/meson/issues/9889
|
||||||
|
# libsoup requires glib-compile-resources, which isn't available in a cross
|
||||||
|
# build
|
||||||
MESON_CROSS_ARGS: >-
|
MESON_CROSS_ARGS: >-
|
||||||
-Dgst-plugins-base:pango=disabled
|
-Dgst-plugins-base:pango=disabled
|
||||||
-Dgst-plugins-good:cairo=disabled
|
-Dgst-plugins-good:cairo=disabled
|
||||||
|
-Dgst-plugins-good:soup-lookup-dep=false
|
||||||
-Dgst-devtools:cairo=disabled
|
-Dgst-devtools:cairo=disabled
|
||||||
--cross-file ci/meson/vs2022-paths.ini
|
--cross-file ci/meson/vs2022-paths.ini
|
||||||
--cross-file ci/meson/vs2022-arm64-cross.ini
|
--cross-file ci/meson/vs2022-arm64-cross.ini
|
||||||
|
|
|
@ -17,7 +17,7 @@ libdl_dep = cc.find_library('dl', required: false)
|
||||||
static_args = []
|
static_args = []
|
||||||
static_deps = []
|
static_deps = []
|
||||||
default_library = get_option('default_library')
|
default_library = get_option('default_library')
|
||||||
if default_library in ['static', 'both']
|
if default_library in ['static', 'both'] or get_option('soup-lookup-dep')
|
||||||
libsoup2_dep = dependency('libsoup-2.4', version : '>=2.48',
|
libsoup2_dep = dependency('libsoup-2.4', version : '>=2.48',
|
||||||
required : false, fallback : ['libsoup', 'libsoup_dep'],
|
required : false, fallback : ['libsoup', 'libsoup_dep'],
|
||||||
default_options: ['sysprof=disabled'])
|
default_options: ['sysprof=disabled'])
|
||||||
|
|
|
@ -69,7 +69,6 @@ option('osxvideo', type : 'feature', value : 'auto', description : 'macOS Cocoa
|
||||||
option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin')
|
option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin')
|
||||||
option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin')
|
option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin')
|
||||||
option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
|
option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
|
||||||
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
|
|
||||||
option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin')
|
option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin')
|
||||||
option('taglib', type : 'feature', value : 'auto', description : 'Tag-writing plugin based on taglib')
|
option('taglib', type : 'feature', value : 'auto', description : 'Tag-writing plugin based on taglib')
|
||||||
option('twolame', type : 'feature', value : 'auto', description : 'twolame mp2 audio encoder plugin')
|
option('twolame', type : 'feature', value : 'auto', description : 'twolame mp2 audio encoder plugin')
|
||||||
|
@ -86,6 +85,11 @@ option('rpicamsrc', type : 'feature', value : 'auto', description : 'Raspberry P
|
||||||
option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found')
|
option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found')
|
||||||
option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found')
|
option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found')
|
||||||
|
|
||||||
|
# soup plugin options
|
||||||
|
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
|
||||||
|
option('soup-lookup-dep', type : 'boolean', value : 'false',
|
||||||
|
description : 'Lookup libsoup dep at build time even when building a shared plugin')
|
||||||
|
|
||||||
# Qt plugin options
|
# Qt plugin options
|
||||||
option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
|
option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
|
||||||
description: 'Method to use to find Qt')
|
description: 'Method to use to find Qt')
|
||||||
|
|
|
@ -3,4 +3,4 @@ directory = libpsl-0.21.2
|
||||||
source_url = https://github.com/rockdaboot/libpsl/releases/download/0.21.2/libpsl-0.21.2.tar.gz
|
source_url = https://github.com/rockdaboot/libpsl/releases/download/0.21.2/libpsl-0.21.2.tar.gz
|
||||||
source_filename = libpsl-0.21.2.tar.gz
|
source_filename = libpsl-0.21.2.tar.gz
|
||||||
source_hash = e35991b6e17001afa2c0ca3b10c357650602b92596209b7492802f3768a6285f
|
source_hash = e35991b6e17001afa2c0ca3b10c357650602b92596209b7492802f3768a6285f
|
||||||
diff_files = libpsl-0.21.2/0001-tools-psl.c-Fix-build-on-Windows.patch, libpsl-0.21.2/0002-tools-psl.c-Fix-logic-fallout-and-warning.patch, libps-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch
|
diff_files = libpsl-0.21.2/0001-tools-psl.c-Fix-build-on-Windows.patch, libpsl-0.21.2/0002-tools-psl.c-Fix-logic-fallout-and-warning.patch, libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch
|
||||||
|
|
|
@ -34,7 +34,7 @@ index c2381af..d8c266d 100644
|
||||||
--- a/tests/meson.build
|
--- a/tests/meson.build
|
||||||
+++ b/tests/meson.build
|
+++ b/tests/meson.build
|
||||||
@@ -10,13 +10,14 @@ psl_ascii_dafsa = custom_target('psl_ascii.dafsa',
|
@@ -10,13 +10,14 @@ psl_ascii_dafsa = custom_target('psl_ascii.dafsa',
|
||||||
build_by_default: false,
|
output : 'psl_ascii.dafsa',
|
||||||
command : [python, psl_make_dafsa, '--output-format=binary', '--encoding=ascii', '@INPUT@', '@OUTPUT@'])
|
command : [python, psl_make_dafsa, '--output-format=binary', '--encoding=ascii', '@INPUT@', '@OUTPUT@'])
|
||||||
|
|
||||||
+fsmod = import('fs')
|
+fsmod = import('fs')
|
||||||
|
|
Loading…
Reference in a new issue