summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-04-21 16:30:10 +0900
committerSeungha Yang <seungha.yang@navercorp.com>2019-05-03 14:03:18 +0900
commitf3eb1887a25ee1c43360d71a7c43dd94fea96518 (patch)
tree9660bf7c6b398c1257b8c96e6e250908f6adb0ac /meson.build
parentc4a9252b612861bf70a1b8cd0b2a84eb9f5f386e (diff)
downloadlibsoup-f3eb1887a25ee1c43360d71a7c43dd94fea96518.tar.gz
meson: Check TLS support only when external glib dependency is available
meson does not allow compile with internal dependency (i.e., fallback dependency)
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build34
1 files changed, 20 insertions, 14 deletions
diff --git a/meson.build b/meson.build
index 120c9c01..0e4a1dcf 100644
--- a/meson.build
+++ b/meson.build
@@ -68,12 +68,14 @@ endif
add_project_arguments(common_flags, language : 'c')
glib_required_version = '>= 2.38'
-glib_dep = [dependency('glib-2.0', version : glib_required_version,
- fallback: ['glib', 'libglib_dep']),
- dependency('gobject-2.0', version : glib_required_version,
- fallback: ['glib', 'libgobject_dep']),
- dependency('gio-2.0', version : glib_required_version,
- fallback: ['glib', 'libgio_dep'])]
+glib_dep = dependency('glib-2.0', version : glib_required_version,
+ fallback: ['glib', 'libglib_dep'])
+gobject_dep = dependency('gobject-2.0', version : glib_required_version,
+ fallback: ['glib', 'libgobject_dep'])
+gio_dep = dependency('gio-2.0', version : glib_required_version,
+ fallback: ['glib', 'libgio_dep'])
+
+glib_deps = [glib_dep, gobject_dep, gio_dep]
sqlite_dep = dependency('sqlite3', required: false,
fallback: ['sqlite', 'sqlite_dep'])
@@ -129,14 +131,18 @@ endif
###################
enable_tls_check = get_option('tls_check')
if enable_tls_check
- check_gio_tls_src = '''#include <gio/gio.h>
- int main(void) {
- return !g_tls_backend_supports_tls (g_tls_backend_get_default ());
- }
- '''
-
- assert(cc.compiles(check_gio_tls_src, name : 'GIO has real TLS support', dependencies : glib_dep),
- 'libsoup requires glib-networking or glib-openssl for TLS support')
+ if gio_dep.type_name() == 'internal'
+ warning('TLS check was enabled but required dependency is internal')
+ else
+ check_gio_tls_src = '''#include <gio/gio.h>
+ int main(void) {
+ return !g_tls_backend_supports_tls (g_tls_backend_get_default ());
+ }
+ '''
+
+ assert(cc.compiles(check_gio_tls_src, name : 'GIO has real TLS support', dependencies : glib_deps),
+ 'libsoup requires glib-networking or glib-openssl for TLS support')
+ endif
endif
#################################