From: Simon McVittie Date: Tue, 28 Jun 2022 12:06:35 +0000 (+0100) Subject: meson: Fix the check for --version-script support X-Git-Tag: dbus-1.15.0~32^2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64e490afe76706b64c8a4153bbc9a424e2b8f797;p=thirdparty%2Fdbus.git meson: Fix the check for --version-script support At the time we do this check, version_script has not yet been generated, so we have to use something else. Signed-off-by: Simon McVittie --- diff --git a/dbus/Makefile.am b/dbus/Makefile.am index 7e3e82e06..3c2ea87c1 100644 --- a/dbus/Makefile.am +++ b/dbus/Makefile.am @@ -330,6 +330,7 @@ endif noinst_PROGRAMS = EXTRA_DIST += meson.build +EXTRA_DIST += test-version-script # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE include $(top_srcdir)/aminclude_static.am diff --git a/dbus/meson.build b/dbus/meson.build index a4342d2dd..2fd7cc72b 100644 --- a/dbus/meson.build +++ b/dbus/meson.build @@ -172,9 +172,16 @@ version_script = configure_file( configuration: data_config, ) -version_flags = '-Wl,--version-script,@0@'.format(version_script) -if not cc.has_link_argument(version_flags) - version_flags = [] +# We can't use version_script to check for support, because it hasn't been +# generated yet, so use a static source file instead. +if cc.has_link_argument( + '-Wl,--version-script,@0@'.format( + meson.current_source_dir() / 'test-version-script' + ) +) + version_flags = ['-Wl,--version-script,@0@'.format(version_script)] +else + version_flags = [] endif libdbus = library('dbus-1', diff --git a/dbus/test-version-script b/dbus/test-version-script new file mode 100644 index 000000000..c0f8462d7 --- /dev/null +++ b/dbus/test-version-script @@ -0,0 +1,10 @@ +NOT_REALLY_LIBDBUS_1_3 { + global: + dbus_*; + local: + *; +}; +NOT_REALLY_LIBDBUS_PRIVATE_1.2.3 { + global: + _dbus_*; +};