diff options
author | Simon McVittie <smcv@collabora.com> | 2022-06-28 13:06:35 +0100 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2022-07-13 20:36:13 +0100 |
commit | 64e490afe76706b64c8a4153bbc9a424e2b8f797 (patch) | |
tree | cd3b9be5b104b1743232fcd7dad8cf95d7dfb8be | |
parent | 154cc9d5ca0bfd09a34cc834b68105b25c0bad30 (diff) |
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 <smcv@collabora.com>
-rw-r--r-- | dbus/Makefile.am | 1 | ||||
-rw-r--r-- | dbus/meson.build | 13 | ||||
-rw-r--r-- | dbus/test-version-script | 10 |
3 files changed, 21 insertions, 3 deletions
diff --git a/dbus/Makefile.am b/dbus/Makefile.am index 7e3e82e0..3c2ea87c 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 a4342d2d..2fd7cc72 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 00000000..c0f8462d --- /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_*; +}; |