aboutsummaryrefslogtreecommitdiffstats
path: root/erts/aclocal.m4
diff options
context:
space:
mode:
authorPer Hedeland <[email protected]>2012-11-14 15:10:21 +0100
committerBjörn-Egil Dahlberg <[email protected]>2012-11-14 15:10:21 +0100
commit3660d23158441075dec8e3c08fb513225ec10210 (patch)
tree80dc4243f6d191fe09eeab123b9d3d2515ed2cf1 /erts/aclocal.m4
parent55c2b0b6d55fe6a011671832b5529cb1c7b636a8 (diff)
downloadotp-3660d23158441075dec8e3c08fb513225ec10210.tar.gz
otp-3660d23158441075dec8e3c08fb513225ec10210.tar.bz2
otp-3660d23158441075dec8e3c08fb513225ec10210.zip
Teach erl_interface configure more pthread support
- Teach lib/erl_interface/configure.in to look for pthreads support in libc (where it can be found on QNX) - A minor tweak such that this configure *fails* if you pass --enable-threads and no pthreads support can be found.
Diffstat (limited to 'erts/aclocal.m4')
-rw-r--r--erts/aclocal.m410
1 files changed, 9 insertions, 1 deletions
diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
index b1cf1fe404..9578cd35c4 100644
--- a/erts/aclocal.m4
+++ b/erts/aclocal.m4
@@ -740,11 +740,16 @@ dnl Try to find POSIX threads
dnl The usual pthread lib...
AC_CHECK_LIB(pthread, pthread_create, THR_LIBS="-lpthread")
-dnl FreeBSD has pthreads in special c library, c_r...
+dnl Very old versions of FreeBSD have pthreads in special c library, c_r...
if test "x$THR_LIBS" = "x"; then
AC_CHECK_LIB(c_r, pthread_create, THR_LIBS="-lc_r")
fi
+dnl QNX has pthreads in standard C library
+ if test "x$THR_LIBS" = "x"; then
+ AC_CHECK_FUNC(pthread_create, THR_LIBS="none_needed")
+ fi
+
dnl On ofs1 the '-pthread' switch should be used
if test "x$THR_LIBS" = "x"; then
AC_MSG_CHECKING([if the '-pthread' switch can be used])
@@ -765,6 +770,9 @@ dnl On ofs1 the '-pthread' switch should be used
if test "x$THR_LIBS" != "x"; then
THR_DEFS="$THR_DEFS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS"
THR_LIB_NAME=pthread
+ if test "x$THR_LIBS" = "xnone_needed"; then
+ THR_LIBS=
+ fi
case $host_os in
solaris*)
THR_DEFS="$THR_DEFS -D_POSIX_PTHREAD_SEMANTICS" ;;