From: Sascha Schumann Date: Sun, 16 Jan 2000 18:24:39 +0000 (+0000) Subject: Rewrite pthreads check to be more tool-independent, and propagate flags X-Git-Tag: 1.3.10~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e959e6b34063d0cee14e5b743cc95fd0b328f5d8;p=apache Rewrite pthreads check to be more tool-independent, and propagate flags to APR. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84474 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/acinclude.m4 b/acinclude.m4 index ace854801b..a58629e008 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -141,28 +141,6 @@ AC_DEFUN(APACHE_ONCE,[ fi ]) -dnl APACHE_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) -AC_DEFUN(APACHE_CHECK_GCC_ARG,[ - gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_) - AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [ - echo 'void somefunc() { };' > conftest.c - cmd='$CC $1 -c conftest.c' - if eval $cmd 2>&1 | egrep -e $1 >/dev/null ; then - ac_result=no - else - ac_result=yes - fi - eval $gcc_arg_name=$ac_result - rm -f conftest.* - ]) - if eval test "\$$gcc_arg_name" = "yes"; then - $2 - else - : - $3 - fi -]) - dnl dnl APACHE_CHECK_THREADS() dnl @@ -189,26 +167,35 @@ int main() { AC_DEFUN(APACHE_CHECK_THREADS,[ -old_CFLAGS="$CFLAGS" +APACHE_THREAD_TEST -if test -n "$GCC"; then - APACHE_CHECK_GCC_ARG(-pthread, [ - CFLAGS="$CFLAGS -pthread" - ],[ - APACHE_CHECK_GCC_ARG(-pthreads, [ - CFLAGS="$CFLAGS -pthreads" - ],[ - APACHE_CHECK_GCC_ARG(-mthreads, [ - CFLAGS="$CFLAGS -mthreads" - ])])]) +if test "$apache_threads_working" != "yes"; then + for flag in -pthreads -pthread -mthreads; do + AC_MSG_CHECKING(whether $flag enables POSIX threads) + ac_save="$CFLAGS" + CFLAGS="$CFLAGS $flag" + APACHE_THREAD_TEST + if test "$apache_threads_working" = "yes"; then + AC_MSG_RESULT(yes) + REENTRANCY_CFLAGS="$REENTRANCY_CFLAGS $flag" + break + fi + CFLAGS="$ac_save" + AC_MSG_RESULT(no) + done fi -APACHE_THREAD_TEST - if test "$apache_threads_working" != "yes"; then - CFLAGS="$old_CFLAGS" - AC_CHECK_LIB(pthread, pthread_kill) - APACHE_THREAD_TEST + for lib in pthread pthreads c_r; do + ac_save="$LIBS" + LIBS="$LIBS -l$lib" + APACHE_THREAD_TEST + if test "$apache_threads_working" = "yes"; then + REENTRANCY_LDFLAGS="$REENTRANCY_LDFLAGS -l$lib" + break + fi + LIBS="$ac_save" + done fi if test "$apache_threads_working" = "yes"; then diff --git a/configure.in b/configure.in index 8a36169ce5..0c11bff7ee 100644 --- a/configure.in +++ b/configure.in @@ -104,10 +104,12 @@ APACHE_INADDR_NONE case "`uname -sr`" in "SunOS 5"*) - REENTRANCY_FLAGS="$REENTRANCY_FLAGS -D_POSIX_PTHREAD_SEMANTICS";; + REENTRANCY_CFLAGS="$REENTRANCY_CFLAGS -D_POSIX_PTHREAD_SEMANTICS";; esac -REENTRANCY_FLAGS="$REENTRANCY_FLAGS -D_REENTRANT" +REENTRANCY_CFLAGS="$REENTRANCY_CFLAGS -D_REENTRANT" + +CFLAGS="$CFLAGS $REENTRANCY_CFLAGS" AC_FUNC_SELECT_ARGTYPES @@ -156,7 +158,6 @@ if test "$apache_need_shared" = "yes"; then $SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh fi -CPPFLAGS="$CPPFLAGS $REENTRANCY_FLAGS" APACHE_FAST_OUTPUT(Makefile ap/Makefile lib/Makefile main/Makefile modules/Makefile os/Makefile) APACHE_FAST_GENERATE @@ -165,6 +166,7 @@ dnl ## Build modules.c rm -f $srcdir/modules.c echo $MODLIST | $AWK -f $srcdir/helpers/build-modules-c.awk > $srcdir/modules.c -APACHE_PASSTHRU(REENTRANCY_FLAGS) +APACHE_PASSTHRU(REENTRANCY_CFLAGS) +APACHE_PASSTHRU(REENTRANCY_LDFLAGS) AC_OUTPUT($APACHE_OUTPUT_FILES)