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
pgpEK8LQcCTPP.pgp
Description: PGP signature