mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-23 17:33:50 +03:00
meson: fix compilation on BSDs with icu+iconv
on BSDs, icu is installed and included from /usr/local. When found, libiconv headers override the normal ones and thus result in a missing link. Work around this oddity and add the link. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
915951b87b
commit
b4b4162fc7
27
meson.build
27
meson.build
@ -561,9 +561,24 @@ else
|
||||
endif
|
||||
xml_deps += lzma_dep
|
||||
|
||||
# icu
|
||||
icu_dep = dependency('icu-i18n', method: 'pkg-config', required: get_option('icu'))
|
||||
if icu_dep.found()
|
||||
defs = icu_dep.get_variable(pkgconfig: 'DEFS')
|
||||
if cc.has_argument(defs)
|
||||
libxml2_cflags += defs
|
||||
endif
|
||||
endif
|
||||
xml_deps += icu_dep
|
||||
|
||||
### iconv
|
||||
if not get_option('minimum')
|
||||
iconv_dep = dependency('iconv', required: get_option('iconv'))
|
||||
# this is a hack for the BSDs. The iconv dependency works as long as libiconv is not in the include path.
|
||||
if sys_bsd and icu_dep.found()
|
||||
iconv_dep = cc.find_library('iconv', dirs: icu_dep.get_variable(pkgconfig: 'includedir'), required: get_option('iconv'))
|
||||
else
|
||||
iconv_dep = dependency('iconv', required: get_option('iconv'))
|
||||
endif
|
||||
else
|
||||
iconv_dep = dependency('', required: false)
|
||||
endif
|
||||
@ -575,16 +590,6 @@ else
|
||||
want_iso8859x = true
|
||||
endif
|
||||
|
||||
# icu
|
||||
icu_dep = dependency('icu-i18n', method: 'pkg-config', required: get_option('icu'))
|
||||
if icu_dep.found()
|
||||
defs = icu_dep.get_variable(pkgconfig: 'DEFS')
|
||||
if cc.has_argument(defs)
|
||||
libxml2_cflags += defs
|
||||
endif
|
||||
endif
|
||||
xml_deps += icu_dep
|
||||
|
||||
subdir('include/libxml')
|
||||
|
||||
# Set config_h after all subdirs and dependencies have set values
|
||||
|
Loading…
Reference in New Issue
Block a user