summaryrefslogtreecommitdiffstats
path: root/common/acx_pthread.m4
diff options
context:
space:
mode:
Diffstat (limited to 'common/acx_pthread.m4')
-rw-r--r--common/acx_pthread.m419
1 files changed, 12 insertions, 7 deletions
diff --git a/common/acx_pthread.m4 b/common/acx_pthread.m4
index 75f6a80..dcf6332 100644
--- a/common/acx_pthread.m4
+++ b/common/acx_pthread.m4
@@ -43,7 +43,7 @@ dnl We are also grateful for the helpful feedback of numerous users.
dnl
dnl @category InstalledPackages
dnl @author Steven G. Johnson <stevenj@alum.mit.edu>
-dnl @version 2005-06-15
+dnl @version 2006-05-29
dnl @license GPLWithACException
dnl
dnl Checks for GCC shared/pthread inconsistency based on work by
@@ -219,19 +219,24 @@ if test "x$acx_pthread_ok" = xyes; then
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
-
- # More AIX lossage: must compile with cc_r
- AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
+ # More AIX lossage: must compile with xlc_r or cc_r
+ if test x"$GCC" != xyes; then
+ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
+ else
+ PTHREAD_CC=$CC
+ fi
# The next part tries to detect GCC inconsistency with -shared on some
# architectures and systems. The problem is that in certain
# configurations, when -shared is specified, GCC "forgets" to
# internally use various flags which are still necessary.
- # First, check whether caller wants us to skip -shared checks
- # this is useful
AC_MSG_CHECKING([whether to check for GCC pthread/shared inconsistencies])
- if test x"$GCC" != xyes; then
+ check_inconsistencies=yes
+ case "${host_cpu}-${host_os}" in
+ *-darwin*) check_inconsistencies=no ;;
+ esac
+ if test x"$GCC" != xyes -o "x$check_inconsistencies" != xyes ; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])