From 3882a5a263caa681778a21b1f5f13a1b64536796 Mon Sep 17 00:00:00 2001 From: aeolio Date: Wed, 20 Apr 2022 16:10:39 +0200 Subject: [PATCH] src/lib/icu: fix iconv() detection when libiconv is installed --- src/lib/icu/meson.build | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/icu/meson.build b/src/lib/icu/meson.build index 59215e704..972c1fda3 100644 --- a/src/lib/icu/meson.build +++ b/src/lib/icu/meson.build @@ -12,17 +12,23 @@ if is_windows icu_sources += 'Win32.cxx' endif +iconv_dep = [] if icu_dep.found() icu_sources += [ 'Util.cxx', 'Init.cxx', ] elif not get_option('iconv').disabled() - have_iconv = compiler.has_function('iconv', prefix : '#include ') - conf.set('HAVE_ICONV', have_iconv) + # an installed iconv library will make the builtin iconf() unavailable, + # so search for the library first and pass it as (possible) dependency + iconv_dep = compiler.find_library('libiconv', required: false) + have_iconv = compiler.has_function('iconv', + dependencies: iconv_dep, + prefix : '#include ') if not have_iconv and get_option('iconv').enabled() error('iconv() not available') endif + conf.set('HAVE_ICONV', have_iconv) endif icu = static_library( @@ -31,6 +37,7 @@ icu = static_library( include_directories: inc, dependencies: [ icu_dep, + iconv_dep, fmt_dep, ], )