[gvfs] build: Add proper linker support check



commit aec5c9d7ccda8ddf87a596a186a4d9f8d1b2f273
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Fri Jul 13 13:08:31 2018 +0200

    build: Add proper linker support check
    
    Since meson 0.46[0], meson has added support for checking properly
    link flags support. `version-script` link flag check has been
    changed to take advantage of this support.
    
    [0] http://mesonbuild.com/Release-notes-for-0-46-0.html#new-functions-has_link_argument-and-friends

 client/meson.build        | 2 +-
 meson.build               | 6 +++---
 monitor/proxy/meson.build | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/client/meson.build b/client/meson.build
index 038b2daf..3bc4681f 100644
--- a/client/meson.build
+++ b/client/meson.build
@@ -47,7 +47,7 @@ symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
 
 ldflags = []
 if have_version_script
-  ldflags += '-Wl,--version-script,@0@'.format(symbol_map)
+  ldflags += '@0@,@1@'.format(version_script_ldflag, symbol_map)
 endif
 
 libgvfsdbus = shared_module(
diff --git a/meson.build b/meson.build
index 45f64c76..2cd2b1b7 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@ project(
   version: '1.37.90',
   license: 'LGPL2+',
   default_options: 'buildtype=debugoptimized',
-  meson_version: '>= 0.43.0'
+  meson_version: '>= 0.46.0'
 )
 
 gvfs_name = meson.project_name()
@@ -219,8 +219,8 @@ endif
 
 add_project_arguments(common_flags, language: 'c')
 
-ldflag = '-Wl,--version-script'
-have_version_script = host_machine.system().contains('linux') and cc.has_argument(ldflag)
+version_script_ldflag = '-Wl,--version-script'
+have_version_script = cc.has_link_argument('@0@,@1@'.format(version_script_ldflag, 
join_paths(meson.current_source_dir(), 'client', 'symbol.map')))
 
 gio_dep = dependency('gio-2.0')
 gio_unix_dep = dependency('gio-unix-2.0')
diff --git a/monitor/proxy/meson.build b/monitor/proxy/meson.build
index 39a1caa3..6abd0e6b 100644
--- a/monitor/proxy/meson.build
+++ b/monitor/proxy/meson.build
@@ -31,7 +31,7 @@ symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
 
 ldflags = []
 if have_version_script
-  ldflags += '-Wl,--version-script,@0@'.format(symbol_map)
+  ldflags += '@0@,@1@'.format(version_script_ldflag, symbol_map)
 endif
 
 libgioremove_volume_monitor = shared_module(


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]