From 9cb7b76ec7a3e6bb661550848a5dac6c9c0accbd Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 26 Apr 2004 13:14:48 +0000 Subject: [PATCH] More cleanup of thread tests. --- configure | 72 +++++++++++++++++++++++++++++----------------------- configure.in | 55 +++++++++++++++++++++------------------ 2 files changed, 71 insertions(+), 56 deletions(-) diff --git a/configure b/configure index 4f6927491a..59fa131de3 100755 --- a/configure +++ b/configure @@ -19113,12 +19113,7 @@ if test "$no_create" != yes; then fi -# -# We have to run the thread test here because it is an external program -# that has to be runable separately for cross-compiling. -# -if test "$enable_thread_safety" = yes; then -if test cross_compiling != yes; then +# Check for gmake. for ac_prog in gmake make do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -19159,41 +19154,54 @@ fi test -n "$MAKE" && break done -echo "$as_me:$LINENO: checking thread safety of required library functions." >&5 -echo $ECHO_N "checking thread safety of required library functions.... $ECHO_C" >&6 +if ! $MAKE -v | grep 'GNU Make' >/dev/null +then rm -f $srcdir/src/Makefile.global + echo "$as_me:$LINENO: checking Can not find GNU Make. It is required." >&5 +echo $ECHO_N "checking Can not find GNU Make. It is required.... $ECHO_C" >&6 +fi + +# Thread testing + +# We have to run the thread test here because it is an external program +# that has to be runable separately for cross-compiling. +# +if test "$enable_thread_safety" = yes; then +if test cross_compiling != yes; then # # Clean, compile, run, and clean thread test directory. # If test fails for any reason, remove Makefile.global so the user can't # compile (to simulate a configure failure). # -$MAKE -C $srcdir/src/tools/thread clean >&5 || - ( rm -f src/Makefile.global - { { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5 +echo "$as_me:$LINENO: checking thread safety of required library functions" >&5 +echo $ECHO_N "checking thread safety of required library functions... $ECHO_C" >&6 +if ! $MAKE -C $srcdir/src/tools/thread clean >&5 +then rm -f $srcdir/src/Makefile.global + { { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5 echo "$as_me: error: Can not clean thread test directory." >&2;} - { (exit 1); exit 1; }; }) || - exit $? -$MAKE -C $srcdir/src/tools/thread >&5 || - ( rm -f src/Makefile.global - { { echo "$as_me:$LINENO: error: Can not build thread test proram." >&5 + { (exit 1); exit 1; }; } +fi +if ! $MAKE -C $srcdir/src/tools/thread >&5 +then rm -f $srcdir/src/Makefile.global + { { echo "$as_me:$LINENO: error: Can not build thread test proram." >&5 echo "$as_me: error: Can not build thread test proram." >&2;} - { (exit 1); exit 1; }; }) || - exit $? -$srcdir/src/tools/thread/thread_test >&5 || - ( rm -f src/Makefile.global - echo "no" - echo - $srcdir/src/tools/thread/thread_test - echo - { { echo "$as_me:$LINENO: error: Thread test program failed. Your platform is not thread-safe." >&5 + { (exit 1); exit 1; }; } +fi +if ! $srcdir/src/tools/thread/thread_test >&5 +then rm -f $srcdir/src/Makefile.global + echo "no" + echo + $srcdir/src/tools/thread/thread_test + echo + { { echo "$as_me:$LINENO: error: Thread test program failed. Your platform is not thread-safe." >&5 echo "$as_me: error: Thread test program failed. Your platform is not thread-safe." >&2;} - { (exit 1); exit 1; }; }) || - exit $? -$MAKE -C $srcdir/src/tools/thread clean >&5 || - ( rm -f src/Makefile.global - { { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5 + { (exit 1); exit 1; }; } +fi +if ! $MAKE -C $srcdir/src/tools/thread clean >&5 +then rm -f $srcdir/src/Makefile.global + { { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5 echo "$as_me: error: Can not clean thread test directory." >&2;} - { (exit 1); exit 1; }; }) || - exit $? + { (exit 1); exit 1; }; } +fi echo "yes" else { echo "$as_me:$LINENO: WARNING: diff --git a/configure.in b/configure.in index fd7fc371a5..34ad092e91 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $PostgreSQL: pgsql/configure.in,v 1.334 2004/04/26 04:04:42 momjian Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.335 2004/04/26 13:14:48 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -1215,39 +1215,46 @@ echo >src/include/stamp-h AC_OUTPUT -# +# Check for gmake. +AC_CHECK_PROGS(MAKE, gmake make) +if ! $MAKE -v | grep 'GNU Make' >/dev/null +then rm -f $srcdir/src/Makefile.global + AC_MSG_CHECKING([Can not find GNU Make. It is required.]) +fi + +# Thread testing + # We have to run the thread test here because it is an external program # that has to be runable separately for cross-compiling. # if test "$enable_thread_safety" = yes; then if test cross_compiling != yes; then -AC_CHECK_PROGS(MAKE, gmake make) -AC_MSG_CHECKING([thread safety of required library functions.]) # # Clean, compile, run, and clean thread test directory. # If test fails for any reason, remove Makefile.global so the user can't # compile (to simulate a configure failure). # -$MAKE -C $srcdir/src/tools/thread clean >&5 || - ( rm -f src/Makefile.global - AC_MSG_ERROR([Can not clean thread test directory.])) || - exit $? -$MAKE -C $srcdir/src/tools/thread >&5 || - ( rm -f src/Makefile.global - AC_MSG_ERROR([Can not build thread test proram.])) || - exit $? -$srcdir/src/tools/thread/thread_test >&5 || - ( rm -f src/Makefile.global - echo "no" - echo - $srcdir/src/tools/thread/thread_test - echo - AC_MSG_ERROR([Thread test program failed. Your platform is not thread-safe.])) || - exit $? -$MAKE -C $srcdir/src/tools/thread clean >&5 || - ( rm -f src/Makefile.global - AC_MSG_ERROR([Can not clean thread test directory.])) || - exit $? +AC_MSG_CHECKING([thread safety of required library functions]) +if ! $MAKE -C $srcdir/src/tools/thread clean >&5 +then rm -f $srcdir/src/Makefile.global + AC_MSG_ERROR([Can not clean thread test directory.]) +fi +if ! $MAKE -C $srcdir/src/tools/thread >&5 +then rm -f $srcdir/src/Makefile.global + AC_MSG_ERROR([Can not build thread test proram.]) +fi +if ! $srcdir/src/tools/thread/thread_test >&5 +then rm -f $srcdir/src/Makefile.global + echo "no" + echo + $srcdir/src/tools/thread/thread_test + echo + AC_MSG_ERROR([Thread test program failed. Your platform is not thread-safe.]) +fi +if ! $MAKE -C $srcdir/src/tools/thread clean >&5 +then rm -f $srcdir/src/Makefile.global + AC_MSG_ERROR([Can not clean thread test directory.]) +fi echo "yes" else AC_MSG_WARN([