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_*; +};