]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2054. [port] freebsd: do not explicitly link against -lpthread.
authorMark Andrews <marka@isc.org>
Thu, 20 Jul 2006 05:48:55 +0000 (05:48 +0000)
committerMark Andrews <marka@isc.org>
Thu, 20 Jul 2006 05:48:55 +0000 (05:48 +0000)
                        [RT #16170]

CHANGES
bin/tests/Makefile.in
config.h.in
config.threads.in
configure.in
lib/bind/configure.in
ltmain.sh

diff --git a/CHANGES b/CHANGES
index b8bb6a92d86fe313612b7e87137fb188646470fa..127a16884a0bbb6239bf27664b1fb2a64e699b1f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2054.  [port]          freebsd: do not explicitly link against -lpthread.
+                       [RT #16170]
+
 2053.  [port]          netbsd:libbind: silence compiler warnings. [RT #16220]
 
 2052.  [bug]           'rndc' improve connect failed message to report
index 51400c7587c969158eb20927b2cbc8f9a73ec674..27954e629e739f19b5dbdc44f71887b67387a1a5 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: Makefile.in,v 1.121.18.4 2005/06/08 02:07:54 marka Exp $
+# $Id: Makefile.in,v 1.121.18.5 2006/07/20 05:48:55 marka Exp $
 
 srcdir =       @srcdir@
 VPATH =                @srcdir@
@@ -135,7 +135,7 @@ XSRCS =             adb_test.c \
 all_tests: ${XTARGETS}
 
 genrandom@EXEEXT@: genrandom.@O@
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ genrandom.@O@ @GENRANDOMLIB@
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ genrandom.@O@ @GENRANDOMLIB@ ${LIBS}
 
 adb_test@EXEEXT@: adb_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
        ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ adb_test.@O@ \
index ff443e9db45a2a06b897e512714002cde4080dea..14764c06f1632c21f364d0bde4d5e11c948c7053 100644 (file)
@@ -16,7 +16,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: config.h.in,v 1.60.18.19 2006/03/01 02:41:02 marka Exp $ */
+/* $Id: config.h.in,v 1.60.18.20 2006/07/20 05:48:54 marka Exp $ */
 
 /*! \file */
 
@@ -190,6 +190,9 @@ int sigwait(const unsigned int *set, int *sig);
 /* Define to 1 if you have the `socket' library (-lsocket). */
 #undef HAVE_LIBSOCKET
 
+/* Define to 1 if you have the `thr' library (-lthr). */
+#undef HAVE_LIBTHR
+
 /* Define to 1 if you have the <linux/capability.h> header file. */
 #undef HAVE_LINUX_CAPABILITY_H
 
index f2816c447fb207a9dc1f5aac50c0d5f0ab2b8473..c1c113b937267f9341d0e5c1d12e4556cc78f5d4 100644 (file)
@@ -140,6 +140,31 @@ then
                        fi
                fi
                ;;
+               *-freebsd*)
+                       # We don't want to set -lpthread as that break
+                       # the ability to choose threads library at final
+                       # link time and is not valid for all architectures.
+                       
+                       PTHREAD=
+                       if test "X$GCC" = "Xyes"; then
+                               saved_cc="$CC"
+                               CC="$CC -pthread"
+                               AC_MSG_CHECKING(for gcc -pthread support);
+                               AC_TRY_LINK([#include <pthread.h>],
+                                           [printf("%x\n", pthread_create);],
+                                           PTHREAD="yes"
+                                           AC_MSG_RESULT(yes),
+                                           AC_MSG_RESULT(no))
+                               CC="$saved_cc"
+                       fi
+                       if test "X$PTHREAD" != "Xyes"; then
+                               AC_CHECK_LIB(pthread, pthread_create,,
+                               AC_CHECK_LIB(thr, thread_create,,
+                               AC_CHECK_LIB(c_r, pthread_create,,
+                               AC_CHECK_LIB(c, pthread_create,,
+                               AC_MSG_ERROR("could not find thread libraries")))))
+                       fi
+                       ;;
                *)
                        AC_CHECK_LIB(pthread, pthread_create,,
                                AC_CHECK_LIB(pthread, __pthread_create,,
index d4da5ab4ea2d390fed9f53e1e22864de6cf3c801..d0e1de18939400e7e3d402cf735b23d564a17e8d 100644 (file)
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl
 esyscmd([sed "s/^/# /" COPYRIGHT])dnl
 AC_DIVERT_POP()dnl
 
-AC_REVISION($Revision: 1.355.18.54 $)
+AC_REVISION($Revision: 1.355.18.55 $)
 
 AC_INIT(lib/dns/name.c)
 AC_PREREQ(2.59)
@@ -634,16 +634,61 @@ sinclude(config.threads.in)dnl
 
 if $use_threads
 then
+       if test "X$GCC" = "Xyes"; then
+               case "$host" in
+               *-freebsd*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               *-openbsd*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       ;;
+               *-solaris*)
+                       LIBS="$LIBS -lthread"
+                       ;;
+               *-ibm-aix*)
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               esac
+       else
+               case $host in
+               *-dec-osf*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       ;;
+               *-solaris*)
+                       CC="$CC -mt"
+                       CCOPT="$CCOPT -mt"
+                       ;;
+               *-ibm-aix*)
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               *-sco-sysv*uw*|*-*-sysv*UnixWare*)
+                       CC="$CC -Kthread"
+                       CCOPT="$CCOPT -Kthread"
+                       ;;
+               *-*-sysv*OpenUNIX*)
+                       CC="$CC -Kpthread"
+                       CCOPT="$CCOPT -Kpthread"
+                       ;;
+               esac
+       fi
+       ALWAYS_DEFINES="-D_REENTRANT"
+       ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
+       thread_dir=pthreads
        #
        # We'd like to use sigwait() too
        #
-       AC_CHECK_LIB(c, sigwait,
-                    AC_DEFINE(HAVE_SIGWAIT),
-                    AC_CHECK_LIB(pthread, sigwait,
-                                 AC_DEFINE(HAVE_SIGWAIT),
-                                 AC_CHECK_LIB(pthread, _Psigwait,
-                                              AC_DEFINE(HAVE_SIGWAIT),))
-       )
+       AC_CHECK_FUNC(sigwait,
+                     AC_DEFINE(HAVE_SIGWAIT),
+                     AC_CHECK_LIB(c, sigwait,
+                     AC_DEFINE(HAVE_SIGWAIT),
+                     AC_CHECK_LIB(pthread, sigwait,
+                                  AC_DEFINE(HAVE_SIGWAIT),
+                                  AC_CHECK_LIB(pthread, _Psigwait,
+                                               AC_DEFINE(HAVE_SIGWAIT),))))
 
        AC_CHECK_FUNC(pthread_attr_getstacksize,
                      AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
@@ -707,50 +752,6 @@ then
        #
        AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
 
-       if test "X$GCC" = "Xyes"; then
-               case "$host" in
-               *-freebsd*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               *-openbsd*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       ;;
-               *-solaris*)
-                       LIBS="$LIBS -lthread"
-                       ;;
-               *-ibm-aix*)
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               esac
-       else
-               case $host in
-               *-dec-osf*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       ;;
-               *-solaris*)
-                       CC="$CC -mt"
-                       CCOPT="$CCOPT -mt"
-                       ;;
-               *-ibm-aix*)
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               *-sco-sysv*uw*|*-*-sysv*UnixWare*)
-                       CC="$CC -Kthread"
-                       CCOPT="$CCOPT -Kthread"
-                       ;;
-               *-*-sysv*OpenUNIX*)
-                       CC="$CC -Kpthread"
-                       CCOPT="$CCOPT -Kpthread"
-                       ;;
-               esac
-       fi
-       ALWAYS_DEFINES="-D_REENTRANT"
-       ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
-       thread_dir=pthreads
 else
        ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
        thread_dir=nothreads
index ba2fc741ff328fd7bc49fd76c4d8a006ce00ec9d..4c6e72c88a9457953ca138598aacef87e3a62fc4 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-AC_REVISION($Revision: 1.90.18.24 $)
+AC_REVISION($Revision: 1.90.18.25 $)
 
 AC_INIT(resolv/herror.c)
 AC_PREREQ(2.13)
@@ -319,16 +319,68 @@ sinclude(../../config.threads.in)dnl
 
 if $use_threads
 then
+       if test "X$GCC" = "Xyes"; then
+               case "$host" in
+               *-freebsd*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               *-openbsd*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       ;;
+               *-solaris*)
+                       LIBS="$LIBS -lthread"
+                       ;;
+               *-ibm-aix*)
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               esac
+       else
+               case $host in
+               *-dec-osf*)
+                       CC="$CC -pthread"
+                       CCOPT="$CCOPT -pthread"
+                       ;;
+               *-solaris*)
+                       CC="$CC -mt"
+                       CCOPT="$CCOPT -mt"
+                       ;;
+               *-ibm-aix*)
+                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
+                       ;;
+               *-UnixWare*)
+                       CC="$CC -Kthread"
+                       CCOPT="$CCOPT -Kthread"
+                       ;;
+               esac
+       fi
+       AC_DEFINE(_REENTRANT)
+       ALWAYS_DEFINES="-D_REENTRANT"
+       DO_PTHREADS="#define DO_PTHREADS 1"
+       WANT_IRS_THREADSGR_OBJS="\${WANT_IRS_THREADSGR_OBJS}"
+       WANT_IRS_THREADSPW_OBJS="\${WANT_IRS_THREADSPW_OBJS}"
+       case $host in
+       ia64-hp-hpux11.*)
+               WANT_IRS_THREADS_OBJS="";;
+       *)
+               WANT_IRS_THREADS_OBJS="\${WANT_IRS_THREADS_OBJS}";;
+       esac
+       WANT_THREADS_OBJS="\${WANT_THREADS_OBJS}"
+       thread_dir=pthreads
+
        #
        # We'd like to use sigwait() too
        #
-       AC_CHECK_LIB(c, sigwait,
-                    AC_DEFINE(HAVE_SIGWAIT),
-                    AC_CHECK_LIB(pthread, sigwait,
-                                 AC_DEFINE(HAVE_SIGWAIT),
-                                 AC_CHECK_LIB(pthread, _Psigwait,
-                                              AC_DEFINE(HAVE_SIGWAIT),))
-       )
+       AC_CHECK_FUNC(sigwait,
+                     AC_DEFINE(HAVE_SIGWAIT),
+                     AC_CHECK_LIB(c, sigwait,
+                     AC_DEFINE(HAVE_SIGWAIT),
+                     AC_CHECK_LIB(pthread, sigwait,
+                                  AC_DEFINE(HAVE_SIGWAIT),
+                                  AC_CHECK_LIB(pthread, _Psigwait,
+                                               AC_DEFINE(HAVE_SIGWAIT),))))
 
        AC_CHECK_FUNC(pthread_attr_getstacksize,
                      AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
@@ -388,56 +440,6 @@ then
        #
        AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
 
-       if test "X$GCC" = "Xyes"; then
-               case "$host" in
-               *-freebsd*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               *-openbsd*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       ;;
-               *-solaris*)
-                       LIBS="$LIBS -lthread"
-                       ;;
-               *-ibm-aix*)
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               esac
-       else
-               case $host in
-               *-dec-osf*)
-                       CC="$CC -pthread"
-                       CCOPT="$CCOPT -pthread"
-                       ;;
-               *-solaris*)
-                       CC="$CC -mt"
-                       CCOPT="$CCOPT -mt"
-                       ;;
-               *-ibm-aix*)
-                       STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
-                       ;;
-               *-UnixWare*)
-                       CC="$CC -Kthread"
-                       CCOPT="$CCOPT -Kthread"
-                       ;;
-               esac
-       fi
-       AC_DEFINE(_REENTRANT)
-       ALWAYS_DEFINES="-D_REENTRANT"
-       DO_PTHREADS="#define DO_PTHREADS 1"
-       WANT_IRS_THREADSGR_OBJS="\${WANT_IRS_THREADSGR_OBJS}"
-       WANT_IRS_THREADSPW_OBJS="\${WANT_IRS_THREADSPW_OBJS}"
-       case $host in
-       ia64-hp-hpux11.*)
-               WANT_IRS_THREADS_OBJS="";;
-       *)
-               WANT_IRS_THREADS_OBJS="\${WANT_IRS_THREADS_OBJS}";;
-       esac
-       WANT_THREADS_OBJS="\${WANT_THREADS_OBJS}"
-       thread_dir=pthreads
 else
        ALWAYS_DEFINES=""
        DO_PTHREADS="#undef DO_PTHREADS"
@@ -2412,7 +2414,7 @@ esac
 
 case "$hack_shutup_in6addr_init_macros" in
        yes)
-               AC_DEFINE(BROKEN_IN6ADDR_INIT_MACROS)
+               AC_DEFINE(BROKEN_IN6ADDR_INIT_MACROS, 1, [Defined if IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT need to be redefined.] )
                ;;
 esac
 
index a6453bbad4a5ab96bbb0d9ebfb3f534351f44a3d..e032aff9675d30c78e7314c3abeb69accd43745c 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1488,9 +1488,17 @@ EOF
        ;;
 
      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
-       case "$archive_cmds" in
-        *"\$LD"*) ;;
-        *) deplibs="$deplibs $arg";;
+       case $host in
+       *-*-freebsd*)
+          compile_command="$compile_command $arg"
+          finalize_command="$finalize_command $arg"
+          ;;
+       *)
+          case "$archive_cmds" in
+            *"\$LD"*) ;;
+            *) deplibs="$deplibs $arg";;
+          esac
+          ;;
        esac
        continue
        ;;