Subject: Re: pkg/20448
To: Pavel Cahyna <pavel.cahyna@st.mff.cuni.cz>
From: Johnny Lam <jlam@jgrind.org>
List: netbsd-bugs
Date: 03/06/2003 09:02:06
--ReaqsoxgOBHFXBhH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Thu, Mar 06, 2003 at 11:55:48AM -0500, Jan Schaumann wrote:
> tech-pkg@netbsd.org
> Bcc:
> Subject: Re: pkg/20448
> Reply-To: tech-pkg@netbsd.org
> In-Reply-To: <20030306100049.GB13911@artax.karlin.mff.cuni.cz>
>
> Pavel Cahyna <pcah8322@artax.karlin.mff.cuni.cz> wrote:
> > The current beahaviour is IMHO actually correct. There is no need for checking
> > if /usr/lib/libiconv.so exists, because on some systems (eg. Irix, or
> > GNU libc) there is no separate libiconv and the functionality is
> > provided by libc.
>
> We may want to simply set
>
> USE_GNU_ICONV=YES
>
> in mk/defs.IRIX.mk (and on other operating systems where we know this to
> be an issue). Might save us the entire dance around where to find
> libiconv functionality...
Please try the following patch. I wasn't aware that iconv functions are
a part of GNU libc. I've modified the buildlink2 logic to check for
whether /usr/lib/libiconv.so* actually exist before adding "-liconv" to
the list of libraries needed when linking against libintl.
Cheers,
-- Johnny Lam <jlam@jgrind.org>
--ReaqsoxgOBHFXBhH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch
Index: converters/libiconv/buildlink2.mk
===================================================================
RCS file: /cvsroot/pkgsrc/converters/libiconv/buildlink2.mk,v
retrieving revision 1.3
diff -u -r1.3 buildlink2.mk
--- converters/libiconv/buildlink2.mk 2002/09/10 16:06:37 1.3
+++ converters/libiconv/buildlink2.mk 2003/03/06 16:58:16
@@ -10,11 +10,19 @@
.if defined(USE_GNU_ICONV)
_NEED_ICONV= YES
+_BLNK_LIBICONV_FOUND= NO
.else
. if exists(/usr/include/iconv.h)
_NEED_ICONV= NO
+_BLNK_LIBICONV_LIST!= ${ECHO} /usr/lib/libiconv.*
+. if ${_BLNK_LIBICONV_LIST} != "/usr/lib/libiconv.*"
+_BLNK_LIBICONV_FOUND= YES
+. else
+_BLNK_LIBICONV_FOUND= NO
+. endif
. else
_NEED_ICONV= YES
+_BLNK_LIBICONV_FOUND= NO
. endif
_INCOMPAT_ICONV?= # should be set from defs.${OPSYS}.mk
INCOMPAT_ICONV?= # empty
@@ -29,8 +37,20 @@
BUILDLINK_PACKAGES+= iconv
EVAL_PREFIX+= BUILDLINK_PREFIX.iconv=libiconv
BUILDLINK_PREFIX.iconv_DEFAULT= ${LOCALBASE}
+BUILDLINK_LIBICONV_LDADD= -L${BUILDLINK_PREFIX.iconv}/lib
+BUILDLINK_LIBICONV_LDADD+= -Wl,-R${BUILDLINK_PREFIX.iconv}/lib
+BUILDLINK_LIBICONV_LDADD+= -liconv
.else
BUILDLINK_PREFIX.iconv= /usr
+. if ${_BLNK_LIBICONV_FOUND} == "YES"
+BUILDLINK_LIBICONV_LDADD= -liconv
+. else
+BUILDLINK_LIBICONV_LDADD= # empty
+. endif
+.endif
+
+.if ${_BLNK_LIBICONV_FOUND} == "YES"
+.else
.endif
BUILDLINK_FILES.iconv= include/iconv.h
Index: devel/gettext-lib/buildlink2.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext-lib/buildlink2.mk,v
retrieving revision 1.18
diff -u -r1.18 buildlink2.mk
--- devel/gettext-lib/buildlink2.mk 2003/01/05 22:16:53 1.18
+++ devel/gettext-lib/buildlink2.mk 2003/03/06 16:58:16
@@ -91,7 +91,7 @@
_BLNK_LIBINTL+= -Wl,-R${BUILDLINK_PREFIX.gettext}/lib
_BLNK_LIBINTL+= -lintl
. if ${_GETTEXT_NEEDS_ICONV} == "YES"
-_BLNK_LIBINTL+= -liconv
+_BLNK_LIBINTL+= ${BUILDLINK_LIBICONV_LDADD}
. endif
.else
. if ${_BLNK_LIBINTL_FOUND} == "YES"
--ReaqsoxgOBHFXBhH--