[PVFS2-CVS] commit by neill in pvfs2: ChangeLog Makefile.in configure configure.in

CVS commit program cvs at parl.clemson.edu
Thu Jul 8 13:17:04 EDT 2004


Update of /projects/cvsroot/pvfs2
In directory parlweb:/tmp/cvs-serv12211

Modified Files:
	ChangeLog Makefile.in configure configure.in 
Log Message:
- merging in the pvfs2-nm-nb-branch with the main tree
  see ChangeLog for details, or browse the cvs history of the branch
  for full details


Index: ChangeLog
===================================================================
RCS file: /projects/cvsroot/pvfs2/ChangeLog,v
diff -p -u -r1.92 -r1.93
--- ChangeLog	24 Jun 2004 21:05:13 -0000	1.92
+++ ChangeLog	8 Jul 2004 16:17:03 -0000	1.93
@@ -3,9 +3,77 @@ PVFS2 Release ChangeLog
 -----------------------
 
 
-pvfs2-0.6.0pre1
+pvfs2-0.6.0pre2
 ===============
-- kill pvfs2-import and pvfs2-export in favor of pvfs2-cp 
+- remove pvfs2-import and pvfs2-export in favor of pvfs2-cp
+- added compile time option for disabling thread-safety in the client
+  library (enabled by default; --disable-thread-safety to disable)
+- improved configure summary information emitted at configure time
+- added missing non-blocking sysint declarations to sysint header
+- made sysint test and testsome() calls more useable
+- merged dev unexp polling/handling with system interface
+- added PINT_sys_dev_unexp call that allows posting unexpected device
+  messages so that they can be returned from the sysint testsome
+  method in addition to completed sysint operations
+- added a id_gen_fast_unregister macro that is a no op, to make the
+  api more consistent with the id_gen_safe_* calls
+- modified device driver to work properly in non-blocking mode from
+  userspace by implementing the character device poll method and
+  modified the pint-dev device interface to make sure it can handle
+  the pvfs2 device in a non-blocking manner; added a no immediate
+  completion option to the device interface; made test more efficient
+  by not polling if no idle time is specified; check for poll errors; use
+  proper buffer sizes for reads across the device
+- added a method to free the mapped memory region on pvfs2-client-core
+  shutdown (valgrind complained)
+- modified all job uses of the id-generator to use the safe, rather
+  than fast, methods (useful for several reasons including safe
+  cancellation of already completed operations)
+- modified the job_dev_unexp method to have (and honor) the no
+  immediate completion flag if passed (used in the pvfs2-client-core)
+- re-wrote pvfs2-client-core to use sysint non-blocking operations
+- improved human readable size reporting
+- allow human readable size reporting to optionally use si units
+- added --si option to pvfs2-ls (similar to ls's --si option)
+- added -H option to pvfs2-statfs (similar to du's -H option)
+- added a method able to cancel I/O operations in progress
+- removed kernel ability to kill device file on cancelled I/O
+- added the ability of sys-io.sm to handle run-time cancellation while
+  still transitioning properly
+- added support in the pvfs2-client for ignoring an upcall retry for an
+  op already in progress (as opposed to servicing it multiple times)
+- added kernel method that allows the cancellation upcall/downcall cycle
+  to progress, ignoring the fact that a signal is pending (since the
+  only time a cancellation is issued is when there's a signal pending)
+- fixed kernel oops on setattr (signal) interruption by returning a
+  valid error code in this case
+- full acache cleanup, bugfixes, and thread-safety support
+- allow the sysint post() method to complete an op if finished
+  (i.e. all states are immed. completion) by adding it to the
+  completion list (which test/testsome can retrieve)
+- remove 'cached' attribute fields from getattr_sm object
+- remove mostly duplicated code from shared-state-methods.c
+- added support (testing only) for building a threaded client library
+- gracefully terminate thread-mgr testing threads on errors
+  [ this is only really useful for graceful shutdown of the threaded
+    client library ]
+- added a set_info option to bmi that tells it to be more aggressive
+  when cancelling operations (bmi_tcp will now close sockets)
+- fixed kernel bugs that didn't release the bufmap indices in use on
+  some error paths (eventually caused all of them to be permanently
+  used which caused hangs on I/O)
+- extend msgpairarray code to only retry msgpairs that haven't
+  completed already
+- increase kernel module single operation timeout to be 60 seconds
+  instead of 30 seconds (note: as a side-effect this also extends the
+  amount of time you'll have to wait on interrupted operations via
+  signal for now)
+- added PVFS_strerror_r; an equivalent to strerror_r (the
+  thread-safe strerror call) that handles PVFS_error codes
+- added a simple file_write test program (tests are not in releases)
+- always delay for 1 second before spawning the pvfs2-client-core from
+  within the pvfs2-client to avoid filling dmesg with harmful looking
+  errors while restarting (and re-opening the device file)
 
 
 pvfs2-0.5.1
@@ -517,4 +585,3 @@ pvfs2-0.0.2
 pvfs2-0.0.1
 ==========
 - limited initial public release
-

Index: Makefile.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/Makefile.in,v
diff -p -u -r1.160 -r1.161
--- Makefile.in	29 Jun 2004 15:43:39 -0000	1.160
+++ Makefile.in	8 Jul 2004 16:17:03 -0000	1.161
@@ -207,14 +207,14 @@ SERVERCFLAGS = -D__GEN_POSIX_LOCKING__ -
 # server side flow protocol connecting BMI with NCAC cache
 SERVERCFLAGS += -D__STATIC_FLOWPROTO_BMI_CACHE__
 
-SERVERLIBS = -lrt -lpthread -lpvfs2-server @LIBS@ 
-# the client libraries are not threaded (at the moment at least)
-#    and therefore can disable locking in the I/O subsystems
-#LIBCFLAGS = -D__GEN_NULL_LOCKING__
-# No longer trye!  The new pcache now requires locks
-# This is hack and should be fixed.
-LIBCFLAGS = -D__GEN_POSIX_LOCKING__
-LIBS += -lpthread
+SERVERLIBS = -lrt -lpthread -lpvfs2-server @LIBS@
+# you can optionally disable thread safety support in the client
+# though it's not recommended unless *required*.
+#
+# run ./configure --help for information on how to do this cleanly.
+LIBCFLAGS=@LIBCFLAGS@
+LIBTHREADEDCFLAGS=-D__GEN_POSIX_LOCKING__ -D__PVFS2_JOB_THREADED__
+LIBS += @THREAD_LIB@
 
 # VISCFLAGS/VISLIBS: special build flags for vis tools
 # configure has already filled in special graphics flags, we just tack
@@ -345,6 +345,13 @@ LIBPICOBJS := $(patsubst %.c,%.po, $(fil
 # LIBDEPENDS is a list of dependency files for the client lib
 LIBDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(LIBSRC)))
 
+# LIBTHREADEDOBJS is a list of objects to put in the multithreaded client lib
+LIBTHREADEDOBJS := $(patsubst %.c,%-threaded.o, $(filter %.c,$(LIBSRC)))
+# LIBTHREADEDPICOBJS are the same, but compiled for use in a shared library
+LIBTHREADEDPICOBJS := $(patsubst %.c,%-threaded.po, $(filter %.c,$(LIBSRC)))
+# LIBTHREADEDDEPENDS is a list of dependency files for the multithreaded client lib
+LIBTHREADEDDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(LIBSRC)))
+
 # ADMINOBJS is a list of admin program objects
 ADMINOBJS := $(patsubst %.c,%.o, $(filter %.c,$(ADMINSRC)))
 ADMINOBJS_SERVER := $(patsubst %.c,%.o, $(filter %.c,$(ADMINSRC_SERVER)))
@@ -507,6 +514,17 @@ else
 	ar rcs $@ $(LIBOBJS)
 endif
 
+# rule for building the _multithreaded_ pvfs2 library
+lib/libpvfs2-threaded.a: $(LIBTHREADEDOBJS)
+ifdef QUIET_COMPILE
+	@echo "  RANLIBTHREADED	$@"
+	@$(INSTALL) -d lib
+	@ar rcs $@ $(LIBTHREADEDOBJS)
+else
+	$(INSTALL) -d lib
+	ar rcs $@ $(LIBTHREADEDOBJS)
+endif
+
 # rule for building the pvfs2 library
 lib/libpvfs2.so: $(LIBPICOBJS)
 ifdef QUIET_COMPILE
@@ -518,6 +536,18 @@ else
 	$(LDSHARED) -o $@ $(LIBPICOBJS)
 endif
 
+# rule for building the pvfs2 _multithreaded_ library
+lib/libpvfs2-threaded.so: $(LIBTHREADEDPICOBJS)
+ifdef QUIET_COMPILE
+	@echo "  LDSO		$@"
+	@$(INSTALL) -d lib
+	@$(LDSHARED) -o $@ $(LIBTHREADEDPICOBJS)
+else
+	$(INSTALL) -d lib
+	$(LDSHARED) -o $@ $(LIBTHREADEDPICOBJS)
+endif
+
+
 # rule for building the pvfs2 server library
 lib/libpvfs2-server.a: $(SERVEROBJS)
 ifdef QUIET_COMPILE
@@ -604,6 +634,24 @@ else
 	$(CC) $(SERVERCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -c -o $@
 endif
 
+# default rule for building objects for threaded library
+%-threaded.o: %.c
+ifdef QUIET_COMPILE
+	@echo "  CC		$@"
+	@$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -c -o $@
+else
+	$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -c -o $@
+endif
+
+# rule for building shared objects for threaded library
+%-threaded.po: %.c
+ifdef QUIET_COMPILE
+	@echo "  CCPIC		$@"
+	@$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(PICFLAGS) $(call modcflags,$<) $< -c -o $@
+else
+	$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(PICFLAGS) $(call modcflags,$<) $< -c -o $@
+endif
+
 # default rule for building objects 
 %.o: %.c
 ifdef QUIET_COMPILE
@@ -638,6 +686,14 @@ ifdef QUIET_COMPILE
 	@$(CC) $(LIBCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -E -o $@
 else
 	$(CC) $(LIBCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -E -o $@
+endif
+
+%-threaded.i: %.c FORCE
+ifdef QUIET_COMPILE
+	@echo "  CPP		$@"
+	@$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -E -o $@
+else
+	$(CC) $(LIBTHREADEDCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -E -o $@
 endif
 
 # all applications depend on the pvfs2 library

Index: configure
===================================================================
RCS file: /projects/cvsroot/pvfs2/configure,v
diff -p -u -r1.165 -r1.166
--- configure	8 Jun 2004 21:31:34 -0000	1.165
+++ configure	8 Jul 2004 16:17:04 -0000	1.166
@@ -30,6 +30,8 @@ ac_help="$ac_help
 ac_help="$ac_help
   --enable-verbose-build  Enables full output during build process"
 ac_help="$ac_help
+  --disable-thread-safety Disables thread safety in the client library"
+ac_help="$ac_help
   --disable-perf-counters Disables pvfs2-server performance counters"
 ac_help="$ac_help
   --disable-disk-io       Disables pvfs2-server disk I/O (for testing)"
@@ -585,7 +587,7 @@ ac_configure=$ac_aux_dir/configure # Thi
 PVFS2_MAJOR=0
 PVFS2_MINOR=6
 PVFS2_SUB=0
-PVFS2_PRE="pre1"
+PVFS2_PRE="pre2"
 
 am__api_version="1.4"
 # Find a good install program.  We prefer a C program (faster),
@@ -600,7 +602,7 @@ am__api_version="1.4"
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:604: checking for a BSD compatible install" >&5
+echo "configure:606: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -653,7 +655,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:657: checking whether build environment is sane" >&5
+echo "configure:659: checking whether build environment is sane" >&5
 # Just in case
 sleep 1
 echo timestamp > conftestfile
@@ -710,7 +712,7 @@ test "$program_suffix" != NONE &&
 test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:714: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:716: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -756,7 +758,7 @@ EOF
 
 missing_dir=`cd $ac_aux_dir && pwd`
 echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6
-echo "configure:760: checking for working aclocal-${am__api_version}" >&5
+echo "configure:762: checking for working aclocal-${am__api_version}" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -769,7 +771,7 @@ else
 fi
 
 echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:773: checking for working autoconf" >&5
+echo "configure:775: checking for working autoconf" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -782,7 +784,7 @@ else
 fi
 
 echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6
-echo "configure:786: checking for working automake-${am__api_version}" >&5
+echo "configure:788: checking for working automake-${am__api_version}" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -795,7 +797,7 @@ else
 fi
 
 echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:799: checking for working autoheader" >&5
+echo "configure:801: checking for working autoheader" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -808,7 +810,7 @@ else
 fi
 
 echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:812: checking for working makeinfo" >&5
+echo "configure:814: checking for working makeinfo" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -844,7 +846,7 @@ else { echo "configure: error: can not r
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:848: checking host system type" >&5
+echo "configure:850: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -869,7 +871,7 @@ echo "$ac_t""$host" 1>&6
 MISC_TROVE_FLAGS=""
 if test x$host_os = xlinux-gnu; then
     echo $ac_n "checking glibc version for working aio callbacks""... $ac_c" 1>&6
-echo "configure:873: checking glibc version for working aio callbacks" >&5
+echo "configure:875: checking glibc version for working aio callbacks" >&5
     libc=`echo /lib/libc.so.* | sed 1q`
     if test x$libc != x ; then
 	if test -x $libc ; then
@@ -904,14 +906,14 @@ fi
 
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:908: checking whether byte ordering is bigendian" >&5
+echo "configure:910: checking whether byte ordering is bigendian" >&5
 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 915 "configure"
+#line 917 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -922,11 +924,11 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:926: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:928: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 930 "configure"
+#line 932 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -937,7 +939,7 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:941: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -957,7 +959,7 @@ if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 961 "configure"
+#line 963 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -970,7 +972,7 @@ main () {
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_bigendian=no
 else
@@ -995,7 +997,7 @@ fi
 
 
 echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:999: checking size of void *" >&5
+echo "configure:1001: checking size of void *" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_void_p'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1003,7 +1005,7 @@ else
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 1007 "configure"
+#line 1009 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -1014,7 +1016,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:1018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_void_p=`cat conftestval`
 else
@@ -1192,6 +1194,26 @@ fi
 
 
 
+echo $ac_n "checking for client library thread safety support""... $ac_c" 1>&6
+echo "configure:1199: checking for client library thread safety support" >&5
+# Check whether --enable-disable-thread-safety or --disable-disable-thread-safety was given.
+if test "${enable_disable_thread_safety+set}" = set; then
+  enableval="$enable_disable_thread_safety"
+  if test x$enableval = xno; then
+    LIBCFLAGS="$LIBCFLAGS -D__GEN_NULL_LOCKING__"
+    THREAD_LIB=""
+    echo "$ac_t""no" 1>&6
+fi
+else
+     LIBCFLAGS="$LIBCFLAGS -D__GEN_POSIX_LOCKING__"
+    THREAD_LIB="-lpthread"
+    echo "$ac_t""yes" 1>&6 
+fi
+
+
+
+
+
 # Check whether --enable-perf-counters or --disable-perf-counters was given.
 if test "${enable_perf_counters+set}" = set; then
   enableval="$enable_perf_counters"
@@ -1229,7 +1251,7 @@ test_for_karma()
   # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1233: checking for $ac_word" >&5
+echo "configure:1255: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_PKGCONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1258,7 +1280,7 @@ fi
 
   if test x$HAVE_PKGCONFIG = xyes ; then
      echo $ac_n "checking for gtk2.0 (for karma gui)""... $ac_c" 1>&6
-echo "configure:1262: checking for gtk2.0 (for karma gui)" >&5
+echo "configure:1284: checking for gtk2.0 (for karma gui)" >&5
      if `pkg-config --exists gtk+-2.0` ; then
         echo "$ac_t""yes" 1>&6
         GTKLIBS=`pkg-config --libs gtk+-2.0`
@@ -1326,7 +1348,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1330: checking for a BSD compatible install" >&5
+echo "configure:1352: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1381,7 +1403,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1385: checking for $ac_word" >&5
+echo "configure:1407: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1411,7 +1433,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1415: checking for $ac_word" >&5
+echo "configure:1437: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1462,7 +1484,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1466: checking for $ac_word" >&5
+echo "configure:1488: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1494,7 +1516,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1498: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1520: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1505,12 +1527,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1509 "configure"
+#line 1531 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1536,12 +1558,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1540: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1562: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1545: checking whether we are using GNU C" >&5
+echo "configure:1567: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1550,7 +1572,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1569,7 +1591,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1573: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1595: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1601,7 +1623,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1605: checking how to run the C preprocessor" >&5
+echo "configure:1627: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1616,13 +1638,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1620 "configure"
+#line 1642 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1633,13 +1655,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1637 "configure"
+#line 1659 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1650,13 +1672,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1654 "configure"
+#line 1676 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1682: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1683,7 +1705,7 @@ echo "$ac_t""$CPP" 1>&6
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1687: checking for $ac_word" >&5
+echo "configure:1709: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1713,7 +1735,7 @@ fi
 # Extract the first word of "find", so it can be a program name with args.
 set dummy find; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1717: checking for $ac_word" >&5
+echo "configure:1739: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1743,7 +1765,7 @@ fi
 # Extract the first word of "bison", so it can be a program name with args.
 set dummy bison; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1747: checking for $ac_word" >&5
+echo "configure:1769: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1773,7 +1795,7 @@ fi
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1777: checking for $ac_word" >&5
+echo "configure:1799: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1804,9 +1826,9 @@ fi
 INTELC=
 GNUC=
 echo $ac_n "checking whether cc is an Intel compiler""... $ac_c" 1>&6
-echo "configure:1808: checking whether cc is an Intel compiler" >&5
+echo "configure:1830: checking whether cc is an Intel compiler" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1810 "configure"
+#line 1832 "configure"
 #include "confdefs.h"
 
 #ifndef __ICC
@@ -1817,7 +1839,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1821: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
     INTELC=1
@@ -1845,7 +1867,7 @@ if test "${with_efence+set}" = set; then
 		LDFLAGS="${LDFLAGS} -L$withval"
 	fi
 	echo $ac_n "checking for malloc in -lefence""... $ac_c" 1>&6
-echo "configure:1849: checking for malloc in -lefence" >&5
+echo "configure:1871: checking for malloc in -lefence" >&5
 ac_lib_var=`echo efence'_'malloc | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1853,7 +1875,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lefence  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1857 "configure"
+#line 1879 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1864,7 +1886,7 @@ int main() {
 malloc()
 ; return 0; }
 EOF
-if { (eval echo configure:1868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1904,19 +1926,19 @@ fi
 
 
 echo $ac_n "checking for db library""... $ac_c" 1>&6
-echo "configure:1908: checking for db library" >&5
+echo "configure:1930: checking for db library" >&5
 oldlibs=$LIBS
 for lib in db4  db3  db  notfound; do
 	LIBS="${oldlibs} -l$lib"
 	cat > conftest.$ac_ext <<EOF
-#line 1913 "configure"
+#line 1935 "configure"
 #include "confdefs.h"
 #include <db.h>
 int main() {
 DB *dbp; db_create(&dbp, NULL, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:1920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   break
 else
@@ -1933,9 +1955,9 @@ fi
 
 
 echo $ac_n "checking for four-parameter DB stat""... $ac_c" 1>&6
-echo "configure:1937: checking for four-parameter DB stat" >&5
+echo "configure:1959: checking for four-parameter DB stat" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1939 "configure"
+#line 1961 "configure"
 #include "confdefs.h"
 
 #include <db.h>
@@ -1950,7 +1972,7 @@ ret = db->stat(db, NULL, NULL, flags);
 
 ; return 0; }
 EOF
-if { (eval echo configure:1954: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 cat >> confdefs.h <<\EOF
@@ -1966,9 +1988,9 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for txnid parameter to DB open function""... $ac_c" 1>&6
-echo "configure:1970: checking for txnid parameter to DB open function" >&5
+echo "configure:1992: checking for txnid parameter to DB open function" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1972 "configure"
+#line 1994 "configure"
 #include "confdefs.h"
 
 #include <db.h>
@@ -1988,7 +2010,7 @@ ret = db->open(db, txnid, file, database
 
 ; return 0; }
 EOF
-if { (eval echo configure:1992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 cat >> confdefs.h <<\EOF
@@ -2004,9 +2026,9 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for DB_DIRTY_READ flag""... $ac_c" 1>&6
-echo "configure:2008: checking for DB_DIRTY_READ flag" >&5
+echo "configure:2030: checking for DB_DIRTY_READ flag" >&5
 cat > conftest.$ac_ext <<EOF
-#line 2010 "configure"
+#line 2032 "configure"
 #include "confdefs.h"
 
 #include <db.h>
@@ -2017,7 +2039,7 @@ u_int32_t flags = DB_DIRTY_READ;
 
 ; return 0; }
 EOF
-if { (eval echo configure:2021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2043: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 cat >> confdefs.h <<\EOF
@@ -2047,17 +2069,17 @@ CPPFLAGS_OLD="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS -I ${GM_HOME}/include -I ${GM_HOME}/include/gm"
 ac_safe=`echo "gm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gm.h""... $ac_c" 1>&6
-echo "configure:2051: checking for gm.h" >&5
+echo "configure:2073: checking for gm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2056 "configure"
+#line 2078 "configure"
 #include "confdefs.h"
 #include <gm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2061: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2087,17 +2109,17 @@ CPPFLAGS="$CPPFLAGS_OLD"
 
 ac_safe=`echo "sys/sysinfo.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/sysinfo.h""... $ac_c" 1>&6
-echo "configure:2091: checking for sys/sysinfo.h" >&5
+echo "configure:2113: checking for sys/sysinfo.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2096 "configure"
+#line 2118 "configure"
 #include "confdefs.h"
 #include <sys/sysinfo.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2101: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2138,17 +2160,17 @@ CPPFLAGS_OLD="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS -I ${IB_HOME}/include"
 ac_safe=`echo "vapi.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vapi.h""... $ac_c" 1>&6
-echo "configure:2142: checking for vapi.h" >&5
+echo "configure:2164: checking for vapi.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2147 "configure"
+#line 2169 "configure"
 #include "confdefs.h"
 #include <vapi.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2174: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2181,12 +2203,12 @@ CPPFLAGS="$CPPFLAGS_OLD"
 for ac_func in strnlen
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2185: checking for $ac_func" >&5
+echo "configure:2207: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2190 "configure"
+#line 2212 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2209,7 +2231,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2244,12 +2266,12 @@ done
 for ac_func in strtoull
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2248: checking for $ac_func" >&5
+echo "configure:2270: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2253 "configure"
+#line 2275 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2272,7 +2294,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2299,12 +2321,12 @@ done
 for ac_func in strstr
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2303: checking for $ac_func" >&5
+echo "configure:2325: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2308 "configure"
+#line 2330 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2327,7 +2349,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2354,7 +2376,7 @@ done
 
 # getmntent is in -lsun on Irix 4, -lseq on Dynix/PTX, -lgen on Unixware.
 echo $ac_n "checking for getmntent in -lsun""... $ac_c" 1>&6
-echo "configure:2358: checking for getmntent in -lsun" >&5
+echo "configure:2380: checking for getmntent in -lsun" >&5
 ac_lib_var=`echo sun'_'getmntent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2362,7 +2384,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsun  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2366 "configure"
+#line 2388 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2373,7 +2395,7 @@ int main() {
 getmntent()
 ; return 0; }
 EOF
-if { (eval echo configure:2377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2392,7 +2414,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getmntent in -lseq""... $ac_c" 1>&6
-echo "configure:2396: checking for getmntent in -lseq" >&5
+echo "configure:2418: checking for getmntent in -lseq" >&5
 ac_lib_var=`echo seq'_'getmntent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2400,7 +2422,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lseq  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2404 "configure"
+#line 2426 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2411,7 +2433,7 @@ int main() {
 getmntent()
 ; return 0; }
 EOF
-if { (eval echo configure:2415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2430,7 +2452,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getmntent in -lgen""... $ac_c" 1>&6
-echo "configure:2434: checking for getmntent in -lgen" >&5
+echo "configure:2456: checking for getmntent in -lgen" >&5
 ac_lib_var=`echo gen'_'getmntent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2438,7 +2460,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2442 "configure"
+#line 2464 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2449,7 +2471,7 @@ int main() {
 getmntent()
 ; return 0; }
 EOF
-if { (eval echo configure:2453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2474,12 +2496,12 @@ fi
 fi
 
 echo $ac_n "checking for getmntent""... $ac_c" 1>&6
-echo "configure:2478: checking for getmntent" >&5
+echo "configure:2500: checking for getmntent" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getmntent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2483 "configure"
+#line 2505 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getmntent(); below.  */
@@ -2502,7 +2524,7 @@ getmntent();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_getmntent=yes"
 else
@@ -2529,17 +2551,17 @@ for ac_hdr in malloc.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2533: checking for $ac_hdr" >&5
+echo "configure:2555: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2538 "configure"
+#line 2560 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2569,17 +2591,17 @@ for ac_hdr in mntent.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2573: checking for $ac_hdr" >&5
+echo "configure:2595: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2578 "configure"
+#line 2600 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2605: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2610,17 +2632,17 @@ for ac_hdr in execinfo.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2614: checking for $ac_hdr" >&5
+echo "configure:2636: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2619 "configure"
+#line 2641 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2624: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2650,7 +2672,7 @@ done
 
 
 echo $ac_n "checking for SDL""... $ac_c" 1>&6
-echo "configure:2654: checking for SDL" >&5
+echo "configure:2676: checking for SDL" >&5
 SDL_CONFIG=`which sdl-config 2> /dev/null`
 if ! test -z $SDL_CONFIG && test -x $SDL_CONFIG; then
    echo "$ac_t""yes" 1>&6
@@ -2662,17 +2684,17 @@ if ! test -z $SDL_CONFIG && test -x $SDL
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2666: checking for $ac_hdr" >&5
+echo "configure:2688: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2671 "configure"
+#line 2693 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2700,17 +2722,17 @@ for ac_hdr in SDL/SDL_ttf.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2704: checking for $ac_hdr" >&5
+echo "configure:2726: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2709 "configure"
+#line 2731 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2955,6 +2977,8 @@ s%@SRC_RELATIVE_TOP@%$SRC_RELATIVE_TOP%g
 s%@SRC_ABSOLUTE_TOP@%$SRC_ABSOLUTE_TOP%g
 s%@ENABLE_COVERAGE@%$ENABLE_COVERAGE%g
 s%@QUIET_COMPILE@%$QUIET_COMPILE%g
+s%@LIBCFLAGS@%$LIBCFLAGS%g
+s%@THREAD_LIB@%$THREAD_LIB%g
 s%@MMAP_RA_CACHE@%$MMAP_RA_CACHE%g
 s%@HAVE_PKGCONFIG@%$HAVE_PKGCONFIG%g
 s%@GTKLIBS@%$GTKLIBS%g
@@ -3243,12 +3267,48 @@ test "$no_create" = yes || ${CONFIG_SHEL
 # dump LIBS variable into a file to be used by test/configure
 
 
-# print a summary of the configuration after all the junky output
+
+# print a summary of the configuration information
+echo "$ac_t""" 1>&6
+echo "$ac_t""***** Displaying PVFS2 Configuration Information *****" 1>&6
+echo "$ac_t""------------------------------------------------------" 1>&6
+
 if test x$BUILD_KARMA = x1 ; then
-	echo PVFS2 "configured to build karma gui."
+   echo "$ac_t""PVFS2 configured to build karma gui              : yes" 1>&6
+else
+   echo "$ac_t""PVFS2 configured to build karma gui              :  no" 1>&6
 fi
+
 if test x$ENABLE_COVERAGE = x1 ; then
-	echo PVFS2 "configured to perform coverage analysis."
+   echo "$ac_t""PVFS2 configured to perform coverage analysis    : yes" 1>&6
+else
+   echo "$ac_t""PVFS2 configured to perform coverage analysis    :  no" 1>&6
+fi
+
+if test "x$LINUX_KERNEL_SRC" = "x" ; then
+   echo "$ac_t""PVFS2 configured for the 2.6.x kernel module     :  no" 1>&6
+else
+   echo "$ac_t""PVFS2 configured for the 2.6.x kernel module     : yes" 1>&6
+fi
+
+if test "x$LINUX24_KERNEL_SRC" = "x" ; then
+   echo "$ac_t""PVFS2 configured for the 2.4.x kernel module     :  no" 1>&6
+else
+   echo "$ac_t""PVFS2 configured for the 2.4.x kernel module     : yes" 1>&6
 fi
+
+if test "x$MMAP_RA_CACHE" = "x" ; then
+   echo "$ac_t""PVFS2 configured for using the mmap-ra-cache     :  no" 1>&6
+else
+   echo "$ac_t""PVFS2 configured for using the mmap-ra-cache     : yes" 1>&6
+fi
+
+if test "x$THREAD_LIB" = "x" ; then
+   echo "$ac_t""PVFS2 configured for a thread-safe client library:  no" 1>&6
+else
+   echo "$ac_t""PVFS2 configured for a thread-safe client library: yes" 1>&6
+fi
+
+echo "$ac_t""" 1>&6
 echo ${LIBS}> .libs
 

Index: configure.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/configure.in,v
diff -p -u -r1.164 -r1.165
--- configure.in	8 Jun 2004 21:31:35 -0000	1.164
+++ configure.in	8 Jul 2004 16:17:04 -0000	1.165
@@ -13,7 +13,7 @@ dnl PVFS2 versioning information
 PVFS2_MAJOR=0
 PVFS2_MINOR=6
 PVFS2_SUB=0
-PVFS2_PRE="pre1"
+PVFS2_PRE="pre2"
 
 AM_INIT_AUTOMAKE(pvfs2, $PVFS2_MAJOR.$PVFS2_MINOR.$PVFS2_SUB$PVFS2_PRE)
 
@@ -35,10 +35,8 @@ dnl if test x$host_os != xlinux-gnu; the
 dnl else AC_MSG_RESULT(yes)
 dnl fi
 
-dnl NOTE: for now, if we're running on linux-gnu and we find
-dnl glibc version 2.3.2, we assume the aio callbacks work.
-dnl this should really check for 2.3.2 or later -- probably in
-dnl more portable format as well.
+dnl if we're running on linux-gnu and we find glibc version 2.3.2 or
+dnl later, we assume the aio threaded callbacks work
 MISC_TROVE_FLAGS=""
 if test x$host_os = xlinux-gnu; then
     AC_MSG_CHECKING(glibc version for working aio callbacks)
@@ -227,6 +225,22 @@ QUIET_COMPILE=1)
 
 AC_SUBST(QUIET_COMPILE)
 
+dnl a mechanism to turn off threads in the client library
+AC_MSG_CHECKING([for client library thread safety support])
+AC_ARG_ENABLE(disable-thread-safety,
+[  --disable-thread-safety Disables thread safety in the client library],
+[if test x$enableval = xno; then
+    LIBCFLAGS="$LIBCFLAGS -D__GEN_NULL_LOCKING__"
+    THREAD_LIB=""
+    AC_MSG_RESULT(no)
+fi],
+[   LIBCFLAGS="$LIBCFLAGS -D__GEN_POSIX_LOCKING__"
+    THREAD_LIB="-lpthread"
+    AC_MSG_RESULT(yes) ])
+
+AC_SUBST(LIBCFLAGS)
+AC_SUBST(THREAD_LIB)
+
 dnl a mechanism to turn off perf counters
 AC_ARG_ENABLE(perf-counters,
 [  --disable-perf-counters Disables pvfs2-server performance counters],
@@ -575,10 +589,46 @@ examples/pvfs2-server.rc
 # dump LIBS variable into a file to be used by test/configure
 AC_OUTPUT_COMMANDS([echo ${LIBS}> .libs])
 
-# print a summary of the configuration after all the junky output
+
+# print a summary of the configuration information
+AC_MSG_RESULT()
+AC_MSG_RESULT([***** Displaying PVFS2 Configuration Information *****])
+AC_MSG_RESULT([------------------------------------------------------])
+
 if test x$BUILD_KARMA = x1 ; then
-	echo PVFS2 "configured to build karma gui."
+   AC_MSG_RESULT([PVFS2 configured to build karma gui              : yes])
+else
+   AC_MSG_RESULT([PVFS2 configured to build karma gui              :  no])
 fi
+
 if test x$ENABLE_COVERAGE = x1 ; then
-	echo PVFS2 "configured to perform coverage analysis."
+   AC_MSG_RESULT([PVFS2 configured to perform coverage analysis    : yes])
+else
+   AC_MSG_RESULT([PVFS2 configured to perform coverage analysis    :  no])
+fi
+
+if test "x$LINUX_KERNEL_SRC" = "x" ; then
+   AC_MSG_RESULT([PVFS2 configured for the 2.6.x kernel module     :  no])
+else
+   AC_MSG_RESULT([PVFS2 configured for the 2.6.x kernel module     : yes])
+fi
+
+if test "x$LINUX24_KERNEL_SRC" = "x" ; then
+   AC_MSG_RESULT([PVFS2 configured for the 2.4.x kernel module     :  no])
+else
+   AC_MSG_RESULT([PVFS2 configured for the 2.4.x kernel module     : yes])
 fi
+
+if test "x$MMAP_RA_CACHE" = "x" ; then
+   AC_MSG_RESULT([PVFS2 configured for using the mmap-ra-cache     :  no])
+else
+   AC_MSG_RESULT([PVFS2 configured for using the mmap-ra-cache     : yes])
+fi
+
+if test "x$THREAD_LIB" = "x" ; then
+   AC_MSG_RESULT([PVFS2 configured for a thread-safe client library:  no])
+else
+   AC_MSG_RESULT([PVFS2 configured for a thread-safe client library: yes])
+fi
+
+AC_MSG_RESULT()



More information about the PVFS2-CVS mailing list