From a82b4fdc1180fd5704372d48580fb23121baf529 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Thu, 30 Jan 2014 15:53:38 -0500 Subject: [svn-r24665] more IOD integrity integration. add pkgconfig option for Mchecksum --- Makefile.in | 2 + c++/Makefile.in | 2 + c++/examples/Makefile.in | 2 + c++/src/Makefile.in | 2 + c++/test/Makefile.in | 2 + configure | 226 +++++++++++++++++++++++++++++++++++++++- configure.ac | 7 ++ examples/Makefile.in | 2 + fortran/Makefile.in | 2 + fortran/examples/Makefile.in | 2 + fortran/src/Makefile.in | 2 + fortran/test/Makefile.in | 2 + fortran/testpar/Makefile.in | 2 + hl/Makefile.in | 2 + hl/c++/Makefile.in | 2 + hl/c++/examples/Makefile.in | 2 + hl/c++/src/Makefile.in | 2 + hl/c++/test/Makefile.in | 2 + hl/examples/Makefile.in | 2 + hl/fortran/Makefile.in | 2 + hl/fortran/examples/Makefile.in | 2 + hl/fortran/src/Makefile.in | 2 + hl/fortran/test/Makefile.in | 2 + hl/src/Makefile.in | 2 + hl/test/Makefile.in | 2 + hl/tools/Makefile.in | 2 + hl/tools/gif2h5/Makefile.in | 2 + perform/Makefile.in | 2 + src/H5VLiod_dset.c | 26 ++--- src/H5VLiod_dtype.c | 67 ++++++++---- src/H5VLiod_file.c | 33 ++++-- src/H5VLiod_group.c | 56 ++++++---- src/H5VLiod_map.c | 56 ++++++---- src/Makefile.in | 2 + test/Makefile.in | 2 + testpar/Makefile.in | 2 + tools/Makefile.in | 2 + tools/h5copy/Makefile.in | 2 + tools/h5diff/Makefile.in | 2 + tools/h5dump/Makefile.in | 2 + tools/h5import/Makefile.in | 2 + tools/h5jam/Makefile.in | 2 + tools/h5ls/Makefile.in | 2 + tools/h5repack/Makefile.in | 2 + tools/h5stat/Makefile.in | 2 + tools/lib/Makefile.in | 2 + tools/misc/Makefile.in | 2 + 47 files changed, 467 insertions(+), 84 deletions(-) diff --git a/Makefile.in b/Makefile.in index 0e7a030..21705ed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -298,6 +298,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/c++/Makefile.in b/c++/Makefile.in index 62cb272..2e53a6f 100644 --- a/c++/Makefile.in +++ b/c++/Makefile.in @@ -263,6 +263,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index 279d5de..639aed4 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -230,6 +230,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 63688d3..4702527 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -306,6 +306,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in index 988a71a..51e2efb 100644 --- a/c++/test/Makefile.in +++ b/c++/test/Makefile.in @@ -266,6 +266,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/configure b/configure index c3061d2..852fbbf 100755 --- a/configure +++ b/configure @@ -680,6 +680,8 @@ ADD_PARALLEL_FILES USINGMEMCHECKER BUILD_EFF_CONDITIONAL_FALSE BUILD_EFF_CONDITIONAL_TRUE +MCHECKSUM_LIBS +MCHECKSUM_CFLAGS MERCURY_LIBS MERCURY_CFLAGS PKG_CONFIG_LIBDIR @@ -987,7 +989,9 @@ PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR MERCURY_CFLAGS -MERCURY_LIBS' +MERCURY_LIBS +MCHECKSUM_CFLAGS +MCHECKSUM_LIBS' # Initialize some variables set by options. @@ -1749,6 +1753,10 @@ Some influential environment variables: C compiler flags for MERCURY, overriding pkg-config MERCURY_LIBS linker flags for MERCURY, overriding pkg-config + MCHECKSUM_CFLAGS + C compiler flags for MCHECKSUM, overriding pkg-config + MCHECKSUM_LIBS + linker flags for MCHECKSUM, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -29884,6 +29892,222 @@ fi AM_CFLAGS="$AM_CFLAGS $MERCURY_CFLAGS" AM_LDFLAGS="$AM_LDFLAGS $MERCURY_LIBS" + # Check mchecksum (--enable-parallel requires static linking) + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + PKG_CONFIG="$PKG_CONFIG --static" + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MCHECKSUM" >&5 +$as_echo_n "checking for MCHECKSUM... " >&6; } + +if test -n "$MCHECKSUM_CFLAGS"; then + pkg_cv_MCHECKSUM_CFLAGS="$MCHECKSUM_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mchecksum\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mchecksum") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MCHECKSUM_CFLAGS=`$PKG_CONFIG --cflags "mchecksum" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$MCHECKSUM_LIBS"; then + pkg_cv_MCHECKSUM_LIBS="$MCHECKSUM_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mchecksum\""; } >&5 + ($PKG_CONFIG --exists --print-errors "mchecksum") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_MCHECKSUM_LIBS=`$PKG_CONFIG --libs "mchecksum" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + MCHECKSUM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mchecksum" 2>&1` + else + MCHECKSUM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mchecksum" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$MCHECKSUM_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (mchecksum) were not met: + +$MCHECKSUM_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables MCHECKSUM_CFLAGS +and MCHECKSUM_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables MCHECKSUM_CFLAGS +and MCHECKSUM_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + MCHECKSUM_CFLAGS=$pkg_cv_MCHECKSUM_CFLAGS + MCHECKSUM_LIBS=$pkg_cv_MCHECKSUM_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + AM_CFLAGS="$AM_CFLAGS $MCHECKSUM_CFLAGS" + AM_LDFLAGS="$AM_LDFLAGS $MCHECKSUM_LIBS" + for ac_header in axe.h iod_api.h iod_types.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` diff --git a/configure.ac b/configure.ac index 1222cb0..4efaf64 100644 --- a/configure.ac +++ b/configure.ac @@ -2994,6 +2994,13 @@ case "X-$enableval" in PKG_CHECK_MODULES(MERCURY, mercury) AM_CFLAGS="$AM_CFLAGS $MERCURY_CFLAGS" AM_LDFLAGS="$AM_LDFLAGS $MERCURY_LIBS" + + # Check mchecksum (--enable-parallel requires static linking) + PKG_PROG_PKG_CONFIG + PKG_CONFIG="$PKG_CONFIG --static" + PKG_CHECK_MODULES(MCHECKSUM, mchecksum) + AM_CFLAGS="$AM_CFLAGS $MCHECKSUM_CFLAGS" + AM_LDFLAGS="$AM_LDFLAGS $MCHECKSUM_LIBS" AC_CHECK_HEADERS([axe.h iod_api.h iod_types.h], [AC_MSG_CHECKING([for EFF support]) diff --git a/examples/Makefile.in b/examples/Makefile.in index 663db24..29a0524 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -230,6 +230,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/fortran/Makefile.in b/fortran/Makefile.in index 1c11cc8..723bb89 100644 --- a/fortran/Makefile.in +++ b/fortran/Makefile.in @@ -267,6 +267,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index 44b967a..209d8a1 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -238,6 +238,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index ed2f3fa..f65fc80 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -357,6 +357,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index 49e5876..79caff0 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -341,6 +341,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index 437b216..c7291e8 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/Makefile.in @@ -265,6 +265,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/Makefile.in b/hl/Makefile.in index 14b06d2..5917103 100644 --- a/hl/Makefile.in +++ b/hl/Makefile.in @@ -267,6 +267,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in index 9d1da3c..f9055de 100644 --- a/hl/c++/Makefile.in +++ b/hl/c++/Makefile.in @@ -263,6 +263,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in index f41a933..12956a6 100644 --- a/hl/c++/examples/Makefile.in +++ b/hl/c++/examples/Makefile.in @@ -229,6 +229,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index a805227..dc43bf1 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -297,6 +297,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in index 211c7ae..b3def4a 100644 --- a/hl/c++/test/Makefile.in +++ b/hl/c++/test/Makefile.in @@ -262,6 +262,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in index 9c305d8..b60e7df 100644 --- a/hl/examples/Makefile.in +++ b/hl/examples/Makefile.in @@ -229,6 +229,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in index 7eaf5ad..5b464da 100644 --- a/hl/fortran/Makefile.in +++ b/hl/fortran/Makefile.in @@ -267,6 +267,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in index b27bae5..c783d4d 100644 --- a/hl/fortran/examples/Makefile.in +++ b/hl/fortran/examples/Makefile.in @@ -230,6 +230,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 6c19173..1bfb9ad 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -313,6 +313,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in index 949d534..9697cd3 100644 --- a/hl/fortran/test/Makefile.in +++ b/hl/fortran/test/Makefile.in @@ -276,6 +276,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 2b2a472..676bd73 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -296,6 +296,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in index d3b3576..20c35cf 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -303,6 +303,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in index 33cfabe..a384385 100644 --- a/hl/tools/Makefile.in +++ b/hl/tools/Makefile.in @@ -264,6 +264,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in index 9b60537..188ef30 100644 --- a/hl/tools/gif2h5/Makefile.in +++ b/hl/tools/gif2h5/Makefile.in @@ -278,6 +278,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/perform/Makefile.in b/perform/Makefile.in index 52213f4..99a3d18 100644 --- a/perform/Makefile.in +++ b/perform/Makefile.in @@ -304,6 +304,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/src/H5VLiod_dset.c b/src/H5VLiod_dset.c index 4503732..fe2b363 100644 --- a/src/H5VLiod_dset.c +++ b/src/H5VLiod_dset.c @@ -174,7 +174,7 @@ H5VL_iod_server_dset_create_cb(AXE_engine_t UNUSED axe_engine, fprintf(stderr, "with Data integrity DISABLED\n"); #endif - if(enable_checksum) { + if((cs_scope & H5_CHECKSUM_IOD) && enable_checksum) { obj_create_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t)); obj_create_hint->num_hint = 1; obj_create_hint->hint[0].key = "iod_obj_enable_checksum"; @@ -237,11 +237,11 @@ H5VL_iod_server_dset_create_cb(AXE_engine_t UNUSED axe_engine, step ++; /* create the attribute KV object for the dataset */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &attrkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, NULL, NULL, &attrkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create attribute KV object"); /* create the metadata KV object for the dataset */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* set values for the scratch pad object */ @@ -270,10 +270,6 @@ H5VL_iod_server_dset_create_cb(AXE_engine_t UNUSED axe_engine, step ++; - if(H5P_DEFAULT == input->dcpl_id) - input->dcpl_id = H5Pcopy(H5P_DATASET_CREATE_DEFAULT); - dcpl_id = input->dcpl_id; - /* insert plist metadata */ if(H5VL_iod_insert_plist(mdkv_oh, wtid, dcpl_id, NULL, NULL, NULL) < 0) @@ -327,23 +323,16 @@ done: /* close parent group if it is not the location we started the traversal into */ if(loc_handle.rd_oh.cookie != cur_oh.rd_oh.cookie) { - if(iod_obj_close(cur_oh.rd_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.rd_oh, NULL, NULL); } if(loc_handle.wr_oh.cookie != cur_oh.wr_oh.cookie) { - if(iod_obj_close(cur_oh.wr_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.wr_oh, NULL, NULL); } /* return an UNDEFINED oh to the client if the operation failed */ if(ret_value < 0) { fprintf(stderr, "failed to create Dataset\n"); - if(obj_create_hint) { - free(obj_create_hint); - obj_create_hint = NULL; - } - if(step == 2) { iod_obj_close(mdkv_oh, NULL, NULL); step --; @@ -358,6 +347,11 @@ done: HG_Handler_start_output(op_data->hg_handle, &output); } + if(obj_create_hint) { + free(obj_create_hint); + obj_create_hint = NULL; + } + last_comp = (char *)H5MM_xfree(last_comp); input = (dset_create_in_t *)H5MM_xfree(input); op_data = (op_data_t *)H5MM_xfree(op_data); diff --git a/src/H5VLiod_dtype.c b/src/H5VLiod_dtype.c index 010ba5e..8139cc9 100644 --- a/src/H5VLiod_dtype.c +++ b/src/H5VLiod_dtype.c @@ -68,6 +68,8 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, iod_blob_iodesc_t *file_desc = NULL; /* file descriptor used to write */ scratch_pad sp; int step = 0; + iod_hint_list_t *obj_create_hint = NULL; + hbool_t enable_checksum = FALSE; herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI_NOINIT @@ -76,6 +78,21 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, fprintf(stderr, "Start datatype commit %s at %"PRIu64"\n", name, loc_handle.wr_oh); #endif + if(H5P_DEFAULT == input->tcpl_id) + input->tcpl_id = H5Pcopy(H5P_DATATYPE_CREATE_DEFAULT); + tcpl_id = input->tcpl_id; + + /* get the scope for data integrity checks for raw data */ + if(H5Pget_ocpl_enable_checksum(tcpl_id, &enable_checksum) < 0) + HGOTO_ERROR2(H5E_PLIST, H5E_CANTGET, FAIL, "can't get scope for data integrity checks"); + + if((cs_scope & H5_CHECKSUM_IOD) && enable_checksum) { + obj_create_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t)); + obj_create_hint->num_hint = 1; + obj_create_hint->hint[0].key = "iod_obj_enable_checksum"; + obj_create_hint->hint[0].value = "iod_obj_enable_checksum"; + } + /* the traversal will retrieve the location where the datatype needs to be created. The traversal will fail if an intermediate group does not exist. */ @@ -85,11 +102,16 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, #if H5VL_IOD_DEBUG fprintf(stderr, "Creating Datatype ID %"PRIx64" ", dtype_id); - fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64")\n", cur_oh.wr_oh, cur_id); + fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64") ", cur_oh.wr_oh, cur_id); + if(enable_checksum) + fprintf(stderr, "with Data integrity ENABLED\n"); + else + fprintf(stderr, "with Data integrity DISABLED\n"); #endif /* create the datatype */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_BLOB, NULL, NULL, &dtype_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_BLOB, + NULL, NULL, &dtype_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create BLOB"); if (iod_obj_open_read(coh, dtype_id, wtid, NULL, &dtype_oh.rd_oh, NULL) < 0) @@ -100,11 +122,13 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, step ++; /* create the metadata KV object for the datatype */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &mdkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* create the attribute KV object for the datatype */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &attr_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &attr_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create attribute KV object"); /* set values for the scratch pad object */ @@ -162,8 +186,8 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, dt_cs = H5_checksum_crc64(buf, buf_size); /* write the serialized type value to the BLOB object */ - if(iod_blob_write(dtype_oh.wr_oh, wtid, NULL, mem_desc, file_desc, NULL - /*MSC - IOD fix - &dt_cs*/, NULL) < 0) + if(iod_blob_write(dtype_oh.wr_oh, wtid, NULL, mem_desc, file_desc, + &dt_cs, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "unable to write BLOB object"); } else { @@ -175,10 +199,6 @@ H5VL_iod_server_dtype_commit_cb(AXE_engine_t UNUSED axe_engine, free(mem_desc); free(file_desc); - if(H5P_DEFAULT == input->tcpl_id) - input->tcpl_id = H5Pcopy(H5P_DATATYPE_CREATE_DEFAULT); - tcpl_id = input->tcpl_id; - /* insert plist metadata */ if(H5VL_iod_insert_plist(mdkv_oh, wtid, tcpl_id, NULL, NULL, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't insert KV value"); @@ -229,25 +249,20 @@ done: /* close parent group if it is not the location we started the traversal into */ if(loc_handle.rd_oh.cookie != cur_oh.rd_oh.cookie) { - if(iod_obj_close(cur_oh.rd_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.rd_oh, NULL, NULL); } if(loc_handle.wr_oh.cookie != cur_oh.wr_oh.cookie) { - if(iod_obj_close(cur_oh.wr_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.wr_oh, NULL, NULL); } if(ret_value < 0) { if(step == 2) { - if(iod_obj_close(mdkv_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(mdkv_oh, NULL, NULL); step --; } if(step == 1) { - if(iod_obj_close(dtype_oh.rd_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); - if(iod_obj_close(dtype_oh.wr_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(dtype_oh.rd_oh, NULL, NULL); + iod_obj_close(dtype_oh.wr_oh, NULL, NULL); } output.iod_oh.rd_oh.cookie = IOD_OH_UNDEFINED; @@ -255,6 +270,11 @@ done: HG_Handler_start_output(op_data->hg_handle, &output); } + if(obj_create_hint) { + free(obj_create_hint); + obj_create_hint = NULL; + } + input = (dtype_commit_in_t *)H5MM_xfree(input); op_data = (op_data_t *)H5MM_xfree(op_data); last_comp = (char *)H5MM_xfree(last_comp); @@ -367,14 +387,17 @@ H5VL_iod_server_dtype_open_cb(AXE_engine_t UNUSED axe_engine, file_desc->frag[0].len = (iod_size_t)buf_size; /* read the serialized type value from the BLOB object */ - if(iod_blob_read(dtype_oh.rd_oh, rtid, NULL, mem_desc, file_desc, NULL - /*MSC - IOD fix - &iod_cs*/, NULL) < 0) + if(iod_blob_read(dtype_oh.rd_oh, rtid, NULL, mem_desc, file_desc, &iod_cs, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read from BLOB object"); if(iod_cs && (cs_scope & H5_CHECKSUM_IOD)) { /* calculate a checksum for the datatype */ dt_cs = H5_checksum_crc64(buf, buf_size); +#if H5VL_IOD_DEBUG + fprintf(stderr, "IOD BLOB checksum = %016lX Checksum Computed = %016lX\n", + iod_cs, dt_cs); +#endif /* Verifty checksum against one given by IOD */ if(iod_cs != dt_cs) HGOTO_ERROR2(H5E_SYM, H5E_READERROR, FAIL, "Data Corruption detected when reading datatype"); diff --git a/src/H5VLiod_file.c b/src/H5VLiod_file.c index 7d78437..edb91bc 100644 --- a/src/H5VLiod_file.c +++ b/src/H5VLiod_file.c @@ -52,6 +52,7 @@ H5VL_iod_server_file_create_cb(AXE_engine_t UNUSED axe_engine, iod_obj_id_t mdkv_id = input->mdkv_id; iod_obj_id_t attrkv_id = input->attrkv_id; iod_obj_id_t oidkv_id = input->oidkv_id; + hid_t fcpl_id; unsigned int mode; /* create mode */ iod_handle_t coh; /* container handle */ iod_handles_t root_oh; /* root object handle */ @@ -60,10 +61,27 @@ H5VL_iod_server_file_create_cb(AXE_engine_t UNUSED axe_engine, iod_trans_id_t first_tid = 0; uint32_t cs_scope = 0; iod_hint_list_t *con_open_hint = NULL; + iod_hint_list_t *obj_create_hint = NULL; + hbool_t enable_checksum = FALSE; herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI_NOINIT + if(H5P_DEFAULT == input->fcpl_id) + input->fcpl_id = H5Pcopy(H5P_FILE_CREATE_DEFAULT); + fcpl_id = input->fcpl_id; + + /* get the scope for data integrity checks */ + if(H5Pget_ocpl_enable_checksum(fcpl_id, &enable_checksum) < 0) + HGOTO_ERROR2(H5E_PLIST, H5E_CANTGET, FAIL, "can't get scope for data integrity checks"); + + if((cs_scope & H5_CHECKSUM_IOD) && enable_checksum) { + obj_create_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t)); + obj_create_hint->num_hint = 1; + obj_create_hint->hint[0].key = "iod_obj_enable_checksum"; + obj_create_hint->hint[0].value = "iod_obj_enable_checksum"; + } + #if H5VL_IOD_DEBUG fprintf(stderr, "Start file create %s ", input->name); fprintf(stderr, "with MDKV %"PRIx64" ", mdkv_id), @@ -95,8 +113,8 @@ H5VL_iod_server_file_create_cb(AXE_engine_t UNUSED axe_engine, HGOTO_ERROR_IOD(ret, FAIL, "can't start transaction"); /* create the root group */ - root_ret = iod_obj_create(coh, first_tid, NULL, IOD_OBJ_KV, NULL, NULL, - &root_id, NULL); + root_ret = iod_obj_create(coh, first_tid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &root_id, NULL); if(0 == root_ret || -EEXIST == root_ret) { /* root group has been created, open it */ ret = iod_obj_open_write(coh, root_id, first_tid, NULL, &root_oh.wr_oh, NULL); @@ -116,15 +134,16 @@ H5VL_iod_server_file_create_cb(AXE_engine_t UNUSED axe_engine, scratch_pad sp; iod_kv_t kv; uint64_t value = 1; - hid_t fcpl_id; /* create the metadata KV object for the root group */ - ret = iod_obj_create(coh, first_tid, NULL, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL); + ret = iod_obj_create(coh, first_tid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &mdkv_id, NULL); if(ret < 0) HGOTO_ERROR_IOD(ret, FAIL, "can't create metadata KV object"); /* create the attribute KV object for the root group */ - ret = iod_obj_create(coh, first_tid, NULL, IOD_OBJ_KV, NULL, NULL, &attrkv_id, NULL); + ret = iod_obj_create(coh, first_tid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &attrkv_id, NULL); if(ret < 0) HGOTO_ERROR_IOD(ret, FAIL, "can't create attribute KV object"); @@ -161,10 +180,6 @@ H5VL_iod_server_file_create_cb(AXE_engine_t UNUSED axe_engine, if(ret < 0) HGOTO_ERROR_IOD(ret, FAIL, "can't open metadata KV"); - /* store metadata */ - if(H5P_DEFAULT == input->fcpl_id) - input->fcpl_id = H5Pcopy(H5P_FILE_CREATE_DEFAULT); - fcpl_id = input->fcpl_id; /* insert plist metadata */ if(H5VL_iod_insert_plist(mdkv_oh, first_tid, fcpl_id, NULL, NULL, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTSET, FAIL, "can't insert link count KV value"); diff --git a/src/H5VLiod_group.c b/src/H5VLiod_group.c index 94805d7..54a8a04 100644 --- a/src/H5VLiod_group.c +++ b/src/H5VLiod_group.c @@ -61,6 +61,8 @@ H5VL_iod_server_group_create_cb(AXE_engine_t UNUSED axe_engine, iod_handle_t mdkv_oh; iod_obj_id_t cur_id; char *last_comp = NULL; /* the name of the group obtained from traversal function */ + iod_hint_list_t *obj_create_hint = NULL; + hbool_t enable_checksum = FALSE; hid_t gcpl_id; scratch_pad sp; iod_ret_t ret; @@ -73,6 +75,21 @@ H5VL_iod_server_group_create_cb(AXE_engine_t UNUSED axe_engine, fprintf(stderr, "Start group create %s at %"PRIu64"\n", name, loc_handle.wr_oh); #endif + if(H5P_DEFAULT == input->gcpl_id) + input->gcpl_id = H5Pcopy(H5P_GROUP_CREATE_DEFAULT); + gcpl_id = input->gcpl_id; + + /* get the scope for data integrity checks */ + if(H5Pget_ocpl_enable_checksum(gcpl_id, &enable_checksum) < 0) + HGOTO_ERROR2(H5E_PLIST, H5E_CANTGET, FAIL, "can't get scope for data integrity checks"); + + if((cs_scope & H5_CHECKSUM_IOD) && enable_checksum) { + obj_create_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t)); + obj_create_hint->num_hint = 1; + obj_create_hint->hint[0].key = "iod_obj_enable_checksum"; + obj_create_hint->hint[0].value = "iod_obj_enable_checksum"; + } + /* the traversal will retrieve the location where the group needs to be created. The traversal will fail if an intermediate group does not exist. */ @@ -83,11 +100,16 @@ H5VL_iod_server_group_create_cb(AXE_engine_t UNUSED axe_engine, #if H5VL_IOD_DEBUG fprintf(stderr, "Creating Group ID %"PRIx64" (CV %"PRIu64", TR %"PRIu64") ", grp_id, rtid, wtid); - fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64")\n", cur_oh.wr_oh, cur_id); + fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64") ", cur_oh.wr_oh, cur_id); + if(enable_checksum) + fprintf(stderr, "with Data integrity ENABLED\n"); + else + fprintf(stderr, "with Data integrity DISABLED\n"); #endif /* create the group */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &grp_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &grp_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create Group"); if((ret = iod_obj_open_read(coh, grp_id, wtid, NULL, &grp_oh.rd_oh, NULL)) < 0) { @@ -102,11 +124,13 @@ H5VL_iod_server_group_create_cb(AXE_engine_t UNUSED axe_engine, step += 1; /* create the metadata KV object for the group */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &mdkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* create the attribute KV object for the group */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &attrkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &attrkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* set values for the scratch pad object */ @@ -135,10 +159,6 @@ H5VL_iod_server_group_create_cb(AXE_engine_t UNUSED axe_engine, step ++; - if(H5P_DEFAULT == input->gcpl_id) - input->gcpl_id = H5Pcopy(H5P_GROUP_CREATE_DEFAULT); - gcpl_id = input->gcpl_id; - /* insert plist metadata */ if(H5VL_iod_insert_plist(mdkv_oh, wtid, gcpl_id, NULL, NULL, NULL) < 0) @@ -182,12 +202,10 @@ done: /* close parent group if it is not the location we started the traversal into */ if(loc_handle.rd_oh.cookie != cur_oh.rd_oh.cookie) { - if(iod_obj_close(cur_oh.rd_oh, NULL, NULL) < 0) - HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.rd_oh, NULL, NULL); } if(loc_handle.wr_oh.cookie != cur_oh.wr_oh.cookie) { - if(iod_obj_close(cur_oh.wr_oh, NULL, NULL) < 0) - HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.wr_oh, NULL, NULL); } /* return an UNDEFINED oh to the client if the operation failed */ @@ -195,15 +213,12 @@ done: fprintf(stderr, "Failed Group Create\n"); if(step == 2) { - if(iod_obj_close(mdkv_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(mdkv_oh, NULL, NULL); step --; } if(step == 1) { - if(iod_obj_close(grp_oh.rd_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); - if(iod_obj_close(grp_oh.wr_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(grp_oh.rd_oh, NULL, NULL); + iod_obj_close(grp_oh.wr_oh, NULL, NULL); } output.iod_oh.rd_oh.cookie = IOD_OH_UNDEFINED; @@ -211,6 +226,11 @@ done: HG_Handler_start_output(op_data->hg_handle, &output); } + if(obj_create_hint) { + free(obj_create_hint); + obj_create_hint = NULL; + } + last_comp = (char *)H5MM_xfree(last_comp); input = (group_create_in_t *)H5MM_xfree(input); op_data = (op_data_t *)H5MM_xfree(op_data); diff --git a/src/H5VLiod_map.c b/src/H5VLiod_map.c index 63221bd..f451f12 100644 --- a/src/H5VLiod_map.c +++ b/src/H5VLiod_map.c @@ -67,6 +67,8 @@ H5VL_iod_server_map_create_cb(AXE_engine_t UNUSED axe_engine, iod_obj_id_t cur_id; char *last_comp; /* the name of the group obtained from traversal function */ hid_t mcpl_id; + iod_hint_list_t *obj_create_hint = NULL; + hbool_t enable_checksum = FALSE; int step = 0; scratch_pad sp; herr_t ret_value = SUCCEED; @@ -78,6 +80,21 @@ H5VL_iod_server_map_create_cb(AXE_engine_t UNUSED axe_engine, name, loc_handle.wr_oh); #endif + if(H5P_DEFAULT == input->mcpl_id) + input->mcpl_id = H5Pcopy(H5P_MAP_CREATE_DEFAULT); + mcpl_id = input->mcpl_id; + + /* get the scope for data integrity checks for raw data */ + if(H5Pget_ocpl_enable_checksum(mcpl_id, &enable_checksum) < 0) + HGOTO_ERROR2(H5E_PLIST, H5E_CANTGET, FAIL, "can't get scope for data integrity checks"); + + if((cs_scope & H5_CHECKSUM_IOD) && enable_checksum) { + obj_create_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t)); + obj_create_hint->num_hint = 1; + obj_create_hint->hint[0].key = "iod_obj_enable_checksum"; + obj_create_hint->hint[0].value = "iod_obj_enable_checksum"; + } + /* the traversal will retrieve the location where the map needs to be created. The traversal will fail if an intermediate group does not exist. */ @@ -87,11 +104,16 @@ H5VL_iod_server_map_create_cb(AXE_engine_t UNUSED axe_engine, #if H5VL_IOD_DEBUG fprintf(stderr, "Creating Map ID %"PRIx64") ", map_id); - fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64")\n", cur_oh.wr_oh, cur_id); + fprintf(stderr, "at (OH %"PRIu64" ID %"PRIx64") ", cur_oh.wr_oh, cur_id); + if(enable_checksum) + fprintf(stderr, "with Data integrity ENABLED\n"); + else + fprintf(stderr, "with Data integrity DISABLED\n"); #endif /* create the map */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &map_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &map_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create Map"); if (iod_obj_open_read(coh, map_id, wtid, NULL, &map_oh.rd_oh, NULL) < 0) @@ -102,11 +124,13 @@ H5VL_iod_server_map_create_cb(AXE_engine_t UNUSED axe_engine, step ++; /* create the metadata KV object for the map */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &mdkv_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &mdkv_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* create the attribute KV object for the root group */ - if(iod_obj_create(coh, wtid, NULL, IOD_OBJ_KV, NULL, NULL, &attr_id, NULL) < 0) + if(iod_obj_create(coh, wtid, obj_create_hint, IOD_OBJ_KV, + NULL, NULL, &attr_id, NULL) < 0) HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't create metadata KV object"); /* set values for the scratch pad object */ @@ -134,10 +158,6 @@ H5VL_iod_server_map_create_cb(AXE_engine_t UNUSED axe_engine, step ++; - if(H5P_DEFAULT == input->mcpl_id) - input->mcpl_id = H5Pcopy(H5P_MAP_CREATE_DEFAULT); - mcpl_id = input->mcpl_id; - /* insert plist metadata */ if(H5VL_iod_insert_plist(mdkv_oh, wtid, mcpl_id, NULL, NULL, NULL) < 0) @@ -187,12 +207,10 @@ done: /* close parent group if it is not the location we started the traversal into */ if(loc_handle.rd_oh.cookie != cur_oh.rd_oh.cookie) { - if(iod_obj_close(cur_oh.rd_oh, NULL, NULL) < 0) - HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.rd_oh, NULL, NULL); } if(loc_handle.wr_oh.cookie != cur_oh.wr_oh.cookie) { - if(iod_obj_close(cur_oh.wr_oh, NULL, NULL) < 0) - HGOTO_ERROR2(H5E_SYM, H5E_CANTINIT, FAIL, "can't close current object handle"); + iod_obj_close(cur_oh.wr_oh, NULL, NULL); } /* return an UNDEFINED oh to the client if the operation failed */ @@ -200,15 +218,12 @@ done: fprintf(stderr, "Failed Map Create\n"); if(step == 2) { - if(iod_obj_close(mdkv_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(mdkv_oh, NULL, NULL); step --; } if(step == 1) { - if(iod_obj_close(map_oh.rd_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); - if(iod_obj_close(map_oh.wr_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(map_oh.rd_oh, NULL, NULL); + iod_obj_close(map_oh.wr_oh, NULL, NULL); } output.iod_oh.rd_oh.cookie = IOD_OH_UNDEFINED; @@ -216,6 +231,11 @@ done: HG_Handler_start_output(op_data->hg_handle, &output); } + if(obj_create_hint) { + free(obj_create_hint); + obj_create_hint = NULL; + } + last_comp = (char *)H5MM_xfree(last_comp); input = (map_create_in_t *)H5MM_xfree(input); op_data = (op_data_t *)H5MM_xfree(op_data); diff --git a/src/Makefile.in b/src/Makefile.in index ae555c9..29274f6 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -364,6 +364,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/test/Makefile.in b/test/Makefile.in index ae500c8..692172e 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -696,6 +696,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/testpar/Makefile.in b/testpar/Makefile.in index f2b1953..abc11f4 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -291,6 +291,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/Makefile.in b/tools/Makefile.in index 7bceadf..2077693 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -264,6 +264,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in index 7b6f427..2cce475 100644 --- a/tools/h5copy/Makefile.in +++ b/tools/h5copy/Makefile.in @@ -270,6 +270,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in index ed937e8..7a9bc51 100644 --- a/tools/h5diff/Makefile.in +++ b/tools/h5diff/Makefile.in @@ -277,6 +277,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in index 6ac07ce..10654a1 100644 --- a/tools/h5dump/Makefile.in +++ b/tools/h5dump/Makefile.in @@ -272,6 +272,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in index 9f3bbb9..e4cf158 100644 --- a/tools/h5import/Makefile.in +++ b/tools/h5import/Makefile.in @@ -270,6 +270,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in index 0900d69..8d7506b 100644 --- a/tools/h5jam/Makefile.in +++ b/tools/h5jam/Makefile.in @@ -284,6 +284,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in index 6904d57..7961c93 100644 --- a/tools/h5ls/Makefile.in +++ b/tools/h5ls/Makefile.in @@ -264,6 +264,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in index b7d8295..7a71868 100644 --- a/tools/h5repack/Makefile.in +++ b/tools/h5repack/Makefile.in @@ -320,6 +320,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in index 8fa7e2b..6cc1580 100644 --- a/tools/h5stat/Makefile.in +++ b/tools/h5stat/Makefile.in @@ -299,6 +299,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in index a57ca0a..1e7d19c 100644 --- a/tools/lib/Makefile.in +++ b/tools/lib/Makefile.in @@ -262,6 +262,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in index ed84fa5..97a2d1d 100644 --- a/tools/misc/Makefile.in +++ b/tools/misc/Makefile.in @@ -324,6 +324,8 @@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ +MCHECKSUM_CFLAGS = @MCHECKSUM_CFLAGS@ +MCHECKSUM_LIBS = @MCHECKSUM_LIBS@ MERCURY_CFLAGS = @MERCURY_CFLAGS@ MERCURY_LIBS = @MERCURY_LIBS@ MKDIR_P = @MKDIR_P@ -- cgit v0.12