[gnome-builder] build: check if link scripts are supported
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] build: check if link scripts are supported
- Date: Sun, 3 Sep 2017 21:46:53 +0000 (UTC)
commit 9f9891b583f5e7aceced99c959962afb51f9bf85
Author: Christian Hergert <chergert redhat com>
Date: Sun Sep 3 14:46:30 2017 -0700
build: check if link scripts are supported
contrib/gstyle/meson.build | 14 +++++++++-----
libide/meson.build | 7 ++++++-
meson.build | 6 ++++++
3 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/contrib/gstyle/meson.build b/contrib/gstyle/meson.build
index 3c1c338..4652a37 100644
--- a/contrib/gstyle/meson.build
+++ b/contrib/gstyle/meson.build
@@ -75,14 +75,18 @@ libgstyle_deps = [
libm_dep,
]
-libgstyle_link_args = '-Wl,--version-script=' + join_paths(meson.current_source_dir(), 'gstyle.map')
+libgstyle_link_args = []
+if ld_supports_version_script
+libgstyle_link_args += ['-Wl,--version-script=' + join_paths(meson.current_source_dir(), 'gstyle.map')]
+endif
+
libgstyle = shared_library('gstyle-private', libgstyle_sources,
dependencies: libgstyle_deps,
- link_args: libgstyle_link_args,
+ link_args: libgstyle_link_args,
link_depends: 'gstyle.map',
- version: '0.0.0',
- install: true,
- install_dir: pkglibdir,
+ version: '0.0.0',
+ install: true,
+ install_dir: pkglibdir,
)
libgstyle_dep = declare_dependency(
diff --git a/libide/meson.build b/libide/meson.build
index c12c4f2..1b41a64 100644
--- a/libide/meson.build
+++ b/libide/meson.build
@@ -718,12 +718,17 @@ endif
install_data('Ide.py', install_dir: pygobject_override_dir)
+libide_link_args = []
+if ld_supports_version_script
+libide_link_args += [ '-Wl,--version-script,' + join_paths(meson.current_source_dir(), 'ide.map') ]
+endif
+
libide = shared_library('ide-' + libide_api_version,
libide_resources + libide_icons_resources + libide_sources,
dependencies: libide_deps,
link_depends: 'ide.map',
c_args: libide_args,
- link_args: [ '-Wl,--version-script,' + join_paths(meson.current_source_dir(), 'ide.map') ],
+ link_args: libide_link_args,
install: true,
install_dir: pkglibdir,
install_rpath: pkglibdir_abs,
diff --git a/meson.build b/meson.build
index ae75eae..69b63e1 100644
--- a/meson.build
+++ b/meson.build
@@ -159,6 +159,12 @@ configure_file(
configuration: conf
)
+# Check if we can use version scripts for ABI exports
+ld_supports_version_script = cc.links('''
+ int main (void) { return 0; }
+''', args: '-Wl,--version-script,' + join_paths(meson.source_root(), 'libide/ide.map'))
+message('Linker supports --version-script: @0@'.format(ld_supports_version_script))
+
# Commonly used deps
libgio_dep = dependency('gio-2.0', version: '>= 2.53.2')
libgiounix_dep = dependency('gio-unix-2.0')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]