summaryrefslogtreecommitdiff
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
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)
-rw-r--r--examples/meson.build2
-rw-r--r--libsoup/meson.build6
-rw-r--r--meson.build34
3 files changed, 24 insertions, 18 deletions
diff --git a/examples/meson.build b/examples/meson.build
index b290afca..a553aac3 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -1,5 +1,5 @@
deps = [
- glib_dep,
+ glib_deps,
libsoup_dep
]
diff --git a/libsoup/meson.build b/libsoup/meson.build
index 861cba2f..ed6efdbd 100644
--- a/libsoup/meson.build
+++ b/libsoup/meson.build
@@ -216,7 +216,7 @@ libsoup_c_args = [
]
deps = [
- glib_dep,
+ glib_deps,
libxml_dep,
sqlite_dep,
libpsl_dep,
@@ -236,7 +236,7 @@ libsoup = library('soup-@0@'.format(apiversion),
dependencies : deps)
pkg.generate(libsoup,
- libraries : glib_dep,
+ libraries : glib_deps,
name : meson.project_name(),
description : 'A glib-based HTTP library',
filebase : libsoup_api_name,
@@ -246,7 +246,7 @@ pkg.generate(libsoup,
libsoup_dep = declare_dependency(link_with : libsoup,
include_directories : configinc,
sources : soup_enum_h,
- dependencies : [ platform_deps, glib_dep ])
+ dependencies : [ platform_deps, glib_deps ])
if enable_gnome
soup_gnome_api_name = 'soup-gnome-' + apiversion
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
#################################