summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-01-10 14:04:26 -0800
committerJunio C Hamano <gitster@pobox.com>2013-01-10 14:04:26 -0800
commit3129891bbc77426c616ad6ed04b21b84465749a9 (patch)
treee87b8735f00a46869cf559521e27e6ca0ddf752a
parent80ff618049cde1f1e48cf0fa3435c0e09be36756 (diff)
parente0a52279304a67d6e13c5a5b4165dd09f6ba61aa (diff)
downloadgit-3129891bbc77426c616ad6ed04b21b84465749a9.tar.gz
Merge branch 'mh/pthreads-autoconf' into maint
* mh/pthreads-autoconf: configure.ac: fix pthreads detection on Mac OS X
-rw-r--r--configure.ac12
1 files changed, 11 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index ad215cc4a1..41ac9a5e2d 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'])