diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-02-05 18:39:27 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-02-05 18:39:27 +0000 |
| commit | 47fb93aa3c3c55e986dd771657abad8b4efd8e65 (patch) | |
| tree | 0c1edded0e6a172e4a18f90c2496c1a9d33f4d5d | |
| parent | 1c61b1297d761c2f536a48f98fce7e6c2746f258 (diff) | |
Update pthreads configure test to work on more platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | configure.in | 33 | ||||
| -rwxr-xr-x | fltk-config.in | 4 | ||||
| -rw-r--r-- | makeinclude.in | 4 |
3 files changed, 26 insertions, 15 deletions
diff --git a/configure.in b/configure.in index c7afef0a2..46579d4da 100644 --- a/configure.in +++ b/configure.in @@ -540,29 +540,40 @@ AC_EXEEXT dnl Check for pthreads for multi-threaded apps... have_pthread=no +PTHREAD_FLAGS="" if test "x$enable_threads" = xyes; then AC_CHECK_HEADER(pthread.h, AC_DEFINE(HAVE_PTHREAD_H)) - AC_CHECK_FUNC(pthread_create, - have_pthread=yes, - [AC_CHECK_LIB(pthread, pthread_create) - if test "x$ac_cv_lib_pthread_pthread_create" = xyes -a x$ac_cv_header_pthread_h = xyes; then - have_pthread=yes - else - dnl *BSD uses -pthread option... - AC_MSG_CHECKING([for pthread_create using -pthread]) + if test x$ac_cv_header_pthread_h = xyes; then + dnl Check various threading options for the platforms we support + for flag in -lpthreads -lpthread -pthread; do + AC_MSG_CHECKING([for pthread_create using $flag]) SAVELIBS="$LIBS" - LIBS="-pthread $LIBS" + LIBS="$flag $LIBS" AC_TRY_LINK([#include <pthread.h>], [pthread_create(0, 0, 0, 0);], - LIBS="-pthread $SAVELIBS" have_pthread=yes, LIBS="$SAVELIBS") AC_MSG_RESULT([$have_pthread]) - fi]) + + if test $have_pthread = yes; then + AC_DEFINE(HAVE_PTHREAD) + PTHREAD_FLAGS="-D_THREAD_SAFE -D_REENTRANT" + + # Solaris requires -D_POSIX_PTHREAD_SEMANTICS to + # be POSIX-compliant... :( + if test $uname = SunOS; then + PTHREAD_FLAGS="$PTHREAD_FLAGS -D_POSIX_PTHREAD_SEMANTICS" + fi + break + fi + done + fi fi +AC_SUBST(PTHREAD_FLAGS) + dnl Define OS-specific stuff... HLINKS= POSTBUILD=: diff --git a/fltk-config.in b/fltk-config.in index ab70c6788..37eb6a069 100755 --- a/fltk-config.in +++ b/fltk-config.in @@ -54,8 +54,8 @@ POSTBUILD="@POSTBUILD@" # flags for C++ compiler: ARCHFLAGS="@ARCHFLAGS@" -CFLAGS="@CFLAGS@ @LARGEFILE@" -CXXFLAGS="@CXXFLAGS@ @LARGEFILE@" +CFLAGS="@CFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@" +CXXFLAGS="@CXXFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@" LDFLAGS="@LDFLAGS@" LDLIBS="@LIBS@" diff --git a/makeinclude.in b/makeinclude.in index 3a08796ab..9d169e9a5 100644 --- a/makeinclude.in +++ b/makeinclude.in @@ -56,8 +56,8 @@ MAKEDEPEND = @MAKEDEPEND@ # flags for C++ compiler: ARCHFLAGS = @ARCHFLAGS@ OPTIM = @OPTIM@ -CFLAGS = $(OPTIM) @LARGEFILE@ @CPPFLAGS@ @CFLAGS@ -CXXFLAGS = $(OPTIM) @LARGEFILE@ @CPPFLAGS@ @CXXFLAGS@ +CFLAGS = $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CFLAGS@ +CXXFLAGS = $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CXXFLAGS@ # program to make the archive: LIBNAME = @LIBNAME@ |
