summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST1
-rw-r--r--acconfig.h6
-rw-r--r--config/commence.in1
-rw-r--r--config/conclude.in2
-rw-r--r--config/freebsd2.2.12
-rw-r--r--config/linux2
-rwxr-xr-xconfigure270
-rw-r--r--configure.in40
-rw-r--r--src/H5D.c52
-rw-r--r--src/H5Dpublic.h1
-rw-r--r--src/H5config.h.in12
-rw-r--r--src/Makefile.in6
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 <<EOF
-#line 698 "configure"
+#line 700 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:702: \"$ac_link\") 1>&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 <<EOF
-#line 926 "configure"
+#line 928 "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: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 <<EOF
-#line 943 "configure"
+#line 945 "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: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 <<EOF
-#line 977 "configure"
+#line 979 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -981,7 +983,7 @@ else
#include <float.h>
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
-#line 1002 "configure"
+#line 1004 "configure"
#include "confdefs.h"
#include <string.h>
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
-#line 1020 "configure"
+#line 1022 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1037,7 +1039,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1041 "configure"
+#line 1043 "configure"
#include "confdefs.h"
#include <ctype.h>
#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 <<EOF
-#line 1084 "configure"
+#line 1086 "configure"
#include "confdefs.h"
#include <sys/types.h>
#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 <<EOF
-#line 1117 "configure"
+#line 1119 "configure"
#include "confdefs.h"
#include <sys/types.h>
#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 <<EOF
-#line 1155 "configure"
+#line 1157 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -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 <<EOF
-#line 1170 "configure"
+#line 1172 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -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 <<EOF
-#line 1201 "configure"
+#line 1203 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
@@ -1210,7 +1212,7 @@ main () {
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:1214: \"$ac_link\") 1>&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 <<EOF
-#line 1246 "configure"
+#line 1248 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1285 "configure"
+#line 1287 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1324 "configure"
+#line 1326 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1363 "configure"
+#line 1365 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1402 "configure"
+#line 1404 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1441 "configure"
+#line 1443 "configure"
#include "confdefs.h"
#include <stdio.h>
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 <<EOF
-#line 1481 "configure"
+#line 1483 "configure"
#include "confdefs.h"
int main() {
@@ -1526,7 +1528,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1530: \"$ac_compile\") 1>&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 <<EOF
-#line 1558 "configure"
+#line 1560 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:1565: \"$ac_compile\") 1>&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 <<EOF
-#line 1594 "configure"
+#line 1596 "configure"
#include "confdefs.h"
int main() {
int __attribute__((unused)) f(void){return 1;}
; return 0; }
EOF
-if { (eval echo configure:1601: \"$ac_compile\") 1>&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 <<EOF
-#line 1619 "configure"
+#line 1621 "configure"
#include "confdefs.h"
int main() {
int f(void){return __FUNCTION__;}
; return 0; }
EOF
-if { (eval echo configure:1626: \"$ac_compile\") 1>&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 <<EOF
+#line 1688 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:1695: \"$ac_link\") 1>&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 <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lmpi $LIBS"
+
+else
+ echo "$ac_t""no" 1>&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 <<EOF
+#line 1730 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:1737: \"$ac_link\") 1>&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 <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lmpio $LIBS"
+
+else
+ echo "$ac_t""no" 1>&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)