]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
meson: Only use the --version-script linker flag where it is supported
authorJordan Williams <jordan@jwillikers.com>
Mon, 8 Apr 2024 17:02:52 +0000 (12:02 -0500)
committerJordan Williams <jordan@jwillikers.com>
Mon, 15 Apr 2024 12:25:55 +0000 (07:25 -0500)
macOS does not support the --version-script linker flag.
Only use it if it is available.

Signed-off-by: Jordan Williams <jordan@jwillikers.com>
(cherry picked from commit 21da737099626a5cf00e1e0719ed2262aae6e2ea)

libblkid/meson.build
libuuid/meson.build

index 5a28bdfcb84e1fc6befc145dc9fafaa17e570270..5b4ed6254c9fd1b352b07e719597a4668bb157a6 100644 (file)
@@ -131,14 +131,22 @@ if build_libblkid and not have_dirfd and not have_ddfd
   error('neither dirfd nor ddfd are available')
 endif
 
+libblkid_link_depends = []
+libblkid_link_args = []
+
+if cc.has_link_argument('-Wl,--version-script=@0@'.format(libblkid_sym_path))
+       libblkid_link_depends += [libblkid_sym]
+       libblkid_link_args += ['-Wl,--version-script=@0@'.format(libblkid_sym_path)]
+endif
+
 lib_blkid = both_libraries(
   'blkid',
   list_h,
   lib_blkid_sources,
   include_directories : [dir_include, dir_libblkid],
-  link_depends : libblkid_sym,
+  link_depends : libblkid_link_depends,
   version : libblkid_version,
-  link_args : ['-Wl,--version-script=@0@'.format(libblkid_sym_path)],
+  link_args : libblkid_link_args,
   link_with : lib_common,
   dependencies : build_libblkid ? [lib_econf] : disabler(),
   install : build_libblkid)
index a801b4e656caca5d5f3af50a1fd6f0640cefda9e..b67b3d5e7225029c9dda01556c38e9584ddf5388 100644 (file)
@@ -20,6 +20,14 @@ unparse_c = files('src/unparse.c')
 libuuid_sym = 'src/libuuid.sym'
 libuuid_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libuuid_sym)
 
+libuuid_link_depends = []
+libuuid_link_args = []
+
+if cc.has_link_argument('-Wl,--version-script=@0@'.format(libuuid_sym_path))
+       libuuid_link_depends += [libuuid_sym]
+       libuuid_link_args += ['-Wl,--version-script=@0@'.format(libuuid_sym_path)]
+endif
+
 lib_uuid = both_libraries(
   'uuid',
   list_h,
@@ -31,9 +39,9 @@ lib_uuid = both_libraries(
   md5_c,
   sha1_c,
   include_directories : [dir_include, dir_libuuid],
-  link_depends : libuuid_sym,
+  link_depends : libuuid_link_depends,
   version : libuuid_version,
-  link_args : ['-Wl,--version-script=@0@'.format(libuuid_sym_path)],
+  link_args : libuuid_link_args,
   dependencies : [socket_libs,
                   build_libuuid ? [] : disabler()],
   install : build_libuuid)