Jine LDFLAGS pro staticke linkovani?

Karel Zak zakkr na zf.jcu.cz
Pondělí Srpen 11 11:57:19 CEST 2003


On Mon, Aug 11, 2003 at 10:56:21AM +0200, Jan Kasprzak wrote:
> 	Druhy problem je, ze nevim jak tohleto rozumne zapsat
> do automake. Samozrejme jde do Makefile.am dat neco jako
> 
> 	program_static_LDADD = $(program_LDADD) -lpthread
> 
> Jenze pravdepodobne ne kazda platforma vyzaduje to -lpthread a zrejme
> na mnoha platformach zadne -lpthread ani neni.
> 
> 	Jak byste tohle _ciste_ vyresili? Diky,


 Neni to prace pro ./configure (tedy autoconf a ne automake:-).

## Check for libpthread
##
PTHREAD_LIBS_SAVE="$PTHREAD_LIBS"
PTHREAD_LIBS=error
AC_CHECK_LIB(pthread, pthread_attr_init, [
                      PTHREAD_CFLAGS="$PTHREAD_CFLAGS -D_REENTRANT"
                      PTHREAD_LIBS="$PTHREAD_LIBS_SAVE -lpthread" ])

dnl FIXME: test this on *BSD and report results immediatelly to the ml please
dnl If it is not found, try to check for c_r (on FreeBSD)
if test "x$PTHREAD_LIBS" = xerror; then
  AC_CHECK_LIB(c_r, pthread_attr_init, [
                    PTHREAD_CFLAGS="$PTHREAD_CFLAGS -D_THREAD_SAFE"
                    PTHREAD_LIBS="-pthread" ])
fi

dnl FIXME: do we really test here if libc contains this function?
if test "x$PTHREAD_LIBS" = xerror; then
        AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="",
                AC_MSG_ERROR(not found library: pthread !!!))
fi

CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LIBS="$LIBS $PTHREAD_LIBS"

    Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/


Další informace o konferenci Linux