summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2021-01-11 14:21:58 +0100
committerBastien Nocera <hadess@hadess.net>2021-01-12 10:27:59 +0100
commitf82ba4562dbe7b2c5b9ff76f9bab9ebd0b1a1072 (patch)
tree29bcbfc83d2ed83438e547382e93c4ba34335963
parentc0c39a54b67849efe17367fa9b6f1ca7ad58349b (diff)
downloadlibgweather-f82ba4562dbe7b2c5b9ff76f9bab9ebd0b1a1072.tar.gz
build: Use external file as a symbol export map
Rather than relying on GWEATHER_EXTERN.
-rw-r--r--libgweather/libgweather.map10
-rw-r--r--libgweather/meson.build10
2 files changed, 20 insertions, 0 deletions
diff --git a/libgweather/libgweather.map b/libgweather/libgweather.map
new file mode 100644
index 0000000..0e89eac
--- /dev/null
+++ b/libgweather/libgweather.map
@@ -0,0 +1,10 @@
+{
+ global:
+ gweather_*;
+ _gweather_location_reset_world;
+ _radians_to_degrees_str;
+
+ local:
+ *;
+};
+
diff --git a/libgweather/meson.build b/libgweather/meson.build
index 7337214..6a055a4 100644
--- a/libgweather/meson.build
+++ b/libgweather/meson.build
@@ -6,6 +6,14 @@ add_project_arguments([
], language: 'c')
header_subdir = 'libgweather-3.0/libgweather'
+libgweather_map = join_paths(meson.current_source_dir(), 'libgweather.map')
+link_depends = []
+link_args = []
+
+if c_compiler.has_link_argument('-Wl,--version-script,' + libgweather_map)
+ link_depends += libgweather_map
+ link_args += ['-Wl,--version-script,' + libgweather_map]
+endif
versionconf = configuration_data()
versionconf.set('GWEATHER_MAJOR_VERSION', libgweather_version[0])
@@ -59,6 +67,8 @@ lib_libgweather = shared_library('gweather-3',
gweather_c_sources,
include_directories: root_inc,
dependencies: deps_libgweather,
+ link_depends: link_depends,
+ link_args: link_args,
version: libgweather_so_version,
darwin_versions: libgweather_darwin_versions,
install: true,