kumquat-buildroot/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch
Fabrice Fontaine 3239fb5b17 package/libpsl: fix build with libiconv
Fix the following build failure raised since the addition of the package
in commit 47acda3a95:

/home/autobuild/autobuild/instance-9/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/libpsl.so.5.3.2.p/psl.c.o: in function `psl_str_to_utf8lower':
psl.c:(.text+0x1584): undefined reference to `libiconv_open'

Fixes:
 - http://autobuild.buildroot.org/results/8f012331acd3edb96a69d374436884679add8860

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-04-04 21:32:35 +02:00

61 lines
1.9 KiB
Diff

From 5b63816e82287808e81b8603a528af3cc6fab354 Mon Sep 17 00:00:00 2001
From: Zhao Zhili <zhilizhao@tencent.com>
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 <fontaine.fabrice@gmail.com>
---
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,
)