Index: configure
===================================================================
RCS file: /cvsroot/pgsql-server/configure,v
retrieving revision 1.376
diff -c -c -r1.376 configure
*** configure	24 Jun 2004 18:55:17 -0000	1.376
--- configure	10 Jul 2004 01:08:16 -0000
***************
*** 846,851 ****
--- 846,852 ----
    --enable-depend         turn on automatic dependency tracking
    --enable-cassert        enable assertion checks (for debugging)
    --enable-thread-safety  make client libraries thread-safe
+   --enable-thread-safety-force  force thread-safety in spite of thread test failure
    --disable-largefile     omit support for large files
  
  Optional Packages:
***************
*** 2937,2947 ****
  
    case $enableval in
      yes)
! 
! cat >>confdefs.h <<\_ACEOF
! #define ENABLE_THREAD_SAFETY 1
! _ACEOF
! 
        ;;
      no)
        :
--- 2938,2944 ----
  
    case $enableval in
      yes)
!       :
        ;;
      no)
        :
***************
*** 2958,2963 ****
--- 2955,2994 ----
  
  fi;
  
+ 
+ 
+ # Check whether --enable-thread-safety-force or --disable-thread-safety-force was given.
+ if test "${enable_thread_safety_force+set}" = set; then
+   enableval="$enable_thread_safety_force"
+ 
+   case $enableval in
+     yes)
+       :
+       ;;
+     no)
+       :
+       ;;
+     *)
+       { { echo "$as_me:$LINENO: error: no argument expected for --enable-thread-safety-force option" >&5
+ echo "$as_me: error: no argument expected for --enable-thread-safety-force option" >&2;}
+    { (exit 1); exit 1; }; }
+       ;;
+   esac
+ 
+ else
+   enable_thread_safety_force=no
+ 
+ fi;
+ 
+ if test "$enable_thread_safety" = yes -o
+    test "$enable_thread_safety_force" = yes; then
+   enable_thread_safety="yes"	# for 'force'
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define ENABLE_THREAD_SAFETY 1
+ _ACEOF
+ 
+ fi
  echo "$as_me:$LINENO: result: $enable_thread_safety" >&5
  echo "${ECHO_T}$enable_thread_safety" >&6
  
***************
*** 17941,17947 ****
  # We have to run the thread test near the end so we have all our symbols
  # defined.  Cross compiling throws a warning.
  #
! if test "$enable_thread_safety" = yes; then
  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
  
--- 17972,17991 ----
  # We have to run the thread test near the end so we have all our symbols
  # defined.  Cross compiling throws a warning.
  #
! if test "$enable_thread_safety_force" = yes; then
!   { echo "$as_me:$LINENO: WARNING:
! *** Skipping thread test program.  --enable-thread-safety-force was used.
! *** Run the program in src/tools/thread on the your machine and add
! proper locking function calls to your applications to guarantee thread
! safety.
! " >&5
! echo "$as_me: WARNING:
! *** Skipping thread test program.  --enable-thread-safety-force was used.
! *** Run the program in src/tools/thread on the your machine and add
! proper locking function calls to your applications to guarantee thread
! safety.
! " >&2;}
! elif test "$enable_thread_safety" = yes; then
  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
  
***************
*** 17954,17964 ****
  echo "${ECHO_T}maybe" >&6
    { echo "$as_me:$LINENO: WARNING:
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target matchine.
  " >&5
  echo "$as_me: WARNING:
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target matchine.
  " >&2;}
  else
    cat >conftest.$ac_ext <<_ACEOF
--- 17998,18008 ----
  echo "${ECHO_T}maybe" >&6
    { echo "$as_me:$LINENO: WARNING:
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target machine.
  " >&5
  echo "$as_me: WARNING:
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target machine.
  " >&2;}
  else
    cat >conftest.$ac_ext <<_ACEOF
***************
*** 17988,17997 ****
  echo "${ECHO_T}no" >&6
    { { echo "$as_me:$LINENO: error:
  *** Thread test program failed.  Your platform is not thread-safe.
! *** Check the file 'config.log'for the exact reason." >&5
  echo "$as_me: error:
  *** Thread test program failed.  Your platform is not thread-safe.
! *** Check the file 'config.log'for the exact reason." >&2;}
     { (exit 1); exit 1; }; }
  fi
  rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
--- 18032,18053 ----
  echo "${ECHO_T}no" >&6
    { { echo "$as_me:$LINENO: error:
  *** Thread test program failed.  Your platform is not thread-safe.
! *** Check the file 'config.log'for the exact reason.
! ***
! *** You can use the configure option --enable-thread-safety-force
! *** to force threads to be enabled.  However, you must then run
! *** the program in src/tools/thread and add locking function calls
! *** to your applications to guarantee thread safety.
! " >&5
  echo "$as_me: error:
  *** Thread test program failed.  Your platform is not thread-safe.
! *** Check the file 'config.log'for the exact reason.
! ***
! *** You can use the configure option --enable-thread-safety-force
! *** to force threads to be enabled.  However, you must then run
! *** the program in src/tools/thread and add locking function calls
! *** to your applications to guarantee thread safety.
! " >&2;}
     { (exit 1); exit 1; }; }
  fi
  rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql-server/configure.in,v
retrieving revision 1.365
diff -c -c -r1.365 configure.in
*** configure.in	24 Jun 2004 18:55:18 -0000	1.365
--- configure.in	10 Jul 2004 01:08:17 -0000
***************
*** 358,366 ****
  # Enable thread-safe client libraries
  #
  AC_MSG_CHECKING([allow thread-safe client libraries])
! PGAC_ARG_BOOL(enable, thread-safety, no, [  --enable-thread-safety  make client libraries thread-safe],
!               [AC_DEFINE([ENABLE_THREAD_SAFETY], 1,
!                          [Define to 1 to build client libraries as thread-safe code. (--enable-thread-safety)])])
  AC_MSG_RESULT([$enable_thread_safety])
  AC_SUBST(enable_thread_safety)
  
--- 358,371 ----
  # Enable thread-safe client libraries
  #
  AC_MSG_CHECKING([allow thread-safe client libraries])
! PGAC_ARG_BOOL(enable, thread-safety, no, [  --enable-thread-safety  make client libraries thread-safe])
! PGAC_ARG_BOOL(enable, thread-safety-force, no, [  --enable-thread-safety-force  force thread-safety in spite of thread test failure])
! if test "$enable_thread_safety" = yes -o
!    test "$enable_thread_safety_force" = yes; then
!   enable_thread_safety="yes"	# for 'force'
!   AC_DEFINE([ENABLE_THREAD_SAFETY], 1,
!           [Define to 1 to build client libraries as thread-safe code. (--enable-thread-safety)])
! fi
  AC_MSG_RESULT([$enable_thread_safety])
  AC_SUBST(enable_thread_safety)
  
***************
*** 1184,1190 ****
  # We have to run the thread test near the end so we have all our symbols
  # defined.  Cross compiling throws a warning.
  #
! if test "$enable_thread_safety" = yes; then
  AC_MSG_CHECKING([thread safety of required library functions])
  
  _CFLAGS="$CFLAGS"
--- 1189,1202 ----
  # We have to run the thread test near the end so we have all our symbols
  # defined.  Cross compiling throws a warning.
  #
! if test "$enable_thread_safety_force" = yes; then
!   AC_MSG_WARN([
! *** Skipping thread test program.  --enable-thread-safety-force was used.
! *** Run the program in src/tools/thread on the your machine and add
! proper locking function calls to your applications to guarantee thread
! safety.
! ])
! elif test "$enable_thread_safety" = yes; then
  AC_MSG_CHECKING([thread safety of required library functions])
  
  _CFLAGS="$CFLAGS"
***************
*** 1196,1206 ****
    [AC_MSG_RESULT(no)
    AC_MSG_ERROR([
  *** Thread test program failed.  Your platform is not thread-safe.  
! *** Check the file 'config.log'for the exact reason.])],
    [AC_MSG_RESULT(maybe)
    AC_MSG_WARN([
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target matchine.
  ])])
  CFLAGS="$_CFLAGS"
  LIBS="$_LIBS"
--- 1208,1224 ----
    [AC_MSG_RESULT(no)
    AC_MSG_ERROR([
  *** Thread test program failed.  Your platform is not thread-safe.  
! *** Check the file 'config.log'for the exact reason.
! ***
! *** You can use the configure option --enable-thread-safety-force
! *** to force threads to be enabled.  However, you must then run
! *** the program in src/tools/thread and add locking function calls
! *** to your applications to guarantee thread safety.
! ])],
    [AC_MSG_RESULT(maybe)
    AC_MSG_WARN([
  *** Skipping thread test program because of cross-compile build.
! *** Run the program in src/tools/thread on the target machine.
  ])])
  CFLAGS="$_CFLAGS"
  LIBS="$_LIBS"
