Port HAVE_PTHREAD configuration to MirBSD 10 (Bug#10201).
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Dec 2011 00:51:40 +0000 (16:51 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Dec 2011 00:51:40 +0000 (16:51 -0800)
* configure.in (HAVE_PTHREAD): Check for pthread_atforkif linking
to gmalloc.c.  This should prevent a MirBSD 10 build failure reported
by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.

ChangeLog
configure.in

index 507848b..23efc30 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port HAVE_PTHREAD configuration to MirBSD 10 (Bug#10201).
+       * configure.in (HAVE_PTHREAD): Check for pthread_atfork if linking
+       to gmalloc.c.  This should prevent a MirBSD 10 build failure reported
+       by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.
+
 2011-12-10  Juanma Barranquero  <lekktu@gmail.com>
 
        * update-subdirs: Don't set no-byte-compile twice (bug#10260).
index b4bb8eb..83acc82 100644 (file)
@@ -1720,7 +1720,15 @@ dnl Check if pthreads is available.
 LIB_PTHREAD=
 AC_CHECK_HEADERS(pthread.h)
 if test "$ac_cv_header_pthread_h"; then
-  AC_CHECK_LIB(pthread, pthread_self, HAVE_PTHREAD=yes)
+  dnl gmalloc.c uses pthread_atfork, which is not available on older-style
+  dnl hosts such as MirBSD 10, so test for pthread_atfork instead of merely
+  dnl testing for pthread_self if Emacs uses gmalloc.c.
+  if test "$GMALLOC_OBJ" = gmalloc.o; then
+    emacs_pthread_function=pthread_atfork
+  else
+    emacs_pthread_function=pthread_self
+  fi
+  AC_CHECK_LIB(pthread, $emacs_pthread_function, HAVE_PTHREAD=yes)
 fi
 if test "$HAVE_PTHREAD" = yes; then
   case "${canonical}" in