diff options
author | James Laird <jlaird@hdfgroup.org> | 2006-06-14 20:16:27 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2006-06-14 20:16:27 (GMT) |
commit | 59336d339b0295d2e86946028042a8005c8b589e (patch) | |
tree | 133d77102278350e09b2f10414fd69c813da4c43 | |
parent | a31e264f8923ba7ea89fefceb7bce7ada4679ee7 (diff) | |
download | hdf5-59336d339b0295d2e86946028042a8005c8b589e.zip hdf5-59336d339b0295d2e86946028042a8005c8b589e.tar.gz hdf5-59336d339b0295d2e86946028042a8005c8b589e.tar.bz2 |
[svn-r12413] Purpose:
Bug fix
Description:
Changed the semantics of --enable-stream-vfd and --enable-shared.
Both are now disabled by default when parallel HDF5 is being built.
Solution:
Both shared and stream-vfd are disabled by default in parallel, but can
be enabled explicitly if the user chooses.
Before, shared was always enabled by default and stream-vfd was
always disabled in parallel.
Platforms tested:
heping, mir (configuration change only)
-rwxr-xr-x | configure | 394 | ||||
-rw-r--r-- | configure.in | 432 | ||||
-rw-r--r-- | release_docs/INSTALL | 4 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 5 |
4 files changed, 444 insertions, 391 deletions
@@ -467,7 +467,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS H5_CFLAGS H5_CPPFLAGS H5_FCFLAGS H5_CXXFLAGS HSIZET CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE HDF5_INTERFACES R_LARGE R_INTEGER HADDR_T HSIZE_T HSSIZE_T HID_T SIZE_T OBJECT_NAMELEN_DEFAULT_F F9XSUFFIXFLAG FSEARCH_DIRS FC FCFLAGS ac_ct_FC F9XMODFLAG F9XMODEXT FCLIBS CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LT_STATIC_EXEC PERL AR FORTRAN_SHARED_CONDITIONAL_TRUE FORTRAN_SHARED_CONDITIONAL_FALSE CXX_SHARED_CONDITIONAL_TRUE CXX_SHARED_CONDITIONAL_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CPP F77 FFLAGS ac_ct_F77 LIBTOOL AM_MAKEFLAGS USE_FILTER_DEFLATE USE_FILTER_SZIP PTHREAD H5_LONE_COLON DEBUG_PKG TRACE_API INSTRUMENT_LIBRARY PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL ADD_PARALLEL_FILES MPE FILTERS USE_FILTER_SHUFFLE USE_FILTER_FLETCHER32 USE_FILTER_NBIT USE_FILTER_SCALEOFFSET H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX STATIC_SHARED CC_VERSION ROOT DYNAMIC_DIRS HL HL_FOR BUILD_ALL_CONDITIONAL_TRUE BUILD_ALL_CONDITIONAL_FALSE BUILD_CXX_CONDITIONAL_TRUE BUILD_CXX_CONDITIONAL_FALSE BUILD_PABLO_CONDITIONAL_TRUE BUILD_PABLO_CONDITIONAL_FALSE BUILD_PARALLEL_CONDITIONAL_TRUE BUILD_PARALLEL_CONDITIONAL_FALSE BUILD_FORTRAN_CONDITIONAL_TRUE BUILD_FORTRAN_CONDITIONAL_FALSE BUILD_HDF5_HL_CONDITIONAL_TRUE BUILD_HDF5_HL_CONDITIONAL_FALSE BUILD_SHARED_ONLY_CONDITIONAL_TRUE BUILD_SHARED_ONLY_CONDITIONAL_FALSE SEARCH SETX LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS H5_CFLAGS H5_CPPFLAGS H5_FCFLAGS H5_CXXFLAGS HSIZET CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE HDF5_INTERFACES R_LARGE R_INTEGER HADDR_T HSIZE_T HSSIZE_T HID_T SIZE_T OBJECT_NAMELEN_DEFAULT_F F9XSUFFIXFLAG FSEARCH_DIRS FC FCFLAGS ac_ct_FC F9XMODFLAG F9XMODEXT FCLIBS CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LT_STATIC_EXEC PERL AR PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL FORTRAN_SHARED_CONDITIONAL_TRUE FORTRAN_SHARED_CONDITIONAL_FALSE CXX_SHARED_CONDITIONAL_TRUE CXX_SHARED_CONDITIONAL_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CPP F77 FFLAGS ac_ct_F77 LIBTOOL AM_MAKEFLAGS USE_FILTER_DEFLATE USE_FILTER_SZIP PTHREAD H5_LONE_COLON DEBUG_PKG TRACE_API INSTRUMENT_LIBRARY ADD_PARALLEL_FILES MPE FILTERS USE_FILTER_SHUFFLE USE_FILTER_FLETCHER32 USE_FILTER_NBIT USE_FILTER_SCALEOFFSET H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX STATIC_SHARED CC_VERSION ROOT DYNAMIC_DIRS HL HL_FOR BUILD_ALL_CONDITIONAL_TRUE BUILD_ALL_CONDITIONAL_FALSE BUILD_CXX_CONDITIONAL_TRUE BUILD_CXX_CONDITIONAL_FALSE BUILD_PABLO_CONDITIONAL_TRUE BUILD_PABLO_CONDITIONAL_FALSE BUILD_PARALLEL_CONDITIONAL_TRUE BUILD_PARALLEL_CONDITIONAL_FALSE BUILD_FORTRAN_CONDITIONAL_TRUE BUILD_FORTRAN_CONDITIONAL_FALSE BUILD_HDF5_HL_CONDITIONAL_TRUE BUILD_HDF5_HL_CONDITIONAL_FALSE BUILD_SHARED_ONLY_CONDITIONAL_TRUE BUILD_SHARED_ONLY_CONDITIONAL_FALSE SEARCH SETX LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -4588,9 +4588,6 @@ else echo "no" fi -echo "$as_me:$LINENO: checking if c++ interface enabled" >&5 -echo $ECHO_N "checking if c++ interface enabled... $ECHO_C" >&6 - ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5317,6 +5314,9 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking if c++ interface enabled" >&5 +echo $ECHO_N "checking if c++ interface enabled... $ECHO_C" >&6 + # Check whether --enable-cxx or --disable-cxx was given. if test "${enable_cxx+set}" = set; then enableval="$enable_cxx" @@ -5595,16 +5595,16 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +else + echo "no" +fi - ac_ext=c +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -else - echo "no" -fi echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5 echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6 @@ -5824,6 +5824,152 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + + + + + + +case "$CC_BASENAME" in + mpicc) + PARALLEL=mpicc + echo "$as_me:$LINENO: checking for mpirun" >&5 +echo $ECHO_N "checking for mpirun... $ECHO_C" >&6 + + cmd="`echo $CC | cut -f1 -d' '`" + if (echo $cmd | grep / >/dev/null); then + path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break + fi + done + fi + + if test -x $path/mpirun; then + echo "$as_me:$LINENO: result: $path/mpirun" >&5 +echo "${ECHO_T}$path/mpirun" >&6 + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}" + fi + else + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 + fi + ;; + + hcc) + PARALLEL=hcc + echo "$as_me:$LINENO: checking for mpirun_lam or mpirun" >&5 +echo $ECHO_N "checking for mpirun_lam or mpirun... $ECHO_C" >&6 + + cmd="`echo $CC | cut -f1 -d' '`" + if (echo $cmd | grep / >/dev/null); then + path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break + fi + done + fi + + if test -x $path/mpirun_lam -o -x $path/mpirun; then + if test -x $path/mpirun_lam; then + cmd=mpirun_lam + else + cmd=mpirun + fi + echo "$as_me:$LINENO: result: $path/$cmd" >&5 +echo "${ECHO_T}$path/$cmd" >&6 + RUNSERIAL="${RUNSERIAL:-none}" + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}" + fi + else + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 + fi + ;; + + mpcc|mpcc_r) + PARALLEL="$CC_BASENAME" + ;; + + *) + ;; +esac + +if test "X$HDF_FORTRAN" = "Xyes"; then + ac_ext=${FC_SRCEXT-f} +ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + case "$FC" in + *mpif90*) + PARALLEL=mpif90 + echo "$as_me:$LINENO: checking for mpirun" >&5 +echo $ECHO_N "checking for mpirun... $ECHO_C" >&6 + + cmd=`echo $FC |cut -f1 -d' '` + if (echo $cmd |grep / >/dev/null); then + path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break; + fi + done + fi + + if test -x $path/mpirun; then + echo "$as_me:$LINENO: result: $path/mpirun" >&5 +echo "${ECHO_T}$path/mpirun" >&6 + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" + fi + else + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 + fi + ;; + + *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) + PARALLEL="$FC" + ;; + + *) + ;; + esac + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi + +if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then + echo ' shared libraries disabled in parallel' + enable_shared="no" +elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then + echo ' shared libraries explicitly enabled by user' +elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then + echo ' shared libraries disabled when a parallel compiler is being used' + enable_shared="no" +elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then + echo ' shared libraries explicitly enabled by user' +fi + if test "X${enable_shared}" != "Xno" && \ (${CC-cc} -V 2>&1 | grep '^pgcc') > /dev/null; then echo ' warning: shared libraries are not supported for pgcc!' @@ -6471,7 +6617,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6474 "configure"' > conftest.$ac_ext + echo '#line 6620 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7601,7 +7747,7 @@ fi # Provide some information about the compiler. -echo "$as_me:7604:" \ +echo "$as_me:7750:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -8670,11 +8816,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8673: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8819: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8677: \$? = $ac_status" >&5 + echo "$as_me:8823: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -8925,11 +9071,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8928: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9074: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8932: \$? = $ac_status" >&5 + echo "$as_me:9078: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -8985,11 +9131,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8988: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9134: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8992: \$? = $ac_status" >&5 + echo "$as_me:9138: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11257,7 +11403,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 11260 "configure" +#line 11406 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11355,7 +11501,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 11358 "configure" +#line 11504 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13591,11 +13737,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13594: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13740: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13598: \$? = $ac_status" >&5 + echo "$as_me:13744: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -13651,11 +13797,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13654: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13800: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13658: \$? = $ac_status" >&5 + echo "$as_me:13804: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15070,7 +15216,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 15073 "configure" +#line 15219 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15168,7 +15314,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 15171 "configure" +#line 15317 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16023,11 +16169,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16026: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16172: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16030: \$? = $ac_status" >&5 + echo "$as_me:16176: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -16083,11 +16229,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16086: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16232: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16090: \$? = $ac_status" >&5 + echo "$as_me:16236: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18139,11 +18285,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18142: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18288: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:18146: \$? = $ac_status" >&5 + echo "$as_me:18292: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -18394,11 +18540,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18397: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18543: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:18401: \$? = $ac_status" >&5 + echo "$as_me:18547: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -18454,11 +18600,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18457: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18603: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18461: \$? = $ac_status" >&5 + echo "$as_me:18607: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -20726,7 +20872,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 20729 "configure" +#line 20875 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -20824,7 +20970,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 20827 "configure" +#line 20973 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -48163,138 +48309,6 @@ if diff $cache_file confcache >/dev/null 2>&1; then :; else fi rm -f confcache - - - - - -case "$CC_BASENAME" in - mpicc) - PARALLEL=mpicc - echo "$as_me:$LINENO: checking for mpirun" >&5 -echo $ECHO_N "checking for mpirun... $ECHO_C" >&6 - - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break - fi - done - fi - - if test -x $path/mpirun; then - echo "$as_me:$LINENO: result: $path/mpirun" >&5 -echo "${ECHO_T}$path/mpirun" >&6 - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}" - fi - else - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 - fi - ;; - - hcc) - PARALLEL=hcc - echo "$as_me:$LINENO: checking for mpirun_lam or mpirun" >&5 -echo $ECHO_N "checking for mpirun_lam or mpirun... $ECHO_C" >&6 - - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break - fi - done - fi - - if test -x $path/mpirun_lam -o -x $path/mpirun; then - if test -x $path/mpirun_lam; then - cmd=mpirun_lam - else - cmd=mpirun - fi - echo "$as_me:$LINENO: result: $path/$cmd" >&5 -echo "${ECHO_T}$path/$cmd" >&6 - RUNSERIAL="${RUNSERIAL:-none}" - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}" - fi - else - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 - fi - ;; - - mpcc|mpcc_r) - PARALLEL="$CC_BASENAME" - ;; - - *) - ;; -esac - -if test "X$HDF_FORTRAN" = "Xyes"; then - ac_ext=${FC_SRCEXT-f} -ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - case "$FC" in - *mpif90*) - PARALLEL=mpif90 - echo "$as_me:$LINENO: checking for mpirun" >&5 -echo $ECHO_N "checking for mpirun... $ECHO_C" >&6 - - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - if test -x $path/mpirun; then - echo "$as_me:$LINENO: result: $path/mpirun" >&5 -echo "${ECHO_T}$path/mpirun" >&6 - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" - fi - else - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - PARALLEL="$FC" - ;; - - *) - ;; - esac - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi - # Check whether --enable-parallel or --disable-parallel was given. if test "${enable_parallel+set}" = set; then enableval="$enable_parallel" @@ -50350,30 +50364,40 @@ if test "${enable_stream_vfd+set}" = set; then enableval="$enable_stream_vfd" STREAM_VFD=$enableval else - STREAM_VFD=yes + STREAM_VFD=default fi; -if test "$STREAM_VFD" != "yes"; then +if test "$STREAM_VFD" != "yes" -a "$STREAM_VFD" != "default"; then echo "$as_me:$LINENO: result: not configured" >&5 echo "${ECHO_T}not configured" >&6 fi -if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then - echo "$as_me:$LINENO: result: not supported in parallel" >&5 -echo "${ECHO_T}not supported in parallel" >&6 - echo " warning! Stream-VFD is not supported in parallel" +if test "$STREAM_VFD" = "default" -a "X${enable_parallel}" = "Xyes"; then + echo "$as_me:$LINENO: result: disabled in parallel" >&5 +echo "${ECHO_T}disabled in parallel" >&6 STREAM_VFD=no -fi -if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then - echo "$as_me:$LINENO: result: not supported in parallel" >&5 -echo "${ECHO_T}not supported in parallel" >&6 - echo " warning! Stream-VFD is not supported when a parallel compiler is being used" +elif test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then + echo "$as_me:$LINENO: result: enabled by user" >&5 +echo "${ECHO_T}enabled by user" >&6 +elif test "$STREAM_VFD" = "default" -a "X${PARALLEL}" != "X"; then + echo "$as_me:$LINENO: result: disabled when a parallel compiler is being used" >&5 +echo "${ECHO_T}disabled when a parallel compiler is being used" >&6 STREAM_VFD=no +elif test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then + echo "$as_me:$LINENO: result: enabled by user" >&5 +echo "${ECHO_T}enabled by user" >&6 +elif test "$STREAM_VFD" = "yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 fi -if test "$STREAM_VFD" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 +if test "$STREAM_VFD" = "default"; then + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 + STREAM_VFD=yes +fi + +if test "$STREAM_VFD" = "yes"; then for ac_header in netinet/in.h do @@ -52759,6 +52783,10 @@ s,@CXXCPP@,$CXXCPP,;t t s,@LT_STATIC_EXEC@,$LT_STATIC_EXEC,;t t s,@PERL@,$PERL,;t t s,@AR@,$AR,;t t +s,@PARALLEL@,$PARALLEL,;t t +s,@RUNSERIAL@,$RUNSERIAL,;t t +s,@RUNPARALLEL@,$RUNPARALLEL,;t t +s,@TESTPARALLEL@,$TESTPARALLEL,;t t s,@FORTRAN_SHARED_CONDITIONAL_TRUE@,$FORTRAN_SHARED_CONDITIONAL_TRUE,;t t s,@FORTRAN_SHARED_CONDITIONAL_FALSE@,$FORTRAN_SHARED_CONDITIONAL_FALSE,;t t s,@CXX_SHARED_CONDITIONAL_TRUE@,$CXX_SHARED_CONDITIONAL_TRUE,;t t @@ -52782,10 +52810,6 @@ s,@H5_LONE_COLON@,$H5_LONE_COLON,;t t s,@DEBUG_PKG@,$DEBUG_PKG,;t t s,@TRACE_API@,$TRACE_API,;t t s,@INSTRUMENT_LIBRARY@,$INSTRUMENT_LIBRARY,;t t -s,@PARALLEL@,$PARALLEL,;t t -s,@RUNSERIAL@,$RUNSERIAL,;t t -s,@RUNPARALLEL@,$RUNPARALLEL,;t t -s,@TESTPARALLEL@,$TESTPARALLEL,;t t s,@ADD_PARALLEL_FILES@,$ADD_PARALLEL_FILES,;t t s,@MPE@,$MPE,;t t s,@FILTERS@,$FILTERS,;t t diff --git a/configure.in b/configure.in index 823184f..aefc561 100644 --- a/configure.in +++ b/configure.in @@ -363,14 +363,14 @@ fi dnl ---------------------------------------------------------------------- dnl Check if they would like the C++ interface compiled dnl -AC_MSG_CHECKING([if c++ interface enabled]) - dnl We need to check for a C++ compiler unconditionally, since dnl AC_PROG_CXX defines some macros that Automake 1.9.x uses and will dnl miss even if c++ is not enabled. AC_PROG_CXX AC_PROG_CXXCPP dnl this is checked for when AC_HEADER_STDC is done +AC_MSG_CHECKING([if c++ interface enabled]) + AC_ARG_ENABLE([cxx], [AC_HELP_STRING([--enable-cxx], [Compile the C++ interface [default=no]])], @@ -458,13 +458,13 @@ int main(void) { echo no CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" ]) - - dnl Change back to the C language - AC_LANG_POP(C++) else echo "no" fi +dnl Change back to the C language +AC_LANG_POP(C++) + dnl ---------------------------------------------------------------------- dnl If we should build only static executables dnl @@ -510,6 +510,208 @@ export AR AC_PROG_MAKE_SET AC_PROG_INSTALL + + +dnl ---------------------------------------------------------------------- +dnl The following variables are used to distinguish between building a +dnl serial and parallel library. +dnl +dnl HAVE_PARALLEL -- defined in H5config.h if we are building +dnl a parallel library even if configure wasn't +dnl able to find some header file or library that +dnl might be required. This is defined if the +dnl compiler looks like a parallel compiler (e.g., +dnl mpicc or mpcc) or if the user explicitly states +dnl that a parallel library is being built by supplying +dnl the `--enable-parallel' configure switch. +dnl +dnl PARALLEL -- This variable is set to a non-null value if +dnl configure thinks we're compiling a parallel +dnl version of the library. +dnl +dnl RUNSERIAL -- This is a command which will be prepended to +dnl the executable name to run the executable using +dnl a single process. For serial versions of the +dnl library this will normally be empty. For parallel +dnl versions it might be something like `mpirun -np 1'. +dnl The value of this variable is substituted in *.in +dnl files. +dnl +dnl RUNPARALLEL -- This is a command which will be prepended to +dnl the executable name to run the executable on +dnl multiple processors. For the serial library the +dnl value will normally be the empty string. For +dnl parallel library it should be something like +dnl `mpi -np $$NPROCS' where NPROCS will eventually +dnl contain the number of processors on which to run +dnl the executable (the double dollarsigns are to +dnl protect the expansion until make executes the +dnl command). The value of this variable is +dnl substituted in *.in files. +dnl +AC_SUBST([PARALLEL]) +AC_SUBST([RUNSERIAL]) +AC_SUBST([RUNPARALLEL]) +AC_SUBST([TESTPARALLEL]) + +dnl ---------------------------------------------------------------------- +dnl If the compiler is obviously a parallel compiler then we're building +dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, +dnl the name of the compiler might tell us how to run the resulting +dnl executable. For `mpicc' the executable should be run with `mpirun' from +dnl the same directory as mpicc if it exists. +dnl +case "$CC_BASENAME" in + mpicc) + dnl The mpich compiler. Use mpirun from the same directory if it + dnl exists. + PARALLEL=mpicc + AC_MSG_CHECKING([for mpirun]) + + dnl Find the path where mpicc is located. + cmd="`echo $CC | cut -f1 -d' '`" + if (echo $cmd | grep / >/dev/null); then + path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break + fi + done + fi + + dnl Is there an mpirun at that path? + if test -x $path/mpirun; then + AC_MSG_RESULT([$path/mpirun]) + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}" + fi + else + AC_MSG_RESULT([none]) + fi + ;; + + hcc) + dnl The LAM compiler. Use mpirun_lam or mpirun from the same directory + dnl if it exists. + PARALLEL=hcc + AC_MSG_CHECKING([for mpirun_lam or mpirun]) + + dnl Find the path where hcc is located + cmd="`echo $CC | cut -f1 -d' '`" + if (echo $cmd | grep / >/dev/null); then + path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break + fi + done + fi + + dnl Is there an mpirun_lam or mpirun at that path? + if test -x $path/mpirun_lam -o -x $path/mpirun; then + if test -x $path/mpirun_lam; then + cmd=mpirun_lam + else + cmd=mpirun + fi + AC_MSG_RESULT([$path/$cmd]) + RUNSERIAL="${RUNSERIAL:-none}" + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}" + fi + else + AC_MSG_RESULT([none]) + fi + ;; + + mpcc|mpcc_r) + dnl The IBM compiler + PARALLEL="$CC_BASENAME" + ;; + + *) + dnl Probably not a parallel compiler, but if `--enable-parallel' + dnl is defined below then we're still building a parallel hdf5. + ;; +esac + +dnl ---------------------------------------------------------------------- +dnl If the Fortran compiler is obviously a parallel compiler then we're +dnl building a parallel version of hdf5 and should define HAVE_PARALLEL. +dnl Furthermore, the name of the compiler might tell us how to run the +dnl resulting executable. For `mpif90' the executable should be run with +dnl `mpirun' from the same directory as mpif90 if it exists. +dnl +if test "X$HDF_FORTRAN" = "Xyes"; then + dnl Change to the Fortran 90 language + AC_LANG_PUSH(Fortran) + + case "$FC" in + *mpif90*) + dnl The Fortran mpich compiler. Use mpirun from the same directory + dnl if it exists. + PARALLEL=mpif90 + AC_MSG_CHECKING([for mpirun]) + + dnl Find the path where mpif90 is located. + cmd=`echo $FC |cut -f1 -d' '` + if (echo $cmd |grep / >/dev/null); then + path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" + else + for path in `echo $PATH | tr : ' '`; do + if test -x $path/$cmd; then + break; + fi + done + fi + + dnl Is there an mpirun at that path? + if test -x $path/mpirun; then + AC_MSG_RESULT([$path/mpirun]) + RUNSERIAL="${RUNSERIAL:-none}" + + if test -z "$RUNPARALLEL"; then + RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" + fi + else + AC_MSG_RESULT([none]) + fi + ;; + + *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) + dnl The IBM compiler + PARALLEL="$FC" + ;; + + *) + dnl Probably not a parallel compiler, but if `--enable-parallel' + dnl is defined below then we're still building a parallel hdf5. + ;; + esac + + dnl Change to the C language + AC_LANG_POP(Fortran) +fi + +dnl ----------------------------------------------------------------------------- +dnl If shared libraries are being used with parallel, disable them, unless the +dnl user explicity enables them via the '--enable-shared' option. +if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then + echo ' shared libraries disabled in parallel' + enable_shared="no" +elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then + echo ' shared libraries explicitly enabled by user' +elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then + echo ' shared libraries disabled when a parallel compiler is being used' + enable_shared="no" +elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then + echo ' shared libraries explicitly enabled by user' +fi + dnl ---------------------------------------------------------------------- dnl As of Libtool 1.5.14, libtool officially doesn't know how to create dnl shared libraries with pgcc. In fact, it is able to do so on some @@ -1917,192 +2119,6 @@ esac dnl Checkpoint the cache AC_CACHE_SAVE -dnl ---------------------------------------------------------------------- -dnl The following variables are used to distinguish between building a -dnl serial and parallel library. -dnl -dnl HAVE_PARALLEL -- defined in H5config.h if we are building -dnl a parallel library even if configure wasn't -dnl able to find some header file or library that -dnl might be required. This is defined if the -dnl compiler looks like a parallel compiler (e.g., -dnl mpicc or mpcc) or if the user explicitly states -dnl that a parallel library is being built by supplying -dnl the `--enable-parallel' configure switch. -dnl -dnl PARALLEL -- This variable is set to a non-null value if -dnl configure thinks we're compiling a parallel -dnl version of the library. -dnl -dnl RUNSERIAL -- This is a command which will be prepended to -dnl the executable name to run the executable using -dnl a single process. For serial versions of the -dnl library this will normally be empty. For parallel -dnl versions it might be something like `mpirun -np 1'. -dnl The value of this variable is substituted in *.in -dnl files. -dnl -dnl RUNPARALLEL -- This is a command which will be prepended to -dnl the executable name to run the executable on -dnl multiple processors. For the serial library the -dnl value will normally be the empty string. For -dnl parallel library it should be something like -dnl `mpi -np $$NPROCS' where NPROCS will eventually -dnl contain the number of processors on which to run -dnl the executable (the double dollarsigns are to -dnl protect the expansion until make executes the -dnl command). The value of this variable is -dnl substituted in *.in files. -dnl -AC_SUBST([PARALLEL]) -AC_SUBST([RUNSERIAL]) -AC_SUBST([RUNPARALLEL]) -AC_SUBST([TESTPARALLEL]) - -dnl ---------------------------------------------------------------------- -dnl If the compiler is obviously a parallel compiler then we're building -dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, -dnl the name of the compiler might tell us how to run the resulting -dnl executable. For `mpicc' the executable should be run with `mpirun' from -dnl the same directory as mpicc if it exists. -dnl -case "$CC_BASENAME" in - mpicc) - dnl The mpich compiler. Use mpirun from the same directory if it - dnl exists. - PARALLEL=mpicc - AC_MSG_CHECKING([for mpirun]) - - dnl Find the path where mpicc is located. - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break - fi - done - fi - - dnl Is there an mpirun at that path? - if test -x $path/mpirun; then - AC_MSG_RESULT([$path/mpirun]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - hcc) - dnl The LAM compiler. Use mpirun_lam or mpirun from the same directory - dnl if it exists. - PARALLEL=hcc - AC_MSG_CHECKING([for mpirun_lam or mpirun]) - - dnl Find the path where hcc is located - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break - fi - done - fi - - dnl Is there an mpirun_lam or mpirun at that path? - if test -x $path/mpirun_lam -o -x $path/mpirun; then - if test -x $path/mpirun_lam; then - cmd=mpirun_lam - else - cmd=mpirun - fi - AC_MSG_RESULT([$path/$cmd]) - RUNSERIAL="${RUNSERIAL:-none}" - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - mpcc|mpcc_r) - dnl The IBM compiler - PARALLEL="$CC_BASENAME" - ;; - - *) - dnl Probably not a parallel compiler, but if `--enable-parallel' - dnl is defined below then we're still building a parallel hdf5. - ;; -esac - -dnl ---------------------------------------------------------------------- -dnl If the Fortran compiler is obviously a parallel compiler then we're -dnl building a parallel version of hdf5 and should define HAVE_PARALLEL. -dnl Furthermore, the name of the compiler might tell us how to run the -dnl resulting executable. For `mpif90' the executable should be run with -dnl `mpirun' from the same directory as mpif90 if it exists. -dnl -if test "X$HDF_FORTRAN" = "Xyes"; then - dnl Change to the Fortran 90 language - AC_LANG_PUSH(Fortran) - - case "$FC" in - *mpif90*) - dnl The Fortran mpich compiler. Use mpirun from the same directory - dnl if it exists. - PARALLEL=mpif90 - AC_MSG_CHECKING([for mpirun]) - - dnl Find the path where mpif90 is located. - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | tr : ' '`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - dnl Is there an mpirun at that path? - if test -x $path/mpirun; then - AC_MSG_RESULT([$path/mpirun]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - dnl The IBM compiler - PARALLEL="$FC" - ;; - - *) - dnl Probably not a parallel compiler, but if `--enable-parallel' - dnl is defined below then we're still building a parallel hdf5. - ;; - esac - - dnl Change to the C language - AC_LANG_POP(Fortran) -fi - -dnl ---------------------------------------------------------------------- dnl What header files and libraries do we have to look for for parallel dnl support? For the most part, search paths are already specified with dnl CPPFLAGS and LDFLAGS or are known to the compiler. If the user says @@ -2478,7 +2494,7 @@ if test 1 = 2; then [Define if shared writing must be disabled (CodeWarrior only)]) fi -dnl ---------------------------------------------------------------------- +dnl ----------------------------------------------------------------------------- dnl Should the Stream Virtual File Driver be compiled in ? dnl AC_MSG_CHECKING([for Stream Virtual File Driver support]) @@ -2487,30 +2503,36 @@ AC_ARG_ENABLE([stream-vfd], [Build the Stream Virtual File Driver [default=yes]])], [STREAM_VFD=$enableval], - [STREAM_VFD=yes]) + [STREAM_VFD=default]) dnl If the user explicitly disabled Stream VFD, say so. -if test "$STREAM_VFD" != "yes"; then +if test "$STREAM_VFD" != "yes" -a "$STREAM_VFD" != "default"; then AC_MSG_RESULT([not configured]) fi -dnl If the stream VFD is being used with parallel, disable it. -dnl Using both stream VFD and parallel is a weird case and seems to cause errors on some -dnl platforms. -if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then - AC_MSG_RESULT([not supported in parallel]) - echo " warning! Stream-VFD is not supported in parallel" +dnl If stream VFD is being used with parallel, disable it, unless the user +dnl explicity enables it via the '--enable-stream_vfd' option. +if test "$STREAM_VFD" = "default" -a "X${enable_parallel}" = "Xyes"; then + AC_MSG_RESULT([disabled in parallel]) STREAM_VFD=no -fi -if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then - AC_MSG_RESULT([not supported in parallel]) - echo " warning! Stream-VFD is not supported when a parallel compiler is being used" +elif test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then + AC_MSG_RESULT([enabled by user]) +elif test "$STREAM_VFD" = "default" -a "X${PARALLEL}" != "X"; then + AC_MSG_RESULT([disabled when a parallel compiler is being used]) STREAM_VFD=no +elif test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then + AC_MSG_RESULT([enabled by user]) +elif test "$STREAM_VFD" = "yes"; then + AC_MSG_RESULT([yes]) +fi + +if test "$STREAM_VFD" = "default"; then + AC_MSG_RESULT([yes]) + STREAM_VFD=yes fi dnl Otherwise, use Stream VFD. if test "$STREAM_VFD" = "yes"; then - AC_MSG_RESULT([yes]) AC_CHECK_HEADERS([netinet/in.h]) AC_CHECK_HEADERS([netinet/tcp.h], , , [#include <netinet/in.h>]) AC_CHECK_HEADERS([sys/filio.h]) diff --git a/release_docs/INSTALL b/release_docs/INSTALL index d9f1dae..4c584e6 100644 --- a/release_docs/INSTALL +++ b/release_docs/INSTALL @@ -484,7 +484,9 @@ compiles the "stream" Virtual File Driver into the main library. See the documentation on the Virtual File Layer for more details about the use of this driver. The network stream capability is - enabled by default. + enabled by default, except for use in parallel or with a parallel + compiler, where it is disabled. Explicitly enabling Stream-VFD + will allow for its use in parallel. 5.4. Building The library, confidence tests, and programs can be build by diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 7bbf9dd..f6b366e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -157,6 +157,11 @@ New Features - Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06 - Prefix default is changed from /usr/local to `pwd`/hdf5. AKC - 2003/07/09 + - Added support to explicity enable stream_vfd or shared libraries + when using parallel via the '--enable-stream_vfd' and + '--enable-shared' options, respectively. If not explicity defined, + These settings default to enabled when parallel is not used, + and disabled when parallel is used. Library: -------- |