From 137bc83f7a8f1f552b53a97d21d89269c844a051 Mon Sep 17 00:00:00 2001 From: Robb Matzke Date: Tue, 3 Feb 1998 12:03:13 -0500 Subject: [svn-r213] Changes since 19980130 ---------------------- ./MANIFEST Added H5Fmpio.c. One way to check that you've properly included new files is to run `./bin/release none', then unpack the resulting tar file somewhere and try to compile it. The tar file will be ./releases/hdf-5.0.0a.tar. ./config/freebsd2.2.1 ./config/linux Added `-ansi' ./acconfig.h Added definitions for PHDF5 and HAVE_PARALLEL. ./configure.in Added minimal support for parallel build. Kim and Albert will have to flesh this out or I can do it if they're more specific about what they need. ./config/commence.in Added default value for $(RUNTEST) ./config/conclude.in `make test' uses value of $(RUNTEST) to run test cases. ./src/Makefile.in Added PARALLEL_SRC for conditional compilation of H5Fmpio.c ./src/H5D.c ./src/H5Dpublic.h Added H5Dget_type() for Elena NOTE: These changes require that configure be rerun. If you're using GNU make it will happen automatically, otherwise do it by hand. --- MANIFEST | 1 + acconfig.h | 6 ++ config/commence.in | 1 + config/conclude.in | 2 +- config/freebsd2.2.1 | 2 +- config/linux | 2 +- configure | 270 ++++++++++++++++++++++++++++++++++++++-------------- configure.in | 40 ++++++++ src/H5D.c | 52 +++++++++- src/H5Dpublic.h | 1 + src/H5config.h.in | 12 +++ src/Makefile.in | 6 +- 12 files changed, 320 insertions(+), 75 deletions(-) diff --git a/MANIFEST b/MANIFEST index 7d28bd4..bfadd2d 100644 --- a/MANIFEST +++ b/MANIFEST @@ -84,6 +84,7 @@ ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c +./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c diff --git a/acconfig.h b/acconfig.h index d065d64..04e7f3d 100644 --- a/acconfig.h +++ b/acconfig.h @@ -3,3 +3,9 @@ /* Define if the compiler understands the __FUNCTION__ keyword. */ #undef HAVE_FUNCTION + +/* Define if we have parallel support THIS WILL GO AWAY SHORTLY!!! */ +#undef PHDF5 + +/* Define if we have parallel support */ +#undef HAVE_PARALLEL diff --git a/config/commence.in b/config/commence.in index bef6ed8..84cf499 100644 --- a/config/commence.in +++ b/config/commence.in @@ -21,6 +21,7 @@ RM=rm -f INSTALL=@INSTALL@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ +RUNTEST=@RUNTEST@ # Installation points ROOT=@ROOT@ diff --git a/config/conclude.in b/config/conclude.in index 8aebc6c..07b94f3 100644 --- a/config/conclude.in +++ b/config/conclude.in @@ -24,7 +24,7 @@ test _test: $(PROGS) @for test in $(TESTS) dummy; do \ if test $$test != dummy; then \ echo "Testing $$test $(TEST_FLAGS)"; \ - ./$$test $(TEST_FLAGS) || exit 1; \ + $(RUNTEST) ./$$test $(TEST_FLAGS) || exit 1; \ fi; \ done; diff --git a/config/freebsd2.2.1 b/config/freebsd2.2.1 index 42c82cf..53aafb8 100644 --- a/config/freebsd2.2.1 +++ b/config/freebsd2.2.1 @@ -45,7 +45,7 @@ debug="-g -DH5AC_DEBUG -DH5B_DEBUG -DH5F_DEBUG -DH5G_DEBUG -UH5O_DEBUG -DH5T_DEB production="-O3 -DNDEBUG -finline-functions -funroll-loops -malign-double -fomit-frame-pointer" -default_mode='$debug $warn -DH5F_LOW_DFLT=H5F_LOW_SEC2' +default_mode='-ansi $debug $warn -DH5F_LOW_DFLT=H5F_LOW_SEC2' # Don't set CFLAGS if the user already did. if test -z "$CFLAGS"; then diff --git a/config/linux b/config/linux index bdf4143..519c9ab 100644 --- a/config/linux +++ b/config/linux @@ -45,7 +45,7 @@ debug="-g -DH5AC_DEBUG -DH5B_DEBUG -DH5F_DEBUG -DH5G_DEBUG -UH5O_DEBUG -DH5T_DEB production="-O3 -DNDEBUG -finline-functions -funroll-loops -malign-double -fomit-frame-pointer" -default_mode='$debug $warn -pipe -DH5F_LOW_DFLT=H5F_LOW_SEC2' +default_mode='-ansi $debug $warn -pipe -DH5F_LOW_DFLT=H5F_LOW_SEC2' # Don't set CFLAGS if the user already did. if test -z "$CFLAGS"; then diff --git a/configure b/configure index 774873a..54a851a 100755 --- a/configure +++ b/configure @@ -12,6 +12,8 @@ ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: +ac_help="$ac_help +--enable-parallel=mpio Enable parallel support with MPIO" # Initialize some variables set by options. # The variables have the same names as the options, with @@ -546,7 +548,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:550: checking host system type" >&5 +echo "configure:552: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -570,7 +572,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking for cached host""... $ac_c" 1>&6 -echo "configure:574: checking for cached host" >&5 +echo "configure:576: checking for cached host" >&5 if eval "test \"`echo '$''{'hdf5_cv_host'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -589,7 +591,7 @@ fi echo $ac_n "checking for site config file""... $ac_c" 1>&6 -echo "configure:593: checking for site config file" >&5 +echo "configure:595: checking for site config file" >&5 site_config="none" for f in $host $host_vendor-$host_os $host_os; do if test -f config/$f; then @@ -607,7 +609,7 @@ fi # 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:611: checking for $ac_word" >&5 +echo "configure:613: 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 @@ -636,7 +638,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:640: checking for $ac_word" >&5 +echo "configure:642: 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 @@ -684,7 +686,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:688: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:690: 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. @@ -694,11 +696,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -718,12 +720,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:722: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:724: 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:727: checking whether we are using GNU C" >&5 +echo "configure:729: 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 @@ -732,7 +734,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:736: \"$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:738: \"$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 @@ -747,7 +749,7 @@ if test $ac_cv_prog_gcc = yes; then ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:751: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:753: 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 @@ -775,7 +777,7 @@ else fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:779: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:781: 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 @@ -812,7 +814,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:816: checking for a BSD compatible install" >&5 +echo "configure:818: 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 @@ -864,7 +866,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:868: checking for $ac_word" >&5 +echo "configure:870: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -892,7 +894,7 @@ fi echo $ac_n "checking for GNU Make""... $ac_c" 1>&6 -echo "configure:896: checking for GNU Make" >&5 +echo "configure:898: checking for GNU Make" >&5 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\ sed -n 1p|cut -c1-8`" = "GNU Make"; then echo "$ac_t""yes" 1>&6 @@ -907,7 +909,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:911: checking how to run the C preprocessor" >&5 +echo "configure:913: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -922,13 +924,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:932: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -939,13 +941,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:949: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:951: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -968,12 +970,12 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:972: checking for ANSI C header files" >&5 +echo "configure:974: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -981,7 +983,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -998,7 +1000,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1016,7 +1018,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1037,7 +1039,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1048,7 +1050,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1075,12 +1077,12 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:1079: checking for off_t" >&5 +echo "configure:1081: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1108,12 +1110,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1112: checking for size_t" >&5 +echo "configure:1114: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1144,14 +1146,14 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:1148: checking whether byte ordering is bigendian" >&5 +echo "configure:1150: 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 < #include @@ -1162,11 +1164,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1166: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1168: \"$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 < #include @@ -1177,7 +1179,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -1197,7 +1199,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 <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -1234,7 +1236,7 @@ EOF fi echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:1238: checking size of short" >&5 +echo "configure:1240: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1242,7 +1244,7 @@ else ac_cv_sizeof_short=2 else cat > conftest.$ac_ext < main() @@ -1253,7 +1255,7 @@ main() exit(0); } EOF -if { (eval echo configure:1257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else @@ -1273,7 +1275,7 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:1277: checking size of int" >&5 +echo "configure:1279: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1281,7 +1283,7 @@ else ac_cv_sizeof_int=4 else cat > conftest.$ac_ext < main() @@ -1292,7 +1294,7 @@ main() exit(0); } EOF -if { (eval echo configure:1296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else @@ -1312,7 +1314,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:1316: checking size of long" >&5 +echo "configure:1318: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1320,7 +1322,7 @@ else ac_cv_sizeof_long=4 else cat > conftest.$ac_ext < main() @@ -1331,7 +1333,7 @@ main() exit(0); } EOF -if { (eval echo configure:1335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else @@ -1351,7 +1353,7 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:1355: checking size of long long" >&5 +echo "configure:1357: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1359,7 +1361,7 @@ else ac_cv_sizeof_long_long=8 else cat > conftest.$ac_ext < main() @@ -1370,7 +1372,7 @@ main() exit(0); } EOF -if { (eval echo configure:1374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_long=`cat conftestval` else @@ -1390,7 +1392,7 @@ EOF echo $ac_n "checking size of float""... $ac_c" 1>&6 -echo "configure:1394: checking size of float" >&5 +echo "configure:1396: checking size of float" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1398,7 +1400,7 @@ else ac_cv_sizeof_float=4 else cat > conftest.$ac_ext < main() @@ -1409,7 +1411,7 @@ main() exit(0); } EOF -if { (eval echo configure:1413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_float=`cat conftestval` else @@ -1429,7 +1431,7 @@ EOF echo $ac_n "checking size of double""... $ac_c" 1>&6 -echo "configure:1433: checking size of double" >&5 +echo "configure:1435: checking size of double" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1437,7 +1439,7 @@ else ac_cv_sizeof_double=8 else cat > conftest.$ac_ext < main() @@ -1448,7 +1450,7 @@ main() exit(0); } EOF -if { (eval echo configure:1452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_double=`cat conftestval` else @@ -1472,12 +1474,12 @@ EOF echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1476: checking for working const" >&5 +echo "configure:1478: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1547,21 +1549,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1551: checking for inline" >&5 +echo "configure:1553: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1567: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1588,16 +1590,16 @@ esac echo $ac_n "checking for __attribute__ extension""... $ac_c" 1>&6 -echo "configure:1592: checking for __attribute__ extension" >&5 +echo "configure:1594: checking for __attribute__ extension" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_ATTRIBUTE 1 @@ -1613,16 +1615,16 @@ fi rm -f conftest* echo $ac_n "checking for __FUNCTION__ extension""... $ac_c" 1>&6 -echo "configure:1617: checking for __FUNCTION__ extension" >&5 +echo "configure:1619: checking for __FUNCTION__ extension" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1628: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_FUNCTION 1 @@ -1638,6 +1640,134 @@ fi rm -f conftest* +# Check whether --enable-parallel or --disable-parallel was given. +if test "${enable_parallel+set}" = set; then + enableval="$enable_parallel" + PARALLEL=$enableval +fi + +echo $ac_n "checking for parallel support""... $ac_c" 1>&6 +echo "configure:1651: checking for parallel support" >&5; + + RUNTEST="" + +case "X-$PARALLEL" in + + X-|X-no) + # Parallel support is not enabled + echo "$ac_t""disabled" 1>&6 + ;; + + X-mpio|X-yes) + # Use MPIO. Define PHDF5 in src/H5config.h (comes from ./acconfig.h) + # and augment the include and library search paths (it doesn't hurt + # to have extra paths). Then check for header files and libraries. + # Some extra source files are added to the list also so we don't have + # to ifdef out the whole file. + echo "$ac_t""mpio" 1>&6 + cat >> confdefs.h <<\EOF +#define PHDF5 1 +EOF + cat >> confdefs.h <<\EOF +#define HAVE_PARALLEL 1 +EOF + + PARALLEL_SRC='$(PARALLEL_SRC)' + CFLAGS="$CFLAGS -I/foo/bar/parallel/include" + CFLAGS="$CFLAGS -L/foo/bar/parallel/lib" + echo $ac_n "checking for main in -lmpi""... $ac_c" 1>&6 +echo "configure:1680: checking for main in -lmpi" >&5 +ac_lib_var=`echo mpi'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lmpi $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo mpi | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 +fi + echo $ac_n "checking for main in -lmpio""... $ac_c" 1>&6 +echo "configure:1722: checking for main in -lmpio" >&5 +ac_lib_var=`echo mpio'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lmpio $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo mpio | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 +fi + RUNTEST=mpirun + ;; + + *) + { echo "configure: error: unknown parallel support: $PARALLEL" 1>&2; exit 1; } + ;; +esac + + COMMENCE=config/commence CONCLUDE=config/conclude @@ -1806,6 +1936,8 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@RANLIB@%$RANLIB%g s%@CPP@%$CPP%g +s%@PARALLEL_SRC@%$PARALLEL_SRC%g +s%@RUNTEST@%$RUNTEST%g /@COMMENCE@/r $COMMENCE s%@COMMENCE@%%g /@CONCLUDE@/r $CONCLUDE diff --git a/configure.in b/configure.in index 8680e93..36951cb 100644 --- a/configure.in +++ b/configure.in @@ -124,6 +124,46 @@ AC_TRY_COMPILE(,[int f(void){return __FUNCTION__;}], AC_MSG_RESULT(no)) +dnl ---------------------------------------------------------------------- +dnl Check for parallel support +dnl +AC_ARG_ENABLE(parallel, + --enable-parallel=mpio Enable parallel support with MPIO, + PARALLEL=$enableval) +AC_MSG_CHECKING(for parallel support); +AC_SUBST(PARALLEL_SRC) +AC_SUBST(RUNTEST) RUNTEST="" + +case "X-$PARALLEL" in + + X-|X-no) + # Parallel support is not enabled + AC_MSG_RESULT(disabled) + ;; + + X-mpio|X-yes) + # Use MPIO. Define PHDF5 in src/H5config.h (comes from ./acconfig.h) + # and augment the include and library search paths (it doesn't hurt + # to have extra paths). Then check for header files and libraries. + # Some extra source files are added to the list also so we don't have + # to ifdef out the whole file. + AC_MSG_RESULT(mpio) + AC_DEFINE(PHDF5) dnl THIS WILL GO AWAY SHORTLY!!! + AC_DEFINE(HAVE_PARALLEL) + PARALLEL_SRC='$(PARALLEL_SRC)' + CFLAGS="$CFLAGS -I/foo/bar/parallel/include" + CFLAGS="$CFLAGS -L/foo/bar/parallel/lib" + AC_CHECK_LIB(mpi,main) dnl Replace `main' with some function + AC_CHECK_LIB(mpio,main) dnl Replace `main' with some function + RUNTEST=mpirun + ;; + + *) + AC_MSG_ERROR(unknown parallel support: $PARALLEL) + ;; +esac + + dnl ---------------------------------------------------------------------- dnl Build the Makefiles. Almost every Makefile.in will begin with the line diff --git a/src/H5D.c b/src/H5D.c index ef88f00..86e7fdb 100644 --- a/src/H5D.c +++ b/src/H5D.c @@ -317,7 +317,7 @@ H5Dclose(hid_t dataset_id) * * Return: Success: ID for a copy of the data space. The data * space should be released by calling - * H5Dclose(). + * H5Pclose(). * * Failure: FAIL * @@ -357,6 +357,56 @@ H5Dget_space (hid_t dataset_id) FUNC_LEAVE (ret_value); } + + +/*------------------------------------------------------------------------- + * Function: H5Dget_type + * + * Purpose: Returns a copy of the file data type for a dataset. + * + * Return: Success: ID for a copy of the data type. The data + * type should be released by calling + * H5Tclose(). + * + * Failure: FAIL + * + * Programmer: Robb Matzke + * Tuesday, February 3, 1998 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +hid_t +H5Dget_type (hid_t dataset_id) +{ + + H5D_t *dataset = NULL; + H5T_t *copied_type = NULL; + hid_t ret_value = FAIL; + + FUNC_ENTER (H5Dget_type, FAIL); + + /* Check args */ + if (H5_DATASET!=H5A_group (dataset_id) || + NULL==(dataset=H5A_object (dataset_id))) { + HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset"); + } + + /* Copy the data type */ + if (NULL==(copied_type=H5T_copy (dataset->type))) { + HRETURN_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL, + "unable to copy the data type"); + } + + /* Create an atom */ + if ((ret_value=H5A_register (H5_DATATYPE, copied_type))<0) { + HRETURN_ERROR (H5E_ATOM, H5E_CANTREGISTER, FAIL, + "unable to register data type"); + } + + FUNC_LEAVE (ret_value); +} /*------------------------------------------------------------------------- * Function: H5Dread diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index 62a63d5..6067acc 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -40,6 +40,7 @@ hid_t H5Dcreate (hid_t file_id, const char *name, hid_t type_id, hid_t H5Dopen (hid_t file_id, const char *name); herr_t H5Dclose (hid_t dataset_id); hid_t H5Dget_space (hid_t dataset_id); +hid_t H5Dget_type (hid_t dataset_id); herr_t H5Dread (hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t xfer_parms_id, void *buf/*out*/); herr_t H5Dwrite (hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id, diff --git a/src/H5config.h.in b/src/H5config.h.in index d047ebf..be212ba 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -25,6 +25,12 @@ /* Define if the compiler understands the __FUNCTION__ keyword. */ #undef HAVE_FUNCTION +/* Define if we have parallel support THIS WILL GO AWAY SHORTLY!!! */ +#undef PHDF5 + +/* Define if we have parallel support */ +#undef HAVE_PARALLEL + /* The number of bytes in a double. */ #undef SIZEOF_DOUBLE @@ -42,3 +48,9 @@ /* The number of bytes in a short. */ #undef SIZEOF_SHORT + +/* Define if you have the mpi library (-lmpi). */ +#undef HAVE_LIBMPI + +/* Define if you have the mpio library (-lmpio). */ +#undef HAVE_LIBMPIO diff --git a/src/Makefile.in b/src/Makefile.in index 912a901..66af462 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -14,12 +14,14 @@ LIB=libhdf5.a PROGS=debug # Source and object files for the library (lexicographically)... +PARALLEL_SRC=H5Fmpio.c + LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5C.c H5D.c H5E.c H5F.c H5Farray.c H5Fcore.c \ H5Ffamily.c H5Fistore.c H5Flow.c H5Fsec2.c H5Fsplit.c H5Fstdio.c \ H5G.c H5Gent.c H5Gnode.c H5Gstab.c H5H.c H5M.c H5MF.c H5MM.c H5O.c \ H5Ocont.c H5Odtype.c H5Oefl.c H5Olayout.c H5Oname.c H5Onull.c \ - H5Osdspace.c H5Ostab.c H5P.c H5Psimp.c H5T.c H5Tconv.c H5Tinit.c \ - H5V.c + H5Osdspace.c H5Ostab.c H5P.c H5Psimp.c H5T.c H5Tconv.c H5Tinit.c \ + H5V.c @PARALLEL_SRC@ LIB_OBJ=$(LIB_SRC:.c=.o) -- cgit v0.12