diff options
author | Seungha Yang <seungha.yang@navercorp.com> | 2019-04-21 16:30:10 +0900 |
---|---|---|
committer | Seungha Yang <seungha.yang@navercorp.com> | 2019-05-03 14:03:18 +0900 |
commit | f3eb1887a25ee1c43360d71a7c43dd94fea96518 (patch) | |
tree | 9660bf7c6b398c1257b8c96e6e250908f6adb0ac | |
parent | c4a9252b612861bf70a1b8cd0b2a84eb9f5f386e (diff) | |
download | libsoup-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.build | 2 | ||||
-rw-r--r-- | libsoup/meson.build | 6 | ||||
-rw-r--r-- | meson.build | 34 |
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 ################################# |