]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: Don't attempt to use version scripts on macOS
authorAndrea Bolognani <abologna@redhat.com>
Thu, 5 May 2022 13:29:00 +0000 (15:29 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 6 May 2022 09:12:48 +0000 (11:12 +0200)
macOS libraries don't support symbol versioning, so the only
result that we achieve by passing additional flags to the linker
is a bunch of messages like

  ld: warning: ignoring file .../libvirt/build/src/libvirt.syms,
  building for macOS-x86_64 but attempting to link with file built
  for unknown-unsupported file format ( 0x23 0x20 0x57 0x41 ... )

being produced during the build.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
meson.build
src/admin/meson.build
src/meson.build
tools/nss/meson.build

index 17cc82954374b9a4e90ef3d6a54fb9ec44cc5c2a..5787397dcdb43b2dc919190aa350a59862b7c27b 100644 (file)
@@ -510,6 +510,9 @@ libvirt_no_indirect = cc.get_supported_link_arguments([
 
 if host_machine.system() == 'windows'
   version_script_flags = '-Wl,'
+elif host_machine.system() == 'darwin'
+  # macOS libraries don't support symbol versioning
+  version_script_flags = ''
 else
   test_file = '@0@/src/libvirt_qemu.syms'.format(meson.source_root())
   if cc.has_link_argument('-Wl,--version-script=@0@'.format(test_file))
index cacd6feb25f03d1b58f08f3b1a7f22f338601851..692cc128a311128091fb1e759a5c8b3433b69e6f 100644 (file)
@@ -92,14 +92,16 @@ endif
 
 libvirt_admin_link_args = [
   libvirt_nodelete,
-  '@0@@1@'.format(
+]
+libvirt_admin_link_depends = []
+
+if version_script_flags != ''
+  libvirt_admin_link_args += '@0@@1@'.format(
     version_script_flags,
     libvirt_admin_syms_path,
-  ),
-]
-libvirt_admin_link_depends = [
-  libvirt_admin_syms_file,
-]
+  )
+  libvirt_admin_link_depends += libvirt_admin_syms_file
+endif
 
 if conf.has('WITH_REMOTE')
   admin_driver_lib = static_library(
index ca0e756e5c8eced833b99ad34a9673c45d207d62..88a6f15760ecb6c5c4f072e29ed28d0b48f242eb 100644 (file)
@@ -379,14 +379,16 @@ libvirt_link_args = [
   libvirt_flat_namespace,
   libvirt_no_undefined,
   libvirt_nodelete,
-  '@0@@1@'.format(
+]
+libvirt_link_depends = []
+
+if version_script_flags != ''
+  libvirt_link_args += '@0@@1@'.format(
     version_script_flags,
     libvirt_syms_path,
-  ),
-]
-libvirt_link_depends = [
-  libvirt_syms_file,
-]
+  )
+  libvirt_link_depends += libvirt_syms_file
+endif
 
 libvirt_lib = shared_library(
   'virt',
@@ -431,14 +433,16 @@ endif
 
 libvirt_qemu_link_args = [
   libvirt_nodelete,
-  '@0@@1@'.format(
+]
+libvirt_qemu_link_depends = []
+
+if version_script_flags != ''
+  libvirt_qemu_link_args += '@0@@1@'.format(
     version_script_flags,
     libvirt_qemu_syms_path,
-  ),
-]
-libvirt_qemu_link_depends = [
-  libvirt_qemu_syms_file,
-]
+  )
+  libvirt_qemu_link_depends += libvirt_qemu_syms_file
+endif
 
 libvirt_qemu_sources = files(
   'libvirt-qemu.c',
@@ -488,14 +492,16 @@ endif
 
 libvirt_lxc_link_args = [
   libvirt_nodelete,
-  '@0@@1@'.format(
+]
+libvirt_lxc_link_depends = []
+
+if version_script_flags != ''
+  libvirt_lxc_link_args += '@0@@1@'.format(
     version_script_flags,
     libvirt_lxc_syms_path,
-  ),
-]
-libvirt_lxc_link_depends = [
-  libvirt_lxc_syms_file,
-]
+  )
+  libvirt_lxc_link_depends += libvirt_lxc_syms_file
+endif
 
 libvirt_lxc_sources = files(
   'libvirt-lxc.c',
index c827b865b354a48c628b3b198f989e61e4b6abd8..85e2838fb7feec014a1ca15eda8bd95d608ba2bc 100644 (file)
@@ -55,11 +55,14 @@ nss_libvirt_syms_path = nss_libvirt_syms_file
 nss_libvirt_link_args = [
   libvirt_export_dynamic,
   coverage_flags,
-  '@0@@1@'.format(
+]
+
+if version_script_flags != ''
+  nss_libvirt_link_args += '@0@@1@'.format(
     version_script_flags,
     nss_libvirt_syms_path,
-  ),
-]
+  )
+endif
 
 nss_libvirt_lib = shared_library(
   'nss_libvirt',
@@ -79,11 +82,14 @@ nss_libvirt_guest_syms_path = nss_libvirt_guest_syms_file
 nss_libvirt_guest_link_args = [
   libvirt_export_dynamic,
   coverage_flags,
-  '@0@@1@'.format(
+]
+
+if version_script_flags != ''
+  nss_libvirt_guest_link_args += '@0@@1@'.format(
     version_script_flags,
     nss_libvirt_guest_syms_path,
-  ),
-]
+  )
+endif
 
 nss_libvirt_guest_lib = shared_library(
   'nss_libvirt_guest',