[geary/wip/handy-sub-module] Add a sub{module, project} for handy for those who don't have it



commit 5027e039fc124ab12f2ef378a6a0496ca369c4b2
Author: Michael Gratton <mike vee net>
Date:   Fri Apr 26 18:22:43 2019 +1000

    Add a sub{module,project} for handy for those who don't have it

 .gitmodules          |  3 +++
 meson.build          | 30 +++++++++++++++++++++++++-----
 subprojects/libhandy |  1 +
 3 files changed, 29 insertions(+), 5 deletions(-)
---
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..f4788ba4
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "subprojects/libhandy"]
+       path = subprojects/libhandy
+       url = https://source.puri.sm/Librem5/libhandy.git
diff --git a/meson.build b/meson.build
index a511070b..cc557b58 100644
--- a/meson.build
+++ b/meson.build
@@ -67,7 +67,7 @@ iso_codes = dependency('iso-codes')
 javascriptcoregtk = dependency('javascriptcoregtk-4.0', version: '>=' + target_webkit)
 json_glib = dependency('json-glib-1.0', version: '>= 1.0')
 libcanberra = dependency('libcanberra', version: '>= 0.28')
-libhandy = dependency('libhandy-0.0', version: '>= 0.0.9')
+libhandy = dependency('libhandy-0.0', version: '>= 0.0.9', required: false)
 libmath = cc.find_library('m')
 libsecret = dependency('libsecret-1', version: '>= 0.11')
 libsoup = dependency('libsoup-2.4', version: '>= 2.48')
@@ -87,11 +87,31 @@ if not enchant.found()
   enchant = dependency('enchant', version: '>=1.6')
 endif
 
+# Handy isn't necessarily packaged by distros, so fall back to a
+# subproject until it is.
+if not libhandy.found()
+  libhandy_subproj = subproject(
+    'libhandy',
+    default_options: [
+      'examples=false',
+      'glade_catalog=disabled',
+      'tests=false',
+    ]
+  )
+
+  libhandy = declare_dependency(
+    dependencies: [
+      libhandy_subproj.get_variable('libhandy_dep'),
+      libhandy_subproj.get_variable('libhandy_vapi'),
+    ]
+  )
+endif
+
+# Libunwind system dependencies above ensures appropriate versions,
+# but this declared depencency is what we actually build against so we
+# can include the custom VAPI correctly. We need to add unwind_lib to
+# the search path for these so Flatpak builds can find the C lib.
 if libunwind_dep.found()
-  # Libunwind system dependencies above ensures appropriate versions,
-  # but this declared depencency is what we actually build against so we
-  # can include the custom VAPI correctly. We need to add unwind_lib to
-  # the search path for these so Flatpak builds can find the C lib.
   unwind_lib = libunwind_dep.get_pkgconfig_variable('libdir')
   libunwind = declare_dependency(
      dependencies: [
diff --git a/subprojects/libhandy b/subprojects/libhandy
new file mode 160000
index 00000000..b6ff87ea
--- /dev/null
+++ b/subprojects/libhandy
@@ -0,0 +1 @@
+Subproject commit b6ff87ea07c69171aa7c743d8c2740527b525271


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