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--