mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-06 21:13:40 +00:00
9c64673e4d
https://gitlab.gnome.org/GNOME/glib/-/compare/2.72.3...2.73.2 Changelog-Reviewed-By: jtojnar
142 lines
5.0 KiB
Diff
142 lines
5.0 KiB
Diff
From b804e4b82cd8e85631112d935543c62ef56783e5 Mon Sep 17 00:00:00 2001
|
|
From: Alyssa Ross <hi@alyssa.is>
|
|
Date: Tue, 23 Aug 2022 13:13:44 +0000
|
|
Subject: [PATCH] tests: skip shared libs if default_library=static
|
|
|
|
Otherwise, the build will fail when the toolchain is static-only, even
|
|
with -Ddefault_library=static. I talked to a Meson developer in their
|
|
IRC channel, who told me that the correct fix was to ensure that
|
|
shared_library is only used if default_library != static.
|
|
|
|
Part-of: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867
|
|
[Backported to 2.72.3]
|
|
---
|
|
gio/tests/meson.build | 43 +++++++++++++++++++++++-------------------
|
|
glib/tests/meson.build | 2 +-
|
|
gmodule/tests/meson.build | 30 +++++++++++++++--------------
|
|
3 files changed, 41 insertions(+), 34 deletions(-)
|
|
|
|
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
|
|
index 3ed23a5f2..7b1aba80d 100644
|
|
--- a/gio/tests/meson.build
|
|
+++ b/gio/tests/meson.build
|
|
@@ -203,7 +203,7 @@ if host_machine.system() != 'windows'
|
|
}
|
|
|
|
# LD_PRELOAD modules don't work so well with AddressSanitizer
|
|
- if have_rtld_next and get_option('b_sanitize') == 'none'
|
|
+ if have_rtld_next and get_option('default_library') != 'static' and get_option('b_sanitize') == 'none'
|
|
gio_tests += {
|
|
'gsocketclient-slow' : {
|
|
'depends' : [
|
|
@@ -607,24 +607,26 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
|
|
|
compiler_type = '--compiler=@0@'.format(cc.get_id())
|
|
|
|
- plugin_resources_c = custom_target('plugin-resources.c',
|
|
- input : 'test4.gresource.xml',
|
|
- output : 'plugin-resources.c',
|
|
- command : [glib_compile_resources,
|
|
- compiler_type,
|
|
- '--target=@OUTPUT@',
|
|
- '--sourcedir=' + meson.current_source_dir(),
|
|
- '--internal',
|
|
- '--generate-source',
|
|
- '--c-name', '_g_plugin',
|
|
- '@INPUT@'])
|
|
+ if get_option('default_library') != 'static'
|
|
+ plugin_resources_c = custom_target('plugin-resources.c',
|
|
+ input : 'test4.gresource.xml',
|
|
+ output : 'plugin-resources.c',
|
|
+ command : [glib_compile_resources,
|
|
+ compiler_type,
|
|
+ '--target=@OUTPUT@',
|
|
+ '--sourcedir=' + meson.current_source_dir(),
|
|
+ '--internal',
|
|
+ '--generate-source',
|
|
+ '--c-name', '_g_plugin',
|
|
+ '@INPUT@'])
|
|
|
|
- shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c,
|
|
- link_args : export_dynamic_ldflags,
|
|
- dependencies : common_gio_tests_deps,
|
|
- install_dir : installed_tests_execdir,
|
|
- install : installed_tests_enabled
|
|
- )
|
|
+ shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c,
|
|
+ link_args : export_dynamic_ldflags,
|
|
+ dependencies : common_gio_tests_deps,
|
|
+ install_dir : installed_tests_execdir,
|
|
+ install : installed_tests_enabled
|
|
+ )
|
|
+ endif
|
|
|
|
# referenced by test2.gresource.xml
|
|
big_test_resource = custom_target(
|
|
@@ -917,4 +919,7 @@ if installed_tests_enabled
|
|
endif
|
|
|
|
subdir('services')
|
|
-subdir('modules')
|
|
+
|
|
+if get_option('default_library') != 'static'
|
|
+ subdir('modules')
|
|
+endif
|
|
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
|
|
index 301158e0f..6203ff45e 100644
|
|
--- a/glib/tests/meson.build
|
|
+++ b/glib/tests/meson.build
|
|
@@ -172,7 +172,7 @@ else
|
|
'include' : {},
|
|
'unix' : {},
|
|
}
|
|
- if have_rtld_next
|
|
+ if have_rtld_next and get_option('default_library') != 'static'
|
|
glib_tests += {
|
|
'gutils-user-database' : {
|
|
'depends' : [
|
|
diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build
|
|
index c95fa1d00..25144c941 100644
|
|
--- a/gmodule/tests/meson.build
|
|
+++ b/gmodule/tests/meson.build
|
|
@@ -72,20 +72,22 @@ if ['darwin', 'ios'].contains(host_machine.system())
|
|
module_suffix = 'so'
|
|
endif
|
|
|
|
-foreach module : ['moduletestplugin_a', 'moduletestplugin_b']
|
|
- shared_module(module + '_plugin', 'lib@0@.c'.format(module),
|
|
- dependencies : [libglib_dep, libgmodule_dep],
|
|
- install_dir : installed_tests_execdir,
|
|
- install : installed_tests_enabled,
|
|
- name_suffix : module_suffix
|
|
- )
|
|
- shared_library(module + '_library', 'lib@0@.c'.format(module),
|
|
- dependencies : [libglib_dep, libgmodule_dep],
|
|
- install_dir : installed_tests_execdir,
|
|
- install : installed_tests_enabled,
|
|
- name_suffix : module_suffix
|
|
- )
|
|
-endforeach
|
|
+if get_option('default_library') != 'static'
|
|
+ foreach module : ['moduletestplugin_a', 'moduletestplugin_b']
|
|
+ shared_module(module + '_plugin', 'lib@0@.c'.format(module),
|
|
+ dependencies : [libglib_dep, libgmodule_dep],
|
|
+ install_dir : installed_tests_execdir,
|
|
+ install : installed_tests_enabled,
|
|
+ name_suffix : module_suffix
|
|
+ )
|
|
+ shared_library(module + '_library', 'lib@0@.c'.format(module),
|
|
+ dependencies : [libglib_dep, libgmodule_dep],
|
|
+ install_dir : installed_tests_execdir,
|
|
+ install : installed_tests_enabled,
|
|
+ name_suffix : module_suffix
|
|
+ )
|
|
+ endforeach
|
|
+endif
|
|
|
|
common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS']
|
|
common_deps = [libm, thread_dep, libglib_dep]
|
|
--
|
|
2.37.1
|
|
|