[dia/wip/jtojnar/darwin-modules] build: Use proper plug-in extension on Darwin



commit 26a1103827e9397fff291eecc061b083b61d8140
Author: Jan Tojnar <jtojnar gmail com>
Date:   Tue Apr 7 13:06:08 2020 +0200

    build: Use proper plug-in extension on Darwin
    
    GLib expects .so on MacOS, whereas Meson uses dylib.

 plug-ins/layout/meson.build |  3 ++-
 plug-ins/meson.build        | 11 ++++++++++-
 plug-ins/python/meson.build |  3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/plug-ins/layout/meson.build b/plug-ins/layout/meson.build
index da5dd2df..ae85bdf5 100644
--- a/plug-ins/layout/meson.build
+++ b/plug-ins/layout/meson.build
@@ -20,5 +20,6 @@ shared_module(
     include_directories: [configuration_inc, diaapp_inc],
     link_with: [diaapp], # Naughty
     install: true,
-    install_dir: dialibdir
+    install_dir: dialibdir,
+    name_suffix: g_module_suffix,
 )
diff --git a/plug-ins/meson.build b/plug-ins/meson.build
index 554625d4..3ba11018 100644
--- a/plug-ins/meson.build
+++ b/plug-ins/meson.build
@@ -4,6 +4,14 @@
 # Fourth is whether to install or not
 install_plugins_desc = []
 
+# Follow the file extensions used by GLib
+# https://developer.gnome.org/glib/stable/glib-Dynamic-Loading-of-Modules.html#G-MODULE-SUFFIX:CAPS
+if host_machine.system() == 'windows'
+  g_module_suffix = 'dll'
+else
+  g_module_suffix = 'so'
+endif
+
 # Note that most of these simply append to
 # install_plugins_desc.  Some however have
 # non-standard compilations and therefore are
@@ -41,6 +49,7 @@ foreach p : install_plugins_desc
         dependencies: [libc_dep, libgtk_dep, libm_dep, libxml_dep, libdia_dep] + p.get('extra_deps', []),
         include_directories: [configuration_inc],
         install: p.get('install', true),
-        install_dir: dialibdir
+        install_dir: dialibdir,
+        name_suffix: g_module_suffix,
     )
 endforeach
diff --git a/plug-ins/python/meson.build b/plug-ins/python/meson.build
index 35d2b6c5..92488a61 100644
--- a/plug-ins/python/meson.build
+++ b/plug-ins/python/meson.build
@@ -54,7 +54,8 @@ if py_dep.found()
         include_directories: [configuration_inc, diaapp_inc],
         link_with: [diaapp], # Naughty
         install: true,
-        install_dir: dialibdir
+        install_dir: dialibdir,
+        name_suffix: g_module_suffix,
     )
 
     install_data(python_scripts, install_dir: pkgdatadir / 'python')


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