On Mon, Nov 25, 2013 at 01:36:15PM +0100, Dimitry Andric wrote:
> On 25 Nov 2013, at 08:51, Konstantin Belousov <kostik...@gmail.com> wrote:
> > On Sun, Nov 24, 2013 at 11:48:54PM -0500, Glen Barber wrote:
> ...
> >> Index: Makefile
> >> ===================================================================
> >> --- Makefile      (revision 258538)
> >> +++ Makefile      (working copy)
> >> @@ -42,6 +42,9 @@
> >> 
> >> DPADD=     ${LIBTERMCAP} ${LIBCRYPT}
> >> LDADD=     -ltermcap -lcrypt
> >> +.if ${MK_ICONV} != "no" && ${MK_DYNAMICROOT} != "yes"
> >> +LDADD+=    -lc_nonshared
> >> +.endif
> >> 
> >> LINKS=     ${BINDIR}/csh ${BINDIR}/tcsh
> >> 
> > 
> > No, this is wrong.  As is, static linking is broken and the hack above
> > only fixes one case.
> > 
> > What is needed is inclusion of the lib/libc_nonshared object files into
> > static libc.a.  I am not sure how to express this in our build system.
> 
> Hi Kostik,
> 
> You can add the additional object files to ${STATICOBJS}.  These will
> only be built for the static and profiled libraries.  See for example
> gnu/lib/libgcc/Makefile or lib/libc++/Makefile.
> 

The patch we ended up with is available at
http://people.freebsd.org/~kib/misc/iconv_static_linking.1.patch

Attachment: pgpEK8LQcCTPP.pgp
Description: PGP signature

Reply via email to