From 5b63816e82287808e81b8603a528af3cc6fab354 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Thu, 7 Jan 2021 20:59:17 +0800 Subject: [PATCH] Add libiconv dep to meson build again Build success on macOS and ubuntu. [Retrieved from: https://github.com/rockdaboot/libpsl/commit/5b63816e82287808e81b8603a528af3cc6fab354] Signed-off-by: Fabrice Fontaine --- meson.build | 14 ++++++++++++++ src/meson.build | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index f248171..fb2de31 100644 --- a/meson.build +++ b/meson.build @@ -20,6 +20,7 @@ libicu_dep = notfound libidn_dep = notfound libunistring = notfound networking_deps = notfound +libiconv_dep = notfound # FIXME: Cleanup this when Meson gets 'feature-combo': # https://github.com/mesonbuild/meson/issues/4566 @@ -86,6 +87,19 @@ endif if libidn2_dep.found() or libidn_dep.found() # Check for libunistring, we need it for psl_str_to_utf8lower() libunistring = cc.find_library('unistring') + found_iconv = false + if cc.has_function('iconv_open') + libiconv_dep = [] + found_iconv = true + endif + if not found_iconv and cc.has_header_symbol('iconv.h', 'iconv_open') + libiconv_dep = [cc.find_library('iconv')] + found_iconv = true + endif + + if not found_iconv + error('iconv implementation not found') + endif endif if host_machine.system() == 'windows' diff --git a/src/meson.build b/src/meson.build index 0d1dcdf..746bf44 100644 --- a/src/meson.build +++ b/src/meson.build @@ -19,7 +19,7 @@ cargs = [ libpsl = library('psl', sources, suffixes_dafsa_h, include_directories : [configinc, includedir], c_args : cargs, - dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps], + dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps, libiconv_dep], version: lt_version, install: true, )