@@ -11,7 +11,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libiconv
-PKG_RELEASE:=8
+PKG_RELEASE:=9
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE_FILES:=LICENSE
@@ -13,9 +13,19 @@ extern int _libiconv_version; /* Likewise */
typedef long iconv_t;
-#define iconv_open libiconv_open
-#define iconv libiconv
-#define iconv_close libiconv_close
+#if defined __FreeBSD__ && !defined __gnu_freebsd__
+/* GNU libiconv is the native FreeBSD iconv implementation since 2002.
+ It wants to define the symbols 'iconv_open', 'iconv', 'iconv_close'. */
+#define strong_alias(name, aliasname) _strong_alias(name, aliasname)
+#define _strong_alias(name, aliasname) \
+ extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+#undef iconv_open
+#undef iconv
+#undef iconv_close
+strong_alias (libiconv_open, iconv_open)
+strong_alias (libiconv, iconv)
+strong_alias (libiconv_close, iconv_close)
+#endif
extern iconv_t
iconv_open(const char *tocode, const char *fromcode);
They cause compilation failures. Backportewd from upstream libiconv. Signed-off-by: Rosen Penev <rosenp@gmail.com> --- package/libs/libiconv/Makefile | 2 +- package/libs/libiconv/src/include/iconv.h | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-)