X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=configure.ac;h=41ac9a5e2d29b5f797a03052c3a17a8b42dac093;hb=d2216a4b133f90a543a0e4c4a9f9809a043012d6;hp=ad215cc4a10ed95804e7cec929f003c985d25a3d;hpb=6b34d6e692b751e7f62ea7bdce86a641c9b72468;p=git.git diff --git a/configure.ac b/configure.ac index ad215cc4a..41ac9a5e2 100644 --- a/configure.ac +++ b/configure.ac @@ -1021,7 +1021,17 @@ if test -n "$USER_NOPTHREAD"; then # -D_REENTRANT' or some such. elif test -z "$PTHREAD_CFLAGS"; then threads_found=no - for opt in -mt -pthread -lpthread; do + # Attempt to compile and link some code using pthreads to determine + # required linker flags. The order is somewhat important here: We + # first try it without any extra flags, to catch systems where + # pthreads are part of the C library, then go on testing various other + # flags. We do so to avoid false positives. For example, on Mac OS X + # pthreads are part of the C library; moreover, the compiler allows us + # to add "-mt" to the CFLAGS (although it will do nothing except + # trigger a warning about an unused flag). Hence if we checked for + # "-mt" before "" we would end up picking it. But unfortunately this + # would then trigger compiler warnings on every single file we compile. + for opt in "" -mt -pthread -lpthread; do old_CFLAGS="$CFLAGS" CFLAGS="$opt $CFLAGS" AC_MSG_CHECKING([for POSIX Threads with '$opt'])