Commit edddf394 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

configure: try pthread_create without -lpthread

For libc variants without a spearate pthread lib (like bionic), try
using pthreads without the pthreads lib first and only if that fails try
the -lpthread linker flag.

Bug: http://curl.haxx.se/bug/view.cgi?id=1216
Reported by: Duncan
parent 61d259f9
Loading
Loading
Loading
Loading
+20 −8
Original line number Diff line number Diff line
@@ -3158,14 +3158,26 @@ if test "$want_thres" = "yes"; then
  AC_CHECK_HEADER(pthread.h,
    [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
      save_CFLAGS="$CFLAGS"

      dnl first check for function without lib
      AC_CHECK_FUNC(pthread_create, [USE_THREADS_POSIX=1] )

      dnl if it wasn't found without lib, search for it in pthread lib
      if test "$USE_THREADS_POSIX" != "1"
      then
        CFLAGS="$CFLAGS -pthread"
        AC_CHECK_LIB(pthread, pthread_create,
        [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
          AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
          USE_THREADS_POSIX=1
          curl_res_msg="threaded"
        ],
                     [USE_THREADS_POSIX=1],
                     [ CFLAGS="$save_CFLAGS"])
      fi

      if test "x$USE_THREADS_POSIX" = "x1"
      then
        AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
        curl_res_msg="POSIX threaded"
      fi


  ])
fi