diff options
215 files changed, 2733 insertions, 8766 deletions
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index f52b99b..3b9b4f7 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -45,9 +45,9 @@ option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF) if (HDF5_ENABLE_Z_LIB_SUPPORT) if (NOT H5_ZLIB_HEADER) if (NOT ZLIB_USE_EXTERNAL) - FIND_PACKAGE (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}) + find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}) if (NOT ZLIB_FOUND) - FIND_PACKAGE (ZLIB) # Legacy find + find_package (ZLIB) # Legacy find endif (NOT ZLIB_FOUND) endif (NOT ZLIB_USE_EXTERNAL) if (ZLIB_FOUND) @@ -89,9 +89,9 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF) if (HDF5_ENABLE_SZIP_SUPPORT) option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF) if (NOT SZIP_USE_EXTERNAL) - FIND_PACKAGE (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}) + find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}) if (NOT SZIP_FOUND) - FIND_PACKAGE (SZIP) # Legacy find + find_package (SZIP) # Legacy find endif (NOT SZIP_FOUND) endif (NOT SZIP_USE_EXTERNAL) if (SZIP_FOUND) diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake index 095fb4b..c83d6bb 100644 --- a/CMakeInstallation.cmake +++ b/CMakeInstallation.cmake @@ -1,4 +1,4 @@ -include (${HDF_RESOURCES_DIR}/CMakePackageConfigHelpers.cmake) +include (CMakePackageConfigHelpers) #----------------------------------------------------------------------------- # Check for Installation Utilities @@ -63,9 +63,9 @@ set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR}) #----------------------------------------------------------------------------- # Configure the hdf5-config.cmake file for the build directory #----------------------------------------------------------------------------- -set(INCLUDE_INSTALL_DIR HDF5_INSTALL_INCLUDE_DIR ) -set(SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_INSTALL_CMAKE_DIR}" ) -set(CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) +set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR}) +set (SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_INSTALL_CMAKE_DIR}" ) +set (CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) configure_package_config_file ( ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in "${HDF5_BINARY_DIR}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake" @@ -92,14 +92,14 @@ endif (NOT HDF5_EXTERNALLY_CONFIGURED) #----------------------------------------------------------------------------- # Configure the hdf5-config.cmake file for the install directory #----------------------------------------------------------------------------- -set(INCLUDE_INSTALL_DIR HDF5_INSTALL_INCLUDE_DIR ) -set(SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" ) -set(CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" ) +set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR}) +set (SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" ) +set (CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" ) configure_package_config_file ( ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in "${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake" INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}" - PATH_VARS HDF5_INSTALL_INCLUDE_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR + PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR ) if (NOT HDF5_EXTERNALLY_CONFIGURED) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a8b276..a09ab1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5 C CXX) #----------------------------------------------------------------------------- @@ -805,7 +805,7 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for if (BUILD_SHARED_LIBS AND APPLE) message (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ") endif (BUILD_SHARED_LIBS AND APPLE) - option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF) + option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON) include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake) if (HDF5_ENABLE_F2003) if (NOT FORTRAN_HAVE_ISO_C_BINDING) @@ -33,6 +33,8 @@ ./m4/ltversion.m4 _DO_NOT_DISTRIBUTE_ ./m4/lt~obsolete.m4 _DO_NOT_DISTRIBUTE_ ./m4/ltoptions.m4 _DO_NOT_DISTRIBUTE_ +./m4/aclocal_cxx.m4 +./m4/aclocal_fc.m4 ./README.txt ./aclocal.m4 ./acsite.m4 @@ -1146,6 +1148,8 @@ ./testpar/t_pflush2.c ./testpar/t_prop.c ./testpar/t_shapesame.c +./testpar/t_pshutdown.c +./testpar/t_prestart.c ./testpar/t_span_tree.c ./testpar/testpar.h ./testpar/testphdf5.c @@ -2385,58 +2389,8 @@ ./hl/c++/test/Makefile.am ./hl/c++/test/Makefile.in -#vms files -./vms/COPYING - -./vms/c++/examples/check.com -./vms/c++/examples/make.com -./vms/c++/src/make.com -./vms/c++/test/check.com -./vms/c++/test/make.com - -./vms/fortran/examples/check.com -./vms/fortran/examples/make.com -./vms/fortran/src/make.com -./vms/fortran/test/check.com -./vms/fortran/test/make.com - -./vms/examples/check.com -./vms/examples/make.com -./vms/src/make.com -./vms/src/h5pubconf.h -./vms/test/check.com -./vms/test/make.com -./vms/test/H5srcdir_str.h - -./vms/build.com -./vms/install.com -./vms/make.com -./vms/tools/h5copy/make.com -./vms/tools/h5copy/check_h5copy.com -./vms/tools/h5dump/make.com -./vms/tools/h5dump/check_h5dump.com -./vms/tools/h5ls/check.com -./vms/tools/h5ls/check_h5ls.com -./vms/tools/h5ls/make.com -./vms/tools/h5diff/check_h5diff.com -./vms/tools/h5diff/make.com -./vms/tools/h5import/check_h5import.com -./vms/tools/h5import/make.com -./vms/tools/h5jam/check_h5jam.com -./vms/tools/h5jam/make.com -./vms/tools/h5repack/check_h5repack.com -./vms/tools/h5repack/make.com -./vms/tools/h5stat/make.com -./vms/tools/lib/make.com -./vms/tools/misc/make.com -./vms/tools/testfiles/tattr-3.ddl -./vms/tools/testfiles/tdset-2.ddl -./vms/tools/testfiles/tgroup-2.ddl -./vms/tools/testfiles/tperror.ddl - # CMake-specific Files ./config/cmake/cacheinit.cmake -./config/cmake/CMakePackageConfigHelpers.cmake ./config/cmake/ConversionTests.c ./config/cmake/ConfigureChecks.cmake ./config/cmake/CTestCustom.cmake diff --git a/Makefile.in b/Makefile.in index 670bbde..f9c1263 100644 --- a/Makefile.in +++ b/Makefile.in @@ -121,7 +121,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am $(srcdir)/Makefile.in \ $(top_srcdir)/bin/missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -328,7 +329,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -1,4 +1,4 @@ -HDF5 version 1.9.212 currently under development +HDF5 version 1.9.215 currently under development Please refer to the release_docs/INSTALL file for installation instructions. ------------------------------------------------------------------------------ @@ -1183,6 +1183,8 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/aclocal_cxx.m4]) +m4_include([m4/aclocal_fc.m4]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, diff --git a/bin/cmakehdf5 b/bin/cmakehdf5 index ec6357f..c092545 100755 --- a/bin/cmakehdf5 +++ b/bin/cmakehdf5 @@ -279,7 +279,7 @@ EOF #========== #========== cat > $cfgfile <<'EOF' -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ######################################################## # This dashboard is maintained by The HDF Group # For any comments please contact cdashhelp@hdfgroup.org @@ -118,7 +118,8 @@ $Source = ""; "H5G_iterate_t" => "x", "H5G_info_t" => "x", "H5I_free_t" => "x", - "H5L_class_t" => "x", + "H5I_search_func_t" => "x", + "H5L_class_t" => "x", "H5L_elink_traverse_t" => "x", "H5L_iterate_t" => "x", "H5MM_allocate_t" => "x", @@ -281,13 +282,9 @@ sub rewrite_func ($$$$$) { # The H5TRACE() statement if ($body =~ /\/\*[ \t]*NO[ \t]*TRACE[ \t]*\*\//) { - if ($body =~ /\s*H5TRACE\d+\s*\(/) { - errmesg $file, $name, "warning: trace info was not updated because of NO TRACE comment"; - } else { - errmesg $file, $name, "warning: trace info was not inserted because of NO TRACE comment"; - } + # Ignored due to NO TRACE comment. } elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) { - # Replaced an H5TRACE macro + # Replaced an H5TRACE macro. } elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*\(.*?\);??)\n/"$1$2$trace"/es) { # Added an H5TRACE macro after a FUNC_ENTER macro. } else { @@ -317,14 +314,14 @@ for $file (@ARGV) { # Make modifications my $original = $Source; - my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[a-z]\w*)*)\s*\n #type + my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[A-Za-z]\w*)*\s*\**)\n #type (H5[A-Z]{0,2}[^_A-Z0-9]\w*) #name \s*\((.*?)\)\s* #args (\{.*?\n\}[^\n]*) #body /rewrite_func($file,$1,$3,$4,$5)/segx; $total_api += $napi; - # If the source changed then print out the new version +# If the source changed then print out the new version if ($original ne $Source) { printf "%s: instrumented %d API function%s\n", $file, $napi, 1==$napi?"":"s"; @@ -335,3 +332,6 @@ for $file (@ARGV) { } } } + +printf "Finished processing HDF5 API calls\n" + diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt index 63fc083..39280e8 100644 --- a/c++/CMakeLists.txt +++ b/c++/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP) #----------------------------------------------------------------------------- diff --git a/c++/Makefile.in b/c++/Makefile.in index de87fa5..ad4923f 100644 --- a/c++/Makefile.in +++ b/c++/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = c++ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -488,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/examples/CMakeLists.txt b/c++/examples/CMakeLists.txt index e3e1077..5ea51a4 100644 --- a/c++/examples/CMakeLists.txt +++ b/c++/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed # with "cpp_ex_". This allows for easier filtering of the examples. diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index 3403db4..8a6f4dc 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -107,7 +107,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = c++/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -436,7 +437,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt index c0e2f11..513bbb6 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP_SRC) #----------------------------------------------------------------------------- diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 7752e12..0faf8d9 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -109,7 +109,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = c++/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -502,7 +503,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -683,7 +683,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This is our main target diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt index acb2b7f..fe463fa 100644 --- a/c++/test/CMakeLists.txt +++ b/c++/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP_TEST) # -------------------------------------------------------------------- # Notes: When creating unit test executables they should be prefixed diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in index 49c08e4..f6e2044 100644 --- a/c++/test/Makefile.in +++ b/c++/test/Makefile.in @@ -106,7 +106,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = c++/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -493,7 +494,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/config/cmake/CMakePackageConfigHelpers.cmake b/config/cmake/CMakePackageConfigHelpers.cmake deleted file mode 100644 index c6dc141..0000000 --- a/config/cmake/CMakePackageConfigHelpers.cmake +++ /dev/null @@ -1,321 +0,0 @@ -#.rst: -# CMakePackageConfigHelpers -# ------------------------- -# -# Helpers functions for creating config files that can be included by other -# projects to find and use a package. -# -# Adds the :command:`configure_package_config_file()` and -# :command:`write_basic_package_version_file()` commands. -# -# Generating a Package Configuration File -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# .. command:: configure_package_config_file -# -# Create a config file for a project:: -# -# configure_package_config_file(<input> <output> INSTALL_DESTINATION <path> -# [PATH_VARS <var1> <var2> ... <varN>] -# [NO_SET_AND_CHECK_MACRO] -# [NO_CHECK_REQUIRED_COMPONENTS_MACRO] -# [INSTALL_PREFIX <path>]) -# -# -# ``configure_package_config_file()`` should be used instead of the plain -# :command:`configure_file()` command when creating the ``<Name>Config.cmake`` -# or ``<Name>-config.cmake`` file for installing a project or library. It helps -# making the resulting package relocatable by avoiding hardcoded paths in the -# installed ``Config.cmake`` file. -# -# In a ``FooConfig.cmake`` file there may be code like this to make the install -# destinations know to the using project: -# -# .. code-block:: cmake -# -# set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" ) -# set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" ) -# set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" ) -# ...logic to determine installedPrefix from the own location... -# set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" ) -# -# All 4 options shown above are not sufficient, since the first 3 hardcode the -# absolute directory locations, and the 4th case works only if the logic to -# determine the ``installedPrefix`` is correct, and if ``CONFIG_INSTALL_DIR`` -# contains a relative path, which in general cannot be guaranteed. This has the -# effect that the resulting ``FooConfig.cmake`` file would work poorly under -# Windows and OSX, where users are used to choose the install location of a -# binary package at install time, independent from how -# :variable:`CMAKE_INSTALL_PREFIX` was set at build/cmake time. -# -# Using ``configure_package_config_file`` helps. If used correctly, it makes -# the resulting ``FooConfig.cmake`` file relocatable. Usage: -# -# 1. write a ``FooConfig.cmake.in`` file as you are used to -# 2. insert a line containing only the string ``@PACKAGE_INIT@`` -# 3. instead of ``set(FOO_DIR "@SOME_INSTALL_DIR@")``, use -# ``set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")`` (this must be after the -# ``@PACKAGE_INIT@`` line) -# 4. instead of using the normal :command:`configure_file()`, use -# ``configure_package_config_file()`` -# -# -# -# The ``<input>`` and ``<output>`` arguments are the input and output file, the -# same way as in :command:`configure_file()`. -# -# The ``<path>`` given to ``INSTALL_DESTINATION`` must be the destination where -# the ``FooConfig.cmake`` file will be installed to. This path can either be -# absolute, or relative to the ``INSTALL_PREFIX`` path. -# -# The variables ``<var1>`` to ``<varN>`` given as ``PATH_VARS`` are the -# variables which contain install destinations. For each of them the macro will -# create a helper variable ``PACKAGE_<var...>``. These helper variables must be -# used in the ``FooConfig.cmake.in`` file for setting the installed location. -# They are calculated by ``configure_package_config_file`` so that they are -# always relative to the installed location of the package. This works both for -# relative and also for absolute locations. For absolute locations it works -# only if the absolute location is a subdirectory of ``INSTALL_PREFIX``. -# -# If the ``INSTALL_PREFIX`` argument is passed, this is used as base path to -# calculate all the relative paths. The ``<path>`` argument must be an absolute -# path. If this argument is not passed, the :variable:`CMAKE_INSTALL_PREFIX` -# variable will be used instead. The default value is good when generating a -# FooConfig.cmake file to use your package from the install tree. When -# generating a FooConfig.cmake file to use your package from the build tree this -# option should be used. -# -# By default ``configure_package_config_file`` also generates two helper macros, -# ``set_and_check()`` and ``check_required_components()`` into the -# ``FooConfig.cmake`` file. -# -# ``set_and_check()`` should be used instead of the normal ``set()`` command for -# setting directories and file locations. Additionally to setting the variable -# it also checks that the referenced file or directory actually exists and fails -# with a ``FATAL_ERROR`` otherwise. This makes sure that the created -# ``FooConfig.cmake`` file does not contain wrong references. -# When using the ``NO_SET_AND_CHECK_MACRO``, this macro is not generated -# into the ``FooConfig.cmake`` file. -# -# ``check_required_components(<package_name>)`` should be called at the end of -# the ``FooConfig.cmake`` file if the package supports components. This macro -# checks whether all requested, non-optional components have been found, and if -# this is not the case, sets the ``Foo_FOUND`` variable to ``FALSE``, so that -# the package is considered to be not found. It does that by testing the -# ``Foo_<Component>_FOUND`` variables for all requested required components. -# When using the ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is -# not generated into the ``FooConfig.cmake`` file. -# -# For an example see below the documentation for -# :command:`write_basic_package_version_file()`. -# -# Generating a Package Version File -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# .. command:: write_basic_package_version_file -# -# Create a version file for a project:: -# -# write_basic_package_version_file(<filename> -# [VERSION <major.minor.patch>] -# COMPATIBILITY <AnyNewerVersion|SameMajorVersion|ExactVersion> ) -# -# -# Writes a file for use as ``<package>ConfigVersion.cmake`` file to -# ``<filename>``. See the documentation of :command:`find_package()` for -# details on this. -# -# ``<filename>`` is the output filename, it should be in the build tree. -# ``<major.minor.patch>`` is the version number of the project to be installed. -# -# If no ``VERSION`` is given, the :variable:`PROJECT_VERSION` variable is used. -# If this hasn't been set, it errors out. -# -# The ``COMPATIBILITY`` mode ``AnyNewerVersion`` means that the installed -# package version will be considered compatible if it is newer or exactly the -# same as the requested version. This mode should be used for packages which -# are fully backward compatible, also across major versions. -# If ``SameMajorVersion`` is used instead, then the behaviour differs from -# ``AnyNewerVersion`` in that the major version number must be the same as -# requested, e.g. version 2.0 will not be considered compatible if 1.0 is -# requested. This mode should be used for packages which guarantee backward -# compatibility within the same major version. -# If ``ExactVersion`` is used, then the package is only considered compatible if -# the requested version matches exactly its own version number (not considering -# the tweak version). For example, version 1.2.3 of a package is only -# considered compatible to requested version 1.2.3. This mode is for packages -# without compatibility guarantees. -# If your project has more elaborated version matching rules, you will need to -# write your own custom ``ConfigVersion.cmake`` file instead of using this -# macro. -# -# Internally, this macro executes :command:`configure_file()` to create the -# resulting version file. Depending on the ``COMPATIBLITY``, either the file -# ``BasicConfigVersion-SameMajorVersion.cmake.in`` or -# ``BasicConfigVersion-AnyNewerVersion.cmake.in`` is used. Please note that -# these two files are internal to CMake and you should not call -# :command:`configure_file()` on them yourself, but they can be used as starting -# point to create more sophisticted custom ``ConfigVersion.cmake`` files. -# -# Example Generating Package Files -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# Example using both :command:`configure_package_config_file` and -# ``write_basic_package_version_file()``: -# -# ``CMakeLists.txt``: -# -# .. code-block:: cmake -# -# set(INCLUDE_INSTALL_DIR include/ ... CACHE ) -# set(LIB_INSTALL_DIR lib/ ... CACHE ) -# set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE ) -# ... -# include(CMakePackageConfigHelpers) -# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake -# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake -# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR) -# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake -# VERSION 1.2.3 -# COMPATIBILITY SameMajorVersion ) -# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake -# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake ) -# -# ``FooConfig.cmake.in``: -# -# .. code-block:: cmake -# -# set(FOO_VERSION x.y.z) -# ... -# @PACKAGE_INIT@ -# ... -# set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") -# set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@") -# -# check_required_components(Foo) - - -#============================================================================= -# Copyright 2012 Alexander Neundorf <neundorf@kde.org> -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -include(CMakeParseArguments) - -include(WriteBasicConfigVersionFile) - -macro(WRITE_BASIC_PACKAGE_VERSION_FILE) - write_basic_config_version_file(${ARGN}) -endmacro() - -function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile) - set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO) - set(oneValueArgs INSTALL_DESTINATION INSTALL_PREFIX) - set(multiValueArgs PATH_VARS ) - - cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - if(CCF_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"") - endif() - - if(NOT CCF_INSTALL_DESTINATION) - message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()") - endif() - - if(DEFINED CCF_INSTALL_PREFIX) - if(IS_ABSOLUTE "${CCF_INSTALL_PREFIX}") - set(installPrefix "${CCF_INSTALL_PREFIX}") - else() - message(FATAL_ERROR "INSTALL_PREFIX must be an absolute path") - endif() - else() - set(installPrefix "${CMAKE_INSTALL_PREFIX}") - endif() - - if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}") - set(absInstallDir "${CCF_INSTALL_DESTINATION}") - else() - set(absInstallDir "${installPrefix}/${CCF_INSTALL_DESTINATION}") - endif() - - file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${installPrefix}" ) - - foreach(var ${CCF_PATH_VARS}) - if(NOT DEFINED ${var}) - message(FATAL_ERROR "Variable ${var} does not exist") - else() - if(IS_ABSOLUTE "${${var}}") - string(REPLACE "${installPrefix}" "\${PACKAGE_PREFIX_DIR}" - PACKAGE_${var} "${${var}}") - else() - set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}") - endif() - endif() - endforeach() - - get_filename_component(inputFileName "${_inputFile}" NAME) - - set(PACKAGE_INIT " -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was ${inputFileName} ######## - -get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE) -") - - if("${absInstallDir}" MATCHES "^(/usr)?/lib(64)?/.+") - # Handle "/usr move" symlinks created by some Linux distros. - set(PACKAGE_INIT "${PACKAGE_INIT} -# Use original install prefix when loaded through a \"/usr move\" -# cross-prefix symbolic link such as /lib -> /usr/lib. -get_filename_component(_realCurr \"\${CMAKE_CURRENT_LIST_DIR}\" REALPATH) -get_filename_component(_realOrig \"${absInstallDir}\" REALPATH) -if(_realCurr STREQUAL _realOrig) - set(PACKAGE_PREFIX_DIR \"${installPrefix}\") -endif() -unset(_realOrig) -unset(_realCurr) -") - endif() - - if(NOT CCF_NO_SET_AND_CHECK_MACRO) - set(PACKAGE_INIT "${PACKAGE_INIT} -macro(set_and_check _var _file) - set(\${_var} \"\${_file}\") - if(NOT EXISTS \"\${_file}\") - message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\") - endif() -endmacro() -") - endif() - - - if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO) - set(PACKAGE_INIT "${PACKAGE_INIT} -macro(check_required_components _NAME) - foreach(comp \${\${_NAME}_FIND_COMPONENTS}) - if(NOT \${_NAME}_\${comp}_FOUND) - if(\${_NAME}_FIND_REQUIRED_\${comp}) - set(\${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() -") - endif() - - set(PACKAGE_INIT "${PACKAGE_INIT} -####################################################################################") - - configure_file("${_inputFile}" "${_outputFile}" @ONLY) - -endfunction() diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in index 8235c54..a557364 100644 --- a/config/cmake/H5pubconf.h.in +++ b/config/cmake/H5pubconf.h.in @@ -57,9 +57,6 @@ /* Define the default plugins path to compile */ #cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@" -/* Define the default virtual file driver to compile */ -#cmakedefine H5_DEFAULT_VFD @H5_DEFAULT_VFD@ - /* Define if `dev_t' is a scalar */ #cmakedefine H5_DEV_T_IS_SCALAR @H5_DEV_T_IS_SCALAR@ @@ -89,9 +86,6 @@ long long values. */ #cmakedefine H5_FP_TO_ULLONG_RIGHT_MAXIMUM @H5_FP_TO_ULLONG_RIGHT_MAXIMUM@ -/* Define if gettimeofday() populates the tz pointer passed in */ -#cmakedefine H5_GETTIMEOFDAY_GIVES_TZ @H5_GETTIMEOFDAY_GIVES_TZ@ - /* Define to 1 if you have the `alarm' function. */ #cmakedefine H5_HAVE_ALARM @H5_HAVE_ALARM@ @@ -101,9 +95,6 @@ /* Define if the __attribute__(()) extension is present */ #cmakedefine H5_HAVE_ATTRIBUTE @H5_HAVE_ATTRIBUTE@ -/* Define to 1 if you have the `BSDgettimeofday' function. */ -#cmakedefine H5_HAVE_BSDGETTIMEOFDAY @H5_HAVE_BSDGETTIMEOFDAY@ - /* Define if the compiler understands C99 designated initialization of structs and unions */ #cmakedefine H5_HAVE_C99_DESIGNATED_INITIALIZER @H5_HAVE_C99_DESIGNATED_INITIALIZER@ @@ -377,12 +368,6 @@ /* Define if `struct text_info' is defined */ #cmakedefine H5_HAVE_STRUCT_TEXT_INFO @H5_HAVE_STRUCT_TEXT_INFO@ -/* Define if `struct timezone' is defined */ -#cmakedefine H5_HAVE_STRUCT_TIMEZONE @H5_HAVE_STRUCT_TIMEZONE@ - -/* Define to 1 if `tm_zone' is a member of `struct tm'. */ -#cmakedefine H5_HAVE_STRUCT_TM_TM_ZONE @H5_HAVE_STRUCT_TM_TM_ZONE@ - /* Define if `struct videoconfig' is defined */ #cmakedefine H5_HAVE_STRUCT_VIDEOCONFIG @H5_HAVE_STRUCT_VIDEOCONFIG@ @@ -446,14 +431,6 @@ /* Define if `tm_gmtoff' is a member of `struct tm' */ #cmakedefine H5_HAVE_TM_GMTOFF @H5_HAVE_TM_GMTOFF@ -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#cmakedefine H5_HAVE_TM_ZONE @H5_HAVE_TM_ZONE@ - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -#cmakedefine H5_HAVE_TZNAME @H5_HAVE_TZNAME@ - /* Define to 1 if you have the <unistd.h> header file. */ #cmakedefine H5_HAVE_UNISTD_H @H5_HAVE_UNISTD_H@ @@ -484,9 +461,6 @@ /* Define to 1 if you have the `_scrsize' function. */ #cmakedefine H5_HAVE__SCRSIZE @H5_HAVE__SCRSIZE@ -/* Define if `__tm_gmtoff' is a member of `struct tm' */ -#cmakedefine H5_HAVE___TM_GMTOFF @H5_HAVE___TM_GMTOFF@ - /* Define if your system can't handle converting floating-point values to long long. */ #cmakedefine H5_HW_FP_TO_LLONG_NOT_WORKS @H5_HW_FP_TO_LLONG_NOT_WORKS@ @@ -540,9 +514,6 @@ /* Define if deprecated public API symbols are disabled */ #cmakedefine H5_NO_DEPRECATED_SYMBOLS @H5_NO_DEPRECATED_SYMBOLS@ -/* Define if shared writing must be disabled (CodeWarrior only) */ -#cmakedefine H5_NO_SHARED_WRITING @H5_NO_SHARED_WRITING@ - /* Name of package */ #define H5_PACKAGE "@HDF5_PACKAGE@" diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in index 78c8d9b..7b7cf0a 100644 --- a/config/cmake/HDF518_Examples.cmake.in +++ b/config/cmake/HDF518_Examples.cmake.in @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ############################################################################################################### # This script will build and run the examples from a compressed file # Execute from a command line: @@ -14,7 +14,7 @@ set(CTEST_BUILD_CONFIGURATION "Release") #set(NO_MAC_FORTRAN "true") #set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON") #set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON) -set(CTEST_USE_TAR_SOURCE "true") +set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}") ############################################################################################################### # Adjust the following SET Commands as needed diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake index baa18c0..ee9ed84 100644 --- a/config/cmake/HDF5Macros.cmake +++ b/config/cmake/HDF5Macros.cmake @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype) +macro (H5_SET_LIB_OPTIONS libtarget libname libtype) set (LIB_OUT_NAME "${libname}") if (${libtype} MATCHES "SHARED") if (WIN32) @@ -28,4 +28,4 @@ MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype) endif (HDF5_BUILD_WITH_INSTALL_NAME) endif (APPLE) -ENDMACRO (H5_SET_LIB_OPTIONS) +endmacro (H5_SET_LIB_OPTIONS) diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index 2c34e69..e68afe6 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -16,7 +16,7 @@ set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE) set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) -set (HDF5_ENABLE_F2003 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) +set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE) diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in index 0c0befa..a036ff8 100644 --- a/config/cmake/libhdf5.settings.cmake.in +++ b/config/cmake/libhdf5.settings.cmake.in @@ -65,4 +65,3 @@ Clear file buffers before write: @HDF5_Enable_Clear_File_Buffers@ Function Stack Tracing: @HDF5_ENABLE_CODESTACK@ Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@ Optimization Instrumentation: @HDF5_Enable_Instrument@ - Large File Support (LFS): @HDF5_ENABLE_LARGE_FILE@ diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index a07e278..af506e6 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -16,7 +16,7 @@ set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE) set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) -set (HDF5_ENABLE_F2003 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) +set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE) diff --git a/config/lt_vers.am b/config/lt_vers.am index 27e6067..d442ca9 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -19,7 +19,7 @@ # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.9.212. +# Generated by GNU Autoconf 2.69 for HDF5 1.9.215. # # Report bugs to <help@hdfgroup.org>. # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.212' -PACKAGE_STRING='HDF5 1.9.212' +PACKAGE_VERSION='1.9.215' +PACKAGE_STRING='HDF5 1.9.215' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -655,8 +655,6 @@ DEFAULT_API_VERSION DEPRECATED_SYMBOLS BUILD_ALL_CONDITIONAL_FALSE BUILD_ALL_CONDITIONAL_TRUE -HL_FOR -HL DYNAMIC_DIRS ROOT CXX_VERSION @@ -728,6 +726,8 @@ TIME TR AR PERL +HL_FOR +HL CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE @@ -787,7 +787,6 @@ DIRECT_VFD HAVE_DMALLOC CODESTACK INSTRUMENT -LARGEFILE HDF5_HL CXX HDF_CXX @@ -895,6 +894,7 @@ enable_unsupported enable_fortran enable_fortran2003 enable_cxx +enable_hl enable_shared enable_static with_pic @@ -905,7 +905,6 @@ enable_libtool_lock enable_static_exec enable_sharedlib_rpath enable_production -enable_largefile with_fnord with_dmalloc with_zlib @@ -922,12 +921,10 @@ enable_using_memchecker enable_parallel with_mpe enable_filters -with_default_vfd enable_direct_vfd with_default_plugindir enable_dconv_exception enable_dconv_accuracy -enable_hl enable_build_all enable_deprecated_symbols with_default_api_version @@ -1489,7 +1486,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.9.212 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.215 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1559,7 +1556,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.212:";; + short | recursive ) echo "Configuration of HDF5 1.9.215:";; esac cat <<\_ACEOF @@ -1577,10 +1574,11 @@ Optional Features: --disable-dependency-tracking speeds up one-time build --enable-unsupported Allow unsupported combinations of configure options - --enable-fortran Compile the Fortran 77/90/95 interface [default=no] + --enable-fortran Compile the Fortran 90/95 interface [default=no] --enable-fortran2003 Compile the Fortran 2003 interface, must also specify --enable-fortran [default=no] --enable-cxx Compile the C++ interface [default=no] + --enable-hl Enable the high-level library [default=yes] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] @@ -1591,7 +1589,6 @@ Optional Features: --disable-sharedlib-rpath Disable use of the '=Wl,-rpath' linker option --enable-production Determines how to run the compiler. - --disable-largefile omit support for large files --enable-threadsafe Enable thread-safe capability --enable-debug=all Turn on debugging in all packages. One may also specify a comma-separated list of package names @@ -1619,14 +1616,14 @@ Optional Features: --enable-filters=all Turn on all internal I/O filters. One may also specify a comma-separated list of filters or the word no. The default is all internal I/O filters. - --enable-direct-vfd Build the Direct I/O Virtual File Driver - [default=yes] + --enable-direct-vfd Build the direct I/O virtual file driver (VFD). This + is based on the POSIX (sec2) VFD and requires the + open() call to take the O_DIRECT flag. [default=no] --enable-dconv-exception if exception handling functions is checked during data conversions [default=yes] --enable-dconv-accuracy if data accuracy is guaranteed during data conversions [default=yes] - --enable-hl Enable the high level library [default=yes] --enable-build-all Build helper programs that only developers should need [default=no] --enable-deprecated-symbols @@ -1662,8 +1659,6 @@ Optional Packages: --with-pthread=DIR Specify alternative path to Pthreads library when thread-safe capability is built --with-mpe=DIR Use MPE instrumentation [default=no] - --with-default-vfd=driver - Specify default file driver [default=sec2] --with-default-plugindir=location Specify default location for plugins [default="/usr/local/hdf5/lib/plugin"] @@ -1752,7 +1747,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.212 +HDF5 configure 1.9.215 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1888,13 +1883,13 @@ fi } # ac_fn_c_try_link -# ac_fn_fc_try_run LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_fc_try_run () +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1902,33 +1897,37 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.err ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : ac_retval=0 else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=1 fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_fc_try_run +} # ac_fn_fc_try_link # ac_fn_cxx_try_compile LINENO # ---------------------------- @@ -2005,13 +2004,13 @@ fi } # ac_fn_cxx_try_cpp -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -2019,33 +2018,37 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.err ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : ac_retval=0 else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=1 fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_cxx_try_run +} # ac_fn_cxx_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- @@ -2232,98 +2235,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_link - # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -2769,84 +2680,11 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl - -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.9.212, which was +It was created by HDF5 $as_me 1.9.215, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3717,7 +3555,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.212' + VERSION='1.9.215' cat >>confdefs.h <<_ACEOF @@ -4050,7 +3888,6 @@ $as_echo "done" >&6; } ## HDF_CXX: whether C++ is enabled. Default no. ## CXX: C++ compiler. ## HDF5_HL: whether high-level library is enabled. Default is yes. -## LARGEFILE: whether largefile support is enabled. Default yes. ## INSTRUMENT: whether INSTRUMENT is enabled. No default set here. ## CODESTACK: whether CODESTACK is enabled. Default no. ## HAVE_DMALLOC: whether system has dmalloc support. Default no. @@ -4071,7 +3908,6 @@ $as_echo "done" >&6; } HDF_CXX=no HDF_CXX=no HDF5_HL=yes - LARGEFILE=yes CODESTACK=no HAVE_DMALLOC=no @@ -5353,14 +5189,13 @@ if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then echo "no" as_fn_error $? "--enable-fortran must be used with --enable-fortran2003" "$LINENO" 5 else - echo "yes" + if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then + echo "yes" + else + echo "no" + fi fi -HAVE_SIZEOF="no" -HAVE_C_SIZEOF="no" -HAVE_STORAGE_SIZE="no" -FORTRAN_DEFAULT_REALisDBLE="no" - if test "X$HDF_FORTRAN" = "Xyes"; then HDF_FORTRAN=yes @@ -5369,12 +5204,6 @@ if test "X$HDF_FORTRAN" = "Xyes"; then HDF5_INTERFACES="$HDF5_INTERFACES fortran" ## -------------------------------------------------------------------- - ## Default for FORTRAN 2003 compliant compilers - ## - HAVE_FORTRAN_2003="no" - HAVE_F2003_REQUIREMENTS="no" - - ## -------------------------------------------------------------------- ## HDF5 integer variables for the H5fortran_types.f90 file. ## @@ -5660,14 +5489,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ## -------------------------------------------------------------------- - ## Check for a Fortran 9X compiler and how to include modules. + ## Check for a Fortran compiler and how to include modules. ## ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn + for ac_prog in gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 @@ -5711,7 +5540,7 @@ fi fi if test -z "$FC"; then ac_ct_FC=$FC - for ac_prog in f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn + for ac_prog in gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -5965,11 +5794,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - ## It seems that libtool (as of Libtool 1.5.14) is trying to - ## configure itself for Fortran 77. - ## Tell it that our F77 compiler is $FC (actually a F9X compiler) - F77=$FC - ## Change to the Fortran 90 language ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6663,21 +6487,11 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ## -------------------------------------------------------------------- - ## See if the compiler will support the "-I." option - ## - - - ## -------------------------------------------------------------------- ## See if the fortran compiler supports the intrinsic function "SIZEOF" + HAVE_SIZEOF_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic SIZEOF" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic SIZEOF... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6685,29 +6499,23 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_SIZEOF="yes" + HAVE_SIZEOF_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ## See if the fortran compiler supports the intrinsic function "C_SIZEOF" + HAVE_C_SIZEOF_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_SIZEOF" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic C_SIZEOF... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6718,29 +6526,23 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_C_SIZEOF="yes" + HAVE_C_SIZEOF_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" + HAVE_STORAGE_SIZE_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic STORAGE_SIZE" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic STORAGE_SIZE... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6750,31 +6552,26 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_STORAGE_SIZE="yes" + HAVE_STORAGE_SIZE_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ## Check to see if -r8 was specified to determine if we need to ## compile the DOUBLE PRECISION interfaces. + FORTRAN_DEFAULT_REALisDBLE="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran default REAL is DOUBLE PRECISION" >&5 $as_echo_n "checking if Fortran default REAL is DOUBLE PRECISION... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat > conftest.$ac_ext <<_ACEOF MODULE type_mod @@ -6799,17 +6596,15 @@ else END PROGRAM main _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - FORTRAN_DEFAULT_REALisDBLE="yes" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + FORTRAN_DEFAULT_REALisDBLE="yes" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "X$HDF_FORTRAN2003" = "Xyes"; then @@ -6817,26 +6612,26 @@ fi ## Checking if the compiler supports the required Fortran 2003 features and ## disable Fortran 2003 if it does not. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 $as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; } HAVE_FORTRAN_2003="no" - + HAVE_F2003_REQUIREMENTS="no" cat > conftest.$ac_ext <<_ACEOF program main - USE iso_c_binding - IMPLICIT NONE - TYPE(C_PTR) :: ptr - TYPE(C_FUNPTR) :: funptr - CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr + USE iso_c_binding + IMPLICIT NONE + TYPE(C_PTR) :: ptr + TYPE(C_FUNPTR) :: funptr + CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr - ptr = C_LOC(ichr(1:1)) + ptr = C_LOC(ichr(1:1)) end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_F2003_REQUIREMENTS=yes @@ -6844,12 +6639,13 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then - ## echo $HAVE_FORTRAN_2003 as_fn_error $? "Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003" "$LINENO" 5 else - ## echo $HAVE_FORTRAN_2003 HAVE_FORTRAN_2003="yes" fi fi @@ -6865,7 +6661,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - if test "X$HAVE_SIZEOF" = "Xyes"; then + if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then FORTRAN_HAVE_SIZEOF_TRUE= FORTRAN_HAVE_SIZEOF_FALSE='#' else @@ -6873,7 +6669,7 @@ else FORTRAN_HAVE_SIZEOF_FALSE= fi - if test "X$HAVE_C_SIZEOF" = "Xyes"; then + if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then FORTRAN_HAVE_C_SIZEOF_TRUE= FORTRAN_HAVE_C_SIZEOF_FALSE='#' else @@ -6881,7 +6677,7 @@ else FORTRAN_HAVE_C_SIZEOF_FALSE= fi - if test "X$HAVE_STORAGE_SIZE" = "Xyes"; then + if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then FORTRAN_HAVE_STORAGE_SIZE_TRUE= FORTRAN_HAVE_STORAGE_SIZE_FALSE='#' else @@ -6906,8 +6702,6 @@ else fi - - ## ---------------------------------------------------------------------- ## Check if they would like the C++ interface compiled ## @@ -7486,15 +7280,11 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # Checking if C++ needs old style header files in includes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX needs old style header files in includes" >&5 $as_echo_n "checking if $CXX needs old style header files in includes... " >&6; } - -if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7503,30 +7293,23 @@ else int main(void) { return 0; } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo no - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else - - echo yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + # Checking if C++ can handle namespaces { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle namespaces" >&5 $as_echo_n "checking if $CXX can handle namespaces... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7541,91 +7324,20 @@ int main(void) { } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - - echo no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE" - fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports std" >&5 -$as_echo_n "checking if $CXX supports std... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <string> - -using namespace std; - -int main(void) { - string myString("testing namespace std"); - return 0; -} - -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - -else - - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports bool types" >&5 -$as_echo_n "checking if $CXX supports bool types... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int main(void) { - bool flag; - return 0; -} - -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - -else - - echo no - CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED" - AM_CXXFLAGS="${AM_CXXFLAGS} -DBOOL_NOTDEFINED" +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + # Checking if C++ has offsetof extension { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX has offsetof extension" >&5 $as_echo_n "checking if $CXX has offsetof extension... " >&6; } @@ -7662,26 +7374,24 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } $as_echo "#define CXX_HAVE_OFFSETOF 1" >>confdefs.h - { $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; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + + # if C++ can handle static cast { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle static cast" >&5 $as_echo_n "checking if $CXX can handle static cast... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7694,23 +7404,22 @@ int main(void) { } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - - echo no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else - echo "no" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXX="no" fi @@ -7722,6 +7431,41 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu + +## ---------------------------------------------------------------------- +## Check if they would like the High Level library compiled +## + + HL="" +## name of fortran folder inside "hl", if FORTRAN compile is requested + HL_FOR="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if high level library is enabled" >&5 +$as_echo_n "checking if high level library is enabled... " >&6; } +# Check whether --enable-hl was given. +if test "${enable_hl+set}" = set; then : + enableval=$enable_hl; HDF5_HL=$enableval +else + HDF5_HL=yes +fi + + +if test "X$HDF5_HL" = "Xyes"; then + echo "yes" + HL="hl" + +$as_echo "#define INCLUDE_HL 1" >>confdefs.h + + + ## If Fortran's default real is double precision and HL is being built then configure + ## should fail due to bug HDFFV-889. + if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then + as_fn_error $? "Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl." "$LINENO" 5 + fi +else + echo "no" +fi + + ## ---------------------------------------------------------------------- ## Check if they have Perl installed on their system. We only need Perl ## if they're using a GNU compiler. @@ -7772,7 +7516,6 @@ done fi - ## ---------------------------------------------------------------------- ## Check which archiving tool to use. This needs to be done before ## the AM_PROG_LIBTOOL macro. @@ -7864,8 +7607,7 @@ fi ## ---------------------------------------------------------------------- -## Check that the tr utility is working properly. - +## Set up ${TR} which is used to process DEBUG_PKG. # Extract the first word of "tr", so it can be a program name with args. set dummy tr; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -7907,16 +7649,16 @@ fi -TR_TEST=`echo Test | ${TR} ${as_cr_letters}"," ${as_cr_LETTERS}" "` -if test "X${TR_TEST}" != "XTEST"; then - as_fn_error $? "tr program doesn't work" "$LINENO" 5 -fi - ## ---------------------------------------------------------------------- ## Check that time can be used with srcdir. This is okay on most systems, ## but seems to cause problems on Cygwin. ## The solution on Cygwin is not to record execution time for tests. +## +## Note: This is still true as of Cygwin 1.7.32 (Aug 2014) on both 32- +## and 64-bit platforms. Given how long this has been true, it seems +## unlikely to change, but we should probably re-test this periodically. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if srcdir= and time commands work together" >&5 $as_echo_n "checking if srcdir= and time commands work together... " >&6; } @@ -7941,16 +7683,14 @@ fi ## a parallel library even if configure wasn't ## able to find some header file or library that ## might be required. This is defined if the -## compiler looks like a parallel compiler (e.g., -## mpicc or mpcc) or if the user explicitly states +## user explicitly states ## that a parallel library is being built by supplying ## the `--enable-parallel' configure switch. ## ## PARALLEL -- This variable is set to a non-null value if -## configure thinks we're compiling a parallel -## version of the library. +## we're building a parallel version of the library. ## -## RUNSERIAL -- This is a command which will be prepended to +## RUNSERIAL -- This is a command which will be prepended to ## the executable name to run the executable using ## a single process. For serial versions of the ## library this will normally be empty. For parallel @@ -7976,146 +7716,6 @@ fi ## ---------------------------------------------------------------------- -## If the compiler is obviously a parallel compiler then we're building -## a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, -## the name of the compiler might tell us how to run the resulting -## executable. For `mpicc' the executable should be run with `mpiexec' from -## the same directory as mpicc if it exists. -## -case "$CC_BASENAME" in - mpicc) - ## The mpich compiler. Use mpiexec from the same directory if it - ## exists. - PARALLEL=mpicc - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5 -$as_echo_n "checking for mpiexec... " >&6; } - - ## Find the path where mpicc is located. - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5 -$as_echo "$path/mpiexec" >&6; } - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - fi - ;; - - mpcc|mpcc_r) - ## The IBM compiler - PARALLEL="$CC_BASENAME" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; -esac - -## ---------------------------------------------------------------------- -## If the Fortran compiler is obviously a parallel compiler then we're -## building a parallel version of hdf5 and should define HAVE_PARALLEL. -## Furthermore, the name of the compiler might tell us how to run the -## resulting executable. For `mpif90' the executable should be run with -## `mpiexec' from the same directory as mpif90 if it exists. -## - -if test "X$HDF_FORTRAN" = "Xyes" ; then - ## Change to the Fortran 90 language - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - case "$FC" in - *mpif90*) - ## The Fortran mpich compiler. Use mpiexec from the same directory - ## if it exists. - PARALLEL=mpif90 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5 -$as_echo_n "checking for mpiexec... " >&6; } - - ## Find the path where mpif90 is located. - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5 -$as_echo "$path/mpiexec" >&6; } - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - ## The IBM compiler - PARALLEL="$FC" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; - esac - - ## Change to the C language - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi - -## ----------------------------------------------------------------------------- -## If shared libraries are being used with parallel, disable them, unless the -## user explicity enables them via the '--enable-shared' option. - -if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries disabled in parallel' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries explicitly enabled by user' -elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries disabled when a parallel compiler is being used' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries explicitly enabled by user' -fi - -## ---------------------------------------------------------------------- ## Fortran libraries are not currently supported on Mac. Disable them. ## (this is overridable with --enable-unsupported). ## @@ -22865,113 +22465,6 @@ $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi -## ---------------------------------------------------------------------- -## Check for these two functions before the time headers are checked -## for, otherwise they are not detected correctly on Solaris (the -## configure test will fail due to multiply-defined symbols). -## -for ac_func in difftime -do : - ac_fn_c_check_func "$LINENO" "difftime" "ac_cv_func_difftime" -if test "x$ac_cv_func_difftime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DIFFTIME 1 -_ACEOF - -fi -done - -for ac_func in gettimeofday -do : - ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" -if test "x$ac_cv_func_gettimeofday" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETTIMEOFDAY 1 -_ACEOF - have_gettime="yes" -else - have_gettime="no" -fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 -$as_echo_n "checking for library containing clock_gettime... " >&6; } -if ${ac_cv_search_clock_gettime+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return clock_gettime (); - ; - return 0; -} -_ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_clock_gettime=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_clock_gettime+:} false; then : - break -fi -done -if ${ac_cv_search_clock_gettime+:} false; then : - -else - ac_cv_search_clock_gettime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 -$as_echo "$ac_cv_search_clock_gettime" >&6; } -ac_res=$ac_cv_search_clock_gettime -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -for ac_func in clock_gettime -do : - ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" -if test "x$ac_cv_func_clock_gettime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CLOCK_GETTIME 1 -_ACEOF - have_clock_gettime="yes" -else - have_clock_gettime="no" -fi -done - - ## Unix for ac_header in sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h do : @@ -23232,92 +22725,15 @@ $as_echo "no" >&6; } fi ## ---------------------------------------------------------------------- -## Test for Largefile support. -## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if configure should try to set up large file support" >&5 -$as_echo_n "checking if configure should try to set up large file support... " >&6; } - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : - enableval=$enable_largefile; -fi - - -## If largefile support is enabled, then set up appropriate compiler options. -if test "$enable_largefile" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - ## Check for needed compiler options. This check is pulled drectly - ## from autoconf's AC_SYS_LARGEFILE macro, as of Autoconf v2.65. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if ${ac_cv_sys_largefile_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - ## IRIX 6.2 and later do not support large files by default, - ## so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO"; then : - break -fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - ## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines - ## that might need to be set for largefile support to behave - ## correctly. This macro is defined in acsite.m4 and overrides - ## the version provided by Autoconf (as of v2.65). The custom - ## macro additionally adds the appropriate defines to AM_CPPFLAGS - ## so that later configure checks have them visible. - - ## Check for _FILE_OFFSET_BITS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines +## that might need to be set for largefile support to behave +## correctly. This macro is defined in acsite.m4 and overrides +## the version provided by Autoconf (as of v2.65). The custom +## macro additionally adds the appropriate defines to AM_CPPFLAGS +## so that later configure checks have them visible. + +## Check for _FILE_OFFSET_BITS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 @@ -23403,9 +22819,9 @@ _ACEOF esac rm -rf conftest* - ## Check for _LARGE_FILES - if test "$ac_cv_sys_file_offset_bits" = unknown; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +## Check for _LARGE_FILES +if test "$ac_cv_sys_file_offset_bits" = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 @@ -23490,68 +22906,6 @@ _ACEOF AM_CPPFLAGS="-D_LARGE_FILES=$ac_cv_sys_large_files $AM_CPPFLAGS";; esac rm -rf conftest* - fi - - ## Now actually test to see if we can create large files after we've - ## checked for any needed defines. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if large (64-bit) files are supported on this system." >&5 -$as_echo_n "checking if large (64-bit) files are supported on this system.... " >&6; } - if ${hdf5_cv_have_lfs+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <stdio.h> - #include <unistd.h> - #include <stdlib.h> - #include <fcntl.h> - #define BIG_FILE (off_t)0x80000000UL - int main(void) { - int fd; - if ((fd=open("test.conf", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0) exit(1); - if (lseek(fd, BIG_FILE, SEEK_SET)!=BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (lseek(fd, 2*BIG_FILE, SEEK_SET) != 2*BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (unlink("test.conf") < 0) exit(1); - exit(0); - } - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - hdf5_cv_have_lfs=yes -else - hdf5_cv_have_lfs=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi - - - if test "X${hdf5_cv_have_lfs}" = "Xyes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - LARGEFILE="yes" - fi - if test "X${hdf5_cv_have_lfs}" = "Xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - LARGEFILE="no" - fi - -else - LARGEFILE="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi ## ---------------------------------------------------------------------- @@ -23559,28 +22913,35 @@ fi ## case "$host_cpu-$host_vendor-$host_os" in *linux*) - ## If largefile support is enabled, then make available various - ## LFS-related routines using the following _LARGEFILE*_SOURCE macros. - if test "X$LARGEFILE" != "Xno"; then - AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" - fi + ## Make available various LFS-related routines using the following + ## _LARGEFILE*_SOURCE macros. + AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" ## Add POSIX support on Linux systems, so <features.h> defines ## __USE_POSIX, which is required to get the prototype for fdopen ## defined correctly in <stdio.h>. + ## ## This flag was removed from h5cc as of 2009-10-17 when it was found ## that the flag broke compiling netCDF-4 code with h5cc, but kept in ## H5_CPPFLAGS because fdopen and HDfdopen fail without it. HDfdopen ## is used only by H5_debug_mask which is used only when debugging in ## H5_init_library (all in H5.c). When the flag was removed this was ## the only compile failure noted. + ## ## This was originally defined as _POSIX_SOURCE which was updated to ## _POSIX_C_SOURCE=199506L to expose a greater amount of POSIX ## functionality so clock_gettime and CLOCK_MONOTONIC are defined - ## correctly. + ## correctly. This was later updated to 200112L so that + ## posix_memalign() is visible for the direct VFD code on Linux + ## systems. + ## ## POSIX feature information can be found in the gcc manual at: ## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html - H5_CPPFLAGS="-D_POSIX_C_SOURCE=199506L $H5_CPPFLAGS" + H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS" + + ## Need to add this so that O_DIRECT is visible for the direct + ## VFD on Linux systems. + AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS" ## Also add BSD support on Linux systems, so <features.h> defines ## __USE_BSD, which is required to get the prototype for strdup @@ -26794,42 +26155,6 @@ $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -## check if `struct tm' has a `__tm_gmtoff' member. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __tm_gmtoff in struct tm" >&5 -$as_echo_n "checking for __tm_gmtoff in struct tm... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <sys/time.h> - #include <time.h> -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -struct tm tm; tm.__tm_gmtoff=0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE___TM_GMTOFF 1" >>confdefs.h - - { $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; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ## Check whether the global variable `timezone' is defined. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for global timezone variable" >&5 $as_echo_n "checking for global timezone variable... " >&6; } @@ -26876,217 +26201,6 @@ rm -f core conftest.err conftest.$ac_objext \ ;; esac -## Check whether `struct timezone' is defined. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> -#include <time.h> - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include <sys/types.h> -#include <$ac_cv_struct_tm> - -" -if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_ZONE 1 -_ACEOF - - -fi - -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - -$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h - -else - ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include <time.h> -" -if test "x$ac_cv_have_decl_tzname" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TZNAME $ac_have_decl -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 -$as_echo_n "checking for tzname... " >&6; } -if ${ac_cv_var_tzname+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <time.h> -#if !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return tzname[0][0]; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_var_tzname=yes -else - ac_cv_var_tzname=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -$as_echo "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -$as_echo "#define HAVE_TZNAME 1" >>confdefs.h - - fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timezone" >&5 -$as_echo_n "checking for struct timezone... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <sys/types.h> - #include <sys/time.h> - #include <time.h> -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -struct timezone tz; tz.tz_minuteswest=0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE_STRUCT_TIMEZONE 1" >>confdefs.h - - have_struct_tz="yes" - { $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; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -## If gettimeofday() is going to be used, make sure it uses the timezone struct - -if test "$have_gettime" = "yes" -a "$have_struct_tz" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday() gives timezone" >&5 -$as_echo_n "checking whether gettimeofday() gives timezone... " >&6; } - if ${hdf5_cv_gettimeofday_tz+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <time.h> - #include <sys/time.h> - int main(void) - { - struct timeval tv; - struct timezone tz; - tz.tz_minuteswest = 7777; /* Initialize to an unreasonable number */ - tz.tz_dsttime = 7; - gettimeofday(&tv, &tz); - /* Check whether the function returned any value at all */ - if(tz.tz_minuteswest == 7777 && tz.tz_dsttime == 7) - exit(1); - else exit (0); - } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - hdf5_cv_gettimeofday_tz=yes -else - hdf5_cv_gettimeofday_tz=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi - - - if test ${hdf5_cv_gettimeofday_tz} = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define GETTIMEOFDAY_GIVES_TZ 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi -fi ## ---------------------------------------------------------------------- ## Does the struct stat have the st_blocks field? This field is not Posix. @@ -27306,7 +26420,73 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ## ---------------------------------------------------------------------- ## Check for functions. ## -for ac_func in alarm BSDgettimeofday fork frexpf frexpl +## NOTE: clock_gettime may require linking to the rt or posix4 library +## so we'll search for it before calling AC_CHECK_FUNCS. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (); +#ifdef FC_DUMMY_MAIN +#ifndef FC_DUMMY_MAIN_EQ_F77 +# ifdef __cplusplus + extern "C" +# endif + int FC_DUMMY_MAIN() { return 1; } +#endif +#endif +int +main () +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : + +else + ac_cv_search_clock_gettime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +for ac_func in alarm clock_gettime difftime fork frexpf frexpl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -27318,7 +26498,7 @@ _ACEOF fi done -for ac_func in gethostname getpwuid getrusage lstat +for ac_func in gethostname getpwuid getrusage gettimeofday do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -27330,7 +26510,7 @@ _ACEOF fi done -for ac_func in rand_r random setsysinfo +for ac_func in lstat rand_r random setsysinfo do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -28210,10 +27390,7 @@ rm -f confcache ## What header files and libraries do we have to look for for parallel ## support? For the most part, search paths are already specified with -## CPPFLAGS and LDFLAGS or are known to the compiler. If the user says -## `--disable-parallel' but specifies a known parallel compiler (like mpicc -## or mpcc) then parallel support is enabled but configure doesn't search -## for any parallel header files or libraries. +## CPPFLAGS and LDFLAGS or are known to the compiler. ## # Check whether --enable-parallel was given. if test "${enable_parallel+set}" = set; then : @@ -28238,26 +27415,11 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## It's possible to build in parallel by specifying a parallel compiler -## without using the --enable-parallel flag. This isn't allowed with -## C++ or threadsafe, either, unless the --enable-unsupported flag -## has also been specified. -if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then - if test "X${PARALLEL}" != "X" -a "X${enable_cxx}" = "Xyes" ; then - as_fn_error $? "An MPI compiler is being used; --enable-cxx is not allowed. Use --enable-unsupported to override this error." "$LINENO" 5 - fi - if test "X${PARALLEL}" != "X" -a "X${THREADSAFE}" = "Xyes"; then - as_fn_error $? "An MPI compiler is being used; --enable-threadsafe is not allowed. Use --enable-unsupported to override this error." "$LINENO" 5 - fi -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for parallel support files" >&5 $as_echo_n "checking for parallel support files... " >&6; } case "X-$enable_parallel" in X-|X-no|X-none) - ## Either we are not compiling for parallel or the header and - ## library files and locations are known to the compiler (this is - ## the case for a correct installation of mpicc for instance). + ## We are not compiling for parallel. { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipped" >&5 $as_echo "skipped" >&6; } ;; @@ -28269,185 +27431,12 @@ $as_echo "skipped" >&6; } $as_echo "provided by compiler" >&6; } PARALLEL=yes - ## Try link a simple MPI program. If fail, try again with -lmpi and - ## -lmpich. + ## Try link a simple MPI program. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO C program can be linked" >&5 +$as_echo_n "checking whether a simple MPI-IO C program can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -MPI_Init() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -$as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_Init (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpi_MPI_Init=yes -else - ac_cv_lib_mpi_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -$as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPI 1 -_ACEOF - - LIBS="-lmpi $LIBS" - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -$as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_Init (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return MPI_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpich_MPI_Init=yes -else - ac_cv_lib_mpich_MPI_Init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -$as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPICH 1 -_ACEOF - - LIBS="-lmpich $LIBS" - -else - PARALLEL=no -fi - -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -MPI_File_open() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_File_open in -lmpio" >&5 -$as_echo_n "checking for MPI_File_open in -lmpio... " >&6; } -if ${ac_cv_lib_mpio_MPI_File_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpio $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_File_open (); +#include <mpi.h> #ifdef FC_DUMMY_MAIN #ifndef FC_DUMMY_MAIN_EQ_F77 # ifdef __cplusplus @@ -28459,169 +27448,61 @@ char MPI_File_open (); int main () { -return MPI_File_open (); + MPI_Init(0, (void *)0); + MPI_File_open(0, (void *)0, 0, 0, (void *)0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpio_MPI_File_open=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - ac_cv_lib_mpio_MPI_File_open=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO C program" "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpio_MPI_File_open" >&5 -$as_echo "$ac_cv_lib_mpio_MPI_File_open" >&6; } -if test "x$ac_cv_lib_mpio_MPI_File_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPIO 1 -_ACEOF - - LIBS="-lmpio $LIBS" -else - PARALLEL=no -fi + if test "X$HDF_FORTRAN" = "Xyes"; then -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - if test "X$HDF_FORTRAN" = "Xyes"; then - ## Change to the Fortran 90 language ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - ## Try link a simple MPI program. If fail, try again with -lmpi. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO Fortran program can be linked" >&5 +$as_echo_n "checking whether a simple MPI-IO Fortran program can be linked... " >&6; } cat > conftest.$ac_ext <<_ACEOF - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end + PROGRAM main + INCLUDE 'mpif.h' + INTEGER :: comm, amode, info, fh, ierror + CHARACTER(LEN=1) :: filename + CALL MPI_File_open( comm, filename, amode, info, fh, ierror) + END _ACEOF if ac_fn_fc_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi_file_open in -lmpi" >&5 -$as_echo_n "checking for mpi_file_open in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_mpi_file_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call mpi_file_open - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - ac_cv_lib_mpi_mpi_file_open=yes -else - ac_cv_lib_mpi_mpi_file_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_mpi_file_open" >&5 -$as_echo "$ac_cv_lib_mpi_mpi_file_open" >&6; } -if test "x$ac_cv_lib_mpi_mpi_file_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPI 1 -_ACEOF - - LIBS="-lmpi $LIBS" - -else - PARALLEL=no -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - cat > conftest.$ac_ext <<_ACEOF - - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi_file_open in -lmpio" >&5 -$as_echo_n "checking for mpi_file_open in -lmpio... " >&6; } -if ${ac_cv_lib_mpio_mpi_file_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpio $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call mpi_file_open - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - ac_cv_lib_mpio_mpi_file_open=yes -else - ac_cv_lib_mpio_mpi_file_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpio_mpi_file_open" >&5 -$as_echo "$ac_cv_lib_mpio_mpi_file_open" >&6; } -if test "x$ac_cv_lib_mpio_mpi_file_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPIO 1 -_ACEOF - - LIBS="-lmpio $LIBS" - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - PARALLEL=no -fi - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO Fortran program" "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - fi - ## Change to the C language ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - fi - ## Set RUNPARALLEL to mpiexec if not set yet. - ## Check for building on Cray if RUNPARALLEL is not yet set by checking - ## for 'aprun' command (which is the parallel job launcher, like mpiexec). - if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then - ## Find the path where aprun is located. - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/aprun; then - RUNPARALLEL="aprun -q -n \$\${NPROCS:=6}" - break; - fi - done fi ## Set RUNPARALLEL to mpiexec if not set yet. @@ -28661,39 +27542,6 @@ $as_echo_n "checking prefix for running in parallel... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUNPARALLEL" >&5 $as_echo "$RUNPARALLEL" >&6; } - ## Check that we can link a simple MPI and MPI-IO application - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO program can be linked" >&5 -$as_echo_n "checking whether a simple MPI-IO program can be linked... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -MPI_Init(); MPI_File_open(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; 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; } - as_fn_error $? "unable to link a simple MPI-IO application" "$LINENO" 5 -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ## There *must* be some way to run in parallel even if it's just the ## word `none'. if test -z "$RUNPARALLEL"; then @@ -28701,7 +27549,8 @@ rm -f core conftest.err conftest.$ac_objext \ fi ## If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with - ## the empty string. + ## the empty string. This means that no launch commands were requested, + ## so we will not use any launch commands. if test "X$RUNSERIAL" = "Xnone"; then RUNSERIAL="" fi @@ -28877,61 +27726,6 @@ else unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - unset MPE -fi - ;; *) case "$withval" in @@ -29052,62 +27846,6 @@ else LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE -fi - - else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 $as_echo_n "checking for MPE_Init_log in -lmpe... " >&6; } @@ -29164,61 +27902,6 @@ else unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - unset MPE -fi - fi ;; esac @@ -29230,6 +27913,7 @@ $as_echo "#define HAVE_MPE 1" >>confdefs.h fi fi + ## ---------------------------------------------------------------------- ## Turn on internal I/O filters by setting macros in header files ## Internal I/O filters are contained entirely within the library and do @@ -29303,147 +27987,70 @@ $as_echo "#define HAVE_FILTER_SCALEOFFSET 1" >>confdefs.h done fi -## ---------------------------------------------------------------------- -## This is defined only when we're using CodeWarrior, since it has a -## broken "open()" call. -# -if test 1 = 2; then - -$as_echo "#define NO_SHARED_WRITING 1" >>confdefs.h -fi - -## -------------------------------------------------------------------------- -## Should the Default Virtual File Driver be compiled? +## ---------------------------------------------------------------------- +## Check if Direct I/O driver is enabled by --enable-direct-vfd ## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Default Virtual File Driver definition" >&5 -$as_echo_n "checking for Default Virtual File Driver definition... " >&6; } +## Check these regardless. If the checks are moved inside the main +## direct VFD block, the output is nested. -# Check whether --with-default-vfd was given. -if test "${with_default_vfd+set}" = set; then : - withval=$with_default_vfd; +if ${hdf5_cv_direct_io+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_fn_c_check_decl "$LINENO" "O_DIRECT" "ac_cv_have_decl_O_DIRECT" "#include <fcntl.h> +" +if test "x$ac_cv_have_decl_O_DIRECT" = xyes; then : + hdf5_cv_direct_io=yes else - withval=sec2 + hdf5_cv_direct_io=no fi +fi -if test "X$withval" = "Xsec2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - default_vfd=yes - vfd_define=H5FD_SEC2 -elif test "X$withval" = "Xstdio"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - default_vfd=yes - vfd_define=H5FD_STDIO +if ${hdf5_cv_posix_memalign+:} false; then : + $as_echo_n "(cached) " >&6 else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - default_vfd=no + ac_fn_c_check_func "$LINENO" "posix_memalign" "ac_cv_func_posix_memalign" +if test "x$ac_cv_func_posix_memalign" = xyes; then : + hdf5_cv_posix_memalign=yes +else + hdf5_cv_posix_memalign=no fi -if test "X$default_vfd" = "Xyes"; then - -cat >>confdefs.h <<_ACEOF -#define DEFAULT_VFD $vfd_define -_ACEOF - fi -## ---------------------------------------------------------------------- -## Check if Direct I/O driver is enabled by --enable-direct-vfd -## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Direct Virtual File Driver support" >&5 -$as_echo_n "checking for Direct Virtual File Driver support... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the direct I/O virtual file driver (VFD) is enabled" >&5 +$as_echo_n "checking if the direct I/O virtual file driver (VFD) is enabled... " >&6; } # Check whether --enable-direct-vfd was given. if test "${enable_direct_vfd+set}" = set; then : enableval=$enable_direct_vfd; DIRECT_VFD=$enableval else - DIRECT_VFD=yes -fi - - -if test "$DIRECT_VFD" = "yes"; then - if ${hdf5_cv_direct_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> - int main(void) - { - int fid; - if((fid=open("tst_file", O_CREAT | O_TRUNC | O_DIRECT, 0755))<0) - exit(1); - close(fid); - remove("tst_file"); - exit (0); - } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef FC_DUMMY_MAIN -#ifndef FC_DUMMY_MAIN_EQ_F77 -# ifdef __cplusplus - extern "C" -# endif - int FC_DUMMY_MAIN() { return 1; } -#endif -#endif -int -main () -{ -posix_memalign() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - hdf5_cv_direct_io=yes -else - hdf5_cv_direct_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -else - hdf5_cv_direct_io=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - + DIRECT_VFD=no fi - if test ${hdf5_cv_direct_io} = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if test "X$DIRECT_VFD" = "Xyes"; then + if test ${hdf5_cv_direct_io} = "yes" && test ${hdf5_cv_posix_memalign} = "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_DIRECT 1" >>confdefs.h - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - DIRECT_VFD=no - fi + DIRECT_VFD=no + as_fn_error $? "The direct VFD was requested but cannot be built. This is either + due to O_DIRECT not being found in fcntl.h or a lack of + posix_memalign() on your system. Please re-configure without + specifying --enable-direct-vfd." "$LINENO" 5 + fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 -$as_echo "suppressed" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi if test "X$DIRECT_VFD" = "Xyes"; then @@ -30950,39 +29557,6 @@ if test -n "$AM_CPPFLAGS"; then AM_CPPFLAGS=$TEMP_CPPFLAGS fi -## ---------------------------------------------------------------------- -## Check if they would like the High Level library compiled -## - - HL="" -## name of fortran folder inside "hl", if FORTRAN compile is requested - HL_FOR="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if high level library is enabled" >&5 -$as_echo_n "checking if high level library is enabled... " >&6; } -# Check whether --enable-hl was given. -if test "${enable_hl+set}" = set; then : - enableval=$enable_hl; HDF5_HL=$enableval -else - HDF5_HL=yes -fi - - -if test "X$HDF5_HL" = "Xyes"; then - echo "yes" - HL="hl" - -$as_echo "#define INCLUDE_HL 1" >>confdefs.h - - -## Check if Fortran's default real is double precision. If it is and HL is being built then configure -## should fail due to bug HDFFV-889. - if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then - as_fn_error $? "Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl." "$LINENO" 5 - fi -else - echo "no" -fi - ## ---------------------------------------------------------------------- ## Some programs shouldn't be built by default (e.g., programs to generate @@ -31732,7 +30306,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -HDF5 config.lt 1.9.212 +HDF5 config.lt 1.9.215 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -33874,7 +32448,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.9.212, which was +This file was extended by HDF5 $as_me 1.9.215, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33940,7 +32514,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HDF5 config.status 1.9.212 +HDF5 config.status 1.9.215 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index e70ed30..f53c8a6 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ AC_PREREQ([2.69]) ## NOTE: Do not forget to change the version number here when we do a ## release!!! ## -AC_INIT([HDF5], [1.9.212], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.215], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADER([src/H5config.h]) @@ -160,7 +160,6 @@ AC_MSG_RESULT([done]) ## HDF_CXX: whether C++ is enabled. Default no. ## CXX: C++ compiler. ## HDF5_HL: whether high-level library is enabled. Default is yes. -## LARGEFILE: whether largefile support is enabled. Default yes. ## INSTRUMENT: whether INSTRUMENT is enabled. No default set here. ## CODESTACK: whether CODESTACK is enabled. Default no. ## HAVE_DMALLOC: whether system has dmalloc support. Default no. @@ -181,7 +180,6 @@ AC_SUBST([FC2003]) HDF_FORTRAN2003=no AC_SUBST([HDF_CXX]) HDF_CXX=no AC_SUBST([CXX]) HDF_CXX=no AC_SUBST([HDF5_HL]) HDF5_HL=yes -AC_SUBST([LARGEFILE]) LARGEFILE=yes AC_SUBST([INSTRUMENT]) AC_SUBST([CODESTACK]) CODESTACK=no AC_SUBST([HAVE_DMALLOC]) HAVE_DMALLOC=no @@ -372,7 +370,7 @@ AC_SUBST([HDF5_INTERFACES]) HDF5_INTERFACES="" AC_MSG_CHECKING([if Fortran interface enabled]) AC_ARG_ENABLE([fortran], [AS_HELP_STRING([--enable-fortran], - [Compile the Fortran 77/90/95 interface [default=no]])], + [Compile the Fortran 90/95 interface [default=no]])], [HDF_FORTRAN=$enableval]) if test "X$HDF_FORTRAN" = "Xyes"; then @@ -399,14 +397,13 @@ if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then echo "no" AC_MSG_ERROR([--enable-fortran must be used with --enable-fortran2003]) else - echo "yes" + if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then + echo "yes" + else + echo "no" + fi fi -HAVE_SIZEOF="no" -HAVE_C_SIZEOF="no" -HAVE_STORAGE_SIZE="no" -FORTRAN_DEFAULT_REALisDBLE="no" - if test "X$HDF_FORTRAN" = "Xyes"; then AC_SUBST([FC]) HDF_FORTRAN=yes @@ -415,12 +412,6 @@ if test "X$HDF_FORTRAN" = "Xyes"; then HDF5_INTERFACES="$HDF5_INTERFACES fortran" ## -------------------------------------------------------------------- - ## Default for FORTRAN 2003 compliant compilers - ## - HAVE_FORTRAN_2003="no" - HAVE_F2003_REQUIREMENTS="no" - - ## -------------------------------------------------------------------- ## HDF5 integer variables for the H5fortran_types.f90 file. ## AC_SUBST([R_LARGE]) @@ -441,16 +432,11 @@ if test "X$HDF_FORTRAN" = "Xyes"; then AC_SUBST([FSEARCH_DIRS]) ## -------------------------------------------------------------------- - ## Check for a Fortran 9X compiler and how to include modules. + ## Check for a Fortran compiler and how to include modules. ## - AC_PROG_FC([f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) + AC_PROG_FC([PAC_FC_SEARCH_LIST],) AC_F9X_MODS - ## It seems that libtool (as of Libtool 1.5.14) is trying to - ## configure itself for Fortran 77. - ## Tell it that our F77 compiler is $FC (actually a F9X compiler) - F77=$FC - ## Change to the Fortran 90 language AC_LANG_PUSH(Fortran) @@ -460,116 +446,28 @@ if test "X$HDF_FORTRAN" = "Xyes"; then AC_FC_WRAPPERS ## -------------------------------------------------------------------- - ## See if the compiler will support the "-I." option - ## - dnl AM_FCFLAGS_saved=$AM_FCFLAGS - dnl AM_FCFLAGS="${AM_FCFLAGS} -I." - - dnl AC_MSG_CHECKING(if compiler supports -I. option) - dnl AC_TRY_FCOMPILE([ - dnl program conftest - dnl end - dnl ], AC_MSG_RESULT(yes), - dnl AC_MSG_RESULT(no) - dnl AM_FCFLAGS="$AM_FCFLAGS_saved") - - ## -------------------------------------------------------------------- ## See if the fortran compiler supports the intrinsic function "SIZEOF" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic SIZEOF]) - AC_TRY_RUN([ - PROGRAM main - i = sizeof(x) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_SIZEOF="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_SIZEOF ## See if the fortran compiler supports the intrinsic function "C_SIZEOF" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_SIZEOF]) - AC_TRY_RUN([ - PROGRAM main - USE ISO_C_BINDING - INTEGER(C_INT) :: a - INTEGER(C_SIZE_T) :: result - result = C_SIZEOF(a) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_C_SIZEOF="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_C_SIZEOF ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic STORAGE_SIZE]) - AC_TRY_RUN([ - PROGRAM main - INTEGER :: a - INTEGER :: result - result = STORAGE_SIZE(a) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_STORAGE_SIZE="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_STORAGE_SIZE ## Check to see if -r8 was specified to determine if we need to ## compile the DOUBLE PRECISION interfaces. - - AC_MSG_CHECKING([if Fortran default REAL is DOUBLE PRECISION]) - - AC_TRY_RUN([ - MODULE type_mod - INTERFACE h5t - MODULE PROCEDURE h5t_real - MODULE PROCEDURE h5t_dble - END INTERFACE - CONTAINS - SUBROUTINE h5t_real(r) - REAL :: r - END SUBROUTINE h5t_real - SUBROUTINE h5t_dble(d) - DOUBLE PRECISION :: d - END SUBROUTINE h5t_dble - END MODULE type_mod - PROGRAM main - USE type_mod - REAL :: r - DOUBLE PRECISION :: d - CALL h5t(r) - CALL h5t(d) - END PROGRAM main - ], - [AC_MSG_RESULT([no])], - [AC_MSG_RESULT([yes]) - FORTRAN_DEFAULT_REALisDBLE="yes"]) + PAC_PROG_FC_DEFAULT_REALisDBLE if test "X$HDF_FORTRAN2003" = "Xyes"; then ## Checking if the compiler supports the required Fortran 2003 features and ## disable Fortran 2003 if it does not. - - AC_MSG_CHECKING([if Fortran compiler version compatible with Fortran 2003 HDF]) - HAVE_FORTRAN_2003="no" - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ - - USE iso_c_binding - IMPLICIT NONE - TYPE(C_PTR) :: ptr - TYPE(C_FUNPTR) :: funptr - CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr - - ptr = C_LOC(ichr(1:1)) - - ])], - [AC_MSG_RESULT([yes]) - HAVE_F2003_REQUIREMENTS=[yes]], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_HAVE_F2003_REQUIREMENTS + if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then - ## echo $HAVE_FORTRAN_2003 AC_MSG_ERROR([Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003]) else - ## echo $HAVE_FORTRAN_2003 HAVE_FORTRAN_2003="yes" fi fi @@ -580,14 +478,12 @@ fi ## Change back to the C language AC_LANG_POP(Fortran) -AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF" = "Xyes"]) -AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF" = "Xyes"]) -AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"]) AM_CONDITIONAL([FORTRAN_2003_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003" = "Xyes"]) AM_CONDITIONAL([FORTRAN_DEFAULT_REALisDBLE_F], [test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"]) - - ## ---------------------------------------------------------------------- ## Check if they would like the C++ interface compiled ## @@ -611,114 +507,56 @@ if test "X$HDF_CXX" = "Xyes"; then ## Change to the C++ language AC_LANG_PUSH(C++) - AC_MSG_CHECKING([if $CXX needs old style header files in includes]) - AC_TRY_RUN([ -#include <iostream> - -int main(void) { return 0; } - ], [ - echo no - ], [ - echo yes - CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" - AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME" - ]) + # Checking if C++ needs old style header files in includes + PAC_PROG_CXX_HEADERS - AC_MSG_CHECKING([if $CXX can handle namespaces]) - AC_TRY_RUN([ -namespace H5 { -int fnord; -} + # Checking if C++ can handle namespaces + PAC_PROG_CXX_NAMESPACE + + # Checking if C++ has offsetof extension + PAC_PROG_CXX_OFFSETOF -int main(void) { - using namespace H5; - fnord = 37; - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE" - ]) + # if C++ can handle static cast + PAC_PROG_CXX_STATIC_CAST + +else + AC_MSG_RESULT([no]) + CXX="no" +fi - AC_MSG_CHECKING([if $CXX supports std]) - AC_TRY_RUN([ -#include <string> +## Change back to the C language +AC_LANG_POP(C++) -using namespace std; -int main(void) { - string myString("testing namespace std"); - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD" - ]) +## ---------------------------------------------------------------------- +## Check if they would like the High Level library compiled +## - AC_MSG_CHECKING([if $CXX supports bool types]) - AC_TRY_RUN([ -int main(void) { - bool flag; - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED" - AM_CXXFLAGS="${AM_CXXFLAGS} -DBOOL_NOTDEFINED" - ]) +AC_SUBST(HL) HL="" +## name of fortran folder inside "hl", if FORTRAN compile is requested +AC_SUBST(HL_FOR) HL_FOR="" +AC_MSG_CHECKING([if high level library is enabled]) +AC_ARG_ENABLE([hl], + [AS_HELP_STRING([--enable-hl], + [Enable the high-level library [default=yes]])], + [HDF5_HL=$enableval], + [HDF5_HL=yes]) - AC_MSG_CHECKING([if $CXX has offsetof extension]) - AC_TRY_COMPILE([ - #include <stdio.h> - #include <stddef.h> - ],[ - struct index_st - { - unsigned char type; - unsigned char num; - unsigned int len; - }; - typedef struct index_st index_t; - int x,y; - x = offsetof(struct index_st, len); - y = offsetof(index_t, num) - ], - AC_DEFINE([CXX_HAVE_OFFSETOF], [1], - [Define if C++ compiler recognizes offsetof]) - AC_MSG_RESULT([yes]), - AC_MSG_RESULT([no])) - - AC_MSG_CHECKING([if $CXX can handle static cast]) - AC_TRY_RUN([ -int main(void) { - float test_float; - int test_int; - test_float = 37.0; - test_int = static_cast <int> (test_float); - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" - AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST" - ]) +if test "X$HDF5_HL" = "Xyes"; then + echo "yes" + HL="hl" + AC_DEFINE([INCLUDE_HL], [1], + [Define if HDF5's high-level library headers should be included in hdf5.h]) + + ## If Fortran's default real is double precision and HL is being built then configure + ## should fail due to bug HDFFV-889. + if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then + AC_MSG_ERROR([Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl.]) + fi else - echo "no" - CXX="no" + echo "no" fi -## Change back to the C language -AC_LANG_POP(C++) ## ---------------------------------------------------------------------- ## Check if they have Perl installed on their system. We only need Perl @@ -729,7 +567,6 @@ if test "X$GCC" = "Xyes"; then AC_CHECK_PROGS([PERL], [perl],, [$PATH]) fi - ## ---------------------------------------------------------------------- ## Check which archiving tool to use. This needs to be done before ## the AM_PROG_LIBTOOL macro. @@ -749,20 +586,19 @@ AC_PROG_INSTALL ## ---------------------------------------------------------------------- -## Check that the tr utility is working properly. - +## Set up ${TR} which is used to process DEBUG_PKG. AC_PATH_PROG([TR], [tr]) -TR_TEST=`echo Test | ${TR} ${as_cr_letters}"," ${as_cr_LETTERS}" "` -if test "X${TR_TEST}" != "XTEST"; then - AC_MSG_ERROR([tr program doesn't work]) -fi - ## ---------------------------------------------------------------------- ## Check that time can be used with srcdir. This is okay on most systems, ## but seems to cause problems on Cygwin. ## The solution on Cygwin is not to record execution time for tests. +## +## Note: This is still true as of Cygwin 1.7.32 (Aug 2014) on both 32- +## and 64-bit platforms. Given how long this has been true, it seems +## unlikely to change, but we should probably re-test this periodically. + AC_MSG_CHECKING([if srcdir= and time commands work together]) AC_SUBST([TIME]) @@ -784,16 +620,14 @@ fi ## a parallel library even if configure wasn't ## able to find some header file or library that ## might be required. This is defined if the -## compiler looks like a parallel compiler (e.g., -## mpicc or mpcc) or if the user explicitly states +## user explicitly states ## that a parallel library is being built by supplying ## the `--enable-parallel' configure switch. ## ## PARALLEL -- This variable is set to a non-null value if -## configure thinks we're compiling a parallel -## version of the library. +## we're building a parallel version of the library. ## -## RUNSERIAL -- This is a command which will be prepended to +## RUNSERIAL -- This is a command which will be prepended to ## the executable name to run the executable using ## a single process. For serial versions of the ## library this will normally be empty. For parallel @@ -819,131 +653,6 @@ AC_SUBST([RUNPARALLEL]) AC_SUBST([TESTPARALLEL]) ## ---------------------------------------------------------------------- -## If the compiler is obviously a parallel compiler then we're building -## a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, -## the name of the compiler might tell us how to run the resulting -## executable. For `mpicc' the executable should be run with `mpiexec' from -## the same directory as mpicc if it exists. -## -case "$CC_BASENAME" in - mpicc) - ## The mpich compiler. Use mpiexec from the same directory if it - ## exists. - PARALLEL=mpicc - AC_MSG_CHECKING([for mpiexec]) - - ## Find the path where mpicc is located. - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - AC_MSG_RESULT([$path/mpiexec]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - mpcc|mpcc_r) - ## The IBM compiler - PARALLEL="$CC_BASENAME" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; -esac - -## ---------------------------------------------------------------------- -## If the Fortran compiler is obviously a parallel compiler then we're -## building a parallel version of hdf5 and should define HAVE_PARALLEL. -## Furthermore, the name of the compiler might tell us how to run the -## resulting executable. For `mpif90' the executable should be run with -## `mpiexec' from the same directory as mpif90 if it exists. -## - -if test "X$HDF_FORTRAN" = "Xyes" ; then - ## Change to the Fortran 90 language - AC_LANG_PUSH(Fortran) - - case "$FC" in - *mpif90*) - ## The Fortran mpich compiler. Use mpiexec from the same directory - ## if it exists. - PARALLEL=mpif90 - AC_MSG_CHECKING([for mpiexec]) - - ## Find the path where mpif90 is located. - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - AC_MSG_RESULT([$path/mpiexec]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - ## The IBM compiler - PARALLEL="$FC" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; - esac - - ## Change to the C language - AC_LANG_POP(Fortran) -fi - -## ----------------------------------------------------------------------------- -## If shared libraries are being used with parallel, disable them, unless the -## user explicity enables them via the '--enable-shared' option. - -if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries disabled in parallel' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries explicitly enabled by user' -elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries disabled when a parallel compiler is being used' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries explicitly enabled by user' -fi - -## ---------------------------------------------------------------------- ## Fortran libraries are not currently supported on Mac. Disable them. ## (this is overridable with --enable-unsupported). ## @@ -1288,16 +997,6 @@ dnl AC_CHECK_LIB([coug], [main]) ## ...for ASCI/Red AC_HEADER_STDC AC_HEADER_TIME -## ---------------------------------------------------------------------- -## Check for these two functions before the time headers are checked -## for, otherwise they are not detected correctly on Solaris (the -## configure test will fail due to multiply-defined symbols). -## -AC_CHECK_FUNCS([difftime]) -AC_CHECK_FUNCS([gettimeofday], [have_gettime="yes"], [have_gettime="no"]) -AC_SEARCH_LIBS([clock_gettime], [rt posix4]) -AC_CHECK_FUNCS([clock_gettime],[have_clock_gettime="yes"],[have_clock_gettime="no"]) - ## Unix AC_CHECK_HEADERS([sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h]) AC_CHECK_HEADERS([sys/socket.h sys/types.h]) @@ -1368,96 +1067,25 @@ if test "X${enable_shared}" = "Xyes"; then fi ## ---------------------------------------------------------------------- -## Test for Largefile support. -## -AC_MSG_CHECKING([if configure should try to set up large file support]) +## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines +## that might need to be set for largefile support to behave +## correctly. This macro is defined in acsite.m4 and overrides +## the version provided by Autoconf (as of v2.65). The custom +## macro additionally adds the appropriate defines to AM_CPPFLAGS +## so that later configure checks have them visible. -AC_ARG_ENABLE([largefile], - [AS_HELP_STRING([--disable-largefile], - [omit support for large files])]) - -## If largefile support is enabled, then set up appropriate compiler options. -if test "$enable_largefile" != no; then - AC_MSG_RESULT([yes]) +## Check for _FILE_OFFSET_BITS +_AC_SYS_LARGEFILE_MACRO_VALUE([_FILE_OFFSET_BITS], [64], + [ac_cv_sys_file_offset_bits], + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - ## Check for needed compiler options. This check is pulled drectly - ## from autoconf's AC_SYS_LARGEFILE macro, as of Autoconf v2.65. - AC_CACHE_CHECK([for special C compiler options needed for large files], - ac_cv_sys_largefile_CC, - [ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - ## IRIX 6.2 and later do not support large files by default, - ## so use the C compiler's -n32 option if that helps. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) - AC_COMPILE_IFELSE([], [break]) - CC="$CC -n32" - AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi]) - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - ## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines - ## that might need to be set for largefile support to behave - ## correctly. This macro is defined in acsite.m4 and overrides - ## the version provided by Autoconf (as of v2.65). The custom - ## macro additionally adds the appropriate defines to AM_CPPFLAGS - ## so that later configure checks have them visible. - - ## Check for _FILE_OFFSET_BITS - _AC_SYS_LARGEFILE_MACRO_VALUE([_FILE_OFFSET_BITS], [64], - [ac_cv_sys_file_offset_bits], - [Number of bits in a file offset, on hosts where this is settable.], +## Check for _LARGE_FILES +if test "$ac_cv_sys_file_offset_bits" = unknown; then + _AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], + [ac_cv_sys_large_files], + [Define for large files, on AIX-style hosts.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - - ## Check for _LARGE_FILES - if test "$ac_cv_sys_file_offset_bits" = unknown; then - _AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], - [ac_cv_sys_large_files], - [Define for large files, on AIX-style hosts.], - [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - fi - - ## Now actually test to see if we can create large files after we've - ## checked for any needed defines. - AC_MSG_CHECKING([if large (64-bit) files are supported on this system.]) - AC_CACHE_VAL([hdf5_cv_have_lfs], - [AC_TRY_RUN([ - #include <stdio.h> - #include <unistd.h> - #include <stdlib.h> - #include <fcntl.h> - #define BIG_FILE (off_t)0x80000000UL - int main(void) { - int fd; - if ((fd=open("test.conf", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0) exit(1); - if (lseek(fd, BIG_FILE, SEEK_SET)!=BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (lseek(fd, 2*BIG_FILE, SEEK_SET) != 2*BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (unlink("test.conf") < 0) exit(1); - exit(0); - } - ],[hdf5_cv_have_lfs=yes],[hdf5_cv_have_lfs=no],)]) - - if test "X${hdf5_cv_have_lfs}" = "Xyes"; then - AC_MSG_RESULT([yes]) - LARGEFILE="yes" - fi - if test "X${hdf5_cv_have_lfs}" = "Xno"; then - AC_MSG_RESULT([no]) - LARGEFILE="no" - fi - -else - LARGEFILE="no" - AC_MSG_RESULT([no]) fi ## ---------------------------------------------------------------------- @@ -1465,28 +1093,35 @@ fi ## case "$host_cpu-$host_vendor-$host_os" in *linux*) - ## If largefile support is enabled, then make available various - ## LFS-related routines using the following _LARGEFILE*_SOURCE macros. - if test "X$LARGEFILE" != "Xno"; then - AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" - fi + ## Make available various LFS-related routines using the following + ## _LARGEFILE*_SOURCE macros. + AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" ## Add POSIX support on Linux systems, so <features.h> defines ## __USE_POSIX, which is required to get the prototype for fdopen ## defined correctly in <stdio.h>. + ## ## This flag was removed from h5cc as of 2009-10-17 when it was found ## that the flag broke compiling netCDF-4 code with h5cc, but kept in ## H5_CPPFLAGS because fdopen and HDfdopen fail without it. HDfdopen ## is used only by H5_debug_mask which is used only when debugging in ## H5_init_library (all in H5.c). When the flag was removed this was ## the only compile failure noted. + ## ## This was originally defined as _POSIX_SOURCE which was updated to ## _POSIX_C_SOURCE=199506L to expose a greater amount of POSIX ## functionality so clock_gettime and CLOCK_MONOTONIC are defined - ## correctly. + ## correctly. This was later updated to 200112L so that + ## posix_memalign() is visible for the direct VFD code on Linux + ## systems. + ## ## POSIX feature information can be found in the gcc manual at: ## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html - H5_CPPFLAGS="-D_POSIX_C_SOURCE=199506L $H5_CPPFLAGS" + H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS" + + ## Need to add this so that O_DIRECT is visible for the direct + ## VFD on Linux systems. + AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS" ## Also add BSD support on Linux systems, so <features.h> defines ## __USE_BSD, which is required to get the prototype for strdup @@ -2096,16 +1731,6 @@ AC_TRY_COMPILE([ AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) -## check if `struct tm' has a `__tm_gmtoff' member. -AC_MSG_CHECKING([for __tm_gmtoff in struct tm]) -AC_TRY_COMPILE([ - #include <sys/time.h> - #include <time.h>], [struct tm tm; tm.__tm_gmtoff=0;], - [AC_DEFINE([HAVE___TM_GMTOFF], [1], - [Define if `__tm_gmtoff' is a member of `struct tm']) - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - ## Check whether the global variable `timezone' is defined. AC_MSG_CHECKING([for global timezone variable]) @@ -2124,50 +1749,6 @@ case "`uname`" in ;; esac -## Check whether `struct timezone' is defined. -AC_STRUCT_TIMEZONE -AC_MSG_CHECKING([for struct timezone]) -AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/time.h> - #include <time.h>], [struct timezone tz; tz.tz_minuteswest=0;], - [AC_DEFINE([HAVE_STRUCT_TIMEZONE], [1], - [Define if `struct timezone' is defined]) - have_struct_tz="yes" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - -## If gettimeofday() is going to be used, make sure it uses the timezone struct - -if test "$have_gettime" = "yes" -a "$have_struct_tz" = "yes"; then - AC_MSG_CHECKING(whether gettimeofday() gives timezone) - AC_CACHE_VAL([hdf5_cv_gettimeofday_tz], - [AC_TRY_RUN([ - #include <time.h> - #include <sys/time.h> - int main(void) - { - struct timeval tv; - struct timezone tz; - tz.tz_minuteswest = 7777; /* Initialize to an unreasonable number */ - tz.tz_dsttime = 7; - gettimeofday(&tv, &tz); - /* Check whether the function returned any value at all */ - if(tz.tz_minuteswest == 7777 && tz.tz_dsttime == 7) - exit(1); - else exit (0); - }], - [hdf5_cv_gettimeofday_tz=yes], - [hdf5_cv_gettimeofday_tz=no])]) - - if test ${hdf5_cv_gettimeofday_tz} = "yes"; then - AC_MSG_RESULT([yes]) - AC_DEFINE([GETTIMEOFDAY_GIVES_TZ], [1], - [Define if gettimeofday() populates the tz pointer passed in]) - else - AC_MSG_RESULT([no]) - fi -fi ## ---------------------------------------------------------------------- ## Does the struct stat have the st_blocks field? This field is not Posix. @@ -2225,9 +1806,12 @@ AC_TRY_COMPILE([#include <sys/ioctl.h>],[int w=TIOCGETD;], ## ---------------------------------------------------------------------- ## Check for functions. ## -AC_CHECK_FUNCS([alarm BSDgettimeofday fork frexpf frexpl]) -AC_CHECK_FUNCS([gethostname getpwuid getrusage lstat]) -AC_CHECK_FUNCS([rand_r random setsysinfo]) +## NOTE: clock_gettime may require linking to the rt or posix4 library +## so we'll search for it before calling AC_CHECK_FUNCS. +AC_SEARCH_LIBS([clock_gettime], [rt posix4]) +AC_CHECK_FUNCS([alarm clock_gettime difftime fork frexpf frexpl]) +AC_CHECK_FUNCS([gethostname getpwuid getrusage gettimeofday]) +AC_CHECK_FUNCS([lstat rand_r random setsysinfo]) AC_CHECK_FUNCS([signal longjmp setjmp siglongjmp sigsetjmp sigprocmask]) AC_CHECK_FUNCS([snprintf srandom strdup symlink system]) AC_CHECK_FUNCS([tmpfile asprintf vasprintf waitpid]) @@ -2638,10 +2222,7 @@ AC_CACHE_SAVE ## What header files and libraries do we have to look for for parallel ## support? For the most part, search paths are already specified with -## CPPFLAGS and LDFLAGS or are known to the compiler. If the user says -## `--disable-parallel' but specifies a known parallel compiler (like mpicc -## or mpcc) then parallel support is enabled but configure doesn't search -## for any parallel header files or libraries. +## CPPFLAGS and LDFLAGS or are known to the compiler. ## AC_ARG_ENABLE([parallel], [AS_HELP_STRING([--enable-parallel], @@ -2664,25 +2245,10 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## It's possible to build in parallel by specifying a parallel compiler -## without using the --enable-parallel flag. This isn't allowed with -## C++ or threadsafe, either, unless the --enable-unsupported flag -## has also been specified. -if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then - if test "X${PARALLEL}" != "X" -a "X${enable_cxx}" = "Xyes" ; then - AC_MSG_ERROR([An MPI compiler is being used; --enable-cxx is not allowed. Use --enable-unsupported to override this error.]) - fi - if test "X${PARALLEL}" != "X" -a "X${THREADSAFE}" = "Xyes"; then - AC_MSG_ERROR([An MPI compiler is being used; --enable-threadsafe is not allowed. Use --enable-unsupported to override this error.]) - fi -fi - AC_MSG_CHECKING([for parallel support files]) case "X-$enable_parallel" in X-|X-no|X-none) - ## Either we are not compiling for parallel or the header and - ## library files and locations are known to the compiler (this is - ## the case for a correct installation of mpicc for instance). + ## We are not compiling for parallel. AC_MSG_RESULT([skipped]) ;; @@ -2692,59 +2258,17 @@ case "X-$enable_parallel" in AC_MSG_RESULT([provided by compiler]) PARALLEL=yes - ## Try link a simple MPI program. If fail, try again with -lmpi and - ## -lmpich. - AC_TRY_LINK(, [MPI_Init()],, - [AC_CHECK_LIB([mpi], [MPI_Init],, - [AC_CHECK_LIB([mpich], [MPI_Init],, [PARALLEL=no])])]) - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - AC_TRY_LINK(, [MPI_File_open()],, - [AC_CHECK_LIB([mpio], [MPI_File_open],, [PARALLEL=no])]) - fi + ## Try link a simple MPI program. + AC_MSG_CHECKING([whether a simple MPI-IO C program can be linked]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mpi.h>]], + [[ MPI_Init(0, (void *)0); + MPI_File_open(0, (void *)0, 0, 0, (void *)0);]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([unable to link a simple MPI-IO C program])]) if test "X$HDF_FORTRAN" = "Xyes"; then - ## Change to the Fortran 90 language - AC_LANG_PUSH(Fortran) - - ## Try link a simple MPI program. If fail, try again with -lmpi. - AC_LINK_IFELSE([ - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end],, - [AC_CHECK_LIB([mpi], [mpi_file_open],, [PARALLEL=no])]) - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - AC_LINK_IFELSE([ - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end],, - [AC_CHECK_LIB([mpio], [mpi_file_open],, [PARALLEL=no])]) - fi - - ## Change to the C language - AC_LANG_POP(Fortran) - fi - - ## Set RUNPARALLEL to mpiexec if not set yet. - ## Check for building on Cray if RUNPARALLEL is not yet set by checking - ## for 'aprun' command (which is the parallel job launcher, like mpiexec). - if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then - ## Find the path where aprun is located. - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/aprun; then - RUNPARALLEL="aprun -q -n \$\${NPROCS:=6}" - break; - fi - done + PAC_PROG_FC_MPI_CHECK fi ## Set RUNPARALLEL to mpiexec if not set yet. @@ -2777,13 +2301,6 @@ if test -n "$PARALLEL"; then AC_MSG_CHECKING([prefix for running in parallel]) AC_MSG_RESULT([$RUNPARALLEL]) - ## Check that we can link a simple MPI and MPI-IO application - AC_MSG_CHECKING([whether a simple MPI-IO program can be linked]) - AC_TRY_LINK(, [MPI_Init(); MPI_File_open();], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([unable to link a simple MPI-IO application])]) - ## There *must* be some way to run in parallel even if it's just the ## word `none'. if test -z "$RUNPARALLEL"; then @@ -2791,7 +2308,8 @@ if test -n "$PARALLEL"; then fi ## If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with - ## the empty string. + ## the empty string. This means that no launch commands were requested, + ## so we will not use any launch commands. if test "X$RUNSERIAL" = "Xnone"; then RUNSERIAL="" fi @@ -2842,7 +2360,6 @@ if test -n "$PARALLEL"; then X-yes) AC_CHECK_HEADERS([mpe.h],, [unset MPE]) AC_CHECK_LIB([mpe], [MPE_Init_log],, [unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, [unset MPE]) ;; *) case "$withval" in @@ -2884,12 +2401,8 @@ if test -n "$PARALLEL"; then AM_LDFLAGS="$AM_LDFLAGS -L$mpe_lib" AC_CHECK_LIB([mpe], [MPE_Init_log],, [LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, - [LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE]) - else AC_CHECK_LIB([mpe], [MPE_Init_log],, [unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, [unset MPE]) fi ;; esac @@ -2899,6 +2412,7 @@ if test -n "$PARALLEL"; then fi fi + ## ---------------------------------------------------------------------- ## Turn on internal I/O filters by setting macros in header files ## Internal I/O filters are contained entirely within the library and do @@ -2966,82 +2480,44 @@ if test -n "$FILTERS"; then done fi -## ---------------------------------------------------------------------- -## This is defined only when we're using CodeWarrior, since it has a -## broken "open()" call. -# -if test 1 = 2; then - AC_DEFINE([NO_SHARED_WRITING], [1], - [Define if shared writing must be disabled (CodeWarrior only)]) -fi - -## -------------------------------------------------------------------------- -## Should the Default Virtual File Driver be compiled? -## - -AC_MSG_CHECKING([for Default Virtual File Driver definition]) -AC_ARG_WITH([default-vfd], - [AS_HELP_STRING([--with-default-vfd=driver], - [Specify default file driver - [default=sec2]])],, - withval=sec2) - -if test "X$withval" = "Xsec2"; then - AC_MSG_RESULT([yes]) - default_vfd=yes - vfd_define=H5FD_SEC2 -elif test "X$withval" = "Xstdio"; then - AC_MSG_RESULT([yes]) - default_vfd=yes - vfd_define=H5FD_STDIO -else - AC_MSG_RESULT([no]) - default_vfd=no -fi - -if test "X$default_vfd" = "Xyes"; then - AC_DEFINE_UNQUOTED([DEFAULT_VFD], [$vfd_define], - [Define the default virtual file driver to compile]) -fi ## ---------------------------------------------------------------------- ## Check if Direct I/O driver is enabled by --enable-direct-vfd ## -AC_MSG_CHECKING([for Direct Virtual File Driver support]) +## Check these regardless. If the checks are moved inside the main +## direct VFD block, the output is nested. + +AC_CACHE_VAL([hdf5_cv_direct_io], + AC_CHECK_DECL([O_DIRECT], [hdf5_cv_direct_io=yes], [hdf5_cv_direct_io=no], [[#include <fcntl.h>]])) +AC_CACHE_VAL([hdf5_cv_posix_memalign], + AC_CHECK_FUNC([posix_memalign], [hdf5_cv_posix_memalign=yes], [hdf5_cv_posix_memalign=no])) + +AC_MSG_CHECKING([if the direct I/O virtual file driver (VFD) is enabled]) AC_ARG_ENABLE([direct-vfd], [AS_HELP_STRING([--enable-direct-vfd], - [Build the Direct I/O Virtual File Driver - [default=yes]])], - [DIRECT_VFD=$enableval], [DIRECT_VFD=yes]) - -if test "$DIRECT_VFD" = "yes"; then - AC_CACHE_VAL([hdf5_cv_direct_io], - [AC_TRY_RUN([ - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> - int main(void) - { - int fid; - if((fid=open("tst_file", O_CREAT | O_TRUNC | O_DIRECT, 0755))<0) - exit(1); - close(fid); - remove("tst_file"); - exit (0); - }], [AC_TRY_LINK(, [posix_memalign()], [hdf5_cv_direct_io=yes], [hdf5_cv_direct_io=no])], [hdf5_cv_direct_io=no],)]) - - if test ${hdf5_cv_direct_io} = "yes"; then - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_DIRECT], [1], - [Define if the direct I/O virtual file driver should be compiled]) - else - AC_MSG_RESULT([no]) - DIRECT_VFD=no - fi + [Build the direct I/O virtual file driver (VFD). + This is based on the POSIX (sec2) VFD and + requires the open() call to take the O_DIRECT + flag. [default=no]])], + [DIRECT_VFD=$enableval], [DIRECT_VFD=no]) + +if test "X$DIRECT_VFD" = "Xyes"; then + if test ${hdf5_cv_direct_io} = "yes" && test ${hdf5_cv_posix_memalign} = "yes" ; then + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_DIRECT], [1], + [Define if the direct I/O virtual file driver (VFD) should be compiled]) + else + AC_MSG_RESULT([no]) + DIRECT_VFD=no + AC_MSG_ERROR([The direct VFD was requested but cannot be built. This is either + due to O_DIRECT not being found in fcntl.h or a lack of + posix_memalign() on your system. Please re-configure without + specifying --enable-direct-vfd.]) + fi else - AC_MSG_RESULT([suppressed]) + AC_MSG_RESULT([no]) fi AM_CONDITIONAL([DIRECT_VFD_CONDITIONAL], [test "X$DIRECT_VFD" = "Xyes"]) @@ -4136,35 +3612,6 @@ if test -n "$AM_CPPFLAGS"; then AM_CPPFLAGS=$TEMP_CPPFLAGS fi -## ---------------------------------------------------------------------- -## Check if they would like the High Level library compiled -## - -AC_SUBST(HL) HL="" -## name of fortran folder inside "hl", if FORTRAN compile is requested -AC_SUBST(HL_FOR) HL_FOR="" -AC_MSG_CHECKING([if high level library is enabled]) -AC_ARG_ENABLE([hl], - [AS_HELP_STRING([--enable-hl], - [Enable the high level library [default=yes]])], - [HDF5_HL=$enableval], - [HDF5_HL=yes]) - -if test "X$HDF5_HL" = "Xyes"; then - echo "yes" - HL="hl" - AC_DEFINE([INCLUDE_HL], [1], - [Define if HDF5's high-level library headers should be included in hdf5.h]) - -## Check if Fortran's default real is double precision. If it is and HL is being built then configure -## should fail due to bug HDFFV-889. - if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then - AC_MSG_ERROR([Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl.]) - fi -else - echo "no" -fi - ## ---------------------------------------------------------------------- ## Some programs shouldn't be built by default (e.g., programs to generate diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 4cd72a0..da8174b 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_EXAMPLES) #----------------------------------------------------------------------------- diff --git a/examples/Makefile.in b/examples/Makefile.in index c4b8e3f..b54a6cc 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -107,7 +107,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -436,7 +437,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/CMakeLists.txt b/fortran/CMakeLists.txt index 3fe9e7d..c725047 100644 --- a/fortran/CMakeLists.txt +++ b/fortran/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90 C CXX Fortran) if (H5_HAVE_PARALLEL) diff --git a/fortran/Makefile.in b/fortran/Makefile.in index 4d8abdc..2d0e0b7 100644 --- a/fortran/Makefile.in +++ b/fortran/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = fortran ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -492,7 +493,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/examples/CMakeLists.txt b/fortran/examples/CMakeLists.txt index 322ae35..1f59f32 100644 --- a/fortran/examples/CMakeLists.txt +++ b/fortran/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90_EXAMPLES C CXX Fortran) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index b9b5efb..c468739 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -115,7 +115,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = fortran/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -444,7 +445,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 5b641d1..22a091e 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90_SRC C CXX Fortran) #----------------------------------------------------------------------------- @@ -11,6 +11,8 @@ if (WIN32) endif (NOT H5_HAVE_PARALLEL) if (NOT HDF5_ENABLE_F2003) set (H5_NOF03EXP ";") + else (NOT HDF5_ENABLE_F2003) + set (H5_F03EXP ";") endif (NOT HDF5_ENABLE_F2003) configure_file (${HDF5_F90_SRC_SOURCE_DIR}/hdf5_fortrandll.def.in ${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def @ONLY) endif (MSVC) @@ -132,7 +134,6 @@ if (H5_HAVE_PARALLEL) ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpiof.c ) endif (H5_HAVE_PARALLEL) - set_source_files_properties (${f90CStub_C_SRCS} PROPERTIES LANGUAGE C) set (f90CStub_C_HDRS @@ -224,6 +225,7 @@ else (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND) ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.f90 ) endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND) +set_source_files_properties (${f90_F_SRCS} PROPERTIES LANGUAGE Fortran) #----------------------------------------------------------------------------- # Add Main fortran library @@ -255,6 +257,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES FOLDER libraries/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" ) diff --git a/fortran/src/H5Off_F03.f90 b/fortran/src/H5Off_F03.f90 index e6b87ea..36b6246 100644 --- a/fortran/src/H5Off_F03.f90 +++ b/fortran/src/H5Off_F03.f90 @@ -40,11 +40,6 @@ MODULE H5O_PROVISIONAL IMPLICIT NONE - enum, bind(c) - enumerator :: H5O_TYPE_UNKNOWN_F = -1 - enumerator :: H5O_TYPE_GROUP_F, H5O_TYPE_DATASET_F, H5O_TYPE_NAMED_DATATYPE_F, H5O_TYPE_NTYPES_F - end enum - !****t* H5T (F03)/h5o_info_t ! ! Fortran2003 Derived Type: diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index ca9c30f..878119f 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1738,21 +1738,23 @@ nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id) /****if* H5Tf/h5tenum_insert_c * NAME - * h5tenum_insert_c + * h5tenum_insert_c * PURPOSE - * Call H5Tenum_insert to insert a new enumeration datatype member. + * Call H5Tenum_insert to insert a new enumeration datatype member. * INPUTS - * type_id - identifier of the datatype - * name - Name of the new member - * namelen - length of the name - * value - value of the new member + * type_id - identifier of the datatype + * name - Name of the new member + * namelen - length of the name + * value - value of the new member * RETURNS - * 0 on success, -1 on failure + * 0 on success, -1 on failure * AUTHOR * XIANGYANG SU - * Thursday, February 3, 2000 + * Thursday, February 3, 2000 * HISTORY - * + * 'value' is no longer cast into an int. If the user passes in an 8 byte integer then + * it should not be cast to an int (which might be 4 bytes). Instead the value + * is written as the size of an int_f. * SOURCE */ @@ -1761,19 +1763,18 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value) /******/ { int ret_value = -1; - hid_t c_type_id; char* c_name; size_t c_namelen; - int_f c_value; herr_t error; + int_f c_value; c_namelen = *namelen; c_name = (char *)HD5f2cstring(name, c_namelen); if (c_name == NULL) return ret_value; - c_type_id = (hid_t)*type_id; - c_value = (int)*value; - error = H5Tenum_insert(c_type_id, c_name, &c_value); + c_value = *value; + error = H5Tenum_insert((hid_t)*type_id, c_name, &c_value); + HDfree(c_name); if(error < 0) return ret_value; @@ -2421,3 +2422,46 @@ h5tconvert_c(hid_t_f *src_id, hid_t_f *dst_id, size_t_f *nelmts, void *buf, void return ret_value; } +/****if* H5Tf/h5tenum_insert_ptr_c + * NAME + * /h5tenum_insert_ptr_c + * PURPOSE + * Calls H5Tenum_insert + * INPUTS + * type_id - Datatype identifier for the enumeration datatype. + * name - Datatype identifier. + * value - Pointer to the value of the new member. + * + * OUTPUTS + * + * RETURNS + * 0 on success, -1 on failure + * AUTHOR + * M. Scot Breitenfeld + * February 6, 2015 + * + * SOURCE +*/ +int_f +h5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value) +/******/ +{ + int ret_value = -1; + hid_t status; + char *c_name; + size_t c_namelen; + + /* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + + status = H5Tenum_insert( (hid_t)*type_id, c_name, value); + if ( status < 0 ) return ret_value; + ret_value = 0; + return ret_value; +} + + diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 0e1dbb0..4b4c0b6 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -2335,57 +2335,6 @@ CONTAINS hdferr = h5tenum_create_c(parent_id, new_type_id) END SUBROUTINE h5tenum_create_f - -! -!****s* H5T/h5tenaum_insert_f -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - datatype identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). March 7, 2001 -! SOURCE - SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value !value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** - INTEGER :: namelen - - INTERFACE - INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) - USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: value - INTEGER :: namelen - END FUNCTION h5tenum_insert_c - END INTERFACE - - namelen = LEN(name) - hdferr = h5tenum_insert_c(type_id, name, namelen, value) - END SUBROUTINE h5tenum_insert_f - ! !****s* H5T/h5tenum_nameof_f ! diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index 2405837..2c9f212 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -47,6 +47,11 @@ MODULE H5T_PROVISIONAL !***** + INTERFACE h5tenum_insert_f + MODULE PROCEDURE h5tenum_insert_f03 + MODULE PROCEDURE h5tenum_insert_f90 + END INTERFACE + CONTAINS !****s* H5T (F03)/H5Tconvert_f_F03 @@ -93,6 +98,7 @@ CONTAINS BIND(C, NAME='h5tconvert_c') USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr USE H5GLOBAL + IMPLICIT NONE INTEGER(HID_T) , INTENT(IN) :: src_id INTEGER(HID_T) , INTENT(IN) :: dst_id INTEGER(SIZE_T), INTENT(IN) :: nelmts @@ -111,6 +117,107 @@ CONTAINS hdferr = H5Tconvert_c(src_id, dst_id, nelmts, buf, background_default, plist_id_default) END SUBROUTINE h5tconvert_f +! +!****s* (F03) H5T/h5tenum_insert_f90 +! +! NAME +! h5tenum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f90(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member + INTEGER, INTENT(IN) :: value ! value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** + INTEGER :: namelen + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f90 + +! +!****s* (F03) H5T/h5tenum_insert_f03 +! +! NAME +! h5tenum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Pointer to the value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! M. Scot Breitenfeld +! February 6, 2015 +! +! HISTORY +! F2003 implementation of function +! SOURCE + SUBROUTINE h5tenum_insert_f03(type_id, name, value, hdferr) + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char + USE H5GLOBAL + IMPLICIT NONE + INTEGER(HID_T) , INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(C_PTR) , INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) & + BIND(C, NAME='h5tenum_insert_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char + USE H5GLOBAL + IMPLICIT NONE + INTEGER(HID_T) , INTENT(IN) :: type_id + CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name + INTEGER :: namelen + TYPE(C_PTR), VALUE :: value + END FUNCTION h5tenum_insert_ptr_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f03 END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index a95b31f..380fbec 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -36,4 +36,60 @@ MODULE H5T_PROVISIONAL + USE H5GLOBAL + +CONTAINS + +! +!****s* H5T/h5tenum_insert_f +! +! NAME +! h5tenum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f + END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index 05e525d..a149109 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -471,14 +471,11 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags, /* * H5G flags */ - - h5g_flags[0] = (int_f)H5O_TYPE_UNKNOWN; - h5g_flags[1] = (int_f)H5O_TYPE_GROUP; - h5g_flags[2] = (int_f)H5O_TYPE_DATASET; - h5g_flags[3] = (int_f)H5O_TYPE_NAMED_DATATYPE; -/* This value can no longer be returned and all these flags should be updated - * to reflect the refinements between links and objects. -QAK */ -/* h5g_flags[4] = H5G_LINK; */ + h5g_flags[0] = (int_f)H5O_TYPE_UNKNOWN; /* H5G_UNKNOWN is deprecated */ + h5g_flags[1] = (int_f)H5O_TYPE_GROUP; /* H5G_GROUP is deprecated */ + h5g_flags[2] = (int_f)H5O_TYPE_DATASET; /* H5G_DATASET is deprecated */ + h5g_flags[3] = (int_f)H5O_TYPE_NAMED_DATATYPE; /* H5G_TYPE is deprecated */ + h5g_flags[4] = (int_f)H5L_SAME_LOC; h5g_flags[5] = (int_f)H5L_TYPE_ERROR; h5g_flags[6] = (int_f)H5L_TYPE_HARD; h5g_flags[7] = (int_f)H5L_TYPE_SOFT; @@ -491,7 +488,6 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags, /* * H5I flags */ - h5i_flags[0] = (int_f)H5I_FILE; h5i_flags[1] = (int_f)H5I_GROUP; h5i_flags[2] = (int_f)H5I_DATATYPE; @@ -551,10 +547,15 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags, h5o_flags[20] = (int_f)H5O_SHMESG_MAX_NINDEXES; h5o_flags[21] = (int_f)H5O_SHMESG_MAX_LIST_SIZE; +/* Types of objects in file */ + h5o_flags[22] = (int_f)H5O_TYPE_UNKNOWN; /* Unknown object type */ + h5o_flags[23] = (int_f)H5O_TYPE_GROUP; /* Object is a group */ + h5o_flags[24] = (int_f)H5O_TYPE_DATASET; /* Object is a dataset */ + h5o_flags[25] = (int_f)H5O_TYPE_NAMED_DATATYPE; /* Object is a named data type */ + h5o_flags[26] = (int_f)H5O_TYPE_NTYPES; /* Number of different object types */ /* * H5P flags */ - h5p_flags[0] = (hid_t_f)H5P_FILE_CREATE; h5p_flags[1] = (hid_t_f)H5P_FILE_ACCESS; h5p_flags[2] = (hid_t_f)H5P_DATASET_CREATE; diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90 index da1837a..ca50e20 100644 --- a/fortran/src/H5f90global.f90 +++ b/fortran/src/H5f90global.f90 @@ -44,6 +44,8 @@ MODULE H5GLOBAL USE H5FORTRAN_TYPES + IMPLICIT NONE + ! Definitions for reference datatypes. ! If you change the value of these parameters, do not forget to change corresponding ! values in the H5f90.h file. @@ -309,8 +311,6 @@ MODULE H5GLOBAL EQUIVALENCE(H5generic_flags(7), H5_ITER_DEC_F) EQUIVALENCE(H5generic_flags(8), H5_ITER_NATIVE_F) EQUIVALENCE(H5generic_flags(9), H5_ITER_N_F) - - ! ! H5G flags declaration ! @@ -325,8 +325,9 @@ MODULE H5GLOBAL INTEGER :: H5G_GROUP_F INTEGER :: H5G_DATASET_F INTEGER :: H5G_TYPE_F - ! XXX: Fix problems with H5G_LINK_F! - QAK INTEGER :: H5G_LINK_F + INTEGER :: H5G_UDLINK_F + INTEGER :: H5G_SAME_LOC_F INTEGER :: H5G_LINK_ERROR_F INTEGER :: H5G_LINK_HARD_F INTEGER :: H5G_LINK_SOFT_F @@ -335,16 +336,14 @@ MODULE H5GLOBAL INTEGER :: H5G_STORAGE_TYPE_COMPACT_F INTEGER :: H5G_STORAGE_TYPE_DENSE_F - EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F) - EQUIVALENCE(H5G_flags(2), H5G_GROUP_F) - EQUIVALENCE(H5G_flags(3), H5G_DATASET_F) - EQUIVALENCE(H5G_flags(4), H5G_TYPE_F) - ! XXX: Fix problems with H5G_LINK_F! - QAK ! these are really H5L values -MSB- - EQUIVALENCE(H5G_flags(5), H5G_LINK_F) + EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F) ! Unknown object type + EQUIVALENCE(H5G_flags(2), H5G_GROUP_F) ! Object is a group + EQUIVALENCE(H5G_flags(3), H5G_DATASET_F) ! Object is a dataset + EQUIVALENCE(H5G_flags(4), H5G_TYPE_F) ! Object is a named data type + EQUIVALENCE(H5G_flags(5), H5G_SAME_LOC_F) EQUIVALENCE(H5G_flags(6), H5G_LINK_ERROR_F) EQUIVALENCE(H5G_flags(7), H5G_LINK_HARD_F) EQUIVALENCE(H5G_flags(8), H5G_LINK_SOFT_F) - ! XXX EQUIVALENCE(H5G_flags(9), H5G_STORAGE_TYPE_UNKNOWN_F ) EQUIVALENCE(H5G_flags(10), H5G_STORAGE_TYPE_SYMBOL_TABLE_F) @@ -574,7 +573,7 @@ MODULE H5GLOBAL ! ! H5O flags declaration ! - INTEGER, PARAMETER :: H5O_FLAGS_LEN = 22 + INTEGER, PARAMETER :: H5O_FLAGS_LEN = 27 INTEGER :: H5o_flags(H5O_FLAGS_LEN) !DEC$if defined(BUILD_HDF5_DLL) !DEC$ATTRIBUTES DLLEXPORT :: /H5O_FLAGS/ @@ -603,6 +602,11 @@ MODULE H5GLOBAL INTEGER :: H5O_HDR_ALL_FLAGS_F INTEGER :: H5O_SHMESG_MAX_NINDEXES_F INTEGER :: H5O_SHMESG_MAX_LIST_SIZE_F + INTEGER :: H5O_TYPE_UNKNOWN_F + INTEGER :: H5O_TYPE_GROUP_F + INTEGER :: H5O_TYPE_DATASET_F + INTEGER :: H5O_TYPE_NAMED_DATATYPE_F + INTEGER :: H5O_TYPE_NTYPES_F EQUIVALENCE(h5o_flags(1) , H5O_COPY_SHALLOW_HIERARCHY_F) EQUIVALENCE(h5o_flags(2) , H5O_COPY_EXPAND_SOFT_LINK_F) @@ -626,6 +630,11 @@ MODULE H5GLOBAL EQUIVALENCE(h5o_flags(20) , H5O_HDR_ALL_FLAGS_F) EQUIVALENCE(h5o_flags(21) , H5O_SHMESG_MAX_NINDEXES_F) EQUIVALENCE(h5o_flags(22) , H5O_SHMESG_MAX_LIST_SIZE_F) + EQUIVALENCE(h5o_flags(23) , H5O_TYPE_UNKNOWN_F) + EQUIVALENCE(h5o_flags(24) , H5O_TYPE_GROUP_F) + EQUIVALENCE(h5o_flags(25) , H5O_TYPE_DATASET_F) + EQUIVALENCE(h5o_flags(26) , H5O_TYPE_NAMED_DATATYPE_F) + EQUIVALENCE(h5o_flags(27) , H5O_TYPE_NTYPES_F) ! ! H5P flags declaration diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index 284ffbd..b5e40a8 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -772,6 +772,7 @@ H5_FCDLL int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen H5_FCDLL int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id); H5_FCDLL int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id); H5_FCDLL int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); +H5_FCDLL int_f h5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value); H5_FCDLL int_f nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen); H5_FCDLL int_f nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); H5_FCDLL int_f nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value); diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 7e6b2eb..7466528 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -112,7 +112,8 @@ noinst_PROGRAMS = H5match_types$(EXEEXT) H5fortran_detect$(EXEEXT) \ TESTS = subdir = fortran/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -553,7 +554,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -734,7 +734,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 AM_FCLIBS = $(LIBHDF5) diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in index c9c5e76..48fb343 100644 --- a/fortran/src/hdf5_fortrandll.def.in +++ b/fortran/src/hdf5_fortrandll.def.in @@ -543,7 +543,6 @@ H5T_mp_H5TINSERT_F H5T_mp_H5TPACK_F H5T_mp_H5TARRAY_CREATE_F H5T_mp_H5TENUM_CREATE_F -H5T_mp_H5TENUM_INSERT_F H5T_mp_H5TENUM_NAMEOF_F H5T_mp_H5TENUM_VALUEOF_F H5T_mp_H5TGET_MEMBER_VALUE_F @@ -560,6 +559,9 @@ H5T_mp_H5TGET_CREATE_PLIST_F H5T_mp_H5TCOMPILER_CONV_F H5T_mp_H5TGET_NATIVE_TYPE_F @H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TCONVERT_F +@H5_F03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F +@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F90 +@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F03 ; H5Z H5Z_mp_H5ZUNREGISTER_F H5Z_mp_H5ZFILTER_AVAIL_F diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt index d10f2ef..3395906 100644 --- a/fortran/test/CMakeLists.txt +++ b/fortran/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_FORTRAN_TESTS C CXX Fortran) #----------------------------------------------------------------------------- @@ -10,6 +10,7 @@ INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${ # Add Test Lib #----------------------------------------------------------------------------- add_library (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} t.c) +set_source_files_properties (t.c PROPERTIES LANGUAGE C) TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} " " " ") target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} @@ -18,12 +19,14 @@ target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET} H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_C_TEST_LIB_TARGET} PROPERTIES FOLDER libraries/test/fortran + LINKER_LANGUAGE C INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" ) # See if the F2008 intrinsic STORAGE_SIZE and C_SIZEOF are supported. If not then # fall back to F2003. If F2003 not supported then use F90 for the tests. +set_source_files_properties (tf_F90.f90 tf_F03.f90 tf_F08.f90 tf.f90 PROPERTIES LANGUAGE Fortran) if (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF) add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F08.f90 tf.f90) elseif (HDF5_ENABLE_F2003) @@ -36,7 +39,7 @@ endif (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF) set (SHARED_LINK_FLAGS " ") if (WIN32) if (BUILD_SHARED_LIBS) - set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_DLL) + set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_TEST_DLL) if (MSVC) set (SHARED_LINK_FLAGS "/DLL") endif (MSVC) @@ -53,6 +56,7 @@ target_link_libraries (${HDF5_F90_TEST_LIB_TARGET} H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES FOLDER libraries/test/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" ) diff --git a/fortran/test/CMakeTests.cmake b/fortran/test/CMakeTests.cmake index 6a9c535..4df50ad 100644 --- a/fortran/test/CMakeTests.cmake +++ b/fortran/test/CMakeTests.cmake @@ -11,11 +11,13 @@ set_tests_properties (FORTRAN_testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSIO #-- Adding test for testhdf5_fortran_1_8 add_test (NAME FORTRAN_testhdf5_fortran_1_8 COMMAND $<TARGET_FILE:testhdf5_fortran_1_8>) set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s") +set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES DEPENDS FORTRAN_testhdf5_fortran) #-- Adding test for fortranlib_test_F03 if (HDF5_ENABLE_F2003) add_test (NAME FORTRAN_fortranlib_test_F03 COMMAND $<TARGET_FILE:fortranlib_test_F03>) set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s") + set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES DEPENDS FORTRAN_testhdf5_fortran_1_8) endif (HDF5_ENABLE_F2003) #-- Adding test for fflush1 diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index ca91cf5..c2055c4 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -92,7 +92,8 @@ check_PROGRAMS = $(am__EXEEXT_2) TESTS = $(am__EXEEXT_2) subdir = fortran/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -562,7 +563,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90 index f15424d..e019d0f 100644 --- a/fortran/test/tH5T_F03.f90 +++ b/fortran/test/tH5T_F03.f90 @@ -1419,7 +1419,7 @@ SUBROUTINE t_enum(total_error) ! Insert enumerated value for memtype. ! val(1) = i - CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), val(1), error) + CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), C_LOC(val(1)), error) CALL check("H5Tenum_insert_f", error, total_error) ! ! Insert enumerated value for filetype. We must first convert @@ -1428,7 +1428,11 @@ SUBROUTINE t_enum(total_error) f_ptr = C_LOC(val(1)) CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) CALL check("H5Tconvert_f",error, total_error) - CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) + IF(i.GE.1)THEN ! test both F90 and F03 APIs + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), f_ptr, error) + ELSE + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) + ENDIF CALL check("H5Tenum_insert_f",error, total_error) ENDDO ! @@ -3134,7 +3138,7 @@ SUBROUTINE t_enum_conv(total_error) ENUMERATOR :: E1_RED, E1_GREEN, E1_BLUE, E1_WHITE, E1_BLACK END ENUM - INTEGER :: val + INTEGER(KIND(E1_RED)), TARGET :: val ! Enumerated data array ! Some values are out of range for testing. The library should accept them @@ -3185,19 +3189,19 @@ SUBROUTINE t_enum_conv(total_error) ! Initialize enum data. ! val = E1_RED - CALL H5Tenum_insert_f(dtype, "RED", val, error) + CALL H5Tenum_insert_f(dtype, "RED", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_GREEN - CALL H5Tenum_insert_f(dtype, "GREEN", val, error) + CALL H5Tenum_insert_f(dtype, "GREEN", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_BLUE - CALL H5Tenum_insert_f(dtype, "BLUE", val, error) + CALL H5Tenum_insert_f(dtype, "BLUE", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_WHITE - CALL H5Tenum_insert_f(dtype, "WHITE", val, error) + CALL H5Tenum_insert_f(dtype, "WHITE", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_BLACK - CALL H5Tenum_insert_f(dtype, "BLACK", val, error) + CALL H5Tenum_insert_f(dtype, "BLACK", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) ! ! Create dataspace. Setting maximum size to be the current size. diff --git a/fortran/test/tf.f90 b/fortran/test/tf.f90 index 063e93d..6d5911f 100644 --- a/fortran/test/tf.f90 +++ b/fortran/test/tf.f90 @@ -36,7 +36,7 @@ MODULE TH5_MISC CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: dreal_eq !DEC$endif LOGICAL FUNCTION dreal_eq(a,b) @@ -49,7 +49,7 @@ CONTAINS END FUNCTION dreal_eq !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify_real_kind_7 !DEC$endif SUBROUTINE verify_real_kind_7(string,value,correct_value,total_error) @@ -66,7 +66,7 @@ CONTAINS END SUBROUTINE verify_real_kind_7 !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: write_test_status !DEC$endif SUBROUTINE write_test_status( test_result, test_title, total_error) @@ -105,7 +105,7 @@ CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: check !DEC$endif SUBROUTINE check(string,error,total_error) @@ -119,7 +119,7 @@ CONTAINS END SUBROUTINE check !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify !DEC$endif SUBROUTINE VERIFY(string,value,correct_value,total_error) @@ -133,7 +133,7 @@ CONTAINS END SUBROUTINE verify !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify_Fortran_INTEGER_4 !DEC$endif SUBROUTINE verify_Fortran_INTEGER_4(string,value,correct_value,total_error) @@ -150,7 +150,7 @@ CONTAINS END SUBROUTINE verify_Fortran_INTEGER_4 !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verifyLogical !DEC$endif SUBROUTINE verifyLogical(string,value,correct_value,total_error) @@ -165,7 +165,7 @@ CONTAINS END SUBROUTINE verifyLogical !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verifyString !DEC$endif SUBROUTINE verifyString(string, value,correct_value,total_error) @@ -203,7 +203,7 @@ CONTAINS SUBROUTINE h5_fixname_f(base_name, full_name, fapl, hdferr) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_fixname_f !DEC$endif USE H5GLOBAL @@ -263,7 +263,7 @@ CONTAINS SUBROUTINE h5_cleanup_f(base_name, fapl, hdferr) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_cleanup_f !DEC$endif USE H5GLOBAL @@ -315,7 +315,7 @@ CONTAINS SUBROUTINE h5_exit_f(status) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_exit_f !DEC$endif IMPLICIT NONE @@ -352,7 +352,7 @@ CONTAINS SUBROUTINE h5_env_nocleanup_f(HDF5_NOCLEANUP) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_env_nocleanup_f !DEC$endif IMPLICIT NONE diff --git a/fortran/test/tf_F03.f90 b/fortran/test/tf_F03.f90 index 4513783..b3f1399 100644 --- a/fortran/test/tf_F03.f90 +++ b/fortran/test/tf_F03.f90 @@ -66,7 +66,7 @@ MODULE TH5_MISC_PROVISIONAL CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_cmpd !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a) @@ -78,7 +78,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CMPD !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_chr !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a) @@ -90,7 +90,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CHR !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_i !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a) @@ -102,7 +102,7 @@ CONTAINS END FUNCTION H5_SIZEOF_I !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_sp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a) @@ -114,7 +114,7 @@ CONTAINS END FUNCTION H5_SIZEOF_SP !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_dp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a) diff --git a/fortran/test/tf_F08.f90 b/fortran/test/tf_F08.f90 index 5583f3f..20c2859 100644 --- a/fortran/test/tf_F08.f90 +++ b/fortran/test/tf_F08.f90 @@ -65,7 +65,7 @@ MODULE TH5_MISC_PROVISIONAL CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_cmpd !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a) @@ -77,7 +77,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CMPD !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_chr !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a) @@ -89,7 +89,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CHR !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_i !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a) @@ -102,7 +102,7 @@ CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_sp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a) @@ -114,7 +114,7 @@ CONTAINS END FUNCTION H5_SIZEOF_SP !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_dp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a) diff --git a/fortran/testpar/CMakeLists.txt b/fortran/testpar/CMakeLists.txt index 3361220..dfe9ce7 100644 --- a/fortran/testpar/CMakeLists.txt +++ b/fortran/testpar/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_FORTRAN_TESTPAR C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index 583b6dc..97e59ed 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/Makefile.in @@ -109,7 +109,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = subdir = fortran/testpar ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -488,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/testpar/ptest.f90 b/fortran/testpar/ptest.f90 index e474668..69594b0 100644 --- a/fortran/testpar/ptest.f90 +++ b/fortran/testpar/ptest.f90 @@ -19,6 +19,7 @@ PROGRAM parallel_test USE hdf5 + IMPLICIT NONE INCLUDE 'mpif.h' diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt index e693dd7..031b7d6 100644 --- a/hl/CMakeLists.txt +++ b/hl/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL C CXX) #----------------------------------------------------------------------------- diff --git a/hl/Makefile.in b/hl/Makefile.in index cda0122..6ca0805 100644 --- a/hl/Makefile.in +++ b/hl/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -492,7 +493,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/CMakeLists.txt b/hl/c++/CMakeLists.txt index 9f0aa7e..36f4c30 100644 --- a/hl/c++/CMakeLists.txt +++ b/hl/c++/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP) #----------------------------------------------------------------------------- diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in index 3839814..f16130a 100644 --- a/hl/c++/Makefile.in +++ b/hl/c++/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -488,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/examples/CMakeLists.txt b/hl/c++/examples/CMakeLists.txt index 8f9b43f..12c1d50 100644 --- a/hl/c++/examples/CMakeLists.txt +++ b/hl/c++/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_EXAMPLES) #----------------------------------------------------------------------------- diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in index 5712043..83f07f2 100644 --- a/hl/c++/examples/Makefile.in +++ b/hl/c++/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -435,7 +436,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt index 03ef26d..0dee06f 100644 --- a/hl/c++/src/CMakeLists.txt +++ b/hl/c++/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_SRC) #----------------------------------------------------------------------------- diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index 3754fc9..98110b9 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -108,7 +108,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -494,7 +495,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -675,7 +675,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This is our main target diff --git a/hl/c++/test/CMakeLists.txt b/hl/c++/test/CMakeLists.txt index 4a7523c..d4e1157 100644 --- a/hl/c++/test/CMakeLists.txt +++ b/hl/c++/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_TEST) #----------------------------------------------------------------------------- diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in index f6bd246..7e50ec4 100644 --- a/hl/c++/test/Makefile.in +++ b/hl/c++/test/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/c++/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -491,7 +492,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/examples/CMakeLists.txt b/hl/examples/CMakeLists.txt index 7847dbe..edcb920 100644 --- a/hl/examples/CMakeLists.txt +++ b/hl/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_EXAMPLES ) #----------------------------------------------------------------------------- diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in index 6bbf493..43c6e3c 100644 --- a/hl/examples/Makefile.in +++ b/hl/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -435,7 +436,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/examples/ex_table_08.c b/hl/examples/ex_table_08.c index 4078bea..bd3a3e1 100644 --- a/hl/examples/ex_table_08.c +++ b/hl/examples/ex_table_08.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <stdlib.h> diff --git a/hl/examples/ex_table_09.c b/hl/examples/ex_table_09.c index 7ba0aa1..c50e20d 100644 --- a/hl/examples/ex_table_09.c +++ b/hl/examples/ex_table_09.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <stdlib.h> diff --git a/hl/examples/ex_table_10.c b/hl/examples/ex_table_10.c index 20543c2..73a9431 100644 --- a/hl/examples/ex_table_10.c +++ b/hl/examples/ex_table_10.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <stdlib.h> diff --git a/hl/examples/ex_table_11.c b/hl/examples/ex_table_11.c index 872fa4e..6746945 100644 --- a/hl/examples/ex_table_11.c +++ b/hl/examples/ex_table_11.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <stdlib.h> diff --git a/hl/examples/ptExampleFL.c b/hl/examples/ptExampleFL.c index bbd0bf6..37b5035 100644 --- a/hl/examples/ptExampleFL.c +++ b/hl/examples/ptExampleFL.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <stdlib.h> diff --git a/hl/fortran/CMakeLists.txt b/hl/fortran/CMakeLists.txt index c26d94c..892169c 100644 --- a/hl/fortran/CMakeLists.txt +++ b/hl/fortran/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_F90 C CXX Fortran) #----------------------------------------------------------------------------- @@ -9,9 +9,9 @@ add_subdirectory (${HDF5_HL_F90_SOURCE_DIR}/src ${HDF5_HL_F90_BINARY_DIR}/src) #----------------------------------------------------------------------------- # Build the HL Fortran Examples #----------------------------------------------------------------------------- -if (HDF5_BUILD_FORTRAN_EXAMPLES) +if (HDF5_BUILD_EXAMPLES) add_subdirectory (${HDF5_HL_F90_SOURCE_DIR}/examples ${HDF5_HL_F90_BINARY_DIR}/examples) -endif (HDF5_BUILD_FORTRAN_EXAMPLES) +endif (HDF5_BUILD_EXAMPLES) #----------------------------------------------------------------------------- # Testing diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in index 8fe9e35..ff02a60 100644 --- a/hl/fortran/Makefile.in +++ b/hl/fortran/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -492,7 +493,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/examples/CMakeLists.txt b/hl/fortran/examples/CMakeLists.txt index 12467b8..bf6a0ca 100644 --- a/hl/fortran/examples/CMakeLists.txt +++ b/hl/fortran/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_F90_EXAMPLES C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in index 1051658..27b1dee 100644 --- a/hl/fortran/examples/Makefile.in +++ b/hl/fortran/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -435,7 +436,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index ee8604e..f188a53 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT(HDF5_HL_F90_SRC C CXX Fortran) #----------------------------------------------------------------------------- @@ -45,6 +45,7 @@ set (HDF5_HL_F90_F_SRCS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTff.f90 ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5IMff.f90 ) +set_source_files_properties (${HDF5_HL_F90_F_SRCS} PROPERTIES LANGUAGE Fortran) add_library (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_F_SRCS}) set (SHARED_LINK_FLAGS " ") @@ -52,8 +53,8 @@ if (BUILD_SHARED_LIBS) if (WIN32) set_property (TARGET ${HDF5_HL_F90_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS - BUILD_HDF5_DLL - ) + BUILD_HDF5_HL_DLL + ) if (MSVC) set (SHARED_LINK_FLAGS "/DLL") endif (MSVC) @@ -72,6 +73,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES FOLDER libraries/hl/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" ) diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.f90 index c3ec587..8cb568e 100644 --- a/hl/fortran/src/H5DSff.f90 +++ b/hl/fortran/src/H5DSff.f90 @@ -48,7 +48,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsset_scale_f !DEC$endif ! @@ -63,6 +63,7 @@ CONTAINS INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_SCALE_C'::h5dsset_scale_c !DEC$ENDIF @@ -105,7 +106,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsattach_scale_f !DEC$endif ! @@ -119,6 +120,7 @@ CONTAINS INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSATTACH_SCALE_C':: h5dsattach_scale_c !DEC$ENDIF @@ -157,7 +159,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsdetach_scale_f !DEC$endif ! @@ -171,6 +173,7 @@ CONTAINS INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSDETACH_SCALE_C':: h5dsdetach_scale_c !DEC$ENDIF @@ -210,7 +213,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsis_attached_f !DEC$endif ! @@ -227,6 +230,7 @@ CONTAINS INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_ATTACHED_C':: h5dsis_attached_c !DEC$ENDIF @@ -277,7 +281,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsis_scale_f !DEC$endif ! @@ -291,6 +295,7 @@ CONTAINS INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_SCALE_C':: h5dsis_scale_c !DEC$ENDIF @@ -333,7 +338,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsset_label_f !DEC$endif ! @@ -350,6 +355,7 @@ CONTAINS INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_LABEL_C'::h5dsset_label_c !DEC$ENDIF @@ -391,7 +397,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_label_f !DEC$endif ! @@ -407,6 +413,7 @@ CONTAINS INTEGER FUNCTION H5DSget_label_c(did, idx, label, size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_LABEL_C'::h5dsget_label_c !DEC$ENDIF @@ -448,7 +455,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_scale_name_f !DEC$endif ! @@ -462,6 +469,7 @@ CONTAINS INTEGER FUNCTION H5DSget_scale_name_c(did, name, size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_SCALE_NAME_C'::h5dsget_scale_name_c !DEC$ENDIF @@ -499,7 +507,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_num_scales_f !DEC$endif ! @@ -513,6 +521,7 @@ CONTAINS INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_NUM_SCALES_C':: h5dsget_num_scales_c !DEC$ENDIF diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90 index d78dc06..37030ac 100644 --- a/hl/fortran/src/H5IMff.f90 +++ b/hl/fortran/src/H5IMff.f90 @@ -51,7 +51,7 @@ subroutine h5immake_image_8bit_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_image_8bit_f !DEC$endif ! @@ -67,6 +67,7 @@ subroutine h5immake_image_8bit_f(loc_id,& interface integer function h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_8BIT_C'::h5immake_image_8bit_c !DEC$ENDIF @@ -114,7 +115,7 @@ subroutine h5imread_image_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imread_image_f !DEC$endif ! @@ -127,6 +128,7 @@ subroutine h5imread_image_f(loc_id,& interface integer function h5imread_image_c(loc_id,namelen,dset_name,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMREAD_IMAGE_C'::h5imread_image_c !DEC$ENDIF @@ -173,7 +175,7 @@ subroutine h5immake_image_24bit_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_image_24bit_f !DEC$endif ! @@ -191,6 +193,7 @@ subroutine h5immake_image_24bit_f(loc_id,& interface integer function h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_24BIT_C'::h5immake_image_24bit_c !DEC$ENDIF @@ -246,7 +249,7 @@ subroutine h5imget_image_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_image_info_f !DEC$endif ! @@ -265,6 +268,7 @@ subroutine h5imget_image_info_f(loc_id,& interface integer function h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_IMAGE_INFO_C'::h5imget_image_info_c !DEC$ENDIF @@ -313,7 +317,7 @@ integer function h5imis_image_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imis_image_f !DEC$endif ! @@ -326,6 +330,7 @@ integer function h5imis_image_f(loc_id,& interface integer function h5imis_image_c(loc_id,namelen,dset_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_IMAGE_C'::h5imis_image_c !DEC$ENDIF @@ -370,7 +375,7 @@ subroutine h5immake_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_palette_f !DEC$endif ! @@ -385,6 +390,7 @@ subroutine h5immake_palette_f(loc_id,& interface integer function h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_PALETTE_C'::h5immake_palette_c !DEC$ENDIF @@ -430,7 +436,7 @@ subroutine h5imlink_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imlink_palette_f !DEC$endif ! @@ -444,6 +450,7 @@ subroutine h5imlink_palette_f(loc_id,& interface integer function h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMLINK_PALETTE_C'::h5imlink_palette_c !DEC$ENDIF @@ -490,7 +497,7 @@ subroutine h5imunlink_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imunlink_palette_f !DEC$endif ! @@ -506,6 +513,7 @@ subroutine h5imunlink_palette_f(loc_id,& interface integer function h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMUNLINK_PALETTE_C'::h5imunlink_palette_c !DEC$ENDIF @@ -553,7 +561,7 @@ subroutine h5imget_npalettes_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_npalettes_f !DEC$endif ! @@ -567,6 +575,7 @@ subroutine h5imget_npalettes_f(loc_id,& interface integer function h5imget_npalettes_c(loc_id,namelen,dset_name,npals) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_NPALETTES_C'::h5imget_npalettes_c !DEC$ENDIF @@ -612,7 +621,7 @@ subroutine h5imget_palette_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_palette_info_f !DEC$endif ! @@ -627,6 +636,7 @@ subroutine h5imget_palette_info_f(loc_id,& interface integer function h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_INFO_C'::h5imget_palette_info_c !DEC$ENDIF @@ -674,7 +684,7 @@ subroutine h5imget_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_palette_f !DEC$endif ! @@ -689,6 +699,7 @@ subroutine h5imget_palette_f(loc_id,& interface integer function h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_C'::h5imget_palette_c !DEC$ENDIF @@ -731,7 +742,7 @@ integer function h5imis_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imis_palette_f !DEC$endif ! @@ -744,6 +755,7 @@ integer function h5imis_palette_f(loc_id,& interface integer function h5imis_palette_c(loc_id,namelen,dset_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_PALETTE_C'::h5imis_palette_c !DEC$ENDIF diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 index 0302b61..8df024e 100644 --- a/hl/fortran/src/H5LTff.f90 +++ b/hl/fortran/src/H5LTff.f90 @@ -163,7 +163,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int1 !DEC$endif ! @@ -180,6 +180,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT1_C'::h5ltmake_dataset_int1_c !DEC$ENDIF @@ -228,7 +229,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int2 !DEC$endif ! @@ -246,6 +247,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT2_C'::h5ltmake_dataset_int2_c !DEC$ENDIF @@ -295,7 +297,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int3 !DEC$endif ! @@ -313,6 +315,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT3_C'::h5ltmake_dataset_int3_c !DEC$ENDIF @@ -357,7 +360,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int4 !DEC$endif ! @@ -375,6 +378,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT4_C'::h5ltmake_dataset_int4_c !DEC$ENDIF @@ -419,7 +423,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int5 !DEC$endif ! @@ -437,6 +441,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT5_C'::h5ltmake_dataset_int5_c !DEC$ENDIF @@ -481,7 +486,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int6 !DEC$endif ! @@ -499,6 +504,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT6_C'::h5ltmake_dataset_int6_c !DEC$ENDIF @@ -543,7 +549,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int7 !DEC$endif ! @@ -561,6 +567,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT7_C'::h5ltmake_dataset_int7_c !DEC$ENDIF @@ -611,7 +618,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float1 !DEC$endif ! @@ -628,6 +635,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL1_C'::h5ltmake_dataset_fl1_c !DEC$ENDIF @@ -676,7 +684,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float2 !DEC$endif ! @@ -694,6 +702,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL2_C'::h5ltmake_dataset_fl2_c !DEC$ENDIF @@ -743,7 +752,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float3 !DEC$endif ! @@ -761,6 +770,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_c !DEC$ENDIF @@ -805,7 +815,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float4 !DEC$endif ! @@ -823,6 +833,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL4_C'::h5ltmake_dataset_fl4_c !DEC$ENDIF @@ -867,7 +878,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float5 !DEC$endif ! @@ -885,6 +896,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL5_C'::h5ltmake_dataset_fl5_c !DEC$ENDIF @@ -929,7 +941,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float6 !DEC$endif ! @@ -947,6 +959,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL6_C'::h5ltmake_dataset_fl6_c !DEC$ENDIF @@ -991,7 +1004,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float7 !DEC$endif ! @@ -1009,6 +1022,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL7_C'::h5ltmake_dataset_fl7_c !DEC$ENDIF @@ -1058,7 +1072,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double1 !DEC$endif ! @@ -1075,6 +1089,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_c !DEC$ENDIF @@ -1123,7 +1138,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double2 !DEC$endif ! @@ -1141,6 +1156,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL2_C'::h5ltmake_dataset_dl2_c !DEC$ENDIF @@ -1190,7 +1206,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double3 !DEC$endif ! @@ -1208,6 +1224,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL3_C'::h5ltmake_dataset_dl3_c !DEC$ENDIF @@ -1252,7 +1269,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double4 !DEC$endif ! @@ -1270,6 +1287,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL4_C'::h5ltmake_dataset_dl4_c !DEC$ENDIF @@ -1314,7 +1332,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double5 !DEC$endif ! @@ -1332,6 +1350,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL5_C'::h5ltmake_dataset_dl5_c !DEC$ENDIF @@ -1376,7 +1395,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double6 !DEC$endif ! @@ -1394,6 +1413,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL6_C'::h5ltmake_dataset_dl6_c !DEC$ENDIF @@ -1438,7 +1458,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double7 !DEC$endif ! @@ -1456,6 +1476,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL7_C'::h5ltmake_dataset_dl7_c !DEC$ENDIF @@ -1504,7 +1525,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int1 !DEC$endif ! @@ -1520,6 +1541,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT1_C'::h5ltread_dataset_int1_c !DEC$ENDIF @@ -1566,7 +1588,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int2 !DEC$endif ! @@ -1583,6 +1605,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT2_C'::h5ltread_dataset_int2_c !DEC$ENDIF @@ -1630,7 +1653,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int3 !DEC$endif ! @@ -1647,6 +1670,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT3_C'::h5ltread_dataset_int3_c !DEC$ENDIF @@ -1690,7 +1714,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int4 !DEC$endif ! @@ -1707,6 +1731,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT4_C'::h5ltread_dataset_int4_c !DEC$ENDIF @@ -1750,7 +1775,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int5 !DEC$endif ! @@ -1767,6 +1792,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT5_C'::h5ltread_dataset_int5_c !DEC$ENDIF @@ -1810,7 +1836,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int6 !DEC$endif ! @@ -1827,6 +1853,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT6_C'::h5ltread_dataset_int6_c !DEC$ENDIF @@ -1870,7 +1897,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int7 !DEC$endif ! @@ -1887,6 +1914,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT7_C'::h5ltread_dataset_int7_c !DEC$ENDIF @@ -1935,7 +1963,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float1 !DEC$endif ! @@ -1951,6 +1979,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL1_C'::h5ltread_dataset_fl1_c !DEC$ENDIF @@ -1997,7 +2026,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float2 !DEC$endif ! @@ -2015,6 +2044,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL2_C'::h5ltread_dataset_fl2_c !DEC$ENDIF @@ -2062,7 +2092,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float3 !DEC$endif ! @@ -2079,6 +2109,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL3_C'::h5ltread_dataset_fl3_c !DEC$ENDIF @@ -2122,7 +2153,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float4 !DEC$endif ! @@ -2139,6 +2170,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL4_C'::h5ltread_dataset_fl4_c !DEC$ENDIF @@ -2182,7 +2214,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float5 !DEC$endif ! @@ -2199,6 +2231,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL5_C'::h5ltread_dataset_fl5_c !DEC$ENDIF @@ -2242,7 +2275,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float6 !DEC$endif ! @@ -2259,6 +2292,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL6_C'::h5ltread_dataset_fl6_c !DEC$ENDIF @@ -2302,7 +2336,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float7 !DEC$endif ! @@ -2319,6 +2353,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL7_C'::h5ltread_dataset_fl7_c !DEC$ENDIF @@ -2367,7 +2402,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport ::h5ltread_dataset_f_double1 !DEC$endif ! @@ -2383,6 +2418,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL1_C'::h5ltread_dataset_dl1_c !DEC$ENDIF @@ -2429,7 +2465,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double2 !DEC$endif ! @@ -2446,6 +2482,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL2_C'::h5ltread_dataset_dl2_c !DEC$ENDIF @@ -2493,7 +2530,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double3 !DEC$endif ! @@ -2510,6 +2547,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL3_C'::h5ltread_dataset_dl3_c !DEC$ENDIF @@ -2553,7 +2591,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double4 !DEC$endif ! @@ -2570,6 +2608,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL4_C'::h5ltread_dataset_dl4_c !DEC$ENDIF @@ -2613,7 +2652,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double5 !DEC$endif ! @@ -2630,6 +2669,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL5_C'::h5ltread_dataset_dl5_c !DEC$ENDIF @@ -2673,7 +2713,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double6 !DEC$endif ! @@ -2690,6 +2730,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL6_C'::h5ltread_dataset_dl6_c !DEC$ENDIF @@ -2733,7 +2774,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double7 !DEC$endif ! @@ -2750,6 +2791,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL7_C'::h5ltread_dataset_dl7_c !DEC$ENDIF @@ -2797,7 +2839,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_1 !DEC$endif ! @@ -2813,6 +2855,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT1_C'::h5ltmake_dataset_nint1_c !DEC$ENDIF @@ -2860,7 +2903,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_2 !DEC$endif ! @@ -2878,6 +2921,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT2_C'::h5ltmake_dataset_nint2_c !DEC$ENDIF @@ -2927,7 +2971,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_3 !DEC$endif ! @@ -2945,6 +2989,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT3_C'::h5ltmake_dataset_nint3_c !DEC$ENDIF @@ -2989,7 +3034,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_4 !DEC$endif ! @@ -3007,6 +3052,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT4_C'::h5ltmake_dataset_nint4_c !DEC$ENDIF @@ -3051,7 +3097,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_5 !DEC$endif ! @@ -3069,6 +3115,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT5_C'::h5ltmake_dataset_nint5_c !DEC$ENDIF @@ -3113,7 +3160,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_6 !DEC$endif ! @@ -3131,6 +3178,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT6_C'::h5ltmake_dataset_nint6_c !DEC$ENDIF @@ -3175,7 +3223,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_7 !DEC$endif ! @@ -3193,6 +3241,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT7_C'::h5ltmake_dataset_nint7_c !DEC$ENDIF @@ -3241,7 +3290,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_1 !DEC$endif ! @@ -3257,6 +3306,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_c !DEC$ENDIF @@ -3304,7 +3354,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_2 !DEC$endif ! @@ -3321,6 +3371,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL2_C'::h5ltmake_dataset_nfl2_c !DEC$ENDIF @@ -3369,7 +3420,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_3 !DEC$endif ! @@ -3386,6 +3437,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL3_C'::h5ltmake_dataset_nfl3_c !DEC$ENDIF @@ -3430,7 +3482,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_4 !DEC$endif ! @@ -3447,6 +3499,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL4_C'::h5ltmake_dataset_nfl4_c !DEC$ENDIF @@ -3491,7 +3544,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_5 !DEC$endif ! @@ -3508,6 +3561,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL5_C'::h5ltmake_dataset_nfl5_c !DEC$ENDIF @@ -3552,7 +3606,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_6 !DEC$endif ! @@ -3569,6 +3623,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL6_C'::h5ltmake_dataset_nfl6_c !DEC$ENDIF @@ -3613,7 +3668,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_7 !DEC$endif ! @@ -3630,6 +3685,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL7_C'::h5ltmake_dataset_nfl7_c !DEC$ENDIF @@ -3679,7 +3735,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_1 !DEC$endif ! @@ -3696,6 +3752,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL1_C'::h5ltmake_dataset_ndl1_c !DEC$ENDIF @@ -3745,7 +3802,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_2 !DEC$endif ! @@ -3762,6 +3819,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL2_C'::h5ltmake_dataset_ndl2_c !DEC$ENDIF @@ -3810,7 +3868,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_3 !DEC$endif ! @@ -3827,6 +3885,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL3_C'::h5ltmake_dataset_ndl3_c !DEC$ENDIF @@ -3871,7 +3930,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_4 !DEC$endif ! @@ -3888,6 +3947,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL4_C'::h5ltmake_dataset_ndl4_c !DEC$ENDIF @@ -3932,7 +3992,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -3949,6 +4009,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL5_C'::h5ltmake_dataset_ndl5_c !DEC$ENDIF @@ -3993,7 +4054,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -4010,6 +4071,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL6_C'::h5ltmake_dataset_ndl6_c !DEC$ENDIF @@ -4054,7 +4116,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -4071,6 +4133,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL7_C'::h5ltmake_dataset_ndl7_c !DEC$ENDIF @@ -4118,7 +4181,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_1 !DEC$endif ! @@ -4134,6 +4197,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT1_C'::h5ltread_dataset_nint1_c !DEC$ENDIF @@ -4181,7 +4245,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_2 !DEC$endif ! @@ -4197,6 +4261,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT2_C'::h5ltread_dataset_nint2_c !DEC$ENDIF @@ -4243,7 +4308,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_3 !DEC$endif ! @@ -4259,6 +4324,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT3_C'::h5ltread_dataset_nint3_c !DEC$ENDIF @@ -4301,7 +4367,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_4 !DEC$endif ! @@ -4317,6 +4383,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT4_C'::h5ltread_dataset_nint4_c !DEC$ENDIF @@ -4359,7 +4426,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_5 !DEC$endif ! @@ -4375,6 +4442,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT5_C'::h5ltread_dataset_nint5_c !DEC$ENDIF @@ -4417,7 +4485,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_6 !DEC$endif ! @@ -4433,6 +4501,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT6_C'::h5ltread_dataset_nint6_c !DEC$ENDIF @@ -4475,7 +4544,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_7 !DEC$endif ! @@ -4491,6 +4560,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT7_C'::h5ltread_dataset_nint7_c !DEC$ENDIF @@ -4538,7 +4608,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_1 !DEC$endif ! @@ -4554,6 +4624,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL1_C'::h5ltread_dataset_nfl1_c !DEC$ENDIF @@ -4601,7 +4672,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_2 !DEC$endif ! @@ -4617,6 +4688,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL2_C'::h5ltread_dataset_nfl2_c !DEC$ENDIF @@ -4663,7 +4735,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_3 !DEC$endif ! @@ -4679,6 +4751,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL3_C'::h5ltread_dataset_nfl3_c !DEC$ENDIF @@ -4721,7 +4794,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_4 !DEC$endif ! @@ -4737,6 +4810,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL4_C'::h5ltread_dataset_nfl4_c !DEC$ENDIF @@ -4779,7 +4853,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_5 !DEC$endif ! @@ -4795,6 +4869,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL5_C'::h5ltread_dataset_nfl5_c !DEC$ENDIF @@ -4837,7 +4912,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_6 !DEC$endif ! @@ -4853,6 +4928,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL6_C'::h5ltread_dataset_nfl6_c !DEC$ENDIF @@ -4895,7 +4971,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_7 !DEC$endif ! @@ -4911,6 +4987,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL7_C'::h5ltread_dataset_nfl7_c !DEC$ENDIF @@ -4957,7 +5034,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_1 !DEC$endif ! @@ -4973,6 +5050,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL1_C'::h5ltread_dataset_ndl1_c !DEC$ENDIF @@ -5020,7 +5098,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_2 !DEC$endif ! @@ -5036,6 +5114,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL2_C'::h5ltread_dataset_ndl2_c !DEC$ENDIF @@ -5082,7 +5161,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_3 !DEC$endif ! @@ -5098,6 +5177,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL3_C'::h5ltread_dataset_ndl3_c !DEC$ENDIF @@ -5140,7 +5220,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_4 !DEC$endif ! @@ -5156,6 +5236,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL4_C'::h5ltread_dataset_ndl4_c !DEC$ENDIF @@ -5198,7 +5279,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_5 !DEC$endif ! @@ -5214,6 +5295,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL5_C'::h5ltread_dataset_ndl5_c !DEC$ENDIF @@ -5256,7 +5338,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_6 !DEC$endif ! @@ -5272,6 +5354,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL6_C'::h5ltread_dataset_ndl6_c !DEC$ENDIF @@ -5314,7 +5397,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_7 !DEC$endif ! @@ -5330,6 +5413,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL7_C'::h5ltread_dataset_ndl7_c !DEC$ENDIF @@ -5376,7 +5460,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_string_f !DEC$endif ! @@ -5391,6 +5475,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_STRING_C'::h5ltmake_dataset_string_c !DEC$ENDIF @@ -5435,7 +5520,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_string_f !DEC$endif ! @@ -5449,6 +5534,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_STRING_C'::h5ltread_dataset_string_c !DEC$ENDIF @@ -5501,7 +5587,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_int_f !DEC$endif ! @@ -5518,6 +5604,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_INT_C'::h5ltset_attribute_int_c !DEC$ENDIF @@ -5567,7 +5654,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_float_f !DEC$endif ! @@ -5584,6 +5671,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_FLOAT_C'::h5ltset_attribute_float_c !DEC$ENDIF @@ -5633,7 +5721,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_double_f !DEC$endif ! @@ -5650,6 +5738,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_DOUBLE_C'::h5ltset_attribute_double_c !DEC$ENDIF @@ -5699,7 +5788,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_string_f !DEC$endif ! @@ -5716,6 +5805,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_STRING_C'::h5ltset_attribute_string_c !DEC$ENDIF @@ -5767,7 +5857,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_int_f !DEC$endif ! @@ -5783,6 +5873,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INT_C'::h5ltget_attribute_int_c !DEC$ENDIF @@ -5831,7 +5922,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_float_f !DEC$endif ! @@ -5847,6 +5938,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_FLOAT_C'::h5ltget_attribute_float_c !DEC$ENDIF @@ -5894,7 +5986,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_double_f !DEC$endif ! @@ -5910,6 +6002,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_DOUBLE_C'::h5ltget_attribute_double_c !DEC$ENDIF @@ -5957,7 +6050,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_string_f !DEC$endif ! @@ -5974,6 +6067,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_STRING_C'::h5ltget_attribute_string_c !DEC$ENDIF @@ -6027,7 +6121,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_dataset_ndims_f !DEC$endif ! @@ -6041,6 +6135,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_NDIMS_C'::h5ltget_dataset_ndims_c !DEC$ENDIF @@ -6083,7 +6178,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltfind_dataset_f !DEC$endif ! @@ -6096,6 +6191,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTFIND_DATASET_C'::h5ltfind_dataset_c !DEC$ENDIF @@ -6140,7 +6236,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_dataset_info_f !DEC$endif ! @@ -6156,6 +6252,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_INFO_C'::h5ltget_dataset_info_c !DEC$ENDIF @@ -6207,7 +6304,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_ndims_f !DEC$endif ! @@ -6223,6 +6320,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_NDIMS_C'::h5ltget_attribute_ndims_c !DEC$ENDIF @@ -6273,7 +6371,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_info_f !DEC$endif ! @@ -6291,6 +6389,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INFO_C'::h5ltget_attribute_info_c !DEC$ENDIF @@ -6335,7 +6434,7 @@ CONTAINS IMPLICIT NONE ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltpath_valid_f !DEC$endif ! @@ -6353,6 +6452,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTPATH_VALID_C'::h5ltpath_valid_c !DEC$ENDIF diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.f90 index 36e13f9..8d31a93 100644 --- a/hl/fortran/src/H5TBff.f90 +++ b/hl/fortran/src/H5TBff.f90 @@ -96,7 +96,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbmake_table_f !DEC$endif ! @@ -138,6 +138,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& field_names) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBMAKE_TABLE_C'::h5tbmake_table_c !DEC$ENDIF @@ -157,7 +158,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& INTEGER :: namelen ! name length INTEGER :: namelen1 ! name length INTEGER, DIMENSION(nfields) :: char_len_field_names ! field name's lengths - INTEGER :: max_char_size ! character len of field names + INTEGER :: max_char_size_field_names ! character len of field names END FUNCTION h5tbmake_table_c END INTERFACE @@ -218,7 +219,7 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_int !DEC$endif ! @@ -239,6 +240,7 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_INT_C'::h5tbwrite_field_name_int_c !DEC$ENDIF @@ -293,7 +295,7 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_float !DEC$endif ! @@ -314,6 +316,7 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_FL_C'::h5tbwrite_field_name_fl_c !DEC$ENDIF @@ -370,7 +373,7 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_double !DEC$endif ! @@ -391,6 +394,7 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_DL_C'::h5tbwrite_field_name_dl_c !DEC$ENDIF @@ -445,7 +449,7 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_string !DEC$endif ! @@ -466,6 +470,7 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_ST_C'::h5tbwrite_field_name_st_c !DEC$ENDIF @@ -521,7 +526,7 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_int !DEC$endif ! @@ -542,6 +547,7 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_INT_C'::h5tbread_field_name_int_c !DEC$ENDIF @@ -596,7 +602,7 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_float !DEC$endif ! @@ -617,6 +623,7 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_FL_C'::h5tbread_field_name_fl_c !DEC$ENDIF @@ -671,7 +678,7 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_double !DEC$endif ! @@ -692,6 +699,7 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_DL_C'::h5tbread_field_name_dl_c !DEC$ENDIF @@ -746,7 +754,7 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_string !DEC$endif ! @@ -767,6 +775,7 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_ST_C'::h5tbread_field_name_st_c !DEC$ENDIF @@ -822,7 +831,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_int !DEC$endif ! @@ -842,6 +851,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_INT_C'::h5tbwrite_field_index_int_c !DEC$ENDIF @@ -893,7 +903,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_float !DEC$endif ! @@ -913,6 +923,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_FL_C'::h5tbwrite_field_index_fl_c !DEC$ENDIF @@ -966,7 +977,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_double !DEC$endif ! @@ -986,6 +997,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_DL_C'::h5tbwrite_field_index_dl_c !DEC$ENDIF @@ -1037,7 +1049,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_string !DEC$endif ! @@ -1057,6 +1069,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_ST_C'::h5tbwrite_field_index_st_c !DEC$ENDIF @@ -1109,7 +1122,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport ::h5tbread_field_index_f_int !DEC$endif ! @@ -1129,6 +1142,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_INT_C'::h5tbread_field_index_int_c !DEC$ENDIF @@ -1180,7 +1194,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_float !DEC$endif ! @@ -1200,6 +1214,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_FL_C'::h5tbread_field_index_fl_c !DEC$ENDIF @@ -1251,7 +1266,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_double !DEC$endif ! @@ -1271,6 +1286,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_DL_C'::h5tbread_field_index_dl_c !DEC$ENDIF @@ -1322,7 +1338,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_string !DEC$endif ! @@ -1342,6 +1358,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_ST_C'::h5tbread_field_index_st_c !DEC$ENDIF @@ -1392,7 +1409,7 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_int !DEC$endif ! @@ -1413,6 +1430,7 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_INT_C'::h5tbinsert_field_int_c !DEC$ENDIF @@ -1465,7 +1483,7 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_float !DEC$endif ! @@ -1486,6 +1504,7 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_FL_C'::h5tbinsert_field_fl_c !DEC$ENDIF @@ -1538,7 +1557,7 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_double !DEC$endif ! @@ -1559,6 +1578,7 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_DL_C'::h5tbinsert_field_dl_c !DEC$ENDIF @@ -1612,7 +1632,7 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_string !DEC$endif ! @@ -1633,6 +1653,7 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_ST_C'::h5tbinsert_field_st_c !DEC$ENDIF @@ -1683,7 +1704,7 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbdelete_field_f !DEC$endif ! @@ -1700,6 +1721,7 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& INTEGER FUNCTION h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBDELETE_FIELD_C'::h5tbdelete_field_c !DEC$ENDIF @@ -1749,7 +1771,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbget_table_info_f !DEC$endif ! @@ -1764,6 +1786,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& INTERFACE INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_TABLE_INFO_C'::h5tbget_table_info_c !DEC$ENDIF @@ -1813,7 +1836,7 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& IMPLICIT NONE ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbget_field_info_f !DEC$endif ! @@ -1837,6 +1860,7 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& field_sizes,field_offsets,type_size,namelen2, maxlen, field_names, c_maxlen_out) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_FIELD_INFO_C'::h5tbget_field_info_c !DEC$ENDIF diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 5d4eaf2..6979867 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -108,7 +108,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -509,7 +510,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -690,7 +690,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # Our main target, the high-level fortran library diff --git a/hl/fortran/test/CMakeLists.txt b/hl/fortran/test/CMakeLists.txt index 120d6a5..fcb0b8c 100644 --- a/hl/fortran/test/CMakeLists.txt +++ b/hl/fortran/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in index 4a929a6..50b8780 100644 --- a/hl/fortran/test/Makefile.in +++ b/hl/fortran/test/Makefile.in @@ -107,7 +107,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/fortran/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -500,7 +501,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt index 9c9e3a9..f4d5a96 100644 --- a/hl/src/CMakeLists.txt +++ b/hl/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_SRC) #----------------------------------------------------------------------------- diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c index ed725a3..9d6123b 100644 --- a/hl/src/H5LT.c +++ b/hl/src/H5LT.c @@ -1981,7 +1981,8 @@ find_attr(hid_t loc_id, const char *name, const H5A_info_t *ainfo, * cause the iterator to immediately return that positive value, * indicating short-circuit success */ - if(HDstrncmp(name, (char *)op_data, HDstrlen((char *)op_data)) == 0) + + if(HDstrncmp(name, (char *)op_data, MAX(HDstrlen((char *)op_data),HDstrlen(name))) == 0) ret = H5_ITER_STOP; return ret; diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 0ac1592..a848280 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -490,7 +491,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -671,7 +671,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This library is our main target. diff --git a/hl/src/hdf5_hl.h b/hl/src/hdf5_hl.h index e9e3bf1..6c363f1 100644 --- a/hl/src/hdf5_hl.h +++ b/hl/src/hdf5_hl.h @@ -21,7 +21,7 @@ #ifndef _HDF5_HL_H #define _HDF5_HL_H - +#include "hdf5.h" /* hdf5 main library */ #include "H5DOpublic.h" /* dataset optimization */ #include "H5DSpublic.h" /* dimension scales */ #include "H5LTpublic.h" /* lite */ diff --git a/hl/test/CMakeLists.txt b/hl/test/CMakeLists.txt index 545210b..28c716c 100644 --- a/hl/test/CMakeLists.txt +++ b/hl/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_TEST) # -------------------------------------------------------------------- # Notes: When creating unit test executables they should be prefixed diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in index a002482..e0ce927 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -107,7 +107,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -527,7 +528,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/test/dectris_hl_perf.c b/hl/test/dectris_hl_perf.c index a3e382a..d62926a 100644 --- a/hl/test/dectris_hl_perf.c +++ b/hl/test/dectris_hl_perf.c @@ -18,7 +18,6 @@ * */ -#include "hdf5.h" #include "hdf5_hl.h" #include <zlib.h> #include <math.h> diff --git a/hl/test/test_lite.c b/hl/test/test_lite.c index d61d6cf..19d3759 100644 --- a/hl/test/test_lite.c +++ b/hl/test/test_lite.c @@ -36,10 +36,12 @@ #define DIM 6 +#define ATTR_NAME_SUB "att" #define ATTR1_NAME "attr string" #define ATTR2_NAME "attr char" #define ATTR3_NAME "attr short" #define ATTR4_NAME "attr int" +#define ATTR_NAME_EXT "att int ext" #define ATTR5_NAME "attr long" #define ATTR6_NAME "attr uchar" #define ATTR7_NAME "attr ushort" @@ -646,6 +648,14 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) if ( H5LTset_attribute_int( loc_id, obj_name, ATTR4_NAME, attr_int_in, (size_t)5 ) < 0 ) return -1; + /* Set the attribute which is a substring of an existing attribute */ + if ( H5LTset_attribute_int( loc_id, obj_name, ATTR_NAME_SUB, attr_int_in, (size_t)5 ) < 0 ) + return -1; + + /* Set the attribute which is an extension of an existing attribute */ + if ( H5LTset_attribute_int( loc_id, obj_name, ATTR_NAME_EXT, attr_int_in, (size_t)5 ) < 0 ) + return -1; + PASSED(); /*------------------------------------------------------------------------- @@ -666,6 +676,26 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) } } + if ( H5LTget_attribute_int( loc_id, obj_name, ATTR_NAME_SUB, attr_int_out ) < 0 ) + return -1; + + for (i = 0; i < 5; i++) + { + if ( attr_int_in[i] != attr_int_out[i] ) { + return -1; + } + } + + if ( H5LTget_attribute_int( loc_id, obj_name, ATTR_NAME_EXT, attr_int_out ) < 0 ) + return -1; + + for (i = 0; i < 5; i++) + { + if ( attr_int_in[i] != attr_int_out[i] ) { + return -1; + } + } + /* Get the attribute */ if ( H5LTget_attribute( loc_id, obj_name, ATTR4_NAME, H5T_NATIVE_INT, attr_int_out ) < 0 ) return -1; diff --git a/hl/tools/CMakeLists.txt b/hl/tools/CMakeLists.txt index a41aecc..567b3da 100644 --- a/hl/tools/CMakeLists.txt +++ b/hl/tools/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_TOOLS) #----------------------------------------------------------------------------- diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in index a34e225..bb7f71a 100644 --- a/hl/tools/Makefile.in +++ b/hl/tools/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/tools ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -489,7 +490,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in index 1c9be68..2317975 100644 --- a/hl/tools/gif2h5/Makefile.in +++ b/hl/tools/gif2h5/Makefile.in @@ -105,7 +105,8 @@ noinst_PROGRAMS = h52gifgentst$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = hl/tools/gif2h5 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -503,7 +504,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/m4/aclocal_cxx.m4 b/m4/aclocal_cxx.m4 new file mode 100644 index 0000000..b44ae82 --- /dev/null +++ b/m4/aclocal_cxx.m4 @@ -0,0 +1,121 @@ +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- +dnl +dnl Copyright by the Board of Trustees of the University of Illinois. +dnl All rights reserved. +dnl +dnl This file is part of HDF5. The full HDF5 copyright notice, including +dnl terms governing use, modification, and redistribution, is contained in +dnl the files COPYING and Copyright.html. COPYING can be found at the root +dnl of the source code distribution tree; Copyright.html can be found at the +dnl root level of an installed copy of the electronic HDF5 document set and +dnl is linked from the top-level documents page. It can also be found at +dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have +dnl access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. +dnl +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- + +dnl ********************************* +dnl PURPOSE +dnl Contains Macros for HDF5 C++ +dnl ********************************* +dnl +dnl Special characteristics that have no autoconf counterpart but that +dnl we need as part of the C++ support. To distinquish these, they +dnl have a [PAC] prefix. + +dnl Checking if C++ needs old style header files in includes + +AC_DEFUN([PAC_PROG_CXX_HEADERS],[ + AC_MSG_CHECKING([if $CXX needs old style header files in includes]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#include <iostream> + +int main(void) { return 0; } + ])], + [AC_MSG_RESULT([no])], + [AC_MSG_RESULT([yes]) + CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" + AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME"]) +]) + +dnl Checking if ++ can handle namespaces + +AC_DEFUN([PAC_PROG_CXX_NAMESPACE],[ + AC_MSG_CHECKING([if $CXX can handle namespaces]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +namespace H5 { +int fnord; +} + +int main(void) { + using namespace H5; + fnord = 37; + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" + AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE"]) +]) + +dnl Checking if C++ supports std + +AC_DEFUN([PAC_PROG_CXX_STD],[ + AC_MSG_CHECKING([if $CXX supports std]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#include <string> + +using namespace std; + +int main(void) { + string myString("testing namespace std"); + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" + AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD"]) +]) + +dnl Checking if C++ has offsetof extension + +AC_DEFUN([PAC_PROG_CXX_OFFSETOF],[ + AC_MSG_CHECKING([if $CXX has offsetof extension]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include <stdio.h> + #include <stddef.h> + ],[ + struct index_st + { + unsigned char type; + unsigned char num; + unsigned int len; + }; + typedef struct index_st index_t; + int x,y; + x = offsetof(struct index_st, len); + y = offsetof(index_t, num) + ])],[AC_MSG_RESULT([yes]) + AC_DEFINE([CXX_HAVE_OFFSETOF], [1], [Define if C++ compiler recognizes offsetof])], + AC_MSG_RESULT([no])) +]) + +dnl Checking if C++ can handle static cast + +AC_DEFUN([PAC_PROG_CXX_STATIC_CAST],[ + AC_MSG_CHECKING([if $CXX can handle static cast]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +int main(void) { + float test_float; + int test_int; + test_float = 37.0; + test_int = static_cast <int> (test_float); + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" + AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST"]) +]) diff --git a/m4/aclocal_fc.m4 b/m4/aclocal_fc.m4 new file mode 100644 index 0000000..cda2fee --- /dev/null +++ b/m4/aclocal_fc.m4 @@ -0,0 +1,283 @@ +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- +dnl +dnl Copyright by the Board of Trustees of the University of Illinois. +dnl All rights reserved. +dnl +dnl This file is part of HDF5. The full HDF5 copyright notice, including +dnl terms governing use, modification, and redistribution, is contained in +dnl the files COPYING and Copyright.html. COPYING can be found at the root +dnl of the source code distribution tree; Copyright.html can be found at the +dnl root level of an installed copy of the electronic HDF5 document set and +dnl is linked from the top-level documents page. It can also be found at +dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have +dnl access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. +dnl +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- + +dnl ********************************* +dnl PURPOSE +dnl Contains Macros for HDF5 Fortran +dnl ********************************* +dnl +dnl Special characteristics that have no autoconf counterpart but that +dnl we need as part of the C++ support. To distinquish these, they +dnl have a [PAC] prefix. +dnl +dnl ------------------------------------------------------------------------- +dnl +dnl PAC_FC_SEARCH_LIST - expands to a whitespace separated list of modern +dnl fortran compilers for use with AC_PROG_FC that is more suitable for HPC +dnl software packages +AC_DEFUN([PAC_FC_SEARCH_LIST], + [gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc]) +dnl +dnl PAC_PROG_FC([COMPILERS]) +dnl +dnl COMPILERS is a space separated list of Fortran compilers to search for. +dnl +dnl Compilers are ordered by +dnl 1. F90, F95, F2003 +dnl 2. Good/tested native compilers, bad/untested native compilers +dnl 3. Wrappers around f2c go last. +dnl +dnl frt is the Fujitsu Fortran compiler. +dnl pgf90 are the Portland Group F90 compilers. +dnl xlf/xlf90/xlf95/xlf2003 are IBM (AIX) F90/F95/F2003 compilers. +dnl lf95 is the Lahey-Fujitsu compiler. +dnl fl32 is the Microsoft Fortran "PowerStation" compiler. +dnl epcf90 is the "Edinburgh Portable Compiler" F90. +dnl fort is the Compaq Fortran 90 (now 95) compiler for Tru64 and Linux/Alpha. +dnl pathf90 is the Pathscale Fortran 90 compiler +dnl ifort is another name for the Intel f90 compiler +dnl efc - An older Intel compiler (?) +dnl ifc - An older Intel compiler +dnl fc - A compiler on some unknown system. This has been removed because +dnl it may also be the name of a command for something other than +dnl the Fortran compiler (e.g., fc=file system check!) +dnl gfortran - The GNU Fortran compiler (not the same as g95) +dnl gfc - An alias for gfortran recommended in cygwin installations +dnl NOTE: this macro suffers from a basically intractable "expanded before it +dnl was required" problem when libtool is also used +dnl [1] MPICH.org +dnl + +dnl See if the fortran compiler supports the intrinsic function "SIZEOF" + +AC_DEFUN([PAC_PROG_FC_SIZEOF],[ + HAVE_SIZEOF_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic SIZEOF]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + i = sizeof(x) + END PROGRAM + ])],[AC_MSG_RESULT([yes]) + HAVE_SIZEOF_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) +]) + +dnl See if the fortran compiler supports the intrinsic function "C_SIZEOF" + +AC_DEFUN([PAC_PROG_FC_C_SIZEOF],[ + HAVE_C_SIZEOF_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_SIZEOF]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + USE ISO_C_BINDING + INTEGER(C_INT) :: a + INTEGER(C_SIZE_T) :: result + result = C_SIZEOF(a) + END PROGRAM + ])], [AC_MSG_RESULT([yes]) + HAVE_C_SIZEOF_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) +]) + +dnl See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" + +AC_DEFUN([PAC_PROG_FC_STORAGE_SIZE],[ + HAVE_STORAGE_SIZE_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic STORAGE_SIZE]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + INTEGER :: a + INTEGER :: result + result = STORAGE_SIZE(a) + END PROGRAM + ])], [AC_MSG_RESULT([yes]) + HAVE_STORAGE_SIZE_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) + +]) + +dnl Check to see if -r8 was specified to determine if we need to +dnl compile the DOUBLE PRECISION interfaces. + +AC_DEFUN([PAC_PROG_FC_DEFAULT_REALisDBLE],[ + FORTRAN_DEFAULT_REALisDBLE="no" + AC_MSG_CHECKING([if Fortran default REAL is DOUBLE PRECISION]) + + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + MODULE type_mod + INTERFACE h5t + MODULE PROCEDURE h5t_real + MODULE PROCEDURE h5t_dble + END INTERFACE + CONTAINS + SUBROUTINE h5t_real(r) + REAL :: r + END SUBROUTINE h5t_real + SUBROUTINE h5t_dble(d) + DOUBLE PRECISION :: d + END SUBROUTINE h5t_dble + END MODULE type_mod + PROGRAM main + USE type_mod + REAL :: r + DOUBLE PRECISION :: d + CALL h5t(r) + CALL h5t(d) + END PROGRAM main + ])], [AC_MSG_RESULT([no])], + [AC_MSG_RESULT([yes]) + FORTRAN_DEFAULT_REALisDBLE="yes"]) +]) + +dnl Checking if the compiler supports the required Fortran 2003 features and +dnl disable Fortran 2003 if it does not. + +AC_DEFUN([PAC_PROG_FC_HAVE_F2003_REQUIREMENTS],[ + AC_MSG_CHECKING([if Fortran compiler version compatible with Fortran 2003 HDF]) +dnl -------------------------------------------------------------------- +dnl Default for FORTRAN 2003 compliant compilers +dnl + HAVE_FORTRAN_2003="no" + HAVE_F2003_REQUIREMENTS="no" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ + + USE iso_c_binding + IMPLICIT NONE + TYPE(C_PTR) :: ptr + TYPE(C_FUNPTR) :: funptr + CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr + + ptr = C_LOC(ichr(1:1)) + + ])],[AC_MSG_RESULT([yes]) + HAVE_F2003_REQUIREMENTS=[yes]], + [AC_MSG_RESULT([no])]) +]) + +dnl ------------------------------------------------------------------------- +dnl AC_F9X_MODS() +dnl +dnl Check how F9X handles modules. This macro also checks which +dnl command-line option to use to include the module once it's built. +dnl +AC_DEFUN([AC_F9X_MODS], +[AC_MSG_CHECKING(what $FC does with modules) +AC_LANG_PUSH(Fortran) + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <<EOF + module module + integer foo + end module module +EOF + +eval $ac_compile +modfiles="" +F9XMODEXT="" + +for f in conftest.o module.mod MODULE.mod module.M MODULE.M; do + if test -f "$f" ; then + modfiles="$f" + + case "$f" in + *.o) F9XMODEXT="o" ;; + *.mod) F9XMODEXT="mod" ;; + *.M) F9XMODEXT="M" ;; + esac + fi +done + +echo $modfiles 6>&1 +if test "$modfiles" = file.o; then + echo $ac_n "checking whether $FC -em is saner""... $ac_c" 1>&6 + OLD_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS -em" + eval $ac_compile + modfiles="" + for f in file.o module.mod MODULE.mod module.M MODULE.M; do + test -f $f && modfiles="$f" + done + if test "$modfiles" = "file.o"; then + FCFLAGS=$OLD_FCFLAGS + echo no 6>&1 + else + echo yes 6>&1 + fi +fi +cd .. + +AC_MSG_CHECKING(how $FC finds modules) + +for flag in "-I" "-M" "-p"; do + cat >conftest.$ac_ext <<EOF + program conftest + use module + end program conftest +EOF + + ac_compile='${FC-f90} $FCFLAGS ${flag}conftestdir -c conftest.$ac_ext 1>&AS_MESSAGE_LOG_FD' + + if AC_TRY_EVAL(ac_compile); then + F9XMODFLAG=$flag + break + fi +done + +if test -n "$F9XMODFLAG"; then + echo $F9XMODFLAG 1>&6 + FCFLAGS="$F9XMODFLAG. $FCFLAGS" +else + echo unknown 1>&6 +fi +AC_SUBST(F9XMODFLAG) +AC_SUBST(F9XMODEXT) +rm -rf conftest* +AC_LANG_POP(Fortran) +]) + +dnl ---------------------- +dnl Parallel Test Programs +dnl ---------------------- + +dnl Try link a simple MPI program. + +AC_DEFUN([PAC_PROG_FC_MPI_CHECK],[ + +dnl Change to the Fortran 90 language + AC_LANG_PUSH(Fortran) + +dnl Try link a simple MPI program. + AC_MSG_CHECKING([whether a simple MPI-IO Fortran program can be linked]) + AC_LINK_IFELSE([ + PROGRAM main + INCLUDE 'mpif.h' + INTEGER :: comm, amode, info, fh, ierror + CHARACTER(LEN=1) :: filename + CALL MPI_File_open( comm, filename, amode, info, fh, ierror) + END], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([unable to link a simple MPI-IO Fortran program])]) + +dnl Change to the C language + AC_LANG_POP(Fortran) +]) + diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index b831071..248f03f 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -379,7 +379,7 @@ These five steps are described in detail below. set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE) set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE) set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) - set (HDF5_ENABLE_F2003 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) + set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE) set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE) set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE) @@ -552,7 +552,7 @@ HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF if (HDF5_BUILD_FORTRAN) - HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF + HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON ---------------- HDF5 Advanced Options --------------------- HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF @@ -632,7 +632,7 @@ platform configuration script. # CTestScript.cmake file. Usage: # "ctest -S HDF518LinuxCmake.cmake -C Release -O hdf518shared.log" ############################################################################ -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) # this is the location of the source hardcoded to hdf5-1.8.13 set(CTEST_SOURCE_NAME hdf5-1.8.13) @@ -714,8 +714,8 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING #set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include") #### fortran #### -### enable Fortran 2003 -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON") +### disable Fortran 2003 +#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF") ### disable Fortran #set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF") diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt index a56895a..2b72cac 100644 --- a/release_docs/INSTALL_Cygwin.txt +++ b/release_docs/INSTALL_Cygwin.txt @@ -71,8 +71,7 @@ Preconditions: http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html. The latest supported public release of SZIP is available from - ftp://ftp.hdfgroup.org/lib-external/szip/2.1. Binary distribution can be - found under ftp://ftp.hdfgroup.org/lib-external/szip/2.1/bin/cygwin + ftp://ftp.hdfgroup.org/lib-external/szip/2.1. 2.3 Additional Utilities diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel index 28068f1..2624b3b 100644 --- a/release_docs/INSTALL_parallel +++ b/release_docs/INSTALL_parallel @@ -191,7 +191,7 @@ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 2.5.1 Building HDF5 for Hopper ------------------------------------------ The following steps are for building HDF5 for the Hopper compute -nodes. They would probably work for other Cray XE6 systems but have +nodes. They would probably work for other Cray systems but have not been verified. Obtain a copy from the HDF ftp server: @@ -199,39 +199,32 @@ http://www.hdfgroup.org/ftp/HDF5/current/src/ (link might change, so always double check the HDF group website). $ wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-x.x.x.tar.gz - unpack the tarball -$ cd hdf5-x.x.x/ -$ CC=cc FC=ftn ./configure \ ---prefix=/project/hdf5/hdf5 --enable-parallel --enable-fortran \ ---disable-shared --disable-production -$ make +The entire build process should be done on a MOM node in an interactive allocation and on a file system accessible by all compute nodes. +Request an interactive allocation with qsub: +qsub -I -q debug -l mppwidth=8 -Run make check. make check should be run on the compute nodes, not the -front end nodes. So using a PBS batch script, allocate 4 or more -cores. Always consult with the machine's website on how to create PBS -scripts and allocate nodes for your job. For Hopper, all the -information can be found on: -http://www.nersc.gov/systems/hopper-cray-xe6/ +- create a build directory build-hdf5: + mkdir build-hdf5; cd build-hdf5/ -save the PBS script into your HDF5 build directory. The PBS script -should contain (besides the PBS node allocation requests)the -following: +- configure HDF5: + RUNSERIAL="aprun -q -n 1" RUNPARALLEL="aprun -q -n 6" FC=ftn CC=cc /path/to/source/configure --enable-fortran --enable-parallel --disable-shared --------------------------------------------------------------- -cd $PBS_O_WORKDIR + RUNSERIAL and RUNPARALLEL tells the library how it should launch programs that are part of the build procedure. -##set RUNSERIAL and RUNPARALLEL like this in the PBS script: -export RUNPARALLEL="aprun -n 6" -export RUNSERIAL="aprun -n 1" +- Compile HDF5: + gmake -##execute make check: -make check --------------------------------------------------------------- +- Check HDF5 + gmake check + +- Install HDF5 + gmake install + +The build will be in build-hdf5/hdf5/ (or whatever you specify in --prefix). +To compile other HDF5 applications use the wrappers created by the build (build-hdf5/hdf5/bin/h5pcc or h5fc) -Once the job runs and all is well, install the binary: -$ make install 2.5.2 Hopper known issues ------------------------------ diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 097685e..23b2000 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.212 currently under development +HDF5 version 1.9.215 currently under development ================================================================================ @@ -1216,23 +1216,23 @@ Supported Platforms (emu) Sun Fortran 95 8.6 SunOS_sparc Sun C++ 5.12 SunOS_sparc - Windows 7 Visual Studio 2008 w/ Intel Fortran 14 (cmake) + Windows 7 Visual Studio 2008 (cmake) Visual Studio 2010 w/ Intel Fortran 14 (cmake) - Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) - Cygwin(CYGWIN_NT-6.1 1.7.32(0.274/5/3) gcc(4.8.3) compiler and gfortran) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran) (cmake and autotools) - Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 14 (cmake) + Windows 7 x64 Visual Studio 2008 (cmake) Visual Studio 2010 w/ Intel Fortran 14 (cmake) - Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1 diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt index 6195dc3..ae62ac9 100644 --- a/release_docs/USING_HDF5_CMake.txt +++ b/release_docs/USING_HDF5_CMake.txt @@ -179,7 +179,7 @@ Create a CMakeLists.txt file at the source root. Include the following text in the file: ########################################################## -cmake_minimum_required (VERSION 2.8.12) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5MyApp C CXX) FIND_PACKAGE (HDF5 NAMES hdf5) @@ -232,7 +232,7 @@ ctest # where hdf518Examples is the source folder relative to the location of these scripts ############################################################################ -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY}) set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1ff03d1..b852cc3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_SRC C CXX) #----------------------------------------------------------------------------- @@ -878,8 +878,8 @@ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES option (HDF5_ENABLE_DEBUG_APIS "Turn on debugging in all packages" OFF) if (HDF5_ENABLE_DEBUG_APIS) set_target_properties (${HDF5_LIB_TARGET} PROPERTIES - COMPILE_DEFINITIONS - "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG" + COMPILE_DEFINITIONS + "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG" ) endif (HDF5_ENABLE_DEBUG_APIS) @@ -52,7 +52,9 @@ /* Local Prototypes */ /********************/ static void H5_debug_mask(const char*); - +#ifdef H5_HAVE_PARALLEL +static int H5_mpi_delete_cb(MPI_Comm comm, int keyval, void *attr_val, int *flag); +#endif /*H5_HAVE_PARALLEL*/ /*********************/ /* Package Variables */ @@ -109,6 +111,43 @@ H5_init_library(void) herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI(FAIL) + +#ifdef H5_HAVE_PARALLEL + { + int mpi_initialized; + int mpi_code; + + MPI_Initialized(&mpi_initialized); + +#ifdef H5_HAVE_MPE + /* Initialize MPE instrumentation library. */ + if (!H5_MPEinit_g) + { + int mpe_code; + if (mpi_initialized){ + mpe_code = MPE_Init_log(); + HDassert(mpe_code >=0); + H5_MPEinit_g = TRUE; + } + } +#endif /*H5_HAVE_MPE*/ + + /* add an attribute on MPI_COMM_SELF to call H5_term_library + when it is destroyed, i.e. on MPI_Finalize */ + if (mpi_initialized) { + int key_val; + + if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, + (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, + &key_val, NULL))) + HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code) + + if(MPI_SUCCESS != (mpi_code = MPI_Comm_set_attr(MPI_COMM_SELF, key_val, NULL))) + HMPI_GOTO_ERROR(FAIL, "MPI_Comm_set_attr failed", mpi_code) + } + } +#endif /*H5_HAVE_PARALLEL*/ + /* * Make sure the package information is updated. */ @@ -132,24 +171,6 @@ H5_init_library(void) H5_debug_g.pkg[H5_PKG_V].name = "v"; H5_debug_g.pkg[H5_PKG_Z].name = "z"; -#ifdef H5_HAVE_MPE - /* Initialize MPE instrumentation library. May need to move this - * up earlier if any of the above initialization involves using - * the instrumentation code. - */ - if (!H5_MPEinit_g) - { - int mpe_code; - int mpi_initialized; - MPI_Initialized(&mpi_initialized); - if (mpi_initialized){ - mpe_code = MPE_Init_log(); - HDassert(mpe_code >=0); - H5_MPEinit_g = TRUE; - } - } -#endif - /* * Install atexit() library cleanup routines unless the H5dont_atexit() * has been called. Once we add something to the atexit() list it stays @@ -580,6 +601,27 @@ H5_debug_mask(const char *s) } } /* end H5_debug_mask() */ +#ifdef H5_HAVE_PARALLEL + +/*------------------------------------------------------------------------- + * Function: H5_mpi_delete_cb + * + * Purpose: Callback attribute on MPI_COMM_SELF to terminate the HDF5 + * library when the communicator is destroyed, i.e. on MPI_Finalize. + * + * Return: MPI_SUCCESS + * + * Programmer: Mohamad Chaarawi, February 2015 + * + *------------------------------------------------------------------------- + */ +static int H5_mpi_delete_cb(MPI_Comm UNUSED comm, int UNUSED keyval, void UNUSED *attr_val, int UNUSED *flag) +{ + H5_term_library(); + return MPI_SUCCESS; +} +#endif /*H5_HAVE_PARALLEL*/ + /*------------------------------------------------------------------------- * Function: H5get_libversion @@ -510,22 +510,18 @@ H5B_split(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, unsigned idx, bt_ud->bt->nchildren = nleft; /* - * Update sibling pointers. + * Update other sibling pointers. */ split_bt_ud->bt->left = bt_ud->addr; split_bt_ud->bt->right = bt_ud->bt->right; if(H5F_addr_defined(bt_ud->bt->right)) { - H5B_t *tmp_bt; - H5B_cache_ud_t cache_udata2; /* User-data for metadata cache callback */ + H5B_t *tmp_bt; - cache_udata2.f = f; - cache_udata2.type = shared->type; - cache_udata2.rc_shared = bt_ud->bt->rc_shared; - if(NULL == (tmp_bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, &cache_udata2, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load right sibling") + if(NULL == (tmp_bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, &cache_udata, H5AC_WRITE))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load right sibling") - tmp_bt->left = split_bt_ud->addr; + tmp_bt->left = split_bt_ud->addr; if(H5AC_unprotect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, tmp_bt, H5AC__DIRTIED_FLAG) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -539,6 +535,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") split_bt_ud->bt = NULL; split_bt_ud->addr = HADDR_UNDEF; + split_bt_ud->cache_flags = H5AC__NO_FLAGS_SET; } /* end if */ FUNC_LEAVE_NOAPI(ret_value) @@ -559,8 +556,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, - void *udata) +H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void *udata) { /* * These are defined this way to satisfy alignment constraints. @@ -609,6 +605,8 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, <_key_changed, md_key, udata, rt_key, &rt_key_changed, &split_bt_ud/*out*/)) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "unable to insert key") + + /* Check if the root node split */ if(H5B_INS_NOOP == my_ins) { HDassert(!split_bt_ud.bt); HGOTO_DONE(SUCCEED) @@ -633,7 +631,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, */ H5_CHECK_OVERFLOW(shared->sizeof_rnode,size_t,hsize_t); if(HADDR_UNDEF == (old_root_addr = H5MF_alloc(f, H5FD_MEM_BTREE, dxpl_id, (hsize_t)shared->sizeof_rnode))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "unable to allocate file space to move root") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "unable to allocate file space to move root") /* * Move the node to the new location @@ -641,7 +639,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, /* Make a copy of the old root information */ if(NULL == (new_root_bt = H5B_copy(bt_ud.bt))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTCOPY, FAIL, "unable to copy old root"); + HGOTO_ERROR(H5E_BTREE, H5E_CANTCOPY, FAIL, "unable to copy old root") /* Unprotect the old root so we can move it. Also force it to be marked * dirty so it is written to the new location. */ @@ -651,7 +649,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, /* Move the location of the old root on the disk */ if(H5AC_move_entry(f, H5AC_BT, bt_ud.addr, old_root_addr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to move B-tree root node") + HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to move B-tree root node") bt_ud.addr = old_root_addr; /* Update the split b-tree's left pointer to point to the new location */ @@ -769,7 +767,7 @@ H5B_insert_child(H5B_t *bt, unsigned *bt_flags, unsigned idx, *bt_flags |= H5AC__DIRTIED_FLAG; FUNC_LEAVE_NOAPI(SUCCEED) -} +} /* end H5B_insert_child() */ /*------------------------------------------------------------------------- @@ -1046,6 +1044,10 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, else HDmemcpy(rt_key, H5B_NKEY(bt, shared, idx + 1), type->sizeof_nkey); } /* end if */ + + /* + * Handle changes/additions to children + */ if(H5B_INS_CHANGE == my_ins) { /* * The insertion simply changed the address for the child. @@ -1081,7 +1083,7 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, /* Insert the child */ if(H5B_insert_child(tmp_bt, tmp_bt_flags_ptr, idx, new_child_bt_ud.addr, my_ins, md_key) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, H5B_INS_ERROR, "can't insert child") - } + } /* end else-if */ /* * If this node split, return the mid key (the one that is shared @@ -1113,7 +1115,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5B_INS_ERROR, "unable to unprotect new child") FUNC_LEAVE_NOAPI(ret_value) -} +} /* end H5B_insert_helper() */ /*------------------------------------------------------------------------- @@ -1134,13 +1136,12 @@ static herr_t H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, H5B_operator_t op, void *udata) { - H5B_t *bt = NULL; /* Pointer to current B-tree node */ + H5B_t *bt = NULL; /* Pointer to current B-tree node */ H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ - uint8_t *native = NULL; /* Array of keys in native format */ - haddr_t *child = NULL; /* Array of child pointers */ - herr_t ret_value; /* Return value */ + unsigned u; /* Local index variable */ + herr_t ret_value = H5_ITER_CONT; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -1155,7 +1156,7 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") + HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); @@ -1164,99 +1165,21 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add cache_udata.type = type; cache_udata.rc_shared = rc_shared; if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node") - - if(bt->level > 0) { - haddr_t left_child = bt->child[0]; /* Address of left-most child in node */ - - /* Release current node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - - /* Keep following the left-most child until we reach a leaf node. */ - if((ret_value = H5B_iterate_helper(f, dxpl_id, type, left_child, op, udata)) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLIST, H5_ITER_ERROR, "unable to list B-tree node") - } /* end if */ - else { - unsigned nchildren; /* Number of child pointers */ - haddr_t next_addr; /* Address of next node to the right */ - - /* Allocate space for a copy of the native records & child pointers */ - if(NULL == (native = H5FL_BLK_MALLOC(native_block, shared->sizeof_keys))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, H5_ITER_ERROR, "memory allocation failed for shared B-tree native records") - if(NULL == (child = H5FL_SEQ_MALLOC(haddr_t, (size_t)shared->two_k))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, H5_ITER_ERROR, "memory allocation failed for shared B-tree child addresses") - - /* Cache information from this node */ - nchildren = bt->nchildren; - next_addr = bt->right; + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node") - /* Copy the native keys & child pointers into local arrays */ - HDmemcpy(native, bt->native, shared->sizeof_keys); - HDmemcpy(child, bt->child, (nchildren * sizeof(haddr_t))); - - /* Release current node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - - /* - * We've reached the left-most leaf. Now follow the right-sibling - * pointer from leaf to leaf until we've processed all leaves. - */ - ret_value = H5_ITER_CONT; - while(ret_value == H5_ITER_CONT) { - haddr_t *curr_child; /* Pointer to node's child addresses */ - uint8_t *curr_native; /* Pointer to node's native keys */ - unsigned u; /* Local index variable */ - - /* - * Perform the iteration operator, which might invoke an - * application callback. - */ - for(u = 0, curr_child = child, curr_native = native; u < nchildren && ret_value == H5_ITER_CONT; u++, curr_child++, curr_native += type->sizeof_nkey) { - ret_value = (*op)(f, dxpl_id, curr_native, *curr_child, curr_native + type->sizeof_nkey, udata); - if(ret_value < 0) - HERROR(H5E_BTREE, H5E_CANTLIST, "iterator function failed"); - } /* end for */ - - /* Check for continuing iteration */ - if(ret_value == H5_ITER_CONT) { - /* Check for another node */ - if(H5F_addr_defined(next_addr)) { - /* Protect the next node to the right */ - addr = next_addr; - if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "B-tree node") - - /* Cache information from this node */ - nchildren = bt->nchildren; - next_addr = bt->right; - - /* Copy the native keys & child pointers into local arrays */ - HDmemcpy(native, bt->native, shared->sizeof_keys); - HDmemcpy(child, bt->child, nchildren * sizeof(haddr_t)); - - /* Unprotect node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - } /* end if */ - else - /* Exit loop */ - break; - } /* end if */ - } /* end while */ - } /* end else */ + /* Iterate over node's children */ + for(u = 0; u < bt->nchildren && ret_value == H5_ITER_CONT; u++) { + if(bt->level > 0) + ret_value = H5B_iterate_helper(f, dxpl_id, type, bt->child[u], op, udata); + else + ret_value = (*op)(f, dxpl_id, H5B_NKEY(bt, shared, u), bt->child[u], H5B_NKEY(bt, shared, u + 1), udata); + if(ret_value < 0) + HERROR(H5E_BTREE, H5E_BADITER, "B-tree iteration failed"); + } /* end for */ done: if(bt && H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - if(native) - native = H5FL_BLK_FREE(native_block, native); - if(child) - child = H5FL_SEQ_FREE(haddr_t, child); FUNC_LEAVE_NOAPI(ret_value) } /* end H5B_iterate_helper() */ @@ -1715,7 +1638,7 @@ H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") + HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); @@ -1724,7 +1647,7 @@ H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void cache_udata.type = type; cache_udata.rc_shared = rc_shared; if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load B-tree node") + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load B-tree node") /* Iterate over all children in tree, deleting them */ if(bt->level > 0) { @@ -128,11 +128,11 @@ H5FL_DEFINE_STATIC(H5B2_t); H5B2_t * H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udata) { - H5B2_t *bt2 = NULL; /* Pointer to the B-tree */ - H5B2_hdr_t *hdr = NULL; /* Pointer to the B-tree header */ + H5B2_t *bt2 = NULL; /* Pointer to the B-tree */ + H5B2_hdr_t *hdr = NULL; /* Pointer to the B-tree header */ H5B2_hdr_cache_ud_t cache_udata; /* User-data for callback */ haddr_t hdr_addr; /* B-tree header address */ - H5B2_t *ret_value; /* Return value */ + H5B2_t *ret_value; /* Return value */ FUNC_ENTER_NOAPI(NULL) @@ -147,7 +147,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat /* Create shared v2 B-tree header */ if(HADDR_UNDEF == (hdr_addr = H5B2_hdr_create(f, dxpl_id, cparam, ctx_udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't create v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't create v2 B-tree header") /* Create v2 B-tree wrapper */ if(NULL == (bt2 = H5FL_MALLOC(H5B2_t))) @@ -157,7 +157,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat cache_udata.f = f; cache_udata.ctx_udata = ctx_udata; if(NULL == (hdr = (H5B2_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, &cache_udata, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, NULL, "unable to load B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, NULL, "unable to load B-tree header") /* Point v2 B-tree wrapper at header and bump it's ref count */ bt2->hdr = hdr; @@ -166,7 +166,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat /* Increment # of files using this v2 B-tree header */ if(H5B2_hdr_fuse_incr(bt2->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment file reference count on shared v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment file reference count on shared v2 B-tree header") /* Set file pointer for this v2 B-tree open context */ bt2->f = f; @@ -299,11 +299,11 @@ H5B2_insert(H5B2_t *bt2, hid_t dxpl_id, void *udata) /* Attempt to insert record into B-tree */ if(hdr->depth > 0) { - if(H5B2_insert_internal(hdr, dxpl_id, hdr->depth, NULL, &hdr->root, udata) < 0) + if(H5B2_insert_internal(hdr, dxpl_id, hdr->depth, NULL, &hdr->root, H5B2_POS_ROOT, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree internal node") } /* end if */ else { - if(H5B2_insert_leaf(hdr, dxpl_id, &hdr->root, udata) < 0) + if(H5B2_insert_leaf(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree leaf node") } /* end else */ @@ -420,12 +420,13 @@ htri_t H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, void *op_data) { - H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ + H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ H5B2_node_ptr_t curr_node_ptr; /* Node pointer info for current node */ unsigned depth; /* Current depth of the tree */ int cmp; /* Comparison value of records */ unsigned idx; /* Location of record which matches key */ - htri_t ret_value = TRUE; /* Return value */ + H5B2_nodepos_t curr_pos; /* Position of the current node */ + htri_t ret_value = TRUE; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -441,16 +442,39 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(curr_node_ptr.node_nrec == 0) HGOTO_DONE(FALSE) + /* Check record against min & max records in tree, to attempt to quickly + * find candidates or avoid further searching. + */ + if(hdr->min_native_rec != NULL) { + if((cmp = (hdr->cls->compare)(udata, hdr->min_native_rec)) < 0) + HGOTO_DONE(FALSE) /* Less than the least record--not found */ + else if(cmp == 0) { /* Record is found */ + if(op && (op)(hdr->min_native_rec, op_data) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") + HGOTO_DONE(TRUE) + } /* end if */ + } /* end if */ + if(hdr->max_native_rec != NULL) { + if((cmp = (hdr->cls->compare)(udata, hdr->max_native_rec)) > 0) + HGOTO_DONE(FALSE) /* Greater than the greatest record--not found */ + else if(cmp == 0) { /* Record is found */ + if(op && (op)(hdr->max_native_rec, op_data) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") + HGOTO_DONE(TRUE) + } /* end if */ + } /* end if */ + + /* Current depth of the tree */ + depth = hdr->depth; + /* Walk down B-tree to find record or leaf node where record is located */ cmp = -1; - while(depth > 0 && cmp != 0) { + curr_pos = H5B2_POS_ROOT; + while(depth > 0) { H5B2_internal_t *internal; /* Pointer to internal node in B-tree */ H5B2_node_ptr_t next_node_ptr; /* Node pointer info for next node */ @@ -467,6 +491,24 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, /* Get node pointer for next node to search */ next_node_ptr=internal->node_ptrs[idx]; + /* Set the position of the next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_LEFT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_RIGHT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + /* Unlock current node */ if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_INT, curr_node_ptr.addr, internal, H5AC__NO_FLAGS_SET) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -523,6 +565,27 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") } /* end if */ + + /* Check for record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ } /* end else */ /* Unlock current node */ @@ -577,9 +640,6 @@ H5B2_index(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hsize_t idx, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(curr_node_ptr.node_nrec == 0) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree has no records") @@ -588,6 +648,9 @@ H5B2_index(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hsize_t idx, if(idx >= curr_node_ptr.all_nrec) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree doesn't have that many records") + /* Current depth of the tree */ + depth = hdr->depth; + /* Check for reverse indexing and map requested index to appropriate forward index */ if(order == H5_ITER_DEC) idx = curr_node_ptr.all_nrec - (idx + 1); @@ -736,7 +799,7 @@ H5B2_remove(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_remove_t op, hbool_t depth_decreased = FALSE; /* Flag to indicate whether the depth of the B-tree decreased */ if(H5B2_remove_internal(hdr, dxpl_id, &depth_decreased, NULL, hdr->depth, - &(hdr->cache_info), NULL, &hdr->root, udata, op, op_data) < 0) + &(hdr->cache_info), NULL, H5B2_POS_ROOT, &hdr->root, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") /* Check for decreasing the depth of the B-tree */ @@ -754,7 +817,7 @@ H5B2_remove(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_remove_t op, } /* end for */ } /* end if */ else { - if(H5B2_remove_leaf(hdr, dxpl_id, &hdr->root, udata, op, op_data) < 0) + if(H5B2_remove_leaf(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -818,7 +881,7 @@ H5B2_remove_by_idx(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hbool_t depth_decreased = FALSE; /* Flag to indicate whether the depth of the B-tree decreased */ if(H5B2_remove_internal_by_idx(hdr, dxpl_id, &depth_decreased, NULL, hdr->depth, - &(hdr->cache_info), NULL, &hdr->root, idx, op, op_data) < 0) + &(hdr->cache_info), NULL, &hdr->root, H5B2_POS_ROOT, idx, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") /* Check for decreasing the depth of the B-tree */ @@ -836,7 +899,7 @@ H5B2_remove_by_idx(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, } /* end for */ } /* end if */ else { - if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, &hdr->root, (unsigned)idx, op, op_data) < 0) + if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, (unsigned)idx, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -970,6 +1033,7 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, { H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ H5B2_node_ptr_t curr_node_ptr; /* Node pointer info for current node */ + H5B2_nodepos_t curr_pos; /* Position of current node */ unsigned depth; /* Current depth of the tree */ int cmp; /* Comparison value of records */ unsigned idx; /* Location of record which matches key */ @@ -990,16 +1054,17 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(0 == curr_node_ptr.node_nrec) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree has no records") + /* Current depth of the tree */ + depth = hdr->depth; + /* Walk down B-tree to find record or leaf node where record is located */ cmp = -1; - while(depth > 0 && cmp != 0) { + curr_pos = H5B2_POS_ROOT; + while(depth > 0) { unsigned internal_flags = H5AC__NO_FLAGS_SET; H5B2_internal_t *internal; /* Pointer to internal node in B-tree */ H5B2_node_ptr_t next_node_ptr; /* Node pointer info for next node */ @@ -1017,6 +1082,24 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, /* Get node pointer for next node to search */ next_node_ptr = internal->node_ptrs[idx]; + /* Set the position of the next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_LEFT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_RIGHT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + /* Unlock current node */ if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_INT, curr_node_ptr.addr, internal, H5AC__NO_FLAGS_SET) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -1092,6 +1175,27 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, HGOTO_ERROR(H5E_BTREE, H5E_CANTMODIFY, FAIL, "'modify' callback failed for B-tree find operation") } /* end if */ + + /* Check for modified record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ } /* end else */ /* Mark the node as dirty if it changed */ diff --git a/src/H5B2cache.c b/src/H5B2cache.c index 1554501..1e2a6a3 100644 --- a/src/H5B2cache.c +++ b/src/H5B2cache.c @@ -15,11 +15,11 @@ /*------------------------------------------------------------------------- * - * Created: H5B2cache.c - * Jan 31 2005 - * Quincey Koziol <koziol@ncsa.uiuc.edu> + * Created: H5B2cache.c + * Jan 31 2005 + * Quincey Koziol <koziol@hdfgroup.org> * - * Purpose: Implement v2 B-tree metadata cache methods. + * Purpose: Implement v2 B-tree metadata cache methods. * *------------------------------------------------------------------------- */ @@ -174,7 +174,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Allocate new B-tree header and reset cache info */ if(NULL == (hdr = H5B2_hdr_alloc(udata->f))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "allocation failed for B-tree header") /* Wrap the local buffer for serialized header info */ if(NULL == (wb = H5WB_wrap(hdr_buf, sizeof(hdr_buf)))) @@ -186,7 +186,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Read header from disk */ if(H5F_block_read(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree header") /* Get temporary pointer to serialized header */ p = buf; @@ -203,7 +203,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* B-tree class */ id = (H5B2_subid_t)*p++; if(id >= H5B2_NUM_BTREE_ID) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Node size (in bytes) */ UINT32DECODE(p, cparam.node_size); @@ -234,12 +234,12 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Verify checksum */ if(stored_chksum != computed_chksum) - HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 B-tree header") /* Initialize B-tree header info */ cparam.cls = H5B2_client_class_g[id]; if(H5B2_hdr_init(hdr, &cparam, udata->ctx_udata, depth) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't initialize B-tree header info") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't initialize B-tree header info") /* Set the B-tree header's address */ hdr->addr = addr; @@ -342,17 +342,17 @@ H5B2__cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, /* Metadata checksum */ UINT32ENCODE(p, metadata_chksum); - /* Write the B-tree header. */ + /* Write the B-tree header. */ HDassert((size_t)(p - buf) == hdr->hdr_size); - if(H5F_block_write(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree header to disk") + if(H5F_block_write(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree header to disk") - hdr->cache_info.is_dirty = FALSE; + hdr->cache_info.is_dirty = FALSE; } /* end if */ if(destroy) if(H5B2__cache_hdr_dest(f, hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") done: /* Release resources */ @@ -445,17 +445,17 @@ done: /*------------------------------------------------------------------------- - * Function: H5B2__cache_hdr_size + * Function: H5B2__cache_hdr_size * - * Purpose: Compute the size in bytes of a B-tree header - * on disk, and return it in *size_ptr. On failure, - * the value of *size_ptr is undefined. + * Purpose: Compute the size in bytes of a B-tree header + * on disk, and return it in *size_ptr. On failure, + * the value of *size_ptr is undefined. * - * Return: Non-negative on success/Negative on failure + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol - * koziol@ncsa.uiuc.edu - * Feb 1 2005 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Feb 1 2005 * *------------------------------------------------------------------------- */ @@ -466,6 +466,7 @@ H5B2__cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_ /* check arguments */ HDassert(f); + HDassert(hdr); HDassert(size_ptr); /* Set size value */ @@ -519,14 +520,14 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Increment ref. count on B-tree header */ if(H5B2_hdr_incr(udata->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") /* Share B-tree information */ internal->hdr = udata->hdr; /* Read header from disk */ if(H5F_block_read(f, H5FD_MEM_BTREE, addr, udata->hdr->node_size, dxpl_id, udata->hdr->page) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree internal node") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree internal node") p = udata->hdr->page; @@ -541,7 +542,7 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* B-tree type */ if(*p++ != (uint8_t)udata->hdr->cls->id) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Allocate space for the native keys in memory */ if(NULL == (internal->int_native = (uint8_t *)H5FL_FAC_MALLOC(udata->hdr->node_info[udata->depth].nat_rec_fac))) @@ -593,7 +594,7 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Verify checksum */ if(stored_chksum != computed_chksum) - HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 internal node") + HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 internal node") /* Set return value */ ret_value = internal; @@ -853,7 +854,7 @@ H5B2__cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata /* Allocate new leaf node and reset cache info */ if(NULL == (leaf = H5FL_MALLOC(H5B2_leaf_t))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") HDmemset(&leaf->cache_info, 0, sizeof(H5AC_info_t)); /* Set the B-tree header's file context for this operation */ @@ -861,33 +862,33 @@ H5B2__cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata /* Increment ref. count on B-tree header */ if(H5B2_hdr_incr(udata->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") /* Share B-tree header information */ leaf->hdr = udata->hdr; /* Read header from disk */ if(H5F_block_read(udata->f, H5FD_MEM_BTREE, addr, udata->hdr->node_size, dxpl_id, udata->hdr->page) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree leaf node") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree leaf node") p = udata->hdr->page; /* Magic number */ if(HDmemcmp(p, H5B2_LEAF_MAGIC, (size_t)H5_SIZEOF_MAGIC)) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node signature") + HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node signature") p += H5_SIZEOF_MAGIC; /* Version */ if(*p++ != H5B2_LEAF_VERSION) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node version") + HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node version") /* B-tree type */ if(*p++ != (uint8_t)udata->hdr->cls->id) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Allocate space for the native keys in memory */ if(NULL == (leaf->leaf_native = (uint8_t *)H5FL_FAC_MALLOC(udata->hdr->node_info[0].nat_rec_fac))) - HGOTO_ERROR(H5E_BTREE, H5E_NOSPACE, NULL, "memory allocation failed for B-tree leaf native keys") + HGOTO_ERROR(H5E_BTREE, H5E_NOSPACE, NULL, "memory allocation failed for B-tree leaf native keys") /* Set the number of records in the leaf */ leaf->nrec = udata->nrec; diff --git a/src/H5B2hdr.c b/src/H5B2hdr.c index 443a2e5..452a35d 100644 --- a/src/H5B2hdr.c +++ b/src/H5B2hdr.c @@ -166,7 +166,7 @@ HDmemset(hdr->page, 0, hdr->node_size); hdr->node_info[0].cum_max_nrec = hdr->node_info[0].max_nrec; hdr->node_info[0].cum_max_nrec_size = 0; if(NULL == (hdr->node_info[0].nat_rec_fac = H5FL_fac_init(hdr->cls->nrec_size * hdr->node_info[0].max_nrec))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "can't create node native key block factory") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "can't create node native key block factory") hdr->node_info[0].node_ptr_fac = NULL; /* Allocate array of pointers to internal node native keys */ @@ -250,7 +250,7 @@ H5B2_hdr_alloc(H5F_t *f) /* Allocate space for the shared information */ if(NULL == (hdr = H5FL_CALLOC(H5B2_hdr_t))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree header") /* Assign non-zero information */ hdr->f = f; @@ -298,19 +298,19 @@ H5B2_hdr_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, /* Allocate v2 B-tree header */ if(NULL == (hdr = H5B2_hdr_alloc(f))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "allocation failed for B-tree header") /* Initialize shared B-tree info */ if(H5B2_hdr_init(hdr, cparam, ctx_udata, (uint16_t)0) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, HADDR_UNDEF, "can't create shared B-tree info") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, HADDR_UNDEF, "can't create shared B-tree info") /* Allocate space for the header on disk */ if(HADDR_UNDEF == (hdr->addr = H5MF_alloc(f, H5FD_MEM_BTREE, dxpl_id, (hsize_t)hdr->hdr_size))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "file allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "file allocation failed for B-tree header") /* Cache the new B-tree node */ if(H5AC_insert_entry(f, dxpl_id, H5AC_BT2_HDR, hdr->addr, hdr, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, HADDR_UNDEF, "can't add B-tree header to cache") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, HADDR_UNDEF, "can't add B-tree header to cache") /* Set address of v2 B-tree header to return */ ret_value = hdr->addr; @@ -398,15 +398,15 @@ done: /*------------------------------------------------------------------------- - * Function: H5B2_hdr_fuse_incr + * Function: H5B2_hdr_fuse_incr * - * Purpose: Increment file reference count on shared v2 B-tree header + * Purpose: Increment file reference count on shared v2 B-tree header * - * Return: Non-negative on success/Negative on failure + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol - * koziol@hdfgroup.org - * Oct 27 2009 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Oct 27 2009 * *------------------------------------------------------------------------- */ @@ -426,15 +426,15 @@ H5B2_hdr_fuse_incr(H5B2_hdr_t *hdr) /*------------------------------------------------------------------------- - * Function: H5B2_hdr_fuse_decr + * Function: H5B2_hdr_fuse_decr * - * Purpose: Decrement file reference count on shared v2 B-tree header + * Purpose: Decrement file reference count on shared v2 B-tree header * - * Return: Non-negative on success/Negative on failure + * Return: The file's reference count after the decrement. (Can't fail) * - * Programmer: Quincey Koziol - * koziol@hdfgroup.org - * Oct 27 2009 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Oct 27 2009 * *------------------------------------------------------------------------- */ @@ -542,6 +542,16 @@ H5B2_hdr_free(H5B2_hdr_t *hdr) hdr->node_info = H5FL_SEQ_FREE(H5B2_node_info_t, hdr->node_info); } /* end if */ + /* Release the min & max record info, if set */ + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + /* Free B-tree header info */ hdr = H5FL_FREE(H5B2_hdr_t, hdr); diff --git a/src/H5B2int.c b/src/H5B2int.c index 630ff98..ef83e93 100644 --- a/src/H5B2int.c +++ b/src/H5B2int.c @@ -172,9 +172,9 @@ H5B2_locate_record(const H5B2_class_t *type, unsigned nrec, size_t *rec_off, *------------------------------------------------------------------------- */ static herr_t -H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *curr_node_ptr, - unsigned *parent_cache_info_flags_ptr, H5B2_internal_t *internal, - unsigned *internal_flags_ptr, unsigned idx) +H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, + H5B2_node_ptr_t *curr_node_ptr, unsigned *parent_cache_info_flags_ptr, + H5B2_internal_t *internal, unsigned *internal_flags_ptr, unsigned idx) { const H5AC_class_t *child_class; /* Pointer to child node's class info */ haddr_t left_addr, right_addr; /* Addresses of left & right child nodes */ @@ -214,7 +214,7 @@ H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *cur left_addr = internal->node_ptrs[idx].addr; right_addr = internal->node_ptrs[idx + 1].addr; - /* Protect both leafs */ + /* Protect both leaves */ if(NULL == (left_int = H5B2_protect_internal(hdr, dxpl_id, left_addr, internal->node_ptrs[idx].node_nrec, (depth - 1), H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree internal node") if(NULL == (right_int = H5B2_protect_internal(hdr, dxpl_id, right_addr, internal->node_ptrs[idx + 1].node_nrec, (depth - 1), H5AC_WRITE))) @@ -243,7 +243,7 @@ H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *cur left_addr = internal->node_ptrs[idx].addr; right_addr = internal->node_ptrs[idx + 1].addr; - /* Protect both leafs */ + /* Protect both leaves */ if(NULL == (left_leaf = H5B2_protect_leaf(hdr, dxpl_id, left_addr, internal->node_ptrs[idx].node_nrec, H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree leaf node") if(NULL == (right_leaf = H5B2_protect_leaf(hdr, dxpl_id, right_addr, internal->node_ptrs[idx + 1].node_nrec, H5AC_WRITE))) @@ -341,7 +341,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree leaf node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_split1 */ +} /* end H5B2_split1() */ /*------------------------------------------------------------------------- @@ -646,7 +646,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_redistribute2 */ +} /* end H5B2_redistribute2() */ /*------------------------------------------------------------------------- @@ -1033,7 +1033,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_redistribute3 */ +} /* end H5B2_redistribute3() */ /*------------------------------------------------------------------------- @@ -1505,7 +1505,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_swap_leaf */ +} /* end H5B2_swap_leaf() */ /*------------------------------------------------------------------------- @@ -1523,7 +1523,7 @@ done: */ herr_t H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, - void *udata) + H5B2_nodepos_t curr_pos, void *udata) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ int cmp; /* Comparison value of records */ @@ -1574,6 +1574,27 @@ H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, /* Update record count for current node */ leaf->nrec++; + /* Check for new record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ + done: /* Release the B-tree leaf node (marked as dirty) */ if(leaf && H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_LEAF, curr_node_ptr->addr, leaf, H5AC__DIRTIED_FLAG) < 0) @@ -1599,11 +1620,12 @@ done: herr_t H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, unsigned *parent_cache_info_flags_ptr, H5B2_node_ptr_t *curr_node_ptr, - void *udata) + H5B2_nodepos_t curr_pos, void *udata) { - H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_internal_t *internal = NULL; /* Pointer to internal node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; unsigned idx; /* Location of record which matches key */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of node */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -1618,7 +1640,7 @@ H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, if(NULL == (internal = H5B2_protect_internal(hdr, dxpl_id, curr_node_ptr->addr, curr_node_ptr->node_nrec, depth, H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree internal node") -/* Split or redistribute child node pointers, if necessary */ + /* Split or redistribute child node pointers, if necessary */ { int cmp; /* Comparison value of records */ unsigned retries; /* Number of times to attempt redistribution */ @@ -1691,13 +1713,25 @@ H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, } /* end while */ } /* end block */ + /* Check if this node is left/right-most */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end else */ + } /* end if */ + /* Attempt to insert node */ if(depth > 1) { - if(H5B2_insert_internal(hdr, dxpl_id, (depth - 1), &internal_flags, &internal->node_ptrs[idx], udata) < 0) + if(H5B2_insert_internal(hdr, dxpl_id, (depth - 1), &internal_flags, &internal->node_ptrs[idx], next_pos, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree internal node") } /* end if */ else { - if(H5B2_insert_leaf(hdr, dxpl_id, &internal->node_ptrs[idx], udata) < 0) + if(H5B2_insert_leaf(hdr, dxpl_id, &internal->node_ptrs[idx], next_pos, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree leaf node") } /* end else */ @@ -2074,7 +2108,7 @@ done: */ herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, - void *udata, H5B2_remove_t op, void *op_data) + H5B2_nodepos_t curr_pos, void *udata, H5B2_remove_t op, void *op_data) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ haddr_t leaf_addr = HADDR_UNDEF; /* Leaf address on disk */ @@ -2102,6 +2136,27 @@ H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, if(H5B2_locate_record(hdr->cls, leaf->nrec, hdr->nat_off, leaf->leaf_native, udata, &idx) != 0) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "record is not in B-tree") + /* Check for invalidating the min/max record for the tree */ + if(H5B2_POS_MIDDLE != curr_pos) { + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + } /* end if */ + /* Make 'remove' callback if there is one */ if(op) if((op)(H5B2_LEAF_NREC(leaf, hdr, idx), op_data) < 0) @@ -2154,13 +2209,14 @@ done: herr_t H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - unsigned *parent_cache_info_flags_ptr, H5B2_node_ptr_t *curr_node_ptr, - void *udata, H5B2_remove_t op, void *op_data) + unsigned *parent_cache_info_flags_ptr, H5B2_nodepos_t curr_pos, + H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, void *op_data) { H5AC_info_t *new_cache_info; /* Pointer to new cache info */ unsigned *new_cache_info_flags_ptr = NULL; H5B2_node_ptr_t *new_node_ptr; /* Pointer to new node pointer */ H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of next node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; haddr_t internal_addr; /* Address of internal node */ size_t merge_nrec; /* Number of records to merge node at */ @@ -2211,6 +2267,9 @@ H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, /* Set flag to indicate root was collapsed */ collapsed_root = TRUE; + + /* Indicate position of next node */ + next_pos = H5B2_POS_ROOT; } /* end if */ /* Merge or redistribute child node pointers, if necessary */ else { @@ -2306,16 +2365,28 @@ H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, new_cache_info_flags_ptr = &internal_flags; new_cache_info = &internal->cache_info; new_node_ptr = &internal->node_ptrs[idx]; + + /* Indicate position of next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end if */ + } /* end if */ } /* end else */ /* Attempt to remove record from child node */ if(depth > 1) { if(H5B2_remove_internal(hdr, dxpl_id, depth_decreased, swap_loc, depth - 1, - new_cache_info, new_cache_info_flags_ptr, new_node_ptr, udata, op, op_data) < 0) + new_cache_info, new_cache_info_flags_ptr, next_pos, new_node_ptr, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") } /* end if */ else { - if(H5B2_remove_leaf(hdr, dxpl_id, new_node_ptr, udata, op, op_data) < 0) + if(H5B2_remove_leaf(hdr, dxpl_id, new_node_ptr, next_pos, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -2355,8 +2426,8 @@ done: */ herr_t H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, unsigned idx, H5B2_remove_t op, - void *op_data) + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + unsigned idx, H5B2_remove_t op, void *op_data) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ haddr_t leaf_addr = HADDR_UNDEF; /* Leaf address on disk */ @@ -2380,6 +2451,27 @@ H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, HDassert(leaf->nrec == curr_node_ptr->node_nrec); HDassert(idx < leaf->nrec); + /* Check for invalidating the min/max record for the tree */ + if(H5B2_POS_MIDDLE != curr_pos) { + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + } /* end if */ + /* Make 'remove' callback if there is one */ if(op) if((op)(H5B2_LEAF_NREC(leaf, hdr, idx), op_data) < 0) @@ -2434,13 +2526,14 @@ herr_t H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, unsigned *parent_cache_info_flags_ptr, - H5B2_node_ptr_t *curr_node_ptr, hsize_t n, H5B2_remove_t op, - void *op_data) + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t n, + H5B2_remove_t op, void *op_data) { H5AC_info_t *new_cache_info; /* Pointer to new cache info */ unsigned *new_cache_info_flags_ptr = NULL; H5B2_node_ptr_t *new_node_ptr; /* Pointer to new node pointer */ H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of next node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; haddr_t internal_addr; /* Address of internal node */ size_t merge_nrec; /* Number of records to merge node at */ @@ -2494,6 +2587,9 @@ H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, /* Set flag to indicate root was collapsed */ collapsed_root = TRUE; + + /* Indicate position of next node */ + next_pos = H5B2_POS_ROOT; } /* end if */ /* Merge or redistribute child node pointers, if necessary */ else { @@ -2641,16 +2737,28 @@ H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, new_cache_info_flags_ptr = &internal_flags; new_cache_info = &internal->cache_info; new_node_ptr = &internal->node_ptrs[idx]; + + /* Indicate position of next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end if */ + } /* end if */ } /* end else */ /* Attempt to remove record from child node */ if(depth > 1) { if(H5B2_remove_internal_by_idx(hdr, dxpl_id, depth_decreased, swap_loc, depth - 1, - new_cache_info, new_cache_info_flags_ptr, new_node_ptr, n, op, op_data) < 0) + new_cache_info, new_cache_info_flags_ptr, new_node_ptr, next_pos, n, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") } /* end if */ else { - if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, new_node_ptr, (unsigned)n, op, op_data) < 0) + if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, new_node_ptr, next_pos, (unsigned)n, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ diff --git a/src/H5B2pkg.h b/src/H5B2pkg.h index b820853..7a538bd 100644 --- a/src/H5B2pkg.h +++ b/src/H5B2pkg.h @@ -172,6 +172,8 @@ typedef struct H5B2_hdr_t { uint8_t *page; /* Common disk page for I/O */ size_t *nat_off; /* Array of offsets of native records */ H5B2_node_info_t *node_info; /* Table of node info structs for current depth of B-tree */ + uint8_t *min_native_rec; /* Pointer to minimum native record */ + uint8_t *max_native_rec; /* Pointer to maximum native record */ /* Client information (not stored) */ const H5B2_class_t *cls; /* Class of B-tree client */ @@ -208,6 +210,14 @@ struct H5B2_t { H5F_t *f; /* Pointer to file for v2 B-tree */ }; +/* Node position, for min/max determination */ +typedef enum H5B2_nodepos_t { + H5B2_POS_ROOT, /* Node is root (i.e. both right & left-most in tree) */ + H5B2_POS_RIGHT, /* Node is right-most in tree, at a given depth */ + H5B2_POS_LEFT, /* Node is left-most in tree, at a given depth */ + H5B2_POS_MIDDLE /* Node is neither right or left-most in tree */ +} H5B2_nodepos_t; + /* Callback info for loading a free space header into the cache */ typedef struct H5B2_hdr_cache_ud_t { H5F_t *f; /* File that v2 b-tree header is within */ @@ -304,9 +314,9 @@ H5_DLL herr_t H5B2_internal_free(H5B2_internal_t *i); /* Routines for inserting records */ H5_DLL herr_t H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, unsigned *parent_cache_info_flags_ptr, - H5B2_node_ptr_t *curr_node_ptr, void *udata); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, void *udata); H5_DLL herr_t H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, void *udata); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, void *udata); /* Routines for iterating over nodes/records */ H5_DLL herr_t H5B2_iterate_node(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, @@ -326,19 +336,21 @@ H5_DLL herr_t H5B2_neighbor_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, /* Routines for removing records */ H5_DLL herr_t H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, - hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - hbool_t * parent_cache_info_dirtied_ptr, H5B2_node_ptr_t *curr_node_ptr, void *udata, + hbool_t *depth_decreased, void *swap_loc, unsigned depth, + H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr, + H5B2_nodepos_t curr_pos, H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, - void *op_data); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + void *udata, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - hbool_t * parent_cache_info_dirtied_ptr, H5B2_node_ptr_t *curr_node_ptr, hsize_t idx, + hbool_t *depth_decreased, void *swap_loc, unsigned depth, + H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr, + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t idx, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, unsigned idx, H5B2_remove_t op, - void *op_data); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + unsigned idx, H5B2_remove_t op, void *op_data); /* Routines for deleting nodes */ H5_DLL herr_t H5B2_delete_node(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, diff --git a/src/H5B2stat.c b/src/H5B2stat.c index 5e48a6f..5d159ed 100644 --- a/src/H5B2stat.c +++ b/src/H5B2stat.c @@ -13,10 +13,10 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu> +/* Programmer: Quincey Koziol <koziol@hdfgroup.org> * Monday, March 6, 2006 * - * Purpose: v2 B-tree metadata statistics functions. + * Purpose: v2 B-tree metadata statistics functions. * */ @@ -24,15 +24,15 @@ /* Module Setup */ /****************/ -#define H5B2_PACKAGE /*suppress error about including H5B2pkg */ +#define H5B2_PACKAGE /* Suppress error about including H5B2pkg */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5B2pkg.h" /* v2 B-trees */ -#include "H5Eprivate.h" /* Error handling */ +#include "H5private.h" /* Generic Functions */ +#include "H5B2pkg.h" /* v2 B-trees */ +#include "H5Eprivate.h" /* Error handling */ /****************/ @@ -71,14 +71,13 @@ /*------------------------------------------------------------------------- - * Function: H5B2_stat_info + * Function: H5B2_stat_info * - * Purpose: Retrieve metadata statistics for a v2 B-tree + * Purpose: Retrieve metadata statistics for a v2 B-tree * - * Return: Success: non-negative - * Failure: negative + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol + * Programmer: Quincey Koziol * Monday, March 6, 2006 * *------------------------------------------------------------------------- @@ -105,7 +104,7 @@ H5B2_stat_info(H5B2_t *bt2, H5B2_stat_t *info) * Purpose: Iterate over all the records in the B-tree, collecting * storage info. * - * Return: non-negative on success, negative on error + * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * June 19 2007 @@ -115,7 +114,7 @@ H5B2_stat_info(H5B2_t *bt2, H5B2_stat_t *info) herr_t H5B2_size(H5B2_t *bt2, hid_t dxpl_id, hsize_t *btree_size) { - H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ + H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 039ebdc..35c2afa 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -195,7 +195,7 @@ H5B_class_t H5B_BTREE[1] = {{ H5D__btree_remove, /*remove */ H5D__btree_decode_key, /*decode */ H5D__btree_encode_key, /*encode */ - H5D__btree_debug_key, /*debug */ + H5D__btree_debug_key /*debug */ }}; @@ -228,7 +228,7 @@ H5D__btree_get_shared(const H5F_t UNUSED *f, const void *_udata) HDassert(udata); HDassert(udata->storage); - HDassert(udata->storage->idx_type == H5D_CHUNK_BTREE); + HDassert(udata->storage->idx_type == H5D_CHUNK_IDX_BTREE); HDassert(udata->storage->u.btree.shared); /* Return the pointer to the ref-count object */ @@ -868,7 +868,7 @@ done: static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info) { - H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ + H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -939,7 +939,7 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1111,7 +1111,7 @@ H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1453,7 +1453,7 @@ H5D_btree_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent /* Reset "fake" storage info */ HDmemset(&storage, 0, sizeof(storage)); - storage.idx_type = H5D_CHUNK_BTREE; + storage.idx_type = H5D_CHUNK_IDX_BTREE; /* Allocate the shared structure */ if(H5D__btree_shared_create(f, &storage, ndims) < 0) diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 46f0a4f..9f2a020 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -318,24 +318,22 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz uint32_t data_size, const void *buf) { const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset layout */ - H5D_chunk_ud_t udata; /* User data for querying chunk info */ + H5D_chunk_ud_t udata; /* User data for querying chunk info */ hsize_t chunk_idx; H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */ int space_ndims; /* Dataset's space rank */ hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */ - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL) /* Allocate data space and initialize it if it hasn't been. */ - if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { + if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) /* Allocate storage */ if(H5D__alloc_storage(dset, dxpl_id, H5D_ALLOC_WRITE, FALSE, NULL) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize storage") - } /* end if */ - /* Retrieve the dataset dimensions */ if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL)) < 0) @@ -385,11 +383,9 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz /* Evict the entry from the cache if present, but do not flush * it to disk */ - if(UINT_MAX != udata.idx_hint) { - if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, - rdcc->slot[udata.idx_hint], FALSE) < 0) + if(UINT_MAX != udata.idx_hint) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[udata.idx_hint], FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk") - } /* end if */ /* Write the data to the file */ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, data_size, dxpl_id, buf) < 0) @@ -1317,13 +1313,12 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t new_chunk_info->mspace_shared = FALSE; /* Copy the chunk's coordinates */ - for(u=0; u<fm->f_ndims; u++) - new_chunk_info->coords[u]=coords[u]; - new_chunk_info->coords[fm->f_ndims]=0; + HDmemcpy(new_chunk_info->coords, coords, sizeof(hsize_t) * fm->f_ndims); + new_chunk_info->coords[fm->f_ndims] = 0; /* Insert the new chunk into the skip list */ if(H5SL_insert(fm->sel_chunks, new_chunk_info, &new_chunk_info->index) < 0) { - H5D__free_chunk_info(new_chunk_info, NULL, NULL); + H5D__free_chunk_info(new_chunk_info, NULL, NULL); HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINSERT, FAIL, "can't insert chunk into skip list") } /* end if */ @@ -1508,7 +1503,7 @@ H5D__chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, cons H5D_chunk_file_iter_ud_t *udata = (H5D_chunk_file_iter_ud_t *)_udata; /* User data for operation */ H5D_chunk_map_t *fm = udata->fm; /* File<->memory chunk mapping info */ H5D_chunk_info_t *chunk_info; /* Chunk information for current chunk */ - hsize_t coords_in_chunk[H5O_LAYOUT_NDIMS]; /* Coordinates of element in chunk */ + hsize_t coords_in_chunk[H5O_LAYOUT_NDIMS]; /* Coordinates of element in chunk */ hsize_t chunk_index; /* Chunk index */ unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ @@ -2238,8 +2233,6 @@ H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last) static herr_t H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *udata) { - unsigned u; /* Local index variable */ - FUNC_ENTER_STATIC_NOERR /* Sanity check */ @@ -2250,8 +2243,7 @@ H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *ud HDassert(udata->common.offset); /* Stored the information to cache */ - for(u = 0; u < udata->common.layout->ndims; u++) - last->offset[u] = udata->common.offset[u]; + HDmemcpy(last->offset, udata->common.offset, sizeof(hsize_t) * udata->common.layout->ndims); last->nbytes = udata->nbytes; last->filter_mask = udata->filter_mask; last->addr = udata->addr; @@ -2820,7 +2812,6 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, haddr_t chunk_addr = HADDR_UNDEF; /* Address of chunk on disk */ size_t chunk_size; /*size of a chunk */ void *chunk = NULL; /*the file chunk */ - unsigned u; /*counters */ void *ret_value; /*return value */ FUNC_ENTER_PACKAGE @@ -2846,9 +2837,13 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, ent = rdcc->slot[udata->idx_hint]; #ifndef NDEBUG +{ + unsigned u; /*counters */ + /* Make sure this is the right chunk */ for(u = 0; u < layout->u.chunk.ndims; u++) HDassert(io_info->store->chunk.offset[u] == ent->offset[u]); +} #endif /* NDEBUG */ /* @@ -2990,15 +2985,12 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk(s) from cache") /* Create a new entry */ - if(NULL == (ent = H5FL_MALLOC(H5D_rdcc_ent_t))) + if(NULL == (ent = H5FL_CALLOC(H5D_rdcc_ent_t))) HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, NULL, "can't allocate raw data chunk entry") - ent->locked = 0; - ent->dirty = FALSE; - ent->deleted = FALSE; + /* Initialize the new entry */ ent->chunk_addr = chunk_addr; - for(u = 0; u < layout->u.chunk.ndims; u++) - ent->offset[u] = io_info->store->chunk.offset[u]; + HDmemcpy(ent->offset, io_info->store->chunk.offset, sizeof(hsize_t) * layout->u.chunk.ndims); H5_ASSIGN_OVERFLOW(ent->rd_count, chunk_size, size_t, uint32_t); H5_ASSIGN_OVERFLOW(ent->wr_count, chunk_size, size_t, uint32_t); ent->chunk = (uint8_t *)chunk; @@ -3011,16 +3003,13 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, rdcc->nused++; /* Add it to the linked list */ - ent->next = NULL; if(rdcc->tail) { rdcc->tail->next = ent; ent->prev = rdcc->tail; rdcc->tail = ent; } /* end if */ - else { + else rdcc->head = rdcc->tail = ent; - ent->prev = NULL; - } /* end else */ } /* end if */ else /* We did not add the chunk to cache */ @@ -3413,8 +3402,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, continue; else { /* Reset the chunk offset indices */ - HDmemset(chunk_offset, 0, ((unsigned)space_ndims - * sizeof(chunk_offset[0]))); + HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0]))); chunk_offset[op_dim] = min_unalloc[op_dim]; carry = FALSE; @@ -3444,10 +3432,12 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* Make sure the chunk is really in the dataset and outside the * original dimensions */ { + unsigned u; /* Local index variable */ hbool_t outside_orig = FALSE; - for(i=0; i<space_ndims; i++) { - HDassert(chunk_offset[i] < space_dim[i]); - if(chunk_offset[i] >= old_dim[i]) + + for(u = 0; u < (unsigned)space_ndims; u++) { + HDassert(chunk_offset[u] < space_dim[u]); + if(chunk_offset[u] >= old_dim[u]) outside_orig = TRUE; } /* end for */ HDassert(outside_orig); @@ -3546,13 +3536,14 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* Increment indices */ carry = TRUE; - for(i = (int)(space_ndims - 1); i >= 0; --i) { + for(i = ((int)space_ndims - 1); i >= 0; --i) { chunk_offset[i] += chunk_dim[i]; - if(chunk_offset[i] > max_unalloc[i]) + if(chunk_offset[i] > max_unalloc[i]) { if(i == op_dim) chunk_offset[i] = min_unalloc[i]; else chunk_offset[i] = 0; + } /* end if */ else { carry = FALSE; break; @@ -4006,7 +3997,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) hsize_t hyper_start[H5O_LAYOUT_NDIMS]; /* Starting location of hyperslab */ uint32_t elmts_per_chunk; /* Elements in chunk */ hbool_t carry; /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */ - int i; /* Local index variable */ + unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -4043,15 +4034,14 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) /* (also copy the chunk dimensions into 'hsize_t' array for creating dataspace) */ /* (also compute the dimensions which have been shrunk) */ elmts_per_chunk = 1; - for(i = 0; i < space_ndims; i++) { - elmts_per_chunk *= layout->u.chunk.dim[i]; - chunk_dim[i] = layout->u.chunk.dim[i]; - shrunk_dim[i] = space_dim[i] < old_dim[i]; + for(u = 0; u < (unsigned)space_ndims; u++) { + elmts_per_chunk *= layout->u.chunk.dim[u]; + chunk_dim[u] = layout->u.chunk.dim[u]; + shrunk_dim[u] = space_dim[u] < old_dim[u]; } /* end for */ /* Create a dataspace for a chunk & set the extent */ - if(NULL == (chunk_space = H5S_create_simple((unsigned)space_ndims, - chunk_dim, NULL))) + if(NULL == (chunk_space = H5S_create_simple((unsigned)space_ndims, chunk_dim, NULL))) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCREATE, FAIL, "can't create simple dataspace") /* Reset hyperslab start array */ @@ -4118,8 +4108,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) / chunk_dim[op_dim]); /* Determine if we need to fill chunks in this dimension */ - if((hssize_t)min_mod_chunk_off[op_dim] - == max_fill_chunk_off[op_dim]) { + if((hssize_t)min_mod_chunk_off[op_dim] == max_fill_chunk_off[op_dim]) { fill_dim[op_dim] = TRUE; has_fill = TRUE; } /* end if */ @@ -4136,8 +4125,8 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(has_fill) for(ent = rdcc->head; ent; ent = ent->next) /* Check for chunk offset outside of new dimensions */ - for(i = 0; i<space_ndims; i++) - if((hsize_t)ent->offset[i] >= space_dim[i]) { + for(u = 0; u < (unsigned)space_ndims; u++) + if((hsize_t)ent->offset[u] >= space_dim[u]) { /* Mark the entry as "deleted" */ ent->deleted = TRUE; break; @@ -4149,28 +4138,28 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(!shrunk_dim[op_dim]) continue; else { - HDassert((hsize_t) max_mod_chunk_off[op_dim] - >= min_mod_chunk_off[op_dim]); + HDassert((hsize_t) max_mod_chunk_off[op_dim] >= min_mod_chunk_off[op_dim]); /* Reset the chunk offset indices */ - HDmemset(chunk_offset, 0, ((unsigned)space_ndims - * sizeof(chunk_offset[0]))); + HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0]))); chunk_offset[op_dim] = min_mod_chunk_off[op_dim]; /* Initialize "dims_outside_fill" array */ ndims_outside_fill = 0; - for(i=0; i<space_ndims; i++) - if((hssize_t)chunk_offset[i] > max_fill_chunk_off[i]) { - dims_outside_fill[i] = TRUE; + for(u = 0; u < (unsigned)space_ndims; u++) + if((hssize_t)chunk_offset[u] > max_fill_chunk_off[u]) { + dims_outside_fill[u] = TRUE; ndims_outside_fill++; } /* end if */ else - dims_outside_fill[i] = FALSE; + dims_outside_fill[u] = FALSE; carry = FALSE; } /* end if */ while(!carry) { + int i; /* Local index variable */ + /* Calculate the index of this chunk */ if(H5VM_chunk_index((unsigned)space_ndims, chunk_offset, layout->u.chunk.dim, layout->u.chunk.down_chunks, @@ -4191,8 +4180,8 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) { hbool_t outside_dim = FALSE; - for(i=0; i<space_ndims; i++) - if(chunk_offset[i] >= space_dim[i]){ + for(u = 0; u < (unsigned)space_ndims; u++) + if(chunk_offset[u] >= space_dim[u]) { outside_dim = TRUE; break; } /* end if */ @@ -4206,11 +4195,9 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) /* Evict the entry from the cache if present, but do not flush * it to disk */ - if(UINT_MAX != chk_udata.idx_hint) { - if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, - rdcc->slot[chk_udata.idx_hint], FALSE) < 0) + if(UINT_MAX != chk_udata.idx_hint) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[chk_udata.idx_hint], FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk") - } /* end if */ /* Remove the chunk from disk, if present */ if(H5F_addr_defined(chk_udata.addr)) { @@ -4218,8 +4205,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) idx_udata.offset = chunk_offset; /* Remove the chunk from disk */ - if((layout->storage.u.chunk.ops->remove)(&idx_info, &idx_udata) - < 0) + if((layout->storage.u.chunk.ops->remove)(&idx_info, &idx_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDELETE, FAIL, "unable to remove chunk entry from index") } /* end if */ } /* end else */ @@ -4248,8 +4234,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) } /* end if */ else { /* Check if we just went outside the fill dimension */ - if(!dims_outside_fill[i] && (hssize_t)chunk_offset[i] - > max_fill_chunk_off[i]) { + if(!dims_outside_fill[i] && (hssize_t)chunk_offset[i] > max_fill_chunk_off[i]) { dims_outside_fill[i] = TRUE; ndims_outside_fill++; } /* end if */ @@ -4267,8 +4252,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(min_mod_chunk_off[op_dim] == 0) break; else - max_mod_chunk_off[op_dim] = min_mod_chunk_off[op_dim] - - chunk_dim[op_dim]; + max_mod_chunk_off[op_dim] = min_mod_chunk_off[op_dim] - chunk_dim[op_dim]; } /* end for(op_dim=0...) */ /* Reset any cached chunk info for this dataset */ @@ -4278,10 +4262,9 @@ done: /* Release resources */ if(chunk_space && H5S_close(chunk_space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") - if(udata_init) { + if(udata_init) if(udata.fb_info_init && H5D__fill_term(&udata.fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") - } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__chunk_prune_by_extent() */ @@ -4473,7 +4456,7 @@ H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id) H5D_rdcc_ent_t *old_ent; /* Old cache entry */ H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ - unsigned rank; /*current # of dimensions */ + unsigned rank; /* Current # of dimensions */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -5178,7 +5161,8 @@ H5D__chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) idx_info.storage = &dset->shared->layout.storage.u.chunk; /* Free any index structures */ - if((dset->shared->layout.storage.u.chunk.ops->dest)(&idx_info) < 0) + if(dset->shared->layout.storage.u.chunk.ops->dest && + (dset->shared->layout.storage.u.chunk.ops->dest)(&idx_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to release chunk index info") done: diff --git a/src/H5Dint.c b/src/H5Dint.c index 056b07b..5035a67 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -478,7 +478,6 @@ done: herr_t H5D__get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id) { - H5S_t *space; /* Dataset's dataspace */ hsize_t space_allocated; /* The number of bytes allocated for chunks */ hssize_t snelmts; /* Temporary holder for number of elements in dataspace */ hsize_t nelmts; /* Number of elements in dataspace */ @@ -491,11 +490,10 @@ H5D__get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id HDassert(dset); /* Get the dataset's dataspace */ - space = dset->shared->space; - HDassert(space); + HDassert(dset->shared->space); /* Get the total number of elements in dataset's dataspace */ - if((snelmts = H5S_GET_EXTENT_NPOINTS(space)) < 0) + if((snelmts = H5S_GET_EXTENT_NPOINTS(dset->shared->space)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to retrieve number of elements in dataspace") nelmts = (hsize_t)snelmts; @@ -1185,6 +1183,7 @@ H5D_open(const H5G_loc_t *loc, hid_t dapl_id, hid_t dxpl_id) HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment object count") } /* end else */ + /* Set the dataset to return */ ret_value = dataset; done: @@ -1226,6 +1225,7 @@ H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) H5O_fill_t *fill_prop; /* Pointer to dataset's fill value info */ unsigned alloc_time_state; /* Allocation time state */ htri_t msg_exists; /* Whether a particular type of message exists */ + hbool_t layout_init = FALSE; /* Flag to indicate that chunk information was initialized */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(dxpl_id, dataset->oloc.addr, FAIL) @@ -1263,6 +1263,9 @@ H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) if(H5D__layout_oh_read(dataset, dxpl_id, dapl_id, plist) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get layout/pline/efl info") + /* Indicate that the layout information was initialized */ + layout_init = TRUE; + /* Point at dataset's copy, to cache it for later */ fill_prop = &dataset->shared->dcpl_cache.fill; @@ -1343,6 +1346,9 @@ done: if(H5F_addr_defined(dataset->oloc.addr) && H5O_close(&(dataset->oloc)) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header") if(dataset->shared) { + if(dataset->shared->layout.type == H5D_CHUNKED && layout_init) + if(H5D__chunk_dest(dataset->oloc.file, dxpl_id, dataset) < 0) + HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy chunk cache") if(dataset->shared->space && H5S_close(dataset->shared->space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") if(dataset->shared->type) { @@ -2234,6 +2240,7 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) */ /* Update the index values for the cached chunks for this dataset */ if(H5D_CHUNKED == dset->shared->layout.type) { + /* Update the cached chunk info */ if(H5D__chunk_set_info(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks") if(H5D__chunk_update_cache(dset, dxpl_id) < 0) @@ -2252,11 +2259,10 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) *------------------------------------------------------------------------- */ if(shrink && H5D_CHUNKED == dset->shared->layout.type && - (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { + (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) /* Remove excess chunks */ if(H5D__chunk_prune_by_extent(dset, dxpl_id, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to remove chunks") - } /* end if */ /* Mark the dataspace as dirty, for later writing to the file */ if(H5D__mark(dset, dxpl_id, H5D_MARK_SPACE) < 0) @@ -2689,16 +2695,14 @@ H5D_get_space(H5D_t *dset) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get data space") /* Create an atom */ - if((ret_value = H5I_register (H5I_DATASPACE, space, TRUE)) < 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register data space") + if((ret_value = H5I_register(H5I_DATASPACE, space, TRUE)) < 0) + HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register dataspace") done: - if(ret_value < 0) { - if(space!=NULL) { + if(ret_value < 0) + if(space != NULL) if(H5S_close(space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") - } /* end if */ - } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D_get_space() */ diff --git a/src/H5Dio.c b/src/H5Dio.c index 096a211..88f75b1 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -305,7 +305,7 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id, int ndims = 0; hsize_t dims[H5O_LAYOUT_NDIMS]; hsize_t internal_offset[H5O_LAYOUT_NDIMS]; - int i; + unsigned u; /* Get the dataset transfer property list */ if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id))) @@ -327,16 +327,16 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id, if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dims, NULL)) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't retrieve dataspace extent dims") - for(i = 0; i < ndims; i++) { + for(u = 0; u < ndims; u++) { /* Make sure the offset doesn't exceed the dataset's dimensions */ - if(direct_offset[i] > dims[i]) + if(direct_offset[u] > dims[u]) HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset exceeds dimensions of dataset") /* Make sure the offset fall right on a chunk's boundary */ - if(direct_offset[i] % dset->shared->layout.u.chunk.dim[i]) + if(direct_offset[u] % dset->shared->layout.u.chunk.dim[u]) HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset doesn't fall on chunks's boundary") - internal_offset[i] = direct_offset[i]; + internal_offset[u] = direct_offset[u]; } /* end for */ /* Terminate the offset with a zero */ diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index 58bcc04..01d2288 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -833,39 +833,37 @@ H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *typ * equivalent of compressed contiguous datasets - QAK] */ if(total_chunks == 1) { - H5D_chunk_ud_t udata; /* User data for querying chunk info */ - hsize_t coords[H5O_LAYOUT_NDIMS]; /* Coordinates of chunk in file dataset's dataspace */ H5SL_node_t *chunk_node; /* Pointer to chunk node for selection */ H5S_t *fspace; /* Dataspace describing chunk & selection in it */ H5S_t *mspace; /* Dataspace describing selection in memory corresponding to this chunk */ - /* Initialize the chunk coordinates */ - /* (must be all zero, since there's only one chunk) */ - HDmemset(coords, 0, sizeof(coords)); - - /* Look up address of chunk */ - if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, coords, - io_info->store->chunk.index, &udata) < 0) - HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") - ctg_store.contig.dset_addr = udata.addr; - /* Check for this process having selection in this chunk */ chunk_node = H5SL_first(fm->sel_chunks); if(chunk_node == NULL) { - /* Set the dataspace info for I/O to NULL, this process doesn't have any I/O to perform */ - fspace = mspace = NULL; + /* Set the dataspace info for I/O to NULL, this process doesn't have any I/O to perform */ + fspace = mspace = NULL; + + /* Initialize chunk address */ + ctg_store.contig.dset_addr = 0; } /* end if */ else { - H5D_chunk_info_t *chunk_info; - - /* Get the chunk info, for the selection in the chunk */ - if(NULL == (chunk_info = H5SL_item(chunk_node))) - HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") - - /* Set the dataspace info for I/O */ - fspace = chunk_info->fspace; - mspace = chunk_info->mspace; + H5D_chunk_ud_t udata; /* User data for querying chunk info */ + H5D_chunk_info_t *chunk_info; /* Info for chunk in skiplist */ + + /* Get the chunk info, for the selection in the chunk */ + if(NULL == (chunk_info = (H5D_chunk_info_t *)H5SL_item(chunk_node))) + HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skip list") + + /* Set the dataspace info for I/O */ + fspace = chunk_info->fspace; + mspace = chunk_info->mspace; + + /* Look up address of chunk */ + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, + chunk_info->index, &udata) < 0) + HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk address") + ctg_store.contig.dset_addr = udata.addr; } /* end else */ /* Set up the base storage address for this chunk */ diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index 847cec9..82c4d2f 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -366,7 +366,7 @@ typedef struct H5D_chunk_map_t { } H5D_chunk_map_t; /* Cached information about a particular chunk */ -typedef struct H5D_chunk_cached_t{ +typedef struct H5D_chunk_cached_t { hbool_t valid; /*whether cache info is valid*/ hsize_t offset[H5O_LAYOUT_NDIMS]; /*logical offset to start*/ uint32_t nbytes; /*size of stored data */ diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index fb936d2..a08ea3d 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -57,7 +57,8 @@ typedef enum H5D_layout_t { /* Types of chunk index data structures */ typedef enum H5D_chunk_index_t { - H5D_CHUNK_BTREE = 0 /* v1 B-tree index */ + H5D_CHUNK_IDX_BTREE = 0, /* v1 B-tree index */ + H5D_CHUNK_IDX_NTYPES /* this one must be last! */ } H5D_chunk_index_t; /* Values for the space allocation time property */ diff --git a/src/H5Edeprec.c b/src/H5Edeprec.c index 3e9444b..6a83745 100644 --- a/src/H5Edeprec.c +++ b/src/H5Edeprec.c @@ -152,6 +152,7 @@ H5Eget_major(H5E_major_t maj) char *ret_value; /* Return value */ FUNC_ENTER_API_NOCLEAR(NULL) + H5TRACE1("*s", "i", maj); /* Get the message object */ if(NULL == (msg = (H5E_msg_t *)H5I_object_verify(maj, H5I_ERROR_MSG))) @@ -204,6 +205,7 @@ H5Eget_minor(H5E_minor_t min) char *ret_value; /* Return value */ FUNC_ENTER_API_NOCLEAR(NULL) + H5TRACE1("*s", "i", min); /* Get the message object */ if(NULL == (msg = (H5E_msg_t *)H5I_object_verify(min, H5I_ERROR_MSG))) @@ -886,6 +886,7 @@ H5FDopen(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr) H5FD_t *ret_value=NULL; FUNC_ENTER_API(NULL) + H5TRACE4("*x", "*sIuia", name, flags, fapl_id, maxaddr); /* Check arguments */ if(H5P_DEFAULT == fapl_id) @@ -883,6 +883,7 @@ H5Iobject_verify(hid_t id, H5I_type_t id_type) void * ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE2("*x", "iIt", id, id_type); if(H5I_IS_LIB_TYPE(id_type)) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, NULL, "cannot call public function on library type") @@ -1023,6 +1024,7 @@ H5Iremove_verify(hid_t id, H5I_type_t id_type) void * ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE2("*x", "iIt", id, id_type); if(H5I_IS_LIB_TYPE(id_type)) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, NULL, "cannot call public function on library type") @@ -1871,6 +1873,7 @@ H5Isearch(H5I_type_t type, H5I_search_func_t func, void *key) void *ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE3("*x", "Itx*x", type, func, key); /* Check arguments */ if(H5I_IS_LIB_TYPE(type)) diff --git a/src/H5Olayout.c b/src/H5Olayout.c index 9d4fff7..8fc1650 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -148,7 +148,7 @@ H5O_layout_decode(H5F_t *f, hid_t dxpl_id, H5O_t UNUSED *open_oh, /* Set the chunk operations */ /* (Only "btree" indexing type currently supported in this version) */ - mesg->storage.u.chunk.idx_type = H5D_CHUNK_BTREE; + mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE; mesg->storage.u.chunk.ops = H5D_COPS_BTREE; } /* end if */ else { @@ -235,7 +235,7 @@ H5O_layout_decode(H5F_t *f, hid_t dxpl_id, H5O_t UNUSED *open_oh, /* Set the chunk operations */ /* (Only "btree" indexing type supported with v3 of message format) */ - mesg->storage.u.chunk.idx_type = H5D_CHUNK_BTREE; + mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE; mesg->storage.u.chunk.ops = H5D_COPS_BTREE; /* Set the layout operations */ @@ -932,7 +932,7 @@ H5O_layout_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_mesg, /* Index information */ switch(mesg->storage.u.chunk.idx_type) { - case H5D_CHUNK_BTREE: + case H5D_CHUNK_IDX_BTREE: HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Index Type:", "v1 B-tree"); HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, diff --git a/src/H5Omtime.c b/src/H5Omtime.c index 612d656..c9375f9 100644 --- a/src/H5Omtime.c +++ b/src/H5Omtime.c @@ -200,8 +200,8 @@ H5O_mtime_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, /* decode */ for(i = 0; i < 14; i++) - if(!HDisdigit(p[i])) - HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "badly formatted modification time message") + if(!HDisdigit(p[i])) + HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "badly formatted modification time message") /* * Convert YYYYMMDDhhmmss UTC to a time_t. This is a little problematic @@ -219,36 +219,14 @@ H5O_mtime_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, tm.tm_sec = (p[12]-'0')*10 + (p[13]-'0'); tm.tm_isdst = -1; /*figure it out*/ if((time_t)-1 == (the_time = HDmktime(&tm))) - HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "badly formatted modification time message") + HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "badly formatted modification time message") #if defined(H5_HAVE_TM_GMTOFF) - /* FreeBSD, OSF 4.0 */ + /* BSD-like systems */ the_time += tm.tm_gmtoff; -#elif defined(H5_HAVE___TM_GMTOFF) - /* Linux libc-4 */ - the_time += tm.__tm_gmtoff; #elif defined(H5_HAVE_TIMEZONE) - /* Linux libc-5 */ - the_time -= timezone - (tm.tm_isdst?3600:0); -#elif defined(H5_HAVE_BSDGETTIMEOFDAY) && defined(H5_HAVE_STRUCT_TIMEZONE) - /* Irix5.3 */ - { - struct timezone tz; - - if(HDBSDgettimeofday(NULL, &tz) < 0) - HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to obtain local timezone information") - the_time -= tz.tz_minuteswest * 60 - (tm.tm_isdst ? 3600 : 0); - } -#elif defined(H5_HAVE_GETTIMEOFDAY) && defined(H5_HAVE_STRUCT_TIMEZONE) && defined(H5_GETTIMEOFDAY_GIVES_TZ) - { - struct timezone tz; - struct timeval tv; /* Used as a placebo; some systems don't like NULL */ - - if(HDgettimeofday(&tv, &tz) < 0) - HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to obtain local timezone information") - - the_time -= tz.tz_minuteswest * 60 - (tm.tm_isdst ? 3600 : 0); - } + /* GNU/Linux systems */ + the_time -= timezone - (tm.tm_isdst ? 3600 : 0); #else /* * The catch-all. If we can't convert a character string universal @@ -257,14 +235,12 @@ H5O_mtime_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, * only way a user can get the modification time is from our internal * query routines, which can gracefully recover. */ - - /* Irix64 */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to obtain local timezone information") #endif /* The return value */ if(NULL == (mesg = H5FL_MALLOC(time_t))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") *mesg = the_time; /* Set return value */ @@ -1596,6 +1596,7 @@ H5Pget_class_name(hid_t pclass_id) char *ret_value; /* return value */ FUNC_ENTER_API(NULL) + H5TRACE1("*s", "i", pclass_id); /* Check arguments. */ if(NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS))) @@ -23,11 +23,11 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5PLprivate.h" /* Plugin */ -#include "H5Zprivate.h" /* Filter pipeline */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5MMprivate.h" /* Memory management */ +#include "H5PLprivate.h" /* Plugin */ +#include "H5Zprivate.h" /* Filter pipeline */ /****************/ @@ -40,7 +40,19 @@ /* Macros for supporting * both Windows and Unix */ /****************************/ -/* Windows support */ +/* Windows support + * + * SPECIAL WINDOWS NOTE + * + * Some of the Win32 API functions expand to fooA or fooW depending on + * whether UNICODE or _UNICODE are defined. You MUST explicitly use + * the A version of the functions to force char * behavior until we + * work out a scheme for proper Windows Unicode support. + * + * If you do not do this, people will be unable to incorporate our + * source code into their own CMake builds if they define UNICODE. + */ + #ifdef H5_HAVE_WIN32_API #define H5PL_PATH_SEPARATOR ";" @@ -49,7 +61,7 @@ #define H5PL_HANDLE HINSTANCE /* Get a handle to a plugin library. Windows: TEXT macro handles Unicode strings */ -#define H5PL_OPEN_DLIB(S) LoadLibraryEx(TEXT(S), NULL, LOAD_WITH_ALTERED_SEARCH_PATH) +#define H5PL_OPEN_DLIB(S) LoadLibraryExA(S, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) /* Get the address of a symbol in dynamic library */ #define H5PL_GET_LIB_FUNC(H,N) GetProcAddress(H,N) @@ -96,9 +108,9 @@ typedef const void *(*H5PL_get_plugin_info_t)(void); /* Type for the list of info for opened plugin libraries */ typedef struct H5PL_table_t { - H5PL_type_t pl_type; /* plugin type */ - int pl_id; /* ID for the plugin */ - H5PL_HANDLE handle; /* plugin handle */ + H5PL_type_t pl_type; /* plugin type */ + int pl_id; /* ID for the plugin */ + H5PL_HANDLE handle; /* plugin handle */ } H5PL_table_t; @@ -128,8 +140,8 @@ static herr_t H5PL__close(H5PL_HANDLE handle); /*******************/ /* Table for opened plugin libraries */ -static size_t H5PL_table_alloc_g = 0; -static size_t H5PL_table_used_g = 0; +static size_t H5PL_table_alloc_g = 0; +static size_t H5PL_table_used_g = 0; static H5PL_table_t *H5PL_table_g = NULL; /* Table of location paths for plugin libraries */ @@ -173,15 +185,15 @@ H5PL__init_interface(void) /*------------------------------------------------------------------------- - * Function: H5PL_no_plugin + * Function: H5PL_no_plugin * - * Purpose: Quick way for filter module to query whether to load plugin + * Purpose: Quick way for filter module to query whether to load plugin * - * Return: TRUE: No plugin loading during data reading + * Return: TRUE: No plugin loading during data reading * - * FALSE: Load plugin during data reading + * FALSE: Load plugin during data reading * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 20 February 2013 * *------------------------------------------------------------------------- @@ -201,18 +213,18 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL_term_interface + * Function: H5PL_term_interface * - * Purpose: Terminate the H5PL interface: release all memory, reset all - * global variables to initial values. This only happens if all - * types have been destroyed from other interfaces. + * Purpose: Terminate the H5PL interface: release all memory, reset all + * global variables to initial values. This only happens if all + * types have been destroyed from other interfaces. * - * Return: Success: Positive if any action was taken that might - * affect some other interface; zero otherwise. + * Return: Success: Positive if any action was taken that might + * affect some other interface; zero otherwise. * - * Failure: Negative. + * Failure: Negative. * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 20 February 2013 * *------------------------------------------------------------------------- @@ -227,13 +239,13 @@ H5PL_term_interface(void) if(H5_interface_initialize_g) { size_t u; /* Local index variable */ - /* Close opened dynamic libraries */ + /* Close opened dynamic libraries */ for(u = 0; u < H5PL_table_used_g; u++) H5PL__close((H5PL_table_g[u]).handle); - /* Free the table of dynamic libraries */ - H5PL_table_g = (H5PL_table_t *)H5MM_xfree(H5PL_table_g); - H5PL_table_used_g = H5PL_table_alloc_g = 0; + /* Free the table of dynamic libraries */ + H5PL_table_g = (H5PL_table_t *)H5MM_xfree(H5PL_table_g); + H5PL_table_used_g = H5PL_table_alloc_g = 0; /* Free the table of search paths */ for(u = 0; u < H5PL_num_paths_g; u++) @@ -242,7 +254,7 @@ H5PL_term_interface(void) H5PL_num_paths_g = 0; H5PL_path_found_g = FALSE; - H5_interface_initialize_g = 0; + H5_interface_initialize_g = 0; i = 1; } /* end if */ @@ -251,15 +263,15 @@ H5PL_term_interface(void) /*------------------------------------------------------------------------- - * Function: H5PL_load + * Function: H5PL_load * - * Purpose: Given the plugin type and identifier, this function searches + * Purpose: Given the plugin type and identifier, this function searches * and/or loads a dynamic plugin library first among the already * opened libraries then in the designated location paths. * - * Return: Non-NULL on success/NULL on failure + * Return: Non-NULL on success/NULL on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -314,13 +326,13 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__init_path_table + * Function: H5PL__init_path_table * - * Purpose: Initialize the path table. + * Purpose: Initialize the path table. * - * Return: Non-negative on success/Negative on failure + * Return: Non-negative on success/Negative on failure * - * Programmer: Quincey Koziol + * Programmer: Quincey Koziol * 18 March 2013 * *------------------------------------------------------------------------- @@ -369,18 +381,18 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__find + * Function: H5PL__find * * Purpose: Given a path, this function opens the directory and envokes * another function to go through all files to find the right * plugin library. Two function definitions are for Unix and * Windows. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -457,17 +469,17 @@ done: static htri_t H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) { - WIN32_FIND_DATA fdFile; - HANDLE hFind; - char *pathname = NULL; - char service[2048]; - htri_t ret_value = FALSE; + WIN32_FIND_DATAA fdFile; + HANDLE hFind; + char *pathname = NULL; + char service[2048]; + htri_t ret_value = FALSE; FUNC_ENTER_STATIC /* Specify a file mask. *.* = We want everything! */ sprintf(service, "%s\\*.dll", dir); - if((hFind = FindFirstFile(service, &fdFile)) == INVALID_HANDLE_VALUE) + if((hFind = FindFirstFileA(service, &fdFile)) == INVALID_HANDLE_VALUE) HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, FAIL, "can't open directory") do { @@ -480,7 +492,7 @@ H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) /* Allocate & initialize the path name */ pathname_len = HDstrlen(dir) + HDstrlen(fdFile.cFileName) + 2; - if(NULL == (pathname = (char *)H5MM_malloc(pathname_len))) + if(NULL == (pathname = (char *)H5MM_malloc(pathname_len))) HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path") HDsnprintf(pathname, pathname_len, "%s\\%s", dir, fdFile.cFileName); @@ -495,10 +507,10 @@ H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) HGOTO_DONE(TRUE) } /* end if */ else - HDassert(pathname); + HDassert(pathname); pathname = (char *)H5MM_xfree(pathname); } /* end if */ - } while(FindNextFile(hFind, &fdFile)); /* Find the next file. */ + } while(FindNextFileA(hFind, &fdFile)); /* Find the next file. */ done: if(hFind) @@ -512,17 +524,17 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__open + * Function: H5PL__open * * Purpose: Iterates through all files to find the right plugin library. * It loads the dynamic plugin library and keeps it on the list - * of loaded libraries. + * of loaded libraries. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -600,16 +612,16 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__search_table + * Function: H5PL__search_table * * Purpose: Search in the list of already opened dynamic libraries * to see if the one we are looking for is already opened. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * Negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -631,12 +643,12 @@ H5PL__search_table(H5PL_type_t plugin_type, int type_id, const void **info) const H5Z_class2_t *plugin_info; if(NULL == (get_plugin_info = (H5PL_get_plugin_info_t)H5PL_GET_LIB_FUNC((H5PL_table_g[i]).handle, "H5PLget_plugin_info"))) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get function for H5PLget_plugin_info") + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get function for H5PLget_plugin_info") - if(NULL == (plugin_info = (const H5Z_class2_t *)(*get_plugin_info)())) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get plugin info") + if(NULL == (plugin_info = (const H5Z_class2_t *)(*get_plugin_info)())) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get plugin info") - *info = plugin_info; + *info = plugin_info; HGOTO_DONE(TRUE) } /* end if */ } /* end for */ @@ -648,13 +660,13 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__close + * Function: H5PL__close * * Purpose: Closes the handle for dynamic library * - * Return: Non-negative on success/Negative on failure + * Return: Non-negative on success/Negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -668,4 +680,3 @@ H5PL__close(H5PL_HANDLE handle) FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5PL__close() */ - diff --git a/src/H5Pdcpl.c b/src/H5Pdcpl.c index ebd1e0a..de3ab86 100644 --- a/src/H5Pdcpl.c +++ b/src/H5Pdcpl.c @@ -54,7 +54,7 @@ /* Define default layout information */ #define H5D_DEF_STORAGE_COMPACT_INIT {(hbool_t)FALSE, (size_t)0, NULL} #define H5D_DEF_STORAGE_CONTIG_INIT {HADDR_UNDEF, (hsize_t)0} -#define H5D_DEF_STORAGE_CHUNK_INIT {H5D_CHUNK_BTREE, HADDR_UNDEF, NULL, {{HADDR_UNDEF, NULL}}} +#define H5D_DEF_STORAGE_CHUNK_INIT {H5D_CHUNK_IDX_BTREE, HADDR_UNDEF, NULL, {{HADDR_UNDEF, NULL}}} #define H5D_DEF_LAYOUT_CHUNK_INIT {(unsigned)0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, (uint32_t)0, (hsize_t)0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}} #define H5D_DEF_STORAGE_VIRTUAL_INIT {{HADDR_UNDEF, 0}, 0, NULL, 0} #ifdef H5_HAVE_C99_DESIGNATED_INITIALIZER diff --git a/src/H5Pfapl.c b/src/H5Pfapl.c index 089bfb9..7a44e86 100644 --- a/src/H5Pfapl.c +++ b/src/H5Pfapl.c @@ -920,6 +920,7 @@ H5Pget_driver_info(hid_t plist_id) void *ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE1("*x", "i", plist_id); if(NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property list") diff --git a/src/H5Tfields.c b/src/H5Tfields.c index 0e0d4e7..fb186fb 100644 --- a/src/H5Tfields.c +++ b/src/H5Tfields.c @@ -163,6 +163,7 @@ H5Tget_member_name(hid_t type_id, unsigned membno) char *ret_value; FUNC_ENTER_API(NULL) + H5TRACE2("*s", "iIu", type_id, membno); /* Check args */ if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id,H5I_DATATYPE))) diff --git a/src/H5Topaque.c b/src/H5Topaque.c index d68e659..e93bf65 100644 --- a/src/H5Topaque.c +++ b/src/H5Topaque.c @@ -121,6 +121,7 @@ H5Tget_tag(hid_t type_id) char *ret_value; FUNC_ENTER_API(NULL) + H5TRACE1("*s", "i", type_id); /* Check args */ if (NULL == (dt = H5I_object_verify(type_id,H5I_DATATYPE))) @@ -1089,7 +1089,7 @@ H5VM_array_offset_pre(unsigned n, const hsize_t *acc, const hsize_t *offset) HDassert(offset); /* Compute offset in array */ - for (i=(int)(n-1), ret_value=0; i>=0; --i) + for(i = (int)(n - 1), ret_value = 0; i >= 0; --i) ret_value += acc[i] * offset[i]; FUNC_LEAVE_NOAPI(ret_value) diff --git a/src/H5config.h.in b/src/H5config.h.in index daf7d0d..42dfcfb 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -20,9 +20,6 @@ /* Define the default plugins path to compile */ #undef DEFAULT_PLUGINDIR -/* Define the default virtual file driver to compile */ -#undef DEFAULT_VFD - /* Define if `dev_t' is a scalar */ #undef DEV_T_IS_SCALAR @@ -52,9 +49,6 @@ long long values. */ #undef FP_TO_ULLONG_RIGHT_MAXIMUM -/* Define if gettimeofday() populates the tz pointer passed in */ -#undef GETTIMEOFDAY_GIVES_TZ - /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM @@ -64,9 +58,6 @@ /* Define if the __attribute__(()) extension is present */ #undef HAVE_ATTRIBUTE -/* Define to 1 if you have the `BSDgettimeofday' function. */ -#undef HAVE_BSDGETTIMEOFDAY - /* Define if the compiler understands C99 designated initialization of structs and unions */ #undef HAVE_C99_DESIGNATED_INITIALIZER @@ -83,14 +74,10 @@ /* Define if Darwin or Mac OS X */ #undef HAVE_DARWIN -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -#undef HAVE_DECL_TZNAME - /* Define to 1 if you have the `difftime' function. */ #undef HAVE_DIFFTIME -/* Define if the direct I/O virtual file driver should be compiled */ +/* Define if the direct I/O virtual file driver (VFD) should be compiled */ #undef HAVE_DIRECT /* Define to 1 if you have the <dirent.h> header file. */ @@ -196,24 +183,12 @@ /* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ #undef HAVE_LIBDMALLOC -/* Define to 1 if you have the `lmpe' library (-llmpe). */ -#undef HAVE_LIBLMPE - /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `mpe' library (-lmpe). */ #undef HAVE_LIBMPE -/* Define to 1 if you have the `mpi' library (-lmpi). */ -#undef HAVE_LIBMPI - -/* Define to 1 if you have the `mpich' library (-lmpich). */ -#undef HAVE_LIBMPICH - -/* Define to 1 if you have the `mpio' library (-lmpio). */ -#undef HAVE_LIBMPIO - /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL @@ -325,12 +300,6 @@ /* Define if `struct text_info' is defined */ #undef HAVE_STRUCT_TEXT_INFO -/* Define if `struct timezone' is defined */ -#undef HAVE_STRUCT_TIMEZONE - -/* Define to 1 if `tm_zone' is a member of `struct tm'. */ -#undef HAVE_STRUCT_TM_TM_ZONE - /* Define if `struct videoconfig' is defined */ #undef HAVE_STRUCT_VIDEOCONFIG @@ -391,14 +360,6 @@ /* Define if `tm_gmtoff' is a member of `struct tm' */ #undef HAVE_TM_GMTOFF -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#undef HAVE_TM_ZONE - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -#undef HAVE_TZNAME - /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H @@ -426,9 +387,6 @@ /* Define to 1 if you have the `_scrsize' function. */ #undef HAVE__SCRSIZE -/* Define if `__tm_gmtoff' is a member of `struct tm' */ -#undef HAVE___TM_GMTOFF - /* Define if your system can't handle converting floating-point values to long long. */ #undef HW_FP_TO_LLONG_NOT_WORKS @@ -482,9 +440,6 @@ /* Define if deprecated public API symbols are disabled */ #undef NO_DEPRECATED_SYMBOLS -/* Define if shared writing must be disabled (CodeWarrior only) */ -#undef NO_SHARED_WRITING - /* Name of package */ #undef PACKAGE @@ -639,9 +594,6 @@ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #undef TIME_WITH_SYS_TIME -/* Define to 1 if your <sys/time.h> declares `struct tm'. */ -#undef TM_IN_SYS_TIME - /* Define if your system can compile unsigned long long to floating-point casts. */ #undef ULLONG_TO_FP_CAST_WORKS diff --git a/src/H5private.h b/src/H5private.h index f971504..a532c79 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -160,6 +160,10 @@ #include <dirent.h> #endif +/* Define the default VFD for this platform. + * Since the removal of the Windows VFD, this is sec2 for all platforms. + */ +#define H5_DEFAULT_VFD H5FD_SEC2 #ifdef H5_HAVE_WIN32_API /* The following two defines must be before any windows headers are included */ @@ -210,10 +214,10 @@ */ #define eventa(func_name) h5_mpe_eventa #define eventb(func_name) h5_mpe_eventb -#define MPE_LOG_VARS \ - static int eventa(FUNC) = -1; \ - static int eventb(FUNC) = -1; \ - const char* p_event_start = "start" FUNC; +#define MPE_LOG_VARS \ + static int eventa(FUNC) = -1; \ + static int eventb(FUNC) = -1; \ + char p_event_start[128]; /* Hardwire the color to "red", since that's what all the routines are using * now. In the future, if we want to change that color for a given routine, @@ -222,16 +226,17 @@ * color information down to the BEGIN_MPE_LOG macro (which should have a new * BEGIN_MPE_LOG_COLOR variant). -QAK */ -#define BEGIN_MPE_LOG \ - if (H5_MPEinit_g){ \ - if (eventa(FUNC) == -1 && eventb(FUNC) == -1) { \ - const char* p_color = "red"; \ - eventa(FUNC)=MPE_Log_get_event_number(); \ - eventb(FUNC)=MPE_Log_get_event_number(); \ - MPE_Describe_state(eventa(FUNC), eventb(FUNC), (char *)FUNC, (char *)p_color); \ - } \ - MPE_Log_event(eventa(FUNC), 0, (char *)p_event_start); \ - } +#define BEGIN_MPE_LOG \ + if (H5_MPEinit_g){ \ + sprintf(p_event_start, "start %s", FUNC); \ + if (eventa(FUNC) == -1 && eventb(FUNC) == -1) { \ + const char* p_color = "red"; \ + eventa(FUNC)=MPE_Log_get_event_number(); \ + eventb(FUNC)=MPE_Log_get_event_number(); \ + MPE_Describe_state(eventa(FUNC), eventb(FUNC), FUNC, p_color); \ + } \ + MPE_Log_event(eventa(FUNC), 0, p_event_start); \ + } /*------------------------------------------------------------------------ @@ -240,9 +245,9 @@ * * Programmer: Long Wang */ -#define FINISH_MPE_LOG \ - if (H5_MPEinit_g) { \ - MPE_Log_event(eventb(FUNC), 0, (char *)FUNC); \ +#define FINISH_MPE_LOG \ + if (H5_MPEinit_g) { \ + MPE_Log_event(eventb(FUNC), 0, FUNC); \ } #else /* H5_HAVE_MPE */ @@ -566,9 +571,6 @@ typedef struct { #ifndef HDatol #define HDatol(S) atol(S) #endif /* HDatol */ -#ifndef HDBSDgettimeofday - #define HDBSDgettimeofday(S,P) BSDgettimeofday(S,P) -#endif /* HDBSDgettimeofday */ #ifndef HDbsearch #define HDbsearch(K,B,N,Z,F) bsearch(K,B,N,Z,F) #endif /* HDbsearch */ @@ -1850,7 +1852,7 @@ static herr_t H5_INTERFACE_INIT_FUNC(void); /* Local variables for API routines */ #define FUNC_ENTER_API_VARS \ - MPE_LOG_VARS \ + MPE_LOG_VARS \ H5TRACE_DECL #define FUNC_ENTER_API_COMMON \ diff --git a/src/H5public.h b/src/H5public.h index b4ec8a7..673aa6f 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -94,10 +94,10 @@ extern "C" { /* Version numbers */ #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 9 /* For minor interface/format changes */ -#define H5_VERS_RELEASE 212 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 215 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.212" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.215" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/Makefile.in b/src/Makefile.in index 14ed2af..aa0fc7a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -109,7 +109,8 @@ noinst_PROGRAMS = H5detect$(EXEEXT) H5make_libsettings$(EXEEXT) TESTS = subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -553,7 +554,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -734,7 +734,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 202 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # Our main target, the HDF5 library diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in index 27df560..424334d 100644 --- a/src/libhdf5.settings.in +++ b/src/libhdf5.settings.in @@ -71,4 +71,3 @@ Clear file buffers before write: @CLEARFILEBUF@ Function Stack Tracing: @CODESTACK@ Strict File Format Checks: @STRICT_FORMAT_CHECKS@ Optimization Instrumentation: @INSTRUMENT@ - Large File Support (LFS): @LARGEFILE@ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 255503d..5e23219 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TEST) #----------------------------------------------------------------------------- diff --git a/test/Makefile.in b/test/Makefile.in index 45db393..f5a25ce 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -115,7 +115,8 @@ check_PROGRAMS = $(am__EXEEXT_1) error_test$(EXEEXT) \ TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -899,7 +900,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/test/tfile.c b/test/tfile.c index 4bef41c..5de035a 100644 --- a/test/tfile.c +++ b/test/tfile.c @@ -3652,9 +3652,7 @@ test_file(void) test_file_create(); /* Test file creation(also creation templates)*/ test_file_open(); /* Test file opening */ -#ifndef H5_NO_SHARED_WRITING test_file_close(); /* Test file close behavior */ -#endif /* H5_NO_SHARED_WRITING */ test_get_file_id(); /* Test H5Iget_file_id */ test_get_obj_ids(); /* Test H5Fget_obj_ids for Jira Issue 8528 */ test_file_perm(); /* Test file access permissions */ diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt index 8c631a3..d1db0b7 100644 --- a/testpar/CMakeLists.txt +++ b/testpar/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TEST_PAR) #----------------------------------------------------------------------------- @@ -46,6 +46,8 @@ set (H5P_TESTS t_cache t_pflush1 t_pflush2 + t_pshutdown + t_prestart t_shapesame ) diff --git a/testpar/Makefile.am b/testpar/Makefile.am index 448f745..1eae439 100644 --- a/testpar/Makefile.am +++ b/testpar/Makefile.am @@ -25,7 +25,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/test # Test programs. These are our main targets. # -TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame +TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame check_PROGRAMS = $(TEST_PROG_PARA) @@ -39,7 +39,8 @@ LDADD = $(LIBH5TEST) $(LIBHDF5) # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf +# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. -CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 go +CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 shutdown.h5 go include $(top_srcdir)/config/conclude.am diff --git a/testpar/Makefile.in b/testpar/Makefile.in index 6814acb..959731e 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -103,7 +103,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = subdir = testpar ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -111,7 +112,8 @@ CONFIG_HEADER = $(top_builddir)/src/H5config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__EXEEXT_1 = t_mpi$(EXEEXT) testphdf5$(EXEEXT) t_cache$(EXEEXT) \ - t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_shapesame$(EXEEXT) + t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_pshutdown$(EXEEXT) \ + t_prestart$(EXEEXT) t_shapesame$(EXEEXT) t_cache_SOURCES = t_cache.c t_cache_OBJECTS = t_cache.$(OBJEXT) t_cache_LDADD = $(LDADD) @@ -132,6 +134,14 @@ t_pflush2_SOURCES = t_pflush2.c t_pflush2_OBJECTS = t_pflush2.$(OBJEXT) t_pflush2_LDADD = $(LDADD) t_pflush2_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +t_prestart_SOURCES = t_prestart.c +t_prestart_OBJECTS = t_prestart.$(OBJEXT) +t_prestart_LDADD = $(LDADD) +t_prestart_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +t_pshutdown_SOURCES = t_pshutdown.c +t_pshutdown_OBJECTS = t_pshutdown.$(OBJEXT) +t_pshutdown_LDADD = $(LDADD) +t_pshutdown_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) t_shapesame_SOURCES = t_shapesame.c t_shapesame_OBJECTS = t_shapesame.$(OBJEXT) t_shapesame_LDADD = $(LDADD) @@ -178,10 +188,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ - $(testphdf5_SOURCES) -DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ - $(testphdf5_SOURCES) +SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ + t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) +DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ + t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -509,7 +519,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -687,13 +696,14 @@ TRACE = perl $(top_srcdir)/bin/trace # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf +# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. CHECK_CLEANFILES = *.chkexe *.chklog *.clog MPItest.h5 Para*.h5 \ - CacheTestDummy.h5 go + CacheTestDummy.h5 shutdown.h5 go # Test programs. These are our main targets. # -TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame +TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_file_image.c t_mdset.c \ t_ph5basic.c t_coll_chunk.c t_span_tree.c t_chunk_alloc.c t_filter_read.c \ t_prop.c @@ -782,6 +792,14 @@ t_pflush2$(EXEEXT): $(t_pflush2_OBJECTS) $(t_pflush2_DEPENDENCIES) $(EXTRA_t_pfl @rm -f t_pflush2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_pflush2_OBJECTS) $(t_pflush2_LDADD) $(LIBS) +t_prestart$(EXEEXT): $(t_prestart_OBJECTS) $(t_prestart_DEPENDENCIES) $(EXTRA_t_prestart_DEPENDENCIES) + @rm -f t_prestart$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_prestart_OBJECTS) $(t_prestart_LDADD) $(LIBS) + +t_pshutdown$(EXEEXT): $(t_pshutdown_OBJECTS) $(t_pshutdown_DEPENDENCIES) $(EXTRA_t_pshutdown_DEPENDENCIES) + @rm -f t_pshutdown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_pshutdown_OBJECTS) $(t_pshutdown_LDADD) $(LIBS) + t_shapesame$(EXEEXT): $(t_shapesame_OBJECTS) $(t_shapesame_DEPENDENCIES) $(EXTRA_t_shapesame_DEPENDENCIES) @rm -f t_shapesame$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_shapesame_OBJECTS) $(t_shapesame_LDADD) $(LIBS) @@ -808,7 +826,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prestart.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prop.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pshutdown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_shapesame.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@ diff --git a/testpar/t_cache.c b/testpar/t_cache.c index 20fb9fd..f526a8b 100644 --- a/testpar/t_cache.c +++ b/testpar/t_cache.c @@ -4245,7 +4245,6 @@ setup_rand(void) unsigned predefined_seeds[3] = {33402, 33505, 33422}; unsigned seed; struct timeval tv; - struct timezone tz; if ( ( use_predefined_seeds ) && ( world_mpi_size == num_predefined_seeds ) ) { @@ -4261,7 +4260,7 @@ setup_rand(void) } else { - if ( HDgettimeofday(&tv, &tz) != 0 ) { + if ( HDgettimeofday(&tv, NULL) != 0 ) { nerrors++; if ( verbose ) { diff --git a/testpar/t_pflush1.c b/testpar/t_pflush1.c index ebe5c38..1bcfeb8 100644 --- a/testpar/t_pflush1.c +++ b/testpar/t_pflush1.c @@ -164,12 +164,9 @@ main(int argc, char* argv[]) } /* end else */ /* - * Some systems like Linux with mpich, if you just _exit without MPI_Finalize - * called, it would terminate but left the launching process waiting forever. - * OTHO, some systems like AIX do not like files not closed when MPI_Finalize - * is called. So, we need to get the MPI file handles, close them by hand, - * then MPI_Finalize. Then the _exit is still needed to stop at_exit from - * happening in some systems. + * Some systems like AIX do not like files not closed when MPI_Finalize + * is called. So, we need to get the MPI file handles, close them by hand. + * Then the _exit is still needed to stop at_exit from happening in some systems. * Note that MPIO VFD returns the address of the file-handle in the VFD struct * because MPI_File_close wants to modify the file-handle variable. */ @@ -195,13 +192,11 @@ main(int argc, char* argv[]) fflush(stdout); fflush(stderr); - MPI_Finalize(); HD_exit(0); error: fflush(stdout); fflush(stderr); - MPI_Finalize(); HD_exit(1); } diff --git a/testpar/t_pflush2.c b/testpar/t_pflush2.c index 743a3d3..03f7c82 100644 --- a/testpar/t_pflush2.c +++ b/testpar/t_pflush2.c @@ -101,13 +101,17 @@ check_file(char* name, hid_t fapl) if(H5Dclose(dset) < 0) goto error; if(H5Fclose(file) < 0) goto error; if(H5Pclose(plist) < 0) goto error; + if(H5Sclose(space) < 0) goto error; return 0; error: H5E_BEGIN_TRY { - H5Fclose(file); H5Pclose(plist); + H5Gclose(groups); + H5Dclose(dset); + H5Fclose(file); + H5Sclose(space); } H5E_END_TRY; return 1; } diff --git a/testpar/t_prestart.c b/testpar/t_prestart.c new file mode 100644 index 0000000..fab4a7c --- /dev/null +++ b/testpar/t_prestart.c @@ -0,0 +1,138 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Programmer: Mohamad Chaarawi + * February 2015 + * + * Purpose: This test opens a file created by the t_pshutdown program + * and makes sure the objects created are there. + */ + +#include "testphdf5.h" + +int nerrors = 0; /* errors count */ + +const char *FILENAME[] = { + "shutdown", + NULL +}; + +int +main (int argc, char **argv) +{ + hid_t file_id, dset_id, grp_id; + hid_t fapl, sid, mem_dataspace; + herr_t ret; + char filename[1024]; + int mpi_size, mpi_rank, ndims, i, j; + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + hsize_t dims[RANK]; + hsize_t start[RANK]; + hsize_t count[RANK]; + hsize_t stride[RANK]; + hsize_t block[RANK]; + DATATYPE *data_array = NULL, *dataptr; /* data buffer */ + + MPI_Init(&argc, &argv); + MPI_Comm_size(comm, &mpi_size); + MPI_Comm_rank(comm, &mpi_rank); + + if(MAINPROCESS) + TESTING("proper shutdown of HDF5 library"); + + /* Set up file access property list with parallel I/O access */ + fapl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((fapl >= 0), "H5Pcreate succeeded"); + ret = H5Pset_fapl_mpio(fapl, comm, info); + VRFY((ret >= 0), ""); + + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + file_id = H5Fopen(filename, H5F_ACC_RDONLY, fapl); + VRFY((file_id >= 0), "H5Fopen succeeded"); + + grp_id = H5Gopen2(file_id, "Group", H5P_DEFAULT); + VRFY((grp_id >= 0), "H5Gopen succeeded"); + + dset_id = H5Dopen2(grp_id, "Dataset", H5P_DEFAULT); + VRFY((dset_id >= 0), "H5Dopen succeeded"); + + sid = H5Dget_space(dset_id); + VRFY((dset_id >= 0), "H5Dget_space succeeded"); + + ndims = H5Sget_simple_extent_dims(sid, dims, NULL); + VRFY((ndims == 2), "H5Sget_simple_extent_dims succeeded"); + VRFY(dims[0] == ROW_FACTOR*mpi_size, "Wrong dataset dimensions"); + VRFY(dims[1] == COL_FACTOR*mpi_size, "Wrong dataset dimensions"); + + /* allocate memory for data buffer */ + data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); + VRFY((data_array != NULL), "data_array HDmalloc succeeded"); + + /* Each process takes a slabs of rows. */ + block[0] = dims[0]/mpi_size; + block[1] = dims[1]; + stride[0] = block[0]; + stride[1] = block[1]; + count[0] = 1; + count[1] = 1; + start[0] = mpi_rank*block[0]; + start[1] = 0; + + ret = H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block); + VRFY((ret >= 0), "H5Sset_hyperslab succeeded"); + + /* create a memory dataspace independently */ + mem_dataspace = H5Screate_simple (RANK, block, NULL); + VRFY((mem_dataspace >= 0), ""); + + /* write data independently */ + ret = H5Dread(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, + H5P_DEFAULT, data_array); + VRFY((ret >= 0), "H5Dwrite succeeded"); + + dataptr = data_array; + + for (i=0; i < block[0]; i++){ + for (j=0; j < block[1]; j++){ + if(*dataptr != mpi_rank+1) { + printf("Dataset Verify failed at [%lu][%lu](row %lu, col %lu): expect %d, got %d\n", + (unsigned long)i, (unsigned long)j, + (unsigned long)(i+start[0]), (unsigned long)(j+start[1]), + mpi_rank+1, *(dataptr)); + nerrors ++; + } + dataptr++; + } + } + MPI_Finalize(); + HDremove(filename); + + /* release data buffers */ + if(data_array) + HDfree(data_array); + + nerrors += GetTestNumErrs(); + + if(MAINPROCESS) { + if(0 == nerrors) + PASSED() + else + H5_FAILED() + } + + return (nerrors!=0); +} diff --git a/testpar/t_pshutdown.c b/testpar/t_pshutdown.c new file mode 100644 index 0000000..be9734f --- /dev/null +++ b/testpar/t_pshutdown.c @@ -0,0 +1,127 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Programmer: Mohamad Chaarawi + * February 2015 + * + * Purpose: This test creates a file and a bunch of objects in the + * file and then calls MPI_Finalize without closing anything. The + * library should exercise the attribute callback destroy attached to + * MPI_COMM_SELF and terminate the HDF5 library closing all open + * objects. The t_prestart test will read back the file and make sure + * all created objects are there. + */ + +#include "testphdf5.h" + +int nerrors = 0; /* errors count */ + +const char *FILENAME[] = { + "shutdown", + NULL +}; + +int +main (int argc, char **argv) +{ + hid_t file_id, dset_id, grp_id; + hid_t fapl, sid, mem_dataspace; + hsize_t dims[RANK], i; + herr_t ret; + char filename[1024]; + int mpi_size, mpi_rank; + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + hsize_t start[RANK]; + hsize_t count[RANK]; + hsize_t stride[RANK]; + hsize_t block[RANK]; + DATATYPE *data_array = NULL; /* data buffer */ + + MPI_Init(&argc, &argv); + MPI_Comm_size(comm, &mpi_size); + MPI_Comm_rank(comm, &mpi_rank); + + if(MAINPROCESS) + TESTING("proper shutdown of HDF5 library"); + + /* Set up file access property list with parallel I/O access */ + fapl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((fapl >= 0), "H5Pcreate succeeded"); + ret = H5Pset_fapl_mpio(fapl, comm, info); + VRFY((ret >= 0), ""); + + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + VRFY((file_id >= 0), "H5Fcreate succeeded"); + grp_id = H5Gcreate2(file_id, "Group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + VRFY((grp_id >= 0), "H5Gcreate succeeded"); + + dims[0] = ROW_FACTOR*mpi_size; + dims[1] = COL_FACTOR*mpi_size; + sid = H5Screate_simple (RANK, dims, NULL); + VRFY((sid >= 0), "H5Screate_simple succeeded"); + + dset_id = H5Dcreate2(grp_id, "Dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + VRFY((dset_id >= 0), "H5Dcreate succeeded"); + + /* allocate memory for data buffer */ + data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); + VRFY((data_array != NULL), "data_array HDmalloc succeeded"); + + /* Each process takes a slabs of rows. */ + block[0] = dims[0]/mpi_size; + block[1] = dims[1]; + stride[0] = block[0]; + stride[1] = block[1]; + count[0] = 1; + count[1] = 1; + start[0] = mpi_rank*block[0]; + start[1] = 0; + + /* put some trivial data in the data_array */ + for(i=0 ; i<dims[0]*dims[1]; i++) + data_array[i] = mpi_rank + 1; + + ret = H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block); + VRFY((ret >= 0), "H5Sset_hyperslab succeeded"); + + /* create a memory dataspace independently */ + mem_dataspace = H5Screate_simple (RANK, block, NULL); + VRFY((mem_dataspace >= 0), ""); + + /* write data independently */ + ret = H5Dwrite(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, + H5P_DEFAULT, data_array); + VRFY((ret >= 0), "H5Dwrite succeeded"); + + /* release data buffers */ + if(data_array) + HDfree(data_array); + + MPI_Finalize(); + + nerrors += GetTestNumErrs(); + + if(MAINPROCESS) { + if(0 == nerrors) + PASSED() + else + H5_FAILED() + } + + return (nerrors!=0); +} diff --git a/testpar/t_shapesame.c b/testpar/t_shapesame.c index d167687..9088470 100644 --- a/testpar/t_shapesame.c +++ b/testpar/t_shapesame.c @@ -5142,10 +5142,7 @@ int main(int argc, char **argv) printf("Shape Same tests finished with no errors\n"); printf("===================================\n"); } - /* close HDF5 library */ - H5close(); - /* MPI_Finalize must be called AFTER H5close which may use MPI calls */ MPI_Finalize(); /* cannot just return (nerrors) because exit code is limited to 1byte */ diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 2365326..fd47379 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS) #----------------------------------------------------------------------------- diff --git a/tools/Makefile.in b/tools/Makefile.in index c4bf941..ef0d6ab 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = tools ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -489,7 +490,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5copy/CMakeLists.txt b/tools/h5copy/CMakeLists.txt index 267d92b..8c27536 100644 --- a/tools/h5copy/CMakeLists.txt +++ b/tools/h5copy/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5COPY) #----------------------------------------------------------------------------- diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in index 76573a0..2cb3a1e 100644 --- a/tools/h5copy/Makefile.in +++ b/tools/h5copy/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5copy ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -497,7 +498,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5diff/CMakeLists.txt b/tools/h5diff/CMakeLists.txt index 35c55a4..f539d20 100644 --- a/tools/h5diff/CMakeLists.txt +++ b/tools/h5diff/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5DIFF) #----------------------------------------------------------------------------- diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in index 6a8d2ac..860590c 100644 --- a/tools/h5diff/Makefile.in +++ b/tools/h5diff/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_2) TESTS = $(am__EXEEXT_2) $(TEST_SCRIPT) subdir = tools/h5diff ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -504,7 +505,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt index 584222e..4559ae3 100644 --- a/tools/h5dump/CMakeLists.txt +++ b/tools/h5dump/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5DUMP) #----------------------------------------------------------------------------- diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in index 8cb1661..287713d 100644 --- a/tools/h5dump/Makefile.in +++ b/tools/h5dump/Makefile.in @@ -106,7 +106,8 @@ bin_PROGRAMS = h5dump$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5dump ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -503,7 +504,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt index a18133f..2ba2b78 100644 --- a/tools/h5import/CMakeLists.txt +++ b/tools/h5import/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5IMPORT) #----------------------------------------------------------------------------- diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in index d3b0185..7b9eadc 100644 --- a/tools/h5import/Makefile.in +++ b/tools/h5import/Makefile.in @@ -105,7 +105,8 @@ bin_PROGRAMS = h5import$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5import ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -497,7 +498,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5jam/CMakeLists.txt b/tools/h5jam/CMakeLists.txt index a8e3a7c..412a2f0 100644 --- a/tools/h5jam/CMakeLists.txt +++ b/tools/h5jam/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5JAM) #----------------------------------------------------------------------------- diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in index d0c8f16..4c40784 100644 --- a/tools/h5jam/Makefile.in +++ b/tools/h5jam/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = tellub$(EXEEXT) h5jamgentest$(EXEEXT) getub$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = tools/h5jam ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -509,7 +510,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5ls/CMakeLists.txt b/tools/h5ls/CMakeLists.txt index f3749e3..0d163ce 100644 --- a/tools/h5ls/CMakeLists.txt +++ b/tools/h5ls/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5LS) #----------------------------------------------------------------------------- diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in index 2c4fe10..bd1244c 100644 --- a/tools/h5ls/Makefile.in +++ b/tools/h5ls/Makefile.in @@ -104,7 +104,8 @@ bin_PROGRAMS = h5ls$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = tools/h5ls ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -489,7 +490,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt index cb8720e..f6c3050 100644 --- a/tools/h5repack/CMakeLists.txt +++ b/tools/h5repack/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5REPACK) #----------------------------------------------------------------------------- diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in index 50e7341..9edb827 100644 --- a/tools/h5repack/Makefile.in +++ b/tools/h5repack/Makefile.in @@ -108,7 +108,8 @@ bin_PROGRAMS = h5repack$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5repack ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -521,7 +522,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5stat/CMakeLists.txt b/tools/h5stat/CMakeLists.txt index 0658216..2969405 100644 --- a/tools/h5stat/CMakeLists.txt +++ b/tools/h5stat/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5STAT) #----------------------------------------------------------------------------- diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in index 32b6d4c..9e9a6aa 100644 --- a/tools/h5stat/Makefile.in +++ b/tools/h5stat/Makefile.in @@ -106,7 +106,8 @@ bin_PROGRAMS = h5stat$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5stat ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -499,7 +500,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/lib/CMakeLists.txt b/tools/lib/CMakeLists.txt index ce29208..35ad46e 100644 --- a/tools/lib/CMakeLists.txt +++ b/tools/lib/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_LIB) #----------------------------------------------------------------------------- diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in index b2afb07..26e88ee 100644 --- a/tools/lib/Makefile.in +++ b/tools/lib/Makefile.in @@ -103,7 +103,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = tools/lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -486,7 +487,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/misc/CMakeLists.txt b/tools/misc/CMakeLists.txt index 8af05b4..932948d 100644 --- a/tools/misc/CMakeLists.txt +++ b/tools/misc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_MISC) #----------------------------------------------------------------------------- diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in index 1160938..06396f8 100644 --- a/tools/misc/Makefile.in +++ b/tools/misc/Makefile.in @@ -107,7 +107,8 @@ bin_PROGRAMS = h5debug$(EXEEXT) h5repart$(EXEEXT) h5mkgrp$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/misc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -524,7 +525,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/perform/CMakeLists.txt b/tools/perform/CMakeLists.txt index 0713661..e6abf7f 100644 --- a/tools/perform/CMakeLists.txt +++ b/tools/perform/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_PERFORM ) #----------------------------------------------------------------------------- diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in index 24aa8be..728ce45 100644 --- a/tools/perform/Makefile.in +++ b/tools/perform/Makefile.in @@ -111,7 +111,8 @@ check_PROGRAMS = iopipe$(EXEEXT) chunk$(EXEEXT) overhead$(EXEEXT) \ TESTS = $(am__EXEEXT_3) subdir = tools/perform ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs @@ -528,7 +529,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/perform/perf.c b/tools/perform/perf.c index 7d329f0..1bd33b6 100644 --- a/tools/perform/perf.c +++ b/tools/perform/perf.c @@ -390,7 +390,7 @@ die_jar_jar_die: free(tmp); if (opt_correct) free(tmp2); - + MPI_Finalize(); return(0); diff --git a/tools/perform/sio_standalone.h b/tools/perform/sio_standalone.h index b2f8220..4eb1ded 100644 --- a/tools/perform/sio_standalone.h +++ b/tools/perform/sio_standalone.h @@ -87,7 +87,6 @@ #define HDatof(S) atof(S) #define HDatoi(S) atoi(S) #define HDatol(S) atol(S) -#define HDBSDgettimeofday(S,P) BSDgettimeofday(S,P) #define HDbsearch(K,B,N,Z,F) bsearch(K,B,N,Z,F) #define HDcalloc(N,Z) calloc(N,Z) #define HDceil(X) ceil(X) diff --git a/vms/COPYING b/vms/COPYING deleted file mode 100644 index 6903daf..0000000 --- a/vms/COPYING +++ /dev/null @@ -1,16 +0,0 @@ - - Copyright by The HDF Group and - The Board of Trustees of the University of Illinois. - All rights reserved. - - The files and subdirectories in this directory are part of HDF5. - The full HDF5 copyright notice, including terms governing use, - modification, and redistribution, is contained in the files COPYING - and Copyright.html. COPYING can be found at the root of the source - code distribution tree; Copyright.html can be found at the root - level of an installed copy of the electronic HDF5 document set and - is linked from the top-level documents page. It can also be found - at http://www.hdfgroup.org/HDF5/doc/Copyright.html. If you do not - have access to either file, you may request a copy from - help@hdfgroup.org. - diff --git a/vms/build.com b/vms/build.com deleted file mode 100644 index c6b972a..0000000 --- a/vms/build.com +++ /dev/null @@ -1,65 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! -$! This file builds C, Fortran, C++ HDF5 libraries and runs the tests -$! Specify location of the top HDF5 source directory -$ -$ hdf5top == "disk$user:[hdfgroup.hdf5]" -$ len = F$LENGTH(hdf5top) -$ tmp = F$EXTRACT(0, len-1, hdf5top) -$ hdf5vms = tmp + ".VMS]" -$ hdf5ctest = tmp + ".TEST]" -$ hdf5f90test = tmp + ".FORTRAN.TEST]" -$ hdf5cxxtest = tmp + ".C__.TEST]" -$ hdf5toolstest = tmp + ".TOOLS.TESTFILES]" -$ hdf5toolstest_h5diff = tmp + ".TOOLS.H5DIFF.TESTFILES]" -$ hdf5toolstest_h5repack = tmp + ".TOOLS.H5REPACK.TESTFILES]" -$ hdf5toolstest_h5copy = tmp + ".TOOLS.H5COPY.TESTFILES]" -$ hdf5toolstest_h5import = tmp + ".TOOLS.H5IMPORT.TESTFILES]" -$ hdf5toolstest_h5jam = tmp + ".TOOLS.H5JAM.TESTFILES]" -$ set def 'hdf5vms' -$@make -$ set def 'hdf5ctest' -$@check -$ set def 'hdf5f90test' -$@check -$ set def 'hdf5cxxtest' -$@check -$ set def 'hdf5toolstest' -$ copy [-.h5dump]check_h5dump.com check_h5dump.com -$ copy [-.h5ls]check_h5ls.com check_h5ls.com -$@check_h5dump.com -$@check_h5ls.com -$ set def 'hdf5toolstest_h5diff' -$ copy [-]check_h5diff.com check_h5diff.com -$@check_h5diff.com -$ set def 'hdf5toolstest_h5repack' -$ copy [-]check_h5repack.com check_h5repack.com -$@check_h5repack.com -$! -$ set def 'hdf5toolstest_h5copy' -$ copy [-]check_h5copy.com check_h5copy.com -$@check_h5copy.com -$! -$ set def 'hdf5toolstest_h5import' -$ copy [.-]check_h5import.com check_h5import.com -$@check_h5import.com -$! -$ set def 'hdf5toolstest_h5jam' -$ copy [.-]check_h5jam.com check_h5jam.com -$@check_h5jam.com -$ -$ exit diff --git a/vms/c++/examples/check.com b/vms/c++/examples/check.com deleted file mode 100644 index 0149819..0000000 --- a/vms/c++/examples/check.com +++ /dev/null @@ -1,53 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! Command file to run C++ examples -$! -$! -$ type sys$input - - Running create -$ run create -$! -$ type sys$input - - Running readdata -$ run readdata -$! -$ type sys$input - - Running writedata -$ run writedata -$! -$ type sys$input - - Running compound -$ run compound -$! -$ type sys$input - - Running extend_ds -$ run extend_ds -$! -$ type sys$input - - Running chunks -$ run chunks -$! -$ type sys$input - - Running h5group -$ run h5group -$ exit diff --git a/vms/c++/examples/make.com b/vms/c++/examples/make.com deleted file mode 100644 index 45d74ce..0000000 --- a/vms/c++/examples/make.com +++ /dev/null @@ -1,79 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! Make HDF5 C++ examples -$! -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS/include=zlib_dir" -$ ccc := cxx 'cxxopt /include=([-.-.include]) -$! -$! -$ cxxobj= "chunks.cxx, compound.cxx, create.cxx, extend_ds.cxx, h5group.cxx, "+- - "readdata.cxx, writedata.cxx" -$! -$! -$ ccc 'cxxobj -$ type sys$input - - Creating chunks -$ cxxlink chunks, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating compound -$ cxxlink compound, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating create -$ cxxlink create, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating extend_ds -$ cxxlink extend_ds, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating h5group -$ cxxlink h5group, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating readdata -$ cxxlink readdata, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating writedata -$ cxxlink writedata, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input -$! -$ exit diff --git a/vms/c++/src/make.com b/vms/c++/src/make.com deleted file mode 100644 index 37525bc..0000000 --- a/vms/c++/src/make.com +++ /dev/null @@ -1,85 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C++ library -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS" -$ ccc := cxx 'cxxopt /include=([-.-.src]) -$! -$! type sys$input -$! Creating HDF5 C++ library -$! -$ lib/create/object hdf5_cplus.olb -$ ccc H5AbstractDs.cxx -$ lib/insert/object hdf5_cplus H5AbstractDs -$ ccc H5ArrayType.cxx -$ lib/insert/object hdf5_cplus H5ArrayType -$ ccc H5AtomType.cxx -$ lib/insert/object hdf5_cplus H5AtomType -$ ccc H5Attribute.cxx -$ lib/insert/object hdf5_cplus H5Attribute -$ ccc H5CommonFG.cxx -$ lib/insert/object hdf5_cplus H5CommonFG -$ ccc H5CompType.cxx -$ lib/insert/object hdf5_cplus H5CompType -$ ccc H5DataSet.cxx -$ lib/insert/object hdf5_cplus H5DataSet -$ ccc H5DataSpace.cxx -$ lib/insert/object hdf5_cplus H5DataSpace -$ ccc H5DataType.cxx -$ lib/insert/object hdf5_cplus H5DataType -$ ccc H5DcreatProp.cxx -$ lib/insert/object hdf5_cplus H5DcreatProp -$ ccc H5DxferProp.cxx -$ lib/insert/object hdf5_cplus H5DxferProp -$ ccc H5EnumType.cxx -$ lib/insert/object hdf5_cplus H5EnumType -$ ccc H5Exception.cxx -$ lib/insert/object hdf5_cplus H5Exception -$ ccc H5FaccProp.cxx -$ lib/insert/object hdf5_cplus H5FaccProp -$ ccc H5FcreatProp.cxx -$ lib/insert/object hdf5_cplus H5FcreatProp -$ ccc H5File.cxx -$ lib/insert/object hdf5_cplus H5File -$ ccc H5FloatType.cxx -$ lib/insert/object hdf5_cplus H5FloatType -$ ccc H5Group.cxx -$ lib/insert/object hdf5_cplus H5Group -$ ccc H5IdComponent.cxx -$ lib/insert/object hdf5_cplus H5IdComponent -$ ccc H5IntType.cxx -$ lib/insert/object hdf5_cplus H5IntType -$ ccc H5Library.cxx -$ lib/insert/object hdf5_cplus H5Library -$ ccc H5Object.cxx -$ lib/insert/object hdf5_cplus H5Object -$ ccc H5PredType.cxx -$ lib/insert/object hdf5_cplus H5PredType -$ ccc H5PropList.cxx -$ lib/insert/object hdf5_cplus H5PropList -$ ccc H5StrType.cxx -$ lib/insert/object hdf5_cplus H5StrType -$ ccc H5VarLenType.cxx -$ lib/insert/object hdf5_cplus H5VarLenType -$! -$ type sys$input - Done -$ exit diff --git a/vms/c++/test/check.com b/vms/c++/test/check.com deleted file mode 100644 index cd523c3..0000000 --- a/vms/c++/test/check.com +++ /dev/null @@ -1,23 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run C++ tests -$! -$ type sys$input - Running C++ tests -$! -$ run testhdf5 -$ exit diff --git a/vms/c++/test/make.com b/vms/c++/test/make.com deleted file mode 100644 index 7016a18..0000000 --- a/vms/c++/test/make.com +++ /dev/null @@ -1,49 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C++ library tests -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS" -$ -$ ccc := cxx 'cxxopt /include=([-.-.src], [-.-.test], [-.src]) -$! -$! -$! -$ ccc h5cpputil -$ ccc dsets -$ ccc tattr -$ ccc tcompound -$ ccc testhdf5 -$ ccc tfile -$ ccc tfilter -$ ccc th5s -$ ccc tlinks -$ ccc trefer -$ ccc ttypes -$ ccc tvlstr -$ type sys$input - Creating testhdf5 -$ cxxlink testhdf5, dsets, h5cpputil, tattr, tcompound, tfile, tfilter, th5s, - - tlinks, trefer, ttypes, tvlstr, - - [-.src]hdf5_cplus.olb/lib, [-.-.test]libh5test.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Done -$ exit diff --git a/vms/examples/check.com b/vms/examples/check.com deleted file mode 100644 index e78dcf5..0000000 --- a/vms/examples/check.com +++ /dev/null @@ -1,31 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$ type sys$input - Running examples -$ run h5_write -$ run h5_read -$ run h5_extend_write -$ run h5_chunk_read -$ run h5_compound -$ run h5_group -$ run h5_select -$ run h5_attribute -$ run h5_mount -$ run h5_reference -$ run h5_ref2reg -$ run h5_drivers -$ exit diff --git a/vms/examples/make.com b/vms/examples/make.com deleted file mode 100644 index 2de398e..0000000 --- a/vms/examples/make.com +++ /dev/null @@ -1,79 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C examples -$! -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ ccopt = "/float=ieee_float/nowarnings/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.include]) -$ type sys$input - Compiling C examples -$! -$ cobj= "h5_write.c, h5_read.c, h5_extend_write.c, h5_chunk_read.c, "+- - "h5_compound.c, h5_group.c, h5_select.c, h5_attribute.c, "+- - "h5_mount.c, h5_ref2reg.c, h5_reference.c, h5_drivers.c " -$! -$ ccc 'cobj -$ -$ type sys$input - Creating h5_write -$ link h5_write, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_read -$ link h5_read, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_extend_write -$ link h5_extend_write, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_chunk_read -$ link h5_chunk_read, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_compound -$ link h5_compound, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_group -$ link h5_group, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_select -$ link h5_select, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_attribute -$ link h5_attribute, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_mount -$ link h5_mount, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_reference -$ link h5_reference, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_ref2reg -$ link h5_ref2reg, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_drivers -$ link h5_drivers, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ exit diff --git a/vms/fortran/examples/check.com b/vms/fortran/examples/check.com deleted file mode 100644 index 63c1c25..0000000 --- a/vms/fortran/examples/check.com +++ /dev/null @@ -1,94 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run Fortran examples; examples need to run in a defined -$! order due to file dependencies. -$! -$ type sys$input - - - Running Fortran examples - -$ type sys$input - - Running dsetexample -$ run dsetexample -$ -$ type sys$input - - Running fileexample -$ run fileexample -$ -$ type sys$input - - Running rwdsetexample -$ run rwdsetexample -$ -$ type sys$input - - Running attrexample -$ run attrexample -$ -$ type sys$input - - Running groupexample -$ run groupexample -$ -$ type sys$input - - Running grpsexample -$ run grpsexample -$ -$ type sys$input - - Running grpdsetexample -$ run grpdsetexample -$ -$ type sys$input - - Running hyperslab -$ run hyperslab -$ -$ type sys$input - - Running selectele -$ run selectele -$ -$ type sys$input - - Running grpit -$ run grpit -$ -$ type sys$input - - Running refobjexample -$ run refobjexample -$ -$ type sys$input - - Running refregexample -$ run refregexample -$ -$ type sys$input - - Running mountexample -$ run mountexample -$ -$ type sys$input - - Running compound -$ run compound -$ exit diff --git a/vms/fortran/examples/make.com b/vms/fortran/examples/make.com deleted file mode 100644 index 6c5bfe7..0000000 --- a/vms/fortran/examples/make.com +++ /dev/null @@ -1,117 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran examples -$! -$ fcopt = "/float=ieee_float/define=H5_VMS" -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ fff := fortran 'fcopt /module=[-.-.include] -$ -$ type sys$input - Compiling HDF5 Fortran examples -$! -$ ffiles="dsetexample.f90, fileexample.f90, rwdsetexample.f90, "+- - "attrexample.f90, groupexample.f90, grpsexample.f90, "+- - "grpdsetexample.f90, hyperslab.f90, selectele.f90, grpit.f90,"+- - "refobjexample.f90, refregexample.f90, mountexample.f90,"+- - "compound.f90" -$! -$ fff 'ffiles -$ type sys$input - - Creating dsetexample -$ link dsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating fileexample -$ link fileexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating rwdsetexample -$ link rwdsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating attrexample -$ link attrexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating groupexample -$ link groupexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpsexample -$ link grpsexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpdsetexample -$ link grpdsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating hyperslab -$ link hyperslab ,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating selectele -$ link selectele,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpit -$ link grpit,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating refobjexample -$ link refobjexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating refregexample -$ link refregexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating mountexample -$ link mountexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating compound -$ link compound,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ exit diff --git a/vms/fortran/src/make.com b/vms/fortran/src/make.com deleted file mode 100644 index 5ad89ff..0000000 --- a/vms/fortran/src/make.com +++ /dev/null @@ -1,75 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran library -$! -$! The thre two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$! fcopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$ ccc := cc 'ccopt /include=[-.-.src] -$ fff := fortran 'fcopt -$ type sys$input - Creating and running H5test_kind to generate H5fortran_detect.f90 -$! -$ fff H5test_kind_sizeof.f90 -$ link H5test_kind_sizeof -$ define/user_mode sys$output H5fortran_detect.f90 -$ run H5test_kind_sizeof -$! -$ type sys$input - Creating and running H5fortran_detect.f90 to generate H5fort_type_defines.h -$! -$ fff H5fortran_detect.f90 -$ link H5fortran_detect -$ define/user_mode sys$output H5fort_type_defines.h -$ run H5fortran_detect -$! -$ type sys$input - Creating and running H5match_types to generate H5fortran_types.f90 -$! -$ ccc H5match_types.c -$ link H5match_types -$ run H5match_types -$! -$! -$ type sys$input - Creating HDF5 Fortran library -$! -$ cobj="H5f90kit, H5_f, H5Af, H5Df, H5Ef, H5Ff, H5Gf, "+- - "H5If, H5Lf, H5Of, H5Pf, H5Rf, H5Sf, H5Tf, H5Zf" -$ ffiles= "H5_ff.f90, H5Aff.f90, H5Dff.f90, H5Eff.f90,"+- - "H5Lff.f90, H5Off.f90,"+- - "H5Fff.f90, H5Gff.f90, H5Iff.f90, H5Pff.f90, H5Rff.f90, H5Sff.f90,"+- - "H5Tff.f90, H5Zff.f90, H5_DBLE_InterfaceInclude.f90, HDF5.f90" -$ fobj="H5f90global, "+- - "H5fortran_types, H5_ff, H5Aff, H5Dff, H5Eff,"+- - "H5Fff, H5Gff, H5Iff, H5Lff, H5Off, H5Pff, H5Rff, H5Sff,"+- - "H5Tff, H5Zff, H5_DBLE_InterfaceInclude, HDF5" -$! -$ ccc 'cobj -$ fff H5fortran_types.f90 -$ fff H5f90global.f90 -$ -$ fff 'ffiles -$ library/create []hdf5_fortran 'cobj -$ library/replace []hdf5_fortran 'fobj -$ type sys$input - Done -$ exit diff --git a/vms/fortran/test/check.com b/vms/fortran/test/check.com deleted file mode 100644 index 0a53e20..0000000 --- a/vms/fortran/test/check.com +++ /dev/null @@ -1,26 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run Fortran tests -$! -$! -$ type sys$input - Running Fortran tests -$ run fortranlib_test -$ run fortranlib_test_1_8 -$ run fflush1 -$ run fflush2 -$ exit diff --git a/vms/fortran/test/make.com b/vms/fortran/test/make.com deleted file mode 100644 index 478c64c..0000000 --- a/vms/fortran/test/make.com +++ /dev/null @@ -1,69 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran tests -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$! fcopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$ ccc := cc 'ccopt /include=[-.-.src] -$ fff := fortran 'fcopt /module=[-.src] -$ -$ type sys$input - Creating HDF5 Fortran tests -$! -$ cobj="t " -$ ffiles="fortranlib_test.f90, tH5F.f90, tH5D.f90, "+- - "tH5R.f90, tH5S.f90, tH5T.f90, tH5VL.f90, tH5Z.f90, tH5Sselect.f90,"+- - "tH5P.f90, tH5A.f90, tH5I.f90, tH5G.f90, tH5E.f90, tf.f90" -$ ffiles18="fortranlib_test_1_8.f90, tH5F.f90, tH5O.f90,"+- - "tH5A_1_8.f90, tH5G_1_8.f90" - -$ fobj="fortranlib_test, tH5F, tH5D, "+- - "tH5R, tH5S, tH5T, tH5VL, tH5Z, tH5Sselect,"+- - "tH5P, tH5A, tH5I, tH5G, tH5E, tf" -$ fobj18="fortranlib_test_1_8, tH5F, tH5O, tH5A_1_8, tH5G_1_8" -$! -$ ccc 'cobj -$ fff 'ffiles -$ fff 'ffiles18 -$ fff fflush1.f90 -$ fff fflush2.f90 -$ library/create []h5test_fortran t, tf -$ link fflush1,h5test_fortran.olb/lib,- - [-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link fflush2,h5test_fortran.olb/lib,- - [-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link/exec=fortranlib_test.exe - - fortranlib_test.obj, tH5F.obj, tH5D.obj, - - tH5R.obj, tH5S.obj, tH5T.obj, tH5VL.obj, tH5Z.obj, tH5Sselect.obj, - - tH5P.obj, tH5A.obj, tH5I.obj, tH5G.obj, tH5E.obj,- - h5test_fortran.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link/exec=fortranlib_test_1_8.exe - - fortranlib_test_1_8.obj, tH5F.obj, tH5O.obj, tH5A_1_8.obj, tH5G_1_8.obj,- - h5test_fortran.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created HDF5 Fortran tests -$! -$ exit diff --git a/vms/install.com b/vms/install.com deleted file mode 100644 index f1f9304..0000000 --- a/vms/install.com +++ /dev/null @@ -1,166 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! -$! This command file installs built binaries, header files, examples and -$! scripts under [.hdf5] directory in the main distribution -$! -$ -$! -$! -$ hdf5top = F$DIRECTORY() -$ len = F$LENGTH(hdf5top) -$ hdf5top_dir = F$EXTRACT(0, len-4, hdf5top) -$! -$ hdf5src = hdf5top_dir + "SRC]" -$ hdf5examples = hdf5top_dir + "EXAMPLES]" -$ hdf5tools_h5copy = hdf5top_dir + "TOOLS.H5COPY]" -$ hdf5tools_h5diff = hdf5top_dir + "TOOLS.H5DIFF]" -$ hdf5tools_h5dump = hdf5top_dir + "TOOLS.H5DUMP]" -$ hdf5tools_h5ls = hdf5top_dir + "TOOLS.H5LS]" -$ hdf5tools_h5repack = hdf5top_dir + "TOOLS.H5REPACK]" -$ hdf5tools_h5jam = hdf5top_dir + "TOOLS.H5JAM]" -$ hdf5tools_h5import = hdf5top_dir + "TOOLS.H5IMPORT]" -$ hdf5tools_h5stat = hdf5top_dir + "TOOLS.H5STAT]" -$ hdf5tools_h5misc = hdf5top_dir + "TOOLS.H5MISC]" -$ hdf5fortran_examples = hdf5top_dir + "FORTRAN.EXAMPLES]" -$ hdf5fortran_src = hdf5top_dir + "FORTRAN.SRC]" -$ hdf5cxx_src = hdf5top_dir + "C__.SRC]" -$ hdf5cxx_examples = hdf5top_dir + "C__.EXAMPLES]" -$! -$ hdf5install = hdf5top_dir + "HDF5]" -$ hdf5install_include = hdf5top_dir + "HDF5.INCLUDE]" -$ hdf5install_examples = hdf5top_dir + "HDF5.EXAMPLES]" -$ hdf5install_examples_c = hdf5top_dir + "HDF5.EXAMPLES.C]" -$ hdf5install_examples_f90 = hdf5top_dir + "HDF5.EXAMPLES.F90]" -$ hdf5install_examples_cxx = hdf5top_dir + "HDF5.EXAMPLES.CXX]" -$ hdf5install_lib = hdf5top_dir + "HDF5.LIB]" -$ hdf5install_bin = hdf5top_dir + "HDF5.BIN]" -$ -$ if F$SEARCH(hdf5install) .NES. "" -$ then write sys$output "''hdf5install' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install'..." -$ create/dir 'hdf5install' -$ endif -$ -$ if F$SEARCH(hdf5install_include) .NES. "" -$ then write sys$output "''hdf5install_include' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_include'..." -$ create/dir 'hdf5install_include' -$ endif -$ if F$SEARCH(hdf5install_lib) .NES. "" -$ then write sys$output "''hdf5install_lib' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_lib'..." -$ create/dir 'hdf5install_lib' -$ endif -$ if F$SEARCH(hdf5install_bin) .NES. "" -$ then write sys$output "''hdf5install_bin' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_bin'..." -$ create/dir 'hdf5install_bin' -$ endif -$ if F$SEARCH(hdf5install_examples) .NES. "" -$ then write sys$output "''hdf5install_examples' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples'..." -$ create/dir 'hdf5install_examples' -$ endif -$ if F$SEARCH(hdf5install_examples_c) .NES. "" -$ then write sys$output "''hdf5install_examples_c' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_c'..." -$ create/dir 'hdf5install_examples_c' -$ endif -$ if F$SEARCH(hdf5install_examples_f90) .NES. "" -$ then write sys$output "''hdf5install_examples_f90' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_f90'..." -$ create/dir 'hdf5install_examples_f90' -$ endif -$ if F$SEARCH(hdf5install_examples_cxx) .NES. "" -$ then write sys$output "''hdf5install_examples_cxx' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_cxx'..." -$ create/dir 'hdf5install_examples_cxx' -$ endif - -$! -$ write sys$output "Installing C library and header files" -$ set def 'hdf5src' -$ copy HDF5.olb 'hdf5install_lib' -$ copy *.h 'hdf5install_include' -$ del 'hdf5install_include'*private*.*;* -$! -$ write sys$output "Installing Fortran library module files" -$ set def 'hdf5fortran_src' -$ copy HDF5_FORTRAN.olb 'hdf5install_lib' -$ copy *.F90$MOD 'hdf5install_include' -$! -$ write sys$output "Installing C++ library and header files" -$ set def 'hdf5cxx_src' -$ copy HDF5_CPLUS.olb 'hdf5install_lib' -$ copy *.h 'hdf5install_include' -$! -$ write sys$output "Installing utilties" -$ set def 'hdf5tools_h5copy' -$ copy h5copy.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5diff' -$ copy h5diff.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5dump' -$ copy h5dump.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5repack' -$ copy h5repack.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5ls' -$ copy h5ls.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5jam' -$ copy h5jam.exe 'hdf5install_bin' -$ copy h5unjam.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5import' -$ copy h5import.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5stat' -$ copy h5stat.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5misc' -$ copy h5debug.exe 'hdf5install_bin' -$ copy h5mkgrp.exe 'hdf5install_bin' -$! -$ write sys$output "Installing examples" -$ set def 'hdf5examples' -$ copy *.c 'hdf5install_examples_c' -$! -$ set def 'hdf5fortran_examples' -$ copy *.f90 'hdf5install_examples_f90' -$! -$ set def 'hdf5cxx_examples' -$ copy *.cpp 'hdf5install_examples_cxx' -$ rename 'hdf5install_examples_cxx'*.cpp 'hdf5install_examples_cxx'*.cxx -$ -$ -$! -$ set def 'hdf5top' -$ copy [.examples]*.com 'hdf5install_examples_c' -$ copy [.fortran.examples]*.com 'hdf5install_examples_f90' -$ copy [.c__.examples]*.com 'hdf5install_examples_cxx' -$ exit diff --git a/vms/make.com b/vms/make.com deleted file mode 100644 index 4be8784..0000000 --- a/vms/make.com +++ /dev/null @@ -1,145 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! -$! This file copies all make files from the VMS directory to the -$! source directories and builds libraries, tests, and utilties -$! -$ copy [.c__.src]make.com [-.c__.src] -$ copy [.c__.test]*.com [-.c__.test] -$ copy [.fortran.src]make.com [-.fortran.src] -$ copy [.fortran.test]*.com [-.fortran.test] -$ copy [.src]make.com [-.src] -$ copy [.src]h5pubconf.h [-.src] -$ copy [.test]*.com [-.test] -$ copy [.tools.h5copy]*.com [-.tools.h5copy] -$ copy [.tools.h5dump]*.com [-.tools.h5dump] -$ copy [.tools.h5ls]*.com [-.tools.h5ls] -$ copy [.tools.h5diff]*.com [-.tools.h5diff] -$ copy [.tools.h5repack]*.com [-.tools.h5repack] -$ copy [.tools.h5import]*.com [-.tools.h5import] -$ copy [.tools.h5jam]*.com [-.tools.h5jam] -$ copy [.tools.h5stat]*.com [-.tools.h5stat] -$ copy [.tools.lib]make.com [-.tools.lib] -$ copy [.tools.testfiles]*.ddl [-.tools.testfiles] -$ copy [.tools.misc]make.com [-.tools.misc] -$! -$! Define location of ZLIB library. If you do not have it on your system, download -$! source code from http://www.zlib.net/, build and install on your system -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3-ieee] -$! -$! Set up compilation flags here -$! Do not remove define=H5_VMS and standard=strict_ansi qualifiers. -$! -$ ccopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/include=zlib_dir" -$ fcopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/include=zlib_dir" -$ cxxopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/"+- - "standard=strict_ansi/include=zlib_dir" -$! -$! -$ hdf5top = F$DIRECTORY() -$ len = F$LENGTH(hdf5top) -$ hdf5top_dir = F$EXTRACT(0, len-4, hdf5top) -$! -$ hdf5src = hdf5top_dir + "SRC]" -$ hdf5test = hdf5top_dir + "TEST]" -$ hdf5examples = hdf5top_dir + "EXAMPLES]" -$ hdf5tools_lib = hdf5top_dir + "TOOLS.LIB]" -$ hdf5tools_h5copy = hdf5top_dir + "TOOLS.H5COPY]" -$ hdf5tools_h5diff = hdf5top_dir + "TOOLS.H5DIFF]" -$ hdf5tools_h5dump = hdf5top_dir + "TOOLS.H5DUMP]" -$ hdf5tools_h5import = hdf5top_dir + "TOOLS.H5IMPORT]" -$ hdf5tools_h5jam = hdf5top_dir + "TOOLS.H5JAM]" -$ hdf5tools_h5ls = hdf5top_dir + "TOOLS.H5LS]" -$ hdf5tools_h5repack = hdf5top_dir + "TOOLS.H5REPACK]" -$ hdf5tools_h5stat = hdf5top_dir + "TOOLS.H5STAT]" -$ hdf5tools_misc = hdf5top_dir + "TOOLS.MISC]" -$ hdf5fortran_examples = hdf5top_dir + "FORTRAN.EXAMPLES]" -$ hdf5fortran_src = hdf5top_dir + "FORTRAN.SRC]" -$ hdf5fortran_test = hdf5top_dir + "FORTRAN.TEST]" -$ hdf5cxx_src = hdf5top_dir + "C__.SRC]" -$ hdf5cxx_test = hdf5top_dir + "C__.TEST]" -$ hdf5cxx_examples = hdf5top_dir + "C__.EXAMPLES]" -$! -$ write sys$output "Building C library" -$ set def 'hdf5src' -$ @make.com -$! -$! -$ write sys$output "Building C library tests" -$ set def 'hdf5test' -$ @make.com -$! -$ write sys$output "Building tools library" -$ set def 'hdf5tools_lib' -$ @make.com -$! -$ write sys$output "Building h5copy" -$ set def 'hdf5tools_h5copy' -$ @make.com -$! -$ write sys$output "Building h5diff" -$ set def 'hdf5tools_h5diff' -$ @make.com -$! -$ write sys$output "Building h5dump" -$ set def 'hdf5tools_h5dump' -$ @make.com -$! -$ write sys$output "Building h5import" -$ set def 'hdf5tools_h5import' -$ @make.com -$! -$ write sys$output "Building h5jam" -$ set def 'hdf5tools_h5jam' -$ @make.com -$! -$ write sys$output "Building h5ls" -$ set def 'hdf5tools_h5ls' -$ @make.com -$! -$ write sys$output "Building h5repack" -$ set def 'hdf5tools_h5repack' -$ @make.com -$! -$ write sys$output "Building h5stat" -$ set def 'hdf5tools_h5stat' -$ @make.com -$! -$ write sys$output "Building misc" -$ set def 'hdf5tools_misc' -$ @make.com -$! -$ write sys$output "Building Fortran library" -$ set def 'hdf5fortran_src' -$ @make.com -$! -$ write sys$output "Building Fortran library tests" -$ set def 'hdf5fortran_test' -$ @make.com -$! -$ write sys$output "Building C++ library" -$ set def 'hdf5cxx_src' -$ copy *.cpp *.cxx -$ @make.com -$! -$ write sys$output "Building C++ library tests" -$ set def 'hdf5cxx_test' -$ copy *.cpp *.cxx -$ @make.com -$! -$ set def 'hdf5top' -$ exit diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h deleted file mode 100644 index 67f0443..0000000 --- a/vms/src/h5pubconf.h +++ /dev/null @@ -1,719 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* src/H5config.h. Generated from H5config.h.in by configure. */ -/* src/H5config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -/* #undef H5_AC_APPLE_UNIVERSAL_BUILD */ - -/* Define if your system generates wrong code for log2 routine. */ -/* #undef H5_BAD_LOG2_CODE_GENERATED */ - -/* Define if the memory buffers being written to disk should be cleared before - writing. */ -#define H5_CLEAR_MEMORY 1 - -/* Define if your system can handle converting denormalized floating-point - values. */ -#define H5_CONVERT_DENORMAL_FLOAT 1 - -/* Define if C++ compiler recognizes offsetof */ -#define H5_CXX_HAVE_OFFSETOF 1 - -/* Define the default virtual file driver to compile */ -#define H5_DEFAULT_VFD H5FD_SEC2 - -/* Define if `dev_t' is a scalar */ -#define H5_DEV_T_IS_SCALAR 1 - -/* Define to dummy `main' function (if any) required to link to the Fortran - libraries. */ -/* #undef H5_FC_DUMMY_MAIN */ - -/* Define if F77 and FC dummy `main' functions are identical. */ -/* #undef H5_FC_DUMMY_MAIN_EQ_F77 */ - -/* Define to a macro mangling the given C identifier (in lower and upper - case), which must not contain underscores, for linking with Fortran. */ -/* #undef H5_FC_FUNC */ - -/* As FC_FUNC, but for C identifiers containing underscores. */ -/* #undef H5_FC_FUNC_ */ - -/* Define if your system can handle overflow converting floating-point to - integer values. */ -#define H5_FP_TO_INTEGER_OVERFLOW_WORKS 1 - -/* Define if your system roundup accurately converting floating-point to - unsigned long long values. */ -#define H5_FP_TO_ULLONG_ACCURATE 1 - -/* Define if your system has right maximum convert floating-point to unsigned - long long values. */ -#define H5_FP_TO_ULLONG_RIGHT_MAXIMUM 1 - -/* Define if gettimeofday() populates the tz pointer passed in */ -/* #undef H5_GETTIMEOFDAY_GIVES_TZ */ - -/* Define to 1 if you have the `alarm' function. */ -#define H5_HAVE_ALARM 1 - -/* Define if the __attribute__(()) extension is present */ -/* #undef H5_HAVE_ATTRIBUTE */ - -/* Define to 1 if you have the `BSDgettimeofday' function. */ -/* #undef H5_HAVE_BSDGETTIMEOFDAY */ - -/* Define if the compiler understands C99 designated initialization of structs - and unions */ -#define H5_HAVE_C99_DESIGNATED_INITIALIZER 1 - -/* Define if the compiler understands the __func__ keyword */ -#define H5_HAVE_C99_FUNC 1 - -/* Define to 1 if you have the `clock_gettime' function. */ -#define H5_HAVE_CLOCK_GETTIME 1 - -/* Define if the function stack tracing code is to be compiled in */ -/* #undef H5_HAVE_CODESTACK */ - -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -/* #undef H5_HAVE_DECL_TZNAME */ - -/* Define to 1 if you have the `difftime' function. */ -#define H5_HAVE_DIFFTIME 1 - -/* Define if the direct I/O virtual file driver should be compiled */ -/* #undef H5_HAVE_DIRECT */ - -/* Define to 1 if you have the <dirent.h> header file. */ -#define H5_HAVE_DIRENT_H 1 - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#define H5_HAVE_DLFCN_H 1 - -/* Define to 1 if you have the <dmalloc.h> header file. */ -/* #undef H5_HAVE_DMALLOC_H */ - -/* Define if library information should be embedded in the executables */ -/* #undef H5_HAVE_EMBEDDED_LIBINFO */ - -/* Define to 1 if you have the <features.h> header file. */ -/* #undef H5_HAVE_FEATURES_H */ - -/* Define if support for deflate (zlib) filter is enabled */ -#define H5_HAVE_FILTER_DEFLATE 1 - -/* Define if support for Fletcher32 checksum is enabled */ -#define H5_HAVE_FILTER_FLETCHER32 1 - -/* Define if support for nbit filter is enabled */ -#define H5_HAVE_FILTER_NBIT 1 - -/* Define if support for scaleoffset filter is enabled */ -#define H5_HAVE_FILTER_SCALEOFFSET 1 - -/* Define if support for shuffle filter is enabled */ -#define H5_HAVE_FILTER_SHUFFLE 1 - -/* Define if support for szip filter is enabled */ -/* #undef H5_HAVE_FILTER_SZIP */ - -/* Define to 1 if you have the `fork' function. */ -/* #undef H5_HAVE_FORK */ - -/* Define to 1 if you have the `frexpf' function. */ -#define H5_HAVE_FREXPF 1 - -/* Define to 1 if you have the `frexpl' function. */ -#define H5_HAVE_FREXPL 1 - -/* Define to 1 if you have the `fseeko' function. */ -#define H5_HAVE_FSEEKO 1 - -/* Define to 1 if you have the `fseek64' function. */ -/* #undef H5_HAVE_FSEEKO64 */ - -/* Define to 1 if you have the `fstat64' function. */ -/* #undef H5_HAVE_FSTAT64 */ - -/* Define to 1 if you have the `ftello' function. */ -#define H5_HAVE_FTELLO 1 - -/* Define to 1 if you have the `ftruncate64' function. */ -/* #undef H5_HAVE_FTRUNCATE64 */ - -/* Define if the compiler understands the __FUNCTION__ keyword */ -/* #undef H5_HAVE_FUNCTION */ - -/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */ -/* #undef H5_HAVE_GETCONSOLESCREENBUFFERINFO */ - -/* Define to 1 if you have the `gethostname' function. */ -#define H5_HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getpwuid' function. */ -/* #undef H5_HAVE_GETPWUID */ - -/* Define to 1 if you have the `getrusage' function. */ -/* #undef H5_HAVE_GETRUSAGE */ - -/* Define to 1 if you have the `gettextinfo' function. */ -/* #undef H5_HAVE_GETTEXTINFO */ - -/* Define to 1 if you have the `gettimeofday' function. */ -#define H5_HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the `get_fpc_csr' function. */ -/* #undef H5_HAVE_GET_FPC_CSR */ - -/* Define if library will contain instrumentation to detect correct - optimization operation */ -#define H5_HAVE_INSTRUMENTED_LIBRARY 1 - -/* Define to 1 if you have the <inttypes.h> header file. */ -#define H5_HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `ioctl' function. */ -#define H5_HAVE_IOCTL 1 - -/* Define to 1 if you have the <io.h> header file. */ -/* #undef H5_HAVE_IO_H */ - -/* Define to 1 if you have the `dl' library (-ldl). */ -#define H5_HAVE_LIBDL 1 - -/* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ -/* #undef H5_HAVE_LIBDMALLOC */ - -/* Define to 1 if you have the `lmpe' library (-llmpe). */ -/* #undef H5_HAVE_LIBLMPE */ - -/* Define to 1 if you have the `m' library (-lm). */ -#define H5_HAVE_LIBM 1 - -/* Define to 1 if you have the `mpe' library (-lmpe). */ -/* #undef H5_HAVE_LIBMPE */ - -/* Define to 1 if you have the `mpi' library (-lmpi). */ -/* #undef H5_HAVE_LIBMPI */ - -/* Define to 1 if you have the `mpich' library (-lmpich). */ -/* #undef H5_HAVE_LIBMPICH */ - -/* Define to 1 if you have the `mpio' library (-lmpio). */ -/* #undef H5_HAVE_LIBMPIO */ - -/* Define to 1 if you have the `nsl' library (-lnsl). */ -/* #undef H5_HAVE_LIBNSL */ - -/* Define to 1 if you have the `pthread' library (-lpthread). */ -/* #undef H5_HAVE_LIBPTHREAD */ - -/* Define to 1 if you have the `socket' library (-lsocket). */ -/* #undef H5_HAVE_LIBSOCKET */ - -/* Define to 1 if you have the `sz' library (-lsz). */ -/* #undef H5_HAVE_LIBSZ */ - -/* Define to 1 if you have the `z' library (-lz). */ -/* #undef H5_HAVE_LIBZ */ - -/* Define to 1 if you have the `longjmp' function. */ -#define H5_HAVE_LONGJMP 1 - -/* Define to 1 if you have the `lseek64' function. */ -/* #undef H5_HAVE_LSEEK64 */ - -/* Define to 1 if you have the `lstat' function. */ -/* #undef H5_HAVE_LSTAT */ - -/* Define to 1 if you have the <mach/mach_time.h> header file. */ -/* #undef H5_HAVE_MACH_MACH_TIME_H */ - -/* Define to 1 if you have the <memory.h> header file. */ -/* #undef H5_HAVE_MEMORY_H */ - -/* Define if we have MPE support */ -/* #undef H5_HAVE_MPE */ - -/* Define to 1 if you have the <mpe.h> header file. */ -/* #undef H5_HAVE_MPE_H */ - -/* Define if `MPI_Comm_c2f' and `MPI_Comm_f2c' exists */ -/* #undef H5_HAVE_MPI_MULTI_LANG_Comm */ - -/* Define if `MPI_Info_c2f' and `MPI_Info_f2c' exists */ -/* #undef H5_HAVE_MPI_MULTI_LANG_Info */ - -/* Define if we have parallel support */ -/* #undef H5_HAVE_PARALLEL */ - -/* Define to 1 if you have the <pthread.h> header file. */ -/* #undef H5_HAVE_PTHREAD_H */ - -/* Define to 1 if you have the `random' function. */ -#define H5_HAVE_RANDOM 1 - -/* Define to 1 if you have the `rand_r' function. */ -/* #define H5_HAVE_RAND_R 1 */ - -/* Define to 1 if you have the `setjmp' function. */ -#define H5_HAVE_SETJMP 1 - -/* Define to 1 if you have the <setjmp.h> header file. */ -#define H5_HAVE_SETJMP_H 1 - -/* Define to 1 if you have the `setsysinfo' function. */ -/* #undef H5_HAVE_SETSYSINFO */ - -/* Define to 1 if you have the `siglongjmp' function. */ -#define H5_HAVE_SIGLONGJMP 1 - -/* Define to 1 if you have the `signal' function. */ -#define H5_HAVE_SIGNAL 1 - -/* Define to 1 if you have the `sigprocmask' function. */ -/* #undef H5_HAVE_SIGPROCMASK */ - -/* Define to 1 if you have the `sigsetjmp' function. */ -/* #undef H5_HAVE_SIGSETJMP */ - -/* Define to 1 if you have the `snprintf' function. */ -#define H5_HAVE_SNPRINTF 1 - -/* Define to 1 if you have the `srandom' function. */ -#define H5_HAVE_SRANDOM 1 - -/* Define to 1 if you have the `stat64' function. */ -/* #undef H5_HAVE_STAT64 */ - -/* Define if `struct stat' has the `st_blocks' field */ -/* #undef H5_HAVE_STAT_ST_BLOCKS */ - -/* Define to 1 if you have the <stddef.h> header file. */ -#define H5_HAVE_STDDEF_H 1 - -/* Define to 1 if you have the <stdint.h> header file. */ -/* #undef H5_HAVE_STDINT_H */ - -/* Define to 1 if you have the <stdlib.h> header file. */ -#define H5_HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strdup' function. */ -#define H5_HAVE_STRDUP 1 - -/* Define to 1 if you have the <strings.h> header file. */ -#define H5_HAVE_STRINGS_H 1 - -/* Define to 1 if you have the <string.h> header file. */ -#define H5_HAVE_STRING_H 1 - -/* Define if `struct text_info' is defined */ -/* #undef H5_HAVE_STRUCT_TEXT_INFO */ - -/* Define if `struct timezone' is defined */ -/* #undef H5_HAVE_STRUCT_TIMEZONE */ - -/* Define to 1 if `tm_zone' is member of `struct tm'. */ -#define H5_HAVE_STRUCT_TM_TM_ZONE 1 - -/* Define if `struct videoconfig' is defined */ -/* #undef H5_HAVE_STRUCT_VIDEOCONFIG */ - -/* Define to 1 if you have the `symlink' function. */ -/* #undef H5_HAVE_SYMLINK */ - -/* Define to 1 if you have the `system' function. */ -#define H5_HAVE_SYSTEM 1 - -/* Define to 1 if you have the <sys/fpu.h> header file. */ -/* #undef H5_HAVE_SYS_FPU_H */ - -/* Define to 1 if you have the <sys/ioctl.h> header file. */ -#define H5_HAVE_SYS_IOCTL_H 1 - -/* Define to 1 if you have the <sys/proc.h> header file. */ -/* #undef H5_HAVE_SYS_PROC_H */ - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#define H5_HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the <sys/socket.h> header file. */ -#define H5_HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#define H5_HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <sys/sysinfo.h> header file. */ -/* #undef H5_HAVE_SYS_SYSINFO_H */ - -/* Define to 1 if you have the <sys/timeb.h> header file. */ -#define H5_HAVE_SYS_TIMEB_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#define H5_HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the <sys/types.h> header file. */ -#define H5_HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the <szlib.h> header file. */ -/* #undef H5_HAVE_SZLIB_H */ - -/* Define if we have thread safe support */ -/* #undef H5_HAVE_THREADSAFE */ - -/* Define if `timezone' is a global variable */ -#define H5_HAVE_TIMEZONE 1 - -/* Define if the ioctl TIOCGETD is defined */ -#define H5_HAVE_TIOCGETD 1 - -/* Define if the ioctl TIOGWINSZ is defined */ -#define H5_HAVE_TIOCGWINSZ 1 - -/* Define to 1 if you have the `tmpfile' function. */ -#define H5_HAVE_TMPFILE 1 - -/* Define if `tm_gmtoff' is a member of `struct tm' */ -/* #undef H5_HAVE_TM_GMTOFF */ - -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#define H5_HAVE_TM_ZONE 1 - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -/* #undef H5_HAVE_TZNAME */ - -/* Define to 1 if you have the <unistd.h> header file. */ -#define H5_HAVE_UNISTD_H 1 - -/* Define to 1 if you have the `asprintf' function. */ -/* #undef H5_HAVE_ASPRINTF */ - -/* Define to 1 if you have the `vasprintf' function. */ -/* #undef H5_HAVE_VASPRINTF */ - -/* Define to 1 if you have the `vsnprintf' function. */ -#define H5_HAVE_VSNPRINTF 1 - -/* Define to 1 if you have the `waitpid' function. */ -#define H5_HAVE_WAITPID 1 - -/* Define if your system has OpenVMS path name. This macro is added by hand. */ -#define H5_HAVE_VMS_PATH 1 - -/* Define if your system has window style path name. */ -/* #undef H5_HAVE_WINDOW_PATH */ - -/* Define to 1 if you have the <winsock.h> header file. */ -/* #undef H5_HAVE_WINSOCK2_H */ - -/* Define to 1 if you have the <zlib.h> header file. */ -#define H5_HAVE_ZLIB_H 1 - -/* Define to 1 if you have the `_getvideoconfig' function. */ -/* #undef H5_HAVE__GETVIDEOCONFIG */ - -/* Define to 1 if you have the `_scrsize' function. */ -/* #undef H5_HAVE__SCRSIZE */ - -/* Define if `__tm_gmtoff' is a member of `struct tm' */ -/* #undef H5_HAVE___TM_GMTOFF */ - -/* Define if your system can't handle converting floating-point values to long - long. */ -/* #undef H5_HW_FP_TO_LLONG_NOT_WORKS */ - -/* Define if HDF5's high-level library headers should be included in hdf5.h */ -#define H5_INCLUDE_HL 1 - -/* Define if your system can accurately convert from integers to long double - values. */ -#define H5_INTEGER_TO_LDOUBLE_ACCURATE 1 - -/* Define if your system can convert long double to integers accurately. */ -#define H5_LDOUBLE_TO_INTEGER_ACCURATE 1 - -/* Define if your system can convert from long double to integer values. */ -#define H5_LDOUBLE_TO_INTEGER_WORKS 1 - -/* Define if your system can convert long double to (unsigned) long long - values correctly. */ -#define H5_LDOUBLE_TO_LLONG_ACCURATE 1 - -/* Define if your system converts long double to (unsigned) long values with - special algorithm. */ -/* #undef H5_LDOUBLE_TO_LONG_SPECIAL */ - -/* Define if your system can convert long double to unsigned int values - correctly. */ -#define H5_LDOUBLE_TO_UINT_ACCURATE 1 - -/* Define if your system can compile long long to floating-point casts. */ -#define H5_LLONG_TO_FP_CAST_WORKS 1 - -/* Define if your system can convert (unsigned) long long to long double - values correctly. */ -#define H5_LLONG_TO_LDOUBLE_CORRECT 1 - -/* Define if your system can convert (unsigned) long to long double values - with special algorithm. */ -/* #undef H5_LONG_TO_LDOUBLE_SPECIAL */ - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define H5_LT_OBJDIR ".libs/" - -/* Define if the metadata trace file code is to be compiled in */ -/* #undef H5_METADATA_TRACE_FILE */ - -/* Define if we can violate pointer alignment restrictions */ -#define H5_NO_ALIGNMENT_RESTRICTIONS 1 - -/* Define if deprecated public API symbols are disabled */ -/* #undef H5_NO_DEPRECATED_SYMBOLS */ - -/* Define if shared writing must be disabled (CodeWarrior only) */ -#define H5_NO_SHARED_WRITING 1 - -/* Name of package */ -#define H5_PACKAGE "hdf5" - -/* Define to the address where bug reports for this package should be sent. */ -#define H5_PACKAGE_BUGREPORT "help@hdfgroup.org" - -/* Define to the full name of this package. */ -#define H5_PACKAGE_NAME "HDF5" - -/* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.212" - -/* Define to the one symbol short name of this package. */ -#define H5_PACKAGE_TARNAME "hdf5" - -/* Define to the home page for this package. */ -#define H5_PACKAGE_URL "" - -/* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.212" - -/* Width for printf() for type `long long' or `__int64', use `ll' */ -#define H5_PRINTF_LL_WIDTH "ll" - -/* The size of `char', as computed by sizeof. */ -#define H5_SIZEOF_CHAR 1 - -/* The size of `double', as computed by sizeof. */ -#define H5_SIZEOF_DOUBLE 8 - -/* The size of `float', as computed by sizeof. */ -#define H5_SIZEOF_FLOAT 4 - -/* The size of `int', as computed by sizeof. */ -#define H5_SIZEOF_INT 4 - -/* The size of `int16_t', as computed by sizeof. */ -#define H5_SIZEOF_INT16_T 2 - -/* The size of `int32_t', as computed by sizeof. */ -#define H5_SIZEOF_INT32_T 4 - -/* The size of `int64_t', as computed by sizeof. */ -#define H5_SIZEOF_INT64_T 8 - -/* The size of `int8_t', as computed by sizeof. */ -#define H5_SIZEOF_INT8_T 1 - -/* The size of `int_fast16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST16_T 0 */ - -/* The size of `int_fast32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST32_T 0 */ - -/* The size of `int_fast64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST64_T 0 */ - -/* The size of `int_fast8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST8_T 0 */ - -/* The size of `int_least16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST16_T 0 */ - -/* The size of `int_least32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST32_T 0 */ - -/* The size of `int_least64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST64_T 0 */ - -/* The size of `int_least8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST8_T 0 */ - -/* The size of `long', as computed by sizeof. */ -#define H5_SIZEOF_LONG 4 - -/* The size of `long double', as computed by sizeof. */ -#define H5_SIZEOF_LONG_DOUBLE 16 - -/* The size of `long long', as computed by sizeof. */ -#define H5_SIZEOF_LONG_LONG 8 - -/* The size of `off64_t', as computed by sizeof. */ -#define H5_SIZEOF_OFF64_T 0 - -/* The size of `off_t', as computed by sizeof. */ -#define H5_SIZEOF_OFF_T 8 - -/* The size of `ptrdiff_t', as computed by sizeof. */ -#define H5_SIZEOF_PTRDIFF_T 4 - -/* The size of `short', as computed by sizeof. */ -#define H5_SIZEOF_SHORT 2 - -/* The size of `size_t', as computed by sizeof. */ -#define H5_SIZEOF_SIZE_T 4 - -/* The size of `ssize_t', as computed by sizeof. */ -#define H5_SIZEOF_SSIZE_T 4 - -/* The size of `uint16_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT16_T 2 - -/* The size of `uint32_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT32_T 4 - -/* The size of `uint64_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT64_T 8 - -/* The size of `uint8_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT8_T 1 - -/* The size of `uint_fast16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST16_T 0 */ - -/* The size of `uint_fast32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST32_T 0 */ - -/* The size of `uint_fast64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST64_T 0 */ - -/* The size of `uint_fast8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST8_T 0 */ - -/* The size of `uint_least16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST16_T 0 */ - -/* The size of `uint_least32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST32_T 0 */ - -/* The size of `uint_least64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST64_T 0 */ - -/* The size of `uint_least8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST8_T 0 */ - -/* The size of `unsigned', as computed by sizeof. */ -#define H5_SIZEOF_UNSIGNED 4 - -/* The size of `__int64', as computed by sizeof. */ -#define H5_SIZEOF___INT64 0 - -/* Define to 1 if you have the ANSI C header files. */ -#define H5_STDC_HEADERS 1 - -/* Define if strict file format checks are enabled */ -/* #undef H5_STRICT_FORMAT_CHECKS */ - -/* Define if your system supports pthread_attr_setscope(&attribute, - PTHREAD_SCOPE_SYSTEM) call. */ -#define H5_SYSTEM_SCOPE_THREADS 1 - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#define H5_TIME_WITH_SYS_TIME 1 - -/* Define to 1 if your <sys/time.h> declares `struct tm'. */ -/* #undef H5_TM_IN_SYS_TIME */ - -/* Define if your system can compile unsigned long long to floating-point - casts. */ -#define H5_ULLONG_TO_FP_CAST_WORKS 1 - -/* Define if your system can convert unsigned long long to long double with - correct precision. */ -#define H5_ULLONG_TO_LDOUBLE_PRECISION 1 - -/* Define if your system accurately converting unsigned long to float values. - */ -/* #undef H5_ULONG_TO_FLOAT_ACCURATE */ - -/* Define if your system can accurately convert unsigned (long) long values to - floating-point values. */ -#define H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE 1 - -/* Define using v1.6 public API symbols by default */ -/* #define H5_USE_16_API_DEFAULT 1 */ - -/* Define if a memory checking tool will be used on the library, to cause - library to be very picky about memory operations and also disable the - internal free list manager code. */ -/* #undef H5_USING_MEMCHECKER */ - -/* Version number of package */ -#define H5_VERSION "1.9.212" - -/* Define if vsnprintf() returns the correct value for formatted strings that - don't fit into size allowed */ -#define H5_VSNPRINTF_WORKS 1 - -/* Data accuracy is prefered to speed during data conversions */ -#define H5_WANT_DATA_ACCURACY 1 - -/* Check exception handling functions during data conversions */ -#define H5_WANT_DCONV_EXCEPTION 1 - -/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -/* #undef H5_WORDS_BIGENDIAN */ - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef H5__FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef H5__LARGE_FILES */ - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef H5_const */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef H5_inline */ -#endif - -/* Define to `long int' if <sys/types.h> does not define. */ -/* #undef H5_off_t */ - -/* Define to `long' if <sys/types.h> does not define. */ -/* #undef H5_ptrdiff_t */ - -/* Define to `unsigned long' if <sys/types.h> does not define. */ -/* #undef H5_size_t */ - -/* Define to `long' if <sys/types.h> does not define. */ -/* #undef H5_ssize_t */ -#define H5_HAVE_FILE_VERSIONS 1 -#define H5_CANNOT_OPEN_TWICE 1 diff --git a/vms/src/make.com b/vms/src/make.com deleted file mode 100644 index 397d543..0000000 --- a/vms/src/make.com +++ /dev/null @@ -1,76 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 library -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/include=zlib_dir" -$ ccc := cc 'ccopt -$ ccc h5detect.c -$ link h5detect -$ type sys$input - Running h5detect to create h5tinit.c -$ define/user_mode sys$output h5tinit.c -$ run h5detect -$! -$ ccc h5make_libsettings.c -$ link h5make_libsettings -$ type sys$input - Running h5make_libsettings to create H5lib_settings.h -$ define/user_mode sys$output H5lib_settings.h -$ run h5make_libsettings -$! -$ type sys$input - Creating HDF5 library -$! -$ cobj= "H5, H5checksum, H5dbg, H5system, H5timer, H5trace,"+- - "H5Abtree2, H5A, H5AC, H5Adense, H5Adeprec, H5Aint, H5Atest, H5B2, H5B2cache,"+- - "H5B2dbg, H5B2hdr, H5B2int, H5B2stat, H5B2test, H5B, H5Bcache, H5Bdbg, H5C, H5CS,"+- - "H5Dbtree, H5D, H5Dchunk, H5Dcompact, H5Dcontig, H5Ddbg, H5Ddeprec,"+- - "H5Defl, H5Dfill, H5Dint, H5Dio, H5Dlayout, H5Dmpio, H5Doh, H5Dscatgath, H5Dselect, H5Dtest,"+- - "H5EA, H5EAcache, H5EAdbg, H5EAdblkpage, H5EAdblock, H5EAhdr, H5EAiblock, H5EAint,"+- - "H5EAsblock, H5EAstat, H5EAtest, H5E, H5Edeprec, H5Eint,"+- - "H5FA, H5FAcache, H5FAdbg, H5FAdblkpage, H5FAdblock, H5FAhdr, H5FAstat, H5FAtest,"+- - "H5Faccum, H5F, H5Fcwfs, H5Fdbg, H5Fdeprec, H5FD, H5FDcore, H5FDdirect, H5FDfamily, H5FDint, H5FDlog, "+- - "H5FDmpi, H5FDmpio, H5FDmulti, H5FDsec2, H5FDspace, H5FDstdio, H5FDwindows,"+- - "H5Fefc, H5Ffake, H5Fio, H5FL, H5Fmount, H5Fmpi, H5FO, H5Fquery, H5FS, H5FScache, H5FSdbg,"+- - "H5Fsfile, H5FSsection, H5FSstat, H5FStest, H5Fsuper, H5Fsuper_cache, H5Ftest,"+- - "H5Gbtree2, H5G, H5Gcache, H5Gcompact, H5Gdense, H5Gdeprec, H5Gent, H5Gint, H5Glink, H5Gloc,"+- - "H5Gname, H5Gnode, H5Gobj, H5Goh, H5Groot, H5Gstab, H5Gtest, H5Gtraverse,"+- - "H5HFbtree2, H5HF, H5HFcache, H5HFdbg, H5HFdblock, H5HFdtable, H5HFhdr, H5HFhuge, H5HFiblock,"+- - "H5HFiter, H5HFman, H5HFsection, H5HFspace, H5HFstat, H5HFtest, H5HFtiny,"+- - "H5HG, H5HGcache, H5HGdbg, H5HGquery, H5HL, H5HLcache, H5HLdbg, H5HLint, H5HP, H5I, H5Itest, H5L, H5Lexternal" -$ cobj1= "H5MFaggr, H5MF, H5MFdbg, H5MFsection, H5MM,"+- - "H5MP, H5MPtest, H5Oainfo, H5Oalloc, H5Oattr, H5Oattribute, H5Obogus, H5Obtreek,"+- - "H5O, H5Ocache, H5Ochunk, H5Ocont, H5Ocopy, H5Odbg, H5Odrvinfo, H5Odtype, H5Oefl, H5Ofill, H5Ofsinfo,"+- - "H5Oginfo, H5Olayout, H5Olinfo, H5Olink, H5Omessage, H5Omtime, H5Oname, H5Onull, H5Opline,"+- - "H5Orefcount, H5Osdspace, H5Oshared, H5Oshmesg, H5Ostab, H5Otest, H5Ounknown,"+- - "H5Pacpl, H5P, H5Pdapl, H5Pdcpl, H5Pdeprec, H5Pdxpl, H5Pencdec, H5Pfapl, H5Pfcpl, H5Pfmpl, H5Pgcpl, H5Pint,"+- - "H5Plapl, H5Plcpl, H5Pocpl, H5Pocpypl, H5Pstrcpl, H5Ptest,"+- - "H5R, H5UC, H5Rdeprec, H5RS, H5Sall, H5S, H5Sdbg, H5Shyper, H5SL, H5SMbtree2, H5SM, H5SMcache,"+- - "H5SMmessage, H5Smpio, H5SMtest, H5Snone, H5Spoint, H5Sselect, H5ST, H5Stest,"+- - "H5Tarray, H5Tbit, H5T, H5Tcommit, H5Tcompound, H5Tconv, H5Tcset, H5Tdbg, H5Tdeprec, H5Tenum,"+- - "H5Tfields, H5Tfixed, H5Tfloat, H5Tinit, H5Tnative, H5Toffset, H5Toh, H5Topaque, H5Torder,"+- - "H5Tpad, H5Tprecis, H5TS, H5Tstrpad, H5Tvisit, H5Tvlen, H5V, H5WB, H5Z,"+- - "H5Zdeflate, H5Zfletcher32, H5Znbit, H5Zscaleoffset, H5Zshuffle, H5Zszip, H5Ztrans" -$! -$ ccc 'cobj -$ ccc 'cobj1 -$ library/create []hdf5 -$ library/insert []hdf5 'cobj -$ library/insert []hdf5 'cobj1 -$ type sys$input - Done -$! diff --git a/vms/test/H5srcdir_str.h b/vms/test/H5srcdir_str.h deleted file mode 100644 index 2eb1a39..0000000 --- a/vms/test/H5srcdir_str.h +++ /dev/null @@ -1,22 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* If you are reading this file and it has a '.h' suffix, it was automatically - * generated from the '.in' version. Make changes there. But for OpenVMS, this - * file is created by hand. - */ - -/* Set the 'srcdir' path from configure time */ -static const char *config_srcdir = "[-.test]"; diff --git a/vms/test/check.com b/vms/test/check.com deleted file mode 100644 index 5a3c945..0000000 --- a/vms/test/check.com +++ /dev/null @@ -1,271 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Run HDF5 C tests -$! -$ type sys$input - Running tests -$! define sys$output check_vms.out -$ -$ type sys$input -------- Running testhdf5 ------- -$ run testhdf5 -$ type sys$input - -$ type sys$input -------- Running accum ------- -$ run accum -$ type sys$input - -$ type sys$input -------- Running app_ref ------- -$ run app_ref -$ type sys$input - -$ type sys$input -------- Running big ------- -$ run big -$ type sys$input - -$ type sys$input -------- Running bittests ------- -$ run bittests -$ type sys$input - -$ type sys$input -------- Running btree2 ------- -$ run btree2 -$ type sys$input - -$ type sys$input -------- Running cache_api ------- -$ run cache_api -$ type sys$input - -$ type sys$input -------- Running cache ------- -$ run cache -$ type sys$input - -$ type sys$input -------- Running cache_tagging ------- -$ run cache_tagging -$ type sys$input - -$ type sys$input -------- Running chunk_info ------- -$ run chunk_info -$ type sys$input - -$ type sys$input -------- Running cmpd_dset ------- -$ run cmpd_dset -$ type sys$input - -$ type sys$input -------- Running cross_read ------- -$ run cross_read -$ type sys$input - -$ type sys$input -------- Running dangle ------- -$ run dangle -$ type sys$input - -$ type sys$input -------- Running dsets ------- -$ run dsets -$ type sys$input - -$ type sys$input -------- Running dt_arith ------- -$ run dt_arith -$ type sys$input - -$ type sys$input -------- Running dtransform ------- -$ run dtransform -$ type sys$input - -$ type sys$input -------- Running dtypes ------- -$ run dtypes -$ type sys$input - -$ type sys$input -------- Running earray ------- -$ run earray -$ type sys$input - -$! Skip this test for now because it opens the same file many times. -$! Please see Issue 7620 in Jira about it. -$! type sys$input -$! ------- Running efc ------- -$! run efc -$! type sys$input - -$ type sys$input -------- Running enum ------- -$ run enum -$ type sys$input - -$ type sys$input -------- Running extend ------- -$ run extend -$ type sys$input - -$ type sys$input -------- Running external ------- -$ run external -$ type sys$input - -$ type sys$input -------- Running fheap ------- -$ run fheap -$ type sys$input - -$ type sys$input -------- Running fillval ------- -$ run fillval -$ type sys$input - -$ type sys$input -------- Running filter_fail ------- -$ run filter_fail -$ type sys$input - -$ type sys$input -------- Running flush1 ------- -$ run flush1 -$ type sys$input - -$ type sys$input -------- Running flush2 ------- -$ run flush2 -$ type sys$input - -$ type sys$input -------- Running freespace ------- -$ run freespace -$ type sys$input - -$ type sys$input -------- Running getname ------- -$ run getname -$ type sys$input - -$ type sys$input -------- Running gheap ------- -$ run gheap -$ type sys$input - -$ type sys$input -------- Running hyperslab ------- -$ run hyperslab -$ type sys$input - -$ type sys$input -------- Running istore ------- -$ run istore -$ type sys$input - -$ type sys$input -------- Running lheap ------- -$ run lheap -$ type sys$input - -$ type sys$input -------- Running links ------- -$ run links -$ type sys$input - -$ type sys$input -------- Running links_env ------- -$ run links_env -$ type sys$input - -$ type sys$input -------- Running mf ------- -$ run mf -$ type sys$input - -$ type sys$input -------- Running mount ------- -$ run mount -$ type sys$input - -$ type sys$input -------- Running mtime ------- -$ run mtime -$ type sys$input - -$ type sys$input -------- Running ntypes ------- -$ run ntypes -$ type sys$input - -$ type sys$input -------- Running objcopy ------- -$ run objcopy -$ type sys$input - -$ type sys$input -------- Running ohdr ------- -$ run ohdr -$ type sys$input - -$ type sys$input -------- Running pool ------- -$ run pool -$ type sys$input - -$ type sys$input -------- Running reserved ------- -$ run reserved -$ type sys$input - -$ type sys$input -------- Running set_extent ------- -$ run set_extent -$ type sys$input - -$ type sys$input -------- Running space_overflow ------- -$ run space_overflow -$ type sys$input - -$ type sys$input -------- Running stab ------- -$ run stab -$ type sys$input - -$ type sys$input -------- Running testmeta ------- -$ run testmeta -$ type sys$input - -$ type sys$input -------- Running unlink ------- -$ run unlink -$ type sys$input - -$ type sys$input -------- Running vfd ------- -$ run vfd -$ type sys$input - -------- Testing completed ------- -$ exit diff --git a/vms/test/make.com b/vms/test/make.com deleted file mode 100644 index 22479c6..0000000 --- a/vms/test/make.com +++ /dev/null @@ -1,358 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 library tests -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/include=zlib_dir" -$! -$ ccc := cc 'ccopt /include=([-.src]) -$ type sys$input - Creating testhdf5 -$! -$ cobj= "h5test.c, testframe.c, testhdf5.c, tarray.c, tattr.c, tcheck_version., tchecksum.c,"+- - "tconfig.c, tcoords.c, tfile.c, tgenprop.c, th5o.c, th5s.c, theap.c, tid.c,"+- - "titerate.c, tmeta.c, tmisc.c, trefer.c, trefstr.c, tselect.c, tskiplist.c,"+- - "tsohm.c, ttime.c, ttst.c, tunicode.c, tvlstr.c, tvltypes.c, cache_common.c" -$! -$ ccc 'cobj -$ library/create/replace []libh5test h5test, testframe, cache_common -$ type sys$input - Creating libh5test -$ link testhdf5,tarray,tattr,tcheck_version,tchecksum,tconfig, - - tcoords,tfile,tgenprop,th5o,th5s,theap,tid,titerate, - - tmeta,tmisc,trefer,trefstr, - - tselect,tskiplist,tsohm,ttime,ttst,tunicode,tvlstr,tvltypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ -$! a new test -$ type sys$input - Creating accum test -$ ccc accum -$ link accum, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating app_ref test -$ ccc app_ref -$ link app_ref, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating big test -$ ccc big -$ link big, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating bittests test -$ ccc bittests -$ link bittests, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating btree2 test -$ ccc btree2 -$ link btree2, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache_api test -$ ccc cache_api -$ link cache_api, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache test -$ ccc cache -$ link cache, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache_common test -$ ccc cache_common -$ link cache_common, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating cache_tagging tests -$ ccc cache_tagging -$ link cache_tagging, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating chunk_info test -$ ccc chunk_info -$ link chunk_info, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cmpd_dset test -$ ccc cmpd_dset -$ link cmpd_dset, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cross_read test -$ ccc cross_read -$ link cross_read, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dangle test -$ ccc dangle -$ link dangle, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dsets tests -$ ccc dsets -$ link dsets, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dt_arith test -$ ccc dt_arith -$ link dt_arith, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dtransform test -$ ccc dtransform -$ link dtransform, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dtypes test -$ ccc dtypes -$ link dtypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating earray test -$ ccc earray -$ link earray, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating efc test -$ ccc efc -$ link efc, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating enum test -$ ccc enum -$ link enum, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating err_compat test -$ ccc err_compat -$ link err_compat, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating error_test test -$ ccc error_test -$ link error_test, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating extend test -$ ccc extend -$ link extend, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating external test -$ ccc external -$ link external, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating fheap test -$ ccc fheap -$ link fheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating fillval test -$ ccc fillval -$ link fillval, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating filter_fail test -$ ccc filter_fail -$ link filter_fail, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating flush1 test -$ ccc flush1 -$ link flush1, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating flush2 test -$ ccc flush2 -$ link flush2, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating freespace test -$ ccc freespace -$ link freespace, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating getname test -$ ccc getname -$ link getname, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating gheap test -$ ccc gheap -$ link gheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating hyperslab test -$ ccc hyperslab -$ link hyperslab, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating istore test -$ ccc istore -$ link istore, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating lheap test -$ ccc lheap -$ link lheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating links test -$ ccc links -$ link links, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating links_env test -$ ccc links_env -$ link links_env, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mf test -$ ccc mf -$ link mf, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mount test -$ ccc mount -$ link mount, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mtime test -$ ccc mtime -$ link mtime, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating ntypes test -$ ccc ntypes -$ link ntypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating objcopy test -$ ccc objcopy -$ link objcopy, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating ohdr test -$ ccc ohdr -$ link ohdr, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating pool test -$ ccc pool -$ link pool, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating reserved test -$ ccc reserved -$ link reserved, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating set_extent test -$ ccc set_extent -$ link set_extent, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating space_overflow test -$ ccc space_overflow -$ link space_overflow, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating stab test -$ ccc stab -$ link stab, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating testmeta test -$ ccc testmeta -$ link testmeta, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating unlink test -$ ccc unlink -$ link unlink, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating vfd test -$ ccc vfd -$ link vfd, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Done with tests compilation -$ exit diff --git a/vms/tools/h5copy/check_h5copy.com b/vms/tools/h5copy/check_h5copy.com deleted file mode 100644 index df83c88..0000000 --- a/vms/tools/h5copy/check_h5copy.com +++ /dev/null @@ -1,110 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$ ! -$ ! This command file tests h5copy utility. The command file has to -$ ! run in the [hdf5-top.tools.h5copy.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5copy utiltity -=================================== - -$ ! -$ ! Define h5copy symbols -$ ! -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ h5copy_dir = temp + "]" -$ h5copy :== $sys$disk:'h5copy_dir'h5copy.exe -$ ! -$ ! -$ ! h5copy tests -$ ! -$ - -$ !# copy files -$ write sys$output "Test copying various forms of datasets" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s simple -d simple" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s chunk -d chunk" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compact -d compact" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compound -d compound" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compressed -d compressed" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s named_vl -d named_vl" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s nested_vl -d nested_vl" -$ ! -$ write sys$output " " -$ write sys$output "Test copying dataset within group in source file to root of destination" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_dsets/simple -d simple_top" -$ write sys$output " " -$ write sys$output "Test copying & renaming dataset" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compound -d rename" -$! -$ write sys$output " " -$ write sys$output "Test copying empty, 'full' & 'nested' groups" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_empty -d grp_empty" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d grp_dsets" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_nested -d grp_nested" -$! -$ write sys$output " " -$ write sys$output "Test copying dataset within group in source file to group in destination" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s /grp_dsets/simple -d /grp_dsets/simple_group" -$! write sys$output "Test copying & renaming group" -$! CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d grp_rename -$! write sys$output "Test copying full group hierarchy into group in destination file" -$! CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d /grp_rename/grp_dsets" -$! -$ write sys$output " " -$ write sys$output "Test copying objects into group hier. that doesn't exist yet in destination file" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s simple -d /A/B1/simple" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s simple -d /A/B2/simple2" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s /grp_dsets/simple -d /C/D/simple" -$!CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -vp -s /grp_dsets -d /E/F/grp_dsets" -$!CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -vp -s /grp_nested -d /G/H/grp_nested" -$! -$ del *out.h5;* -$ ! -$TOOLTEST: SUBROUTINE - -$ -$ begin = "Testing h5copy" -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$error h5copy_temp.err -$ ON ERROR THEN CONTINUE -$ h5copy 'P1 -$ deassign sys$error -$ if F$SEARCH("h5copy_temp.err") .EQS. "" -$ then -$ result = "PASSED" -$ line = F$FAO("!16AS !53AS !70AS", begin, P1, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!16AS !52AS !69AS", begin, P1, result) -$ endif -$ ! -$ ! Delete error file if any print test result -$ ! -$ if F$SEARCH ("*.err;*") .NES. "" -$ then -$ del *.err;* -$ endif -$ ! -$ write sys$output line -$ ! -$ENDSUBROUTINE diff --git a/vms/tools/h5copy/make.com b/vms/tools/h5copy/make.com deleted file mode 100644 index 1a95f58..0000000 --- a/vms/tools/h5copy/make.com +++ /dev/null @@ -1,40 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5copy tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5copy -$! -$ cobj= " h5copy " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5copy.exe - - h5copy, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5copy -$! -$! -$ exit diff --git a/vms/tools/h5diff/check_h5diff.com b/vms/tools/h5diff/check_h5diff.com deleted file mode 100644 index 5a0ef46..0000000 --- a/vms/tools/h5diff/check_h5diff.com +++ /dev/null @@ -1,337 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$ ! -$ ! This command file tests h5diff utility. The command file has to -$ ! run in the [hdf5-top.tools.h5diff.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5diff utiltity -=================================== - -$ ! Define h5diff symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ h5diff_dir = temp + "]" -$ h5diff :== $sys$disk:'h5diff_dir'h5diff.exe -$ ! - -$ ! -$ ! h5diff tests -$ ! -$ -$!# 1.0 -$ CALL TOOLTEST h5diff_10.txt "-h" -$! -$!# 1.1 normal mode -$ CALL TOOLTEST h5diff_11.txt "h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.2 normal mode with objects -$ CALL TOOLTEST h5diff_12.txt "h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2" -$! -$!# 1.3 report mode -$ CALL TOOLTEST h5diff_13.txt "-r h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.4 report mode with objects -$ CALL TOOLTEST h5diff_14.txt "-r h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2" -$! -$!# 1.5 with -d -$ CALL TOOLTEST h5diff_15.txt " --report --delta=5 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 1.6.1 with -p (int) -$ CALL TOOLTEST h5diff_16_1.txt "-v -p 0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset5 g1/dset6" -$! -$!# 1.6.2 with -p (unsigned long long) -$ CALL TOOLTEST h5diff_16_2.txt "--verbose --relative=0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset7 g1/dset8" -$! -$!# 1.6.3 with -p (int) -$ CALL TOOLTEST h5diff_16_3.txt "-v -p 0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset9 g1/dset10" -$! -$!# 1.7 verbose mode -$ CALL TOOLTEST h5diff_17.txt "-v h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.8 quiet mode -$ CALL TOOLTEST h5diff_18.txt "-q h5diff_basic1.h5 h5diff_basic2.h5" -$! -$! -$!# ############################################################################## -$!# # not comparable types -$!# ############################################################################## -$! -$!# 2.0 -$ CALL TOOLTEST h5diff_20.txt "-v h5diff_types.h5 h5diff_types.h5 dset g1" -$ -$!# 2.1 -$ CALL TOOLTEST h5diff_21.txt "-v h5diff_types.h5 h5diff_types.h5 dset l1" -$! -$!# 2.2 -$ CALL TOOLTEST h5diff_22.txt "-v h5diff_types.h5 h5diff_types.h5 dset t1" -$! -$!# ############################################################################## -$!# # compare groups, types, links (no differences and differences) -$!# ############################################################################## -$! -$!# 2.3 -$ CALL TOOLTEST h5diff_23.txt "-v h5diff_types.h5 h5diff_types.h5 g1 g1" -$! -$!# 2.4 -$ CALL TOOLTEST h5diff_24.txt "-v h5diff_types.h5 h5diff_types.h5 t1 t1" -$! -$!# 2.5 -$ CALL TOOLTEST h5diff_25.txt "-v h5diff_types.h5 h5diff_types.h5 l1 l1" -$! -$!# 2.6 -$ CALL TOOLTEST h5diff_26.txt "-v h5diff_types.h5 h5diff_types.h5 g1 g2" -$! -$!# 2.7 -$ CALL TOOLTEST h5diff_27.txt "-v h5diff_types.h5 h5diff_types.h5 t1 t2" -$! -$!# 2.8 -$ CALL TOOLTEST h5diff_28.txt "-v h5diff_types.h5 h5diff_types.h5 l1 l2" -$! -$! -$! -$!# ############################################################################## -$!# # Dataset types -$!# ############################################################################## -$ -$!# 5.0 -$ CALL TOOLTEST h5diff_50.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset0a dset0b" -$! -$!# 5.1 -$ CALL TOOLTEST h5diff_51.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset1a dset1b" -$! -$!# 5.2 -$ CALL TOOLTEST h5diff_52.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset2a dset2b" -$! -$!# 5.3 -$ CALL TOOLTEST h5diff_53.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset3a dset4b" -$! -$!# 5.4 -$ CALL TOOLTEST h5diff_54.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset4a dset4b" -$! -$!# 5.5 -$ CALL TOOLTEST h5diff_55.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset5a dset5b" -$! -$!# 5.6 -$ CALL TOOLTEST h5diff_56.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset6a dset6b" -$! -$!# 5.7 -$ CALL TOOLTEST h5diff_57.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset7a dset7b" -$! -$!# 5.8 (region reference) -$ CALL TOOLTEST h5diff_58.txt "-v h5diff_dset1.h5 h5diff_dset2.h5 refreg" -$! -$!# ############################################################################## -$!# # Error messages -$!# ############################################################################## -$! -$! -$!# 6.0: Check if the command line number of arguments is less than 3 -$ CALL TOOLTEST h5diff_600.txt "h5diff_basic1.h5" -$! -$!# ############################################################################## -$!# # -d -$!# ############################################################################## -$! -$! -$!# 6.3: negative value -$ CALL TOOLTEST h5diff_603.txt "-d -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.4: zero -$ CALL TOOLTEST h5diff_604.txt "-d 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.5: non number -$ CALL TOOLTEST h5diff_605.txt "-d u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.6: hexadecimal -$ CALL TOOLTEST h5diff_606.txt "-d 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.7: string -$ CALL TOOLTEST h5diff_607.txt "-d """1""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.8: repeated option -$ CALL TOOLTEST h5diff_608.txt "-d 1 -d 2 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.9: number larger than biggest difference -$ CALL TOOLTEST h5diff_609.txt "-d 200 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.10: number smaller than smallest difference -$ CALL TOOLTEST h5diff_610.txt "-d 1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$! -$!# ############################################################################## -$!# # -p -$!# ############################################################################## -$! -$! -$! -$!# 6.12: negative value -$ CALL TOOLTEST h5diff_612.txt "-p -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.13: zero -$ CALL TOOLTEST h5diff_613.txt "-p 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.14: non number -$ CALL TOOLTEST h5diff_614.txt "-p u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.15: hexadecimal -$ CALL TOOLTEST h5diff_615.txt "-p 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.16: string -$! CALL TOOLTEST h5diff_616.txt "-p """0.21""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.17: repeated option -$ CALL TOOLTEST h5diff_617.txt "-p 0.21 -p 0.22 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.18: number larger than biggest difference -$ CALL TOOLTEST h5diff_618.txt "-p 2 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.19: number smaller than smallest difference -$ CALL TOOLTEST h5diff_619.txt "-p 0.005 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$! -$! -$!# ############################################################################## -$!# # -n -$!# ############################################################################## -$! -$! -$! -$!# 6.21: negative value -$ CALL TOOLTEST h5diff_621.txt "-n -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.22: zero -$ CALL TOOLTEST h5diff_622.txt "-n 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.23: non number -$ CALL TOOLTEST h5diff_623.txt "-n u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.24: hexadecimal -$ CALL TOOLTEST h5diff_624.txt "-n 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.25: string -$ CALL TOOLTEST h5diff_625.txt "-n """2""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.26: repeated option -$ CALL TOOLTEST h5diff_626.txt "-n 2 -n 3 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.27: number larger than biggest difference -$ CALL TOOLTEST h5diff_627.txt "--count=200 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.28: number smaller than smallest difference -$ CALL TOOLTEST h5diff_628.txt "-n 1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# ############################################################################## -$!# 6.29 non valid files -$!# ############################################################################## -$! This test is disabled in the C test script. -$! CALL TOOLTEST h5diff_629.txt "file1.h6 file2.h6" -$! -$!# ############################################################################## -$!# 7. attributes -$!# ############################################################################## -$! -$ CALL TOOLTEST h5diff_70.txt "-v h5diff_attr1.h5 h5diff_attr2.h5" -$! -$!# ############################################################################## -$!# 8. all dataset datatypes -$!# ############################################################################## -$! -$ CALL TOOLTEST h5diff_80.txt "-v h5diff_dset1.h5 h5diff_dset2.h5" -$! -$!# 9. compare a file with itself -$! -$ CALL TOOLTEST h5diff_90.txt "-v h5diff_basic2.h5 h5diff_basic2.h5" -$! -$! 10. read by hyperslab, print indexes -$ CALL TOOLTEST h5diff_100.txt "-v h5diff_hyper1.h5 h5diff_hyper2.h5" -$! -$! 11. floating point comparison -$ CALL TOOLTEST h5diff_101.txt "-v h5diff_basic1.h5 h5diff_basic1.h5 g1/d1 g1/d2" -$ CALL TOOLTEST h5diff_102.txt "-v h5diff_basic1.h5 h5diff_basic1.h5 g1/fp1 g1/fp2" -$! -$! -$! -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5diffout" -$ actual_err = base + "h5differr" -$ -$ begin = "Testing h5diff " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ ON ERROR THEN CONTINUE -$ h5diff 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5diff_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5diff_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5diff_temp.dif h5diff.log -$ append/new_version 'actual' h5diff_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5differr;* -$ endif -$ del *.h5diffout;* -$ del h5diff_temp.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5diff/make.com b/vms/tools/h5diff/make.com deleted file mode 100644 index c1e0078..0000000 --- a/vms/tools/h5diff/make.com +++ /dev/null @@ -1,48 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VAX/VMX systems. -$! -$! Make h5diff tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$! -$ cobj= "h5diff_main, h5diff_common, h5diffgentest" - -$! -$ ccc 'cobj -$ type sys$input - Creating h5diffgentest ... -$ link/exe=h5diffgentest.exe - - h5diffgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5difftest - -$ -$ type sys$input - Creating h5diff ... -$ link/exe=h5diff.exe - - h5diff_main, h5diff_common, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5diff - -$! -$ exit diff --git a/vms/tools/h5dump/check_h5dump.com b/vms/tools/h5dump/check_h5dump.com deleted file mode 100644 index 2c34731..0000000 --- a/vms/tools/h5dump/check_h5dump.com +++ /dev/null @@ -1,353 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$ ! -$ ! This command file tests h5dump utility. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5dump utiltity -=================================== - -$ -$ ! -$ ! Define h5dump symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-10, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ ! -$ ! h5dump tests -$ ! -$ -$ -$ -$ ! Test for displaying groups -$ CALL TOOLTEST tgroup-1.ddl "tgroup.h5" -$ ! Test for displaying the selected groups -$ CALL TOOLTEST tgroup-2.ddl "--group=/g2 --group / -g /y tgroup.h5" -$ ! Test for displaying simple space datasets -$ CALL TOOLTEST tdset-1.ddl "tdset.h5" -$ ! Test for displaying selected datasets -$ CALL TOOLTEST tdset-2.ddl "-"""H""" -d dset1 -d /dset2 --dataset=dset3 tdset.h5" -$ ! Test for displaying attributes -$ CALL TOOLTEST tattr-1.ddl "tattr.h5" -$ ! Test for displaying the selected attributes of string type and scalar space -$ CALL TOOLTEST tattr-2.ddl "-a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5" -$ ! Test for header and error messages -$ CALL TOOLTEST tattr-3.ddl "--header -a /attr2 --attribute=/attr tattr.h5" -$ ! Test for displaying attributes in shared datatype (also in group and dataset) -$ CALL TOOLTEST tnamed_dtype_attr.ddl "tnamed_dtype_attr.h5" -$ -$ ! Test for displaying soft links -$ CALL TOOLTEST tslink-1.ddl "tslink.h5" -$ ! Test for displaying the selected link -$ CALL TOOLTEST tslink-2.ddl "-l slink2 tslink.h5" -$ -$ ! Tests for hard links -$ CALL TOOLTEST thlink-1.ddl "thlink.h5" -$ CALL TOOLTEST thlink-2.ddl "-d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 thlink.h5" -$ CALL TOOLTEST thlink-3.ddl "-d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 thlink.h5" -$ CALL TOOLTEST thlink-4.ddl "-g /g1 thlink.h5" -$ CALL TOOLTEST thlink-5.ddl "-d /dset1 -g /g2 -d /g1/dset2 thlink.h5" -$ -$ ! Tests for compound data types -$ CALL TOOLTEST tcomp-1.ddl "tcompound.h5" -$ ! test for named data types -$ CALL TOOLTEST tcomp-2.ddl "-t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5" -$ ! Test for unamed type -$ CALL TOOLTEST tcomp-3.ddl "-t /#6632 -g /group2 tcompound.h5" -$ ! Test complicated compound datatype -$ CALL TOOLTEST tcomp-4.ddl "tcompound_complex.h5" -$ -$ ! Test for the nested compound type -$ CALL TOOLTEST tnestcomp-1.ddl "tnestedcomp.h5" -$ -$ ! test for options -$ CALL TOOLTEST tall-1.ddl "tall.h5" -$ CALL TOOLTEST tall-2.ddl "--header -g /g1/g1.1 -a attr2 tall.h5" -$ CALL TOOLTEST tall-3.ddl "-d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5" -$ -$ ! Test for loop detection -$ CALL TOOLTEST tloop-1.ddl "tloop.h5" -$ -$ ! Test for string -$ CALL TOOLTEST tstr-1.ddl "tstr.h5" -$ CALL TOOLTEST tstr-2.ddl "tstr2.h5" -$ -$ ! Test for file created by Lib SAF team -$ CALL TOOLTEST tsaf.ddl "tsaf.h5" -$ -$ ! Test for file with variable length data -$ CALL TOOLTEST tvldtypes1.ddl "tvldtypes1.h5" -$ CALL TOOLTEST tvldtypes2.ddl "tvldtypes2.h5" -$ CALL TOOLTEST tvldtypes3.ddl "tvldtypes3.h5" -$ CALL TOOLTEST tvldtypes4.ddl "tvldtypes4.h5" -$ CALL TOOLTEST tvldtypes5.ddl "tvldtypes5.h5" -$ -$ ! Test for file with variable length string data -$ CALL TOOLTEST tvlstr.ddl "tvlstr.h5" -$ -$ ! Test for files with array data -$ CALL TOOLTEST tarray1.ddl "tarray1.h5" -$ CALL TOOLTEST tarray2.ddl "tarray2.h5" -$ CALL TOOLTEST tarray3.ddl "tarray3.h5" -$ CALL TOOLTEST tarray4.ddl "tarray4.h5" -$ CALL TOOLTEST tarray5.ddl "tarray5.h5" -$ CALL TOOLTEST tarray6.ddl "tarray6.h5" -$ CALL TOOLTEST tarray7.ddl "tarray7.h5" -$ -$ ! Test for files with empty data -$ CALL TOOLTEST tempty.ddl "tempty.h5" -$ -$ ! Test for files with groups that have comments -$ CALL TOOLTEST tgrp_comments.ddl "tgrp_comments.h5" -$ -$ ! Test the --filedriver flag -$ CALL TOOLTEST tsplit_file.ddl "--filedriver=split tsplit_file" -$ CALL TOOLTEST tfamily.ddl "--filedriver=family tfamily%05d.h5" -$ CALL TOOLTEST tmulti.ddl "--filedriver=multi tmulti" -$ -$ ! Test for files with group names which reach > 1024 bytes in size -$ CALL TOOLTEST tlarge_objname.ddl "-w157 tlarge_objname.h5" -$ -$ ! Test '-A' to suppress data but print attr's -$ CALL TOOLTEST tall-2A.ddl "-"""A""" tall.h5" -$ -$ ! Test '-r' to print attributes in ASCII instead of decimal -$ CALL TOOLTEST tall-2B.ddl "-"""A""" -r tall.h5" -$ -$ ! Test Subsetting -$ CALL TOOLTEST tall-4s.ddl "--dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5" -$ CALL TOOLTEST tall-5s.ddl "-d /g1/g1.1/dset1.1.2[0;2;10;] tall.h5" -$ CALL TOOLTEST tdset-3s.ddl "-d /dset1[1,1;;;] tdset.h5" -$! CALL TOOLTEST tdset-3s.ddl "-d """/"dset"1[;3,2;4,4;1,4]""" tdset2.h5" -$ -$ ! Test printing characters in ASCII instead of decimal -$ CALL TOOLTEST tchar1.ddl "-r tchar.h5" -$ -$ ! Test failure handling -$ ! Missing file name -$ CALL TOOLTEST "tnofilename.ddl" -$ -$ ! rev. 2004 -$ -$ ! Tests for super block -$ CALL TOOLTEST tboot1.ddl "-"""H""" -"""B""" -d dset tfcontents1.h5" -$ CALL TOOLTEST tboot2.ddl "-"""B""" tfcontents2.h5" -$ -$ ! Test -p with a non existing dataset -$ CALL TOOLTEST tperror.ddl "-p -d bogus tfcontents1.h5" -$ -$ ! Test for file contents -$ CALL TOOLTEST tcontents.ddl "-n tfcontents1.h5" -$ -$ ! Tests for storage layout -$ ! Compact -$ CALL TOOLTEST tcompact.ddl "-"""H""" -p -d compact tfilters.h5" -$ ! Contiguous -$ CALL TOOLTEST tcontiguos.ddl "-"""H""" -p -d contiguous tfilters.h5" -$ ! Chunked -$ CALL TOOLTEST tchunked.ddl "-"""H""" -p -d chunked tfilters.h5" -$ ! External -$ CALL TOOLTEST texternal.ddl "-"""H""" -p -d external tfilters.h5" -$ -$ ! Fill values -$ CALL TOOLTEST tfill.ddl "-p tfvalues.h5" -$ -$ ! Several datatype, with references , print path -$ CALL TOOLTEST treference.ddl "tattr2.h5" -$ -$ ! Escape/not escape non printable characters -$ CALL TOOLTEST tstringe.ddl "-e tstr3.h5" -$ CALL TOOLTEST tstring.ddl "tstr3.h5" -$ ! Char data as ASCII with non escape -$ CALL TOOLTEST tstring2.ddl "-r -d str4 tstr3.h5" -$ -$ ! Array indices print/not print -$ CALL TOOLTEST tindicesyes.ddl "taindices.h5" -$ CALL TOOLTEST tindicesno.ddl "-y taindices.h5" -$ ! User defined -$ CALL TOOLTEST tuserfilter.ddl "-"""H""" -p -d myfilter tfilters.h5" -$ -$ ! Test for displaying dataset and attribute of null space -$ CALL TOOLTEST tnullspace.ddl "tnullspace.h5" -$ -$ ! Test for displaying objects with very long names -$ !CALL TOOLTEST tlonglinks.ddl "tlonglinks.h5" -$ -$ ! Test for long double (some systems do not have long double) -$ ! CALL TOOLTEST tldouble.ddl "tldouble.h5" -$ -$ ! Test for vms -$ CALL TOOLTEST tvms.ddl "tvms.h5" -$ -$ !test for binary output -$ CALL TOOLTEST1 tbin1.ddl "-d integer -o out1.bin -b """LE""" tbinary.h5" -$ CALL TOOLTEST1 tbin2.ddl "-d float -o out2.bin -b """BE""" tbinary.h5" -$ CALL TOOLTEST1 tbin4.ddl "-d double -o out4.bin -b """FILE""" tbinary.h5" -$ -$ ! Test for dataset region references -$ CALL TOOLTEST tdatareg.ddl "tdatareg.h5" -$ -$ ! tests for group creation order "1" tracked, "2" name, root tracked -$ CALL TOOLTEST tordergr1.ddl "--group=1 --sort_by=creation_order --sort_order=ascending tordergr.h5" -$ CALL TOOLTEST tordergr2.ddl "--group=1 --sort_by=creation_order --sort_order=descending tordergr.h5" -$ CALL TOOLTEST tordergr3.ddl "-g 2 -q name -z ascending tordergr.h5" -$ CALL TOOLTEST tordergr4.ddl "-g 2 -q name -z descending tordergr.h5" -$ CALL TOOLTEST tordergr5.ddl "-q creation_order tordergr.h5" -$ -$ ! Tests for attribute order -$ CALL TOOLTEST torderattr1.ddl "-"""H""" --sort_by=name --sort_order=ascending torderattr.h5" -$ CALL TOOLTEST torderattr2.ddl "-"""H""" --sort_by=name --sort_order=descending torderattr.h5" -$ CALL TOOLTEST torderattr3.ddl "-"""H""" --sort_by=creation_order --sort_order=ascending torderattr.h5" -$ CALL TOOLTEST torderattr4.ddl "-"""H""" --sort_by=creation_order --sort_order=descending torderattr.h5" -$ ! -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5dumpout" -$ actual_err = base + "h5dumperr" -$ -$ begin = "Testing h5dump " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ write sys$output "#############################" -$ write sys$output "Expected output for 'h5dump ''P2''" -$ write sys$output "#############################" -$ ON ERROR THEN CONTINUE -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5dump_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5dump_temp.dif h5dump.log -$ append/new_version 'actual' h5dump_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5dumperr;* -$ endif -$ del *.h5dumpout;* -$ del h5dump_temp.dif;* -$ ! -$ENDSUBROUTINE -$ -$TOOLTEST1: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5dumpout" -$ actual_err = base + "h5dumperr" -$ -$ begin = "Testing h5dump " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ ON ERROR THEN CONTINUE -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5dump_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5dump_temp.dif h5dump.log -$ append/new_version 'actual' h5dump_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5dumperr;* -$ endif -$ del *.h5dumpout;* -$ del h5dump_temp.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5dump/make.com b/vms/tools/h5dump/make.com deleted file mode 100644 index 612b524..0000000 --- a/vms/tools/h5dump/make.com +++ /dev/null @@ -1,41 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5dump tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ cobj= "h5dump.c, h5dumpgentest.c " -$ ccc 'cobj -$ type sys$input - Creating h5dumpgentest ... -$ link h5dumpgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5dumpgentest -$ type sys$input - Creating h5dump ... -$ link h5dump, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5dump -$! -$ exit diff --git a/vms/tools/h5import/check_h5import.com b/vms/tools/h5import/check_h5import.com deleted file mode 100644 index 96c2d07..0000000 --- a/vms/tools/h5import/check_h5import.com +++ /dev/null @@ -1,227 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$ ! -$ ! This command file tests h5import utility. The command file has to -$ ! run in the [hdf5-top.tools.h5import.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5import utiltity -=================================== - -$ ! Define symbols -$ ! -$ -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-19, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ h5import_dir = temp + "H5IMPORT]" -$ h5import :== $sys$disk:'h5import_dir'h5import.exe -$ h5importtest :== $sys$disk:'h5import_dir'h5importtest.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5dump -$ ! -$ create h5import.log -$ ! -$ ! h5import tests -$ ! -$ ! Run h5importtest to create input files -$ ! -$ run [.-]h5importtest -$ ! -$ type sys$input - Testing ASCII I32 rank 3 - Output BE -$ CALL TOOLTEST "txtin16.txt -c txtin32.conf -o" txtin32.h5 -$ ! -$ type sys$input - Testing ASCII I16 rank 3 - Output LE - CHUNKED - extended -$ CALL TOOLTEST "txtin16.txt -c txtin16.conf -o" txtin16.h5 -$ ! -$ type sys$input - Testing ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed -$ CALL TOOLTEST "txtin16.txt -c txtin8.conf -o" txtin8.h5 -$ ! -$ type sys$input - Testing ASCII UI32 - rank 3 - Output BE -$ CALL TOOLTEST "txtuin32.txt -c txtuin32.conf -o" txtuin32.h5 -$ ! -$ type sys$input - Testing ASCII UI16 - rank 2 - Output LE+Chunked+Compressed -$ CALL TOOLTEST "txtuin32.txt -c txtuin16.conf -o" txtuin16.h5 -$ ! -$ type sys$input - Testing ASCII F32 - rank 3 - Output LE -$ CALL TOOLTEST "txtfp32.txt -c txtfp32.conf -o" txtfp32.h5 -$ ! -$ type sys$input - Testing ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed -$ CALL TOOLTEST "txtfp64.txt -c txtfp64.conf -o" txtfp64.h5 -$ ! -$ type sys$input - Testing BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed -$ CALL TOOLTEST "binfp64.bin -c binfp64.conf -o" binfp64.h5 -$ ! -$ type sys$input - Testing BINARY I16 - rank 3 - Output order LE + CHUNKED + extended -$ CALL TOOLTEST "binin16.bin -c binin16.conf -o" binin16.h5 -$ ! -$ type sys$input - Testing BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed -$ CALL TOOLTEST "binin8.bin -c binin8.conf -o" binin8.h5 -$ ! -$ type sys$input - - Testing BINARY I32 - rank 3 - Output BE + CHUNKED -$ CALL TOOLTEST "binin32.bin -c binin32.conf -o" binin32.h5 -$ ! -$ type sys$input - Testing BINARY UI16 - rank 3 - Output byte BE + CHUNKED -$ CALL TOOLTEST "binuin16.bin -c binuin16.conf -o" binuin16.h5 -$ ! -$ type sys$input - Testing BINARY UI32 - rank 3 - Output LE + CHUNKED -$ CALL TOOLTEST "binuin32.bin -c binuin32.conf -o" binuin32.h5 -$ ! -$ type sys$input - Testing STR -$ CALL TOOLTEST "txtstr.txt -c txtstr.conf -o" txtstr.h5 -$ ! -$ type sys$input - Testing BINARY I8 CR LF EOF -$ CALL TOOLTEST "binin8w.bin -c binin8w.conf -o" binin8w.h5 -$ ! -$ type sys$input - Testing ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE -$ CALL TOOLTEST "in64.txt -c textpfe.conf -o" test15.h5 -$ -$ -$ ! Delete temporary files -$ del *_out.h5;* -$ del *.h5importtxt;* -$ del b*.h5;* -$ del txti*.h5;* -$ del *.dif;* -$ ! -$ -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P2) -$ base = F$EXTRACT(0,len-3,P2) -$ actual = base + "_out.h5" -$ actual_dump = base + "out.h5importtxt" -$ actual_dump_err = base + "out.h5importerr" -$ expected_dump = base + ".h5importtxt" -$ expected_dump_err = base + ".h5importerr" -$ -$ begin = "Testing" -$ ! -$ ! Run h5import with output in the 'actual' file -$ ! -$ ON ERROR THEN CONTINUE -$ h5import 'P1 'actual' -$ define/nolog sys$output 'actual_dump' -$ define/nolog sys$error 'actual_dump_err' -$ ! -$ ! Dump the atual and expected files -$ ! -$ h5dump 'actual' -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_dump_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_dump_err' 'actual_dump' -$ set message/text/facility/identification/severity -$ endif -$ define/nolog sys$output 'expected_dump' -$ define/nolog sys$error 'expected_dump_err' -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(expected_dump_err) .NES. "" -$ then -$ set message/notex/nofacility/noidentification/noseverity -$ append 'expected_dump_err' 'expected_dump' -$ set message/ntext/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines)- - 'actual_dump' - - 'expected_dump' -$ open/read temp_out h5dump_temp.dif -$ ! -$READ_DATA: -$ read/end_of_file=end_read temp_out record1 -$ ! -$ ! Skip blank lines -$ ! -$ if record1 .EQS. "" then goto READ_DATA -$ ! -$ ! Find record with "Number" and exit the loop -$ ! -$ len = F$LENGTH(record1) -$ pos = F$LOCATE("Number", record1) -$ ! -$ if pos .EQ. 0 -$ then -$ err_code = F$EXTRACT(len-1,1,record1) -$ goto END_READ -$ endif -$ ! -$ goto READ_DATA -$ -$ ! -$END_READ: -$ close temp_out -$ ! -$ ! File names are different, so we allow only one difference -$ ! in h5dump -$ if err_code .eqs. "1" -$ then -$ result = "PASSED" -$ line = F$FAO("!8AS !62AS !80AS", begin, P1, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!8AS !61AS !79AS", begin, P1, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5dump_temp.dif h5import.log -$ ! -$ ! -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_dump_err) .NES. "" -$ then -$ del *out.h5importerr;* -$ endif -$ if F$SEARCH(expected_dump_err) .NES. "" -$ then -$ del *.h5importerr;* -$ endif -$ENDSUBROUTINE diff --git a/vms/tools/h5import/make.com b/vms/tools/h5import/make.com deleted file mode 100644 index 6afbd70..0000000 --- a/vms/tools/h5import/make.com +++ /dev/null @@ -1,46 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5import tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5import ... -$! -$ cobj= "h5import, h5importtest " - -$! -$ ccc 'cobj -$ link h5import,- - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5import - -$! -$ type sys$input - Creating h5importtest ... -$ link h5importtest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5importtest - -$! -$ exit diff --git a/vms/tools/h5jam/check_h5jam.com b/vms/tools/h5jam/check_h5jam.com deleted file mode 100644 index 50be903..0000000 --- a/vms/tools/h5jam/check_h5jam.com +++ /dev/null @@ -1,159 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$ ! -$ ! This command file tests h5jam and h5unjam utilities. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5jam utiltity -=================================== - -$ ! -$ ! Define h5jam, h5unjam and h5dump symbols -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-16, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ temp2 = F$EXTRACT(0, len-11, current_dir) -$ h5jam_dir = temp2 + "]" -$ h5jam :== $sys$disk:'h5jam_dir'h5jam.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5dump -$ ! -$ create h5dump.log -$ ! -$ ! h5jam and h5unjam tests -$ ! -$ -$ CALL H5JAMTEST "-u u10.txt -i" tall.h5 ta2.h5 -$ CALL H5JAMTEST "-u u511.txt -i" tall.h5 ta3.h5 -$ CALL H5JAMTEST "-u u512.txt -i" tall.h5 ta4.h5 -$ CALL H5JAMTEST "-u u513.txt -i" tall.h5 ta5.h5 -$ -$ -$H5JAMTEST: SUBROUTINE -$ -$ len_org = F$LENGTH(P2) -$ base_org = F$EXTRACT(0,len_org-2,P2) -$ len = F$LENGTH(P3) -$ base = F$EXTRACT(0,len-2,P3) -$ actual = base + "out" -$ actual_org = base_org + "org" -$ actual_err = base + "err" -$ actual_err_org = base_org + "err" -$ -$ ON ERROR THEN CONTINUE -$ begin = "Testing h5jam" -$ ! -$ ! Run the test -$ ! -$ h5jam 'P1 'P2 -o 'P3 -$ ! -$ ! Dump the original and result file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ h5dump 'P3 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/ntext/facility/identification/severity -$ endif -$ define/nolog sys$output 'actual_org' -$ define/nolog sys$error 'actual_err_org' -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err_org) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err_org' 'actual_org' -$ set message/ntext/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual_org' - - 'actual' -$ ! -$ ! Delete output file 'P3 -$ ! -$ del 'P3;* -$ open/read temp_out h5dump_temp.dif -$READ_DATA: -$ read/end_of_file=end_read temp_out record1 -$ ! -$ ! Skip blank lines -$ ! -$ if record1 .EQS. "" then goto READ_DATA -$ ! -$ ! Find record with "Number" and exit the loop -$ ! -$ len = F$LENGTH(record1) -$ pos = F$LOCATE("Number", record1) -$ ! -$ if pos .EQ. 0 -$ then -$ err_code = F$EXTRACT(len-1,1,record1) -$ goto END_READ -$ endif -$ ! -$ goto READ_DATA -$ -$ ! -$END_READ: -$ close temp_out -$ -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "1" -$ then -$ result = "PASSED" -$ line = F$FAO("!14AS !14AS !7AS !2AS !25AS !100AS", begin, P1, P2, - - "-o", P3, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!14AS !14AS !7AS !2AS !25AS !99AS", begin, P1, P2, - - "-o", P3, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5dump_temp.dif h5dump.log -$ ! -$ ! Delete temporary files -$ ! -$! del *.out;* -$! del *.org;* -$! del *.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5jam/make.com b/vms/tools/h5jam/make.com deleted file mode 100644 index d57b5e9..0000000 --- a/vms/tools/h5jam/make.com +++ /dev/null @@ -1,67 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5ls tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5jam -$! -$ cobj= "h5jam, h5unjam, tellub, getub, h5jamgentest" - -$! -$ ccc 'cobj -$ type sys$input - Creating tellub -$ link tellub - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created tellub -$ type sys$input - Creating getub -$ link getub - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created getub -$! -$! -$ type sys$input - Creating h5jamgentest -$ link h5jamgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5jamgentest -$! -$ type sys$input - Creating h5jam -$ link h5jam, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5jam -$! -$ type sys$input - Creating h5junam -$ link h5unjam, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5unjam -$! -$ exit diff --git a/vms/tools/h5ls/check.com b/vms/tools/h5ls/check.com deleted file mode 100644 index b44dedc..0000000 --- a/vms/tools/h5ls/check.com +++ /dev/null @@ -1,70 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$! h5ls testing script -$! -$ define sys$output h5ls.out -$ define sys$error h5ls.err -$ h5ls :== $sys$sysusers:[pourmale.hdf5.tools.h5ls]h5ls.exe - -$ h5ls -w80 -h -$ h5ls -w80 -help -$ h5ls -w80 -? - -$! test simple command -$ h5ls -w80 tall.h5 -$ h5ls -w80 -r -d tall.h5 -$ h5ls -w80 tgroup.h5 - -$! test for displaying groups -$ h5ls -w80 -r -g tgroup.h5 - -$! test for displaying simple space datasets -$ h5ls -w80 -r -d tdset.h5 - -$! test for displaying soft links -$ h5ls -w80 -r tslink.h5 - -$! tests for hard links -$ h5ls -w80 thlink.h5 - -$! tests for compound data types -$ h5ls -w80 -r -d tcompound.h5 - -$!test for the nested compound type -$ h5ls -w80 -r -d tnestedcomp.h5 - -$! test for loop detection -$ h5ls -w80 -r -d tloop.h5 - -$! test for string -$ h5ls -w80 -r -d tstr.h5 - -$! test test file created from lib SAF team -$ h5ls -w80 -r -d tsaf.h5 - -$! test for variable length data types -$ h5ls -w80 -r -d tvldtypes1.h5 - -$! test for array data types -$ h5ls -w80 -r -d tarray1.h5 - -$! test for empty data -$ h5ls -w80 -d tempty.h5 - -$! test for all dataset types written to attributes -$! enable -S for avoiding printing NATIVE types -$ h5ls -w80 -v -S tattr2.h5 - diff --git a/vms/tools/h5ls/check_h5ls.com b/vms/tools/h5ls/check_h5ls.com deleted file mode 100644 index e155afa..0000000 --- a/vms/tools/h5ls/check_h5ls.com +++ /dev/null @@ -1,165 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$ ! -$ ! This command file tests h5ls utility. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5ls utiltity -=================================== - -$ -$ ! -$ ! Define h5ls symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-10, current_dir) -$ h5ls_dir = temp + "H5LS]" -$ h5ls :== $sys$disk:'h5ls_dir'h5ls.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5ls -$ ! -$ create h5ls.log -$ ! -$ ! h5ls tests -$ ! -$ -$ CALL TOOLTEST help-1.ls "-w80 -h" -$ CALL TOOLTEST help-2.ls "-w80 -help" -$ CALL TOOLTEST help-3.ls "-w80 -?" - -$! test simple command -$ CALL TOOLTEST tall-1.ls "-w80 tall.h5" -$ CALL TOOLTEST tall-2.ls "-w80 -r -d tall.h5" -$ CALL TOOLTEST tgroup.ls "-w80 tgroup.h5" - -$! test for displaying groups -$ CALL TOOLTEST tgroup-1.ls "-w80 -r -g tgroup.h5" - -$! test for displaying simple space datasets -$ CALL TOOLTEST tdset-1.ls "-w80 -r -d tdset.h5" - -$! test for displaying soft links -$ CALL TOOLTEST tslink-1.ls "-w80 -r tslink.h5" - -$! tests for hard links -$ CALL TOOLTEST thlink-1.ls "-w80 thlink.h5" - -$! tests for compound data types -$ CALL TOOLTEST tcomp-1.ls "-w80 -r -d tcompound.h5" - -$!test for the nested compound type -$ CALL TOOLTEST tnestcomp-1.ls "-w80 -r -d tnestedcomp.h5" - -$! test for loop detection -$ CALL TOOLTEST tloop-1.ls "-w80 -r -d tloop.h5" - -$! test for string -$ CALL TOOLTEST tstr-1.ls "-w80 -r -d tstr.h5" - -$! test test file created from lib SAF team -$ CALL TOOLTEST tsaf.ls "-w80 -r -d tsaf.h5" - -$! test for variable length data types -$ CALL TOOLTEST tvldtypes1.ls "-w80 -r -d tvldtypes1.h5" - -$! test for array data types -$ CALL TOOLTEST tarray1.ls "-w80 -r -d tarray1.h5" - -$! test for empty data -$ CALL TOOLTEST tempty.ls "-w80 -d tempty.h5" - -$! test for all dataset types written to attributes -$! enable -S for avoiding printing NATIVE types -$! This test will report failure for line 311 of the tattr2.ls file -$! contains -$! Modified: XXXX-XX-XX XX:XX:XX XXX -$! instead of -$! Modified: 2004-07-06 19:36:17 CST -$! UNIX shell script does replacement on the fly in the actual output -$! file; I do not know what can I do on VMS EIP 07/27/06 -$ CALL TOOLTEST tattr2.ls "-w80 -v -"""S""" tattr2.h5" - -$ -$ -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-2,P1) -$ actual = base + "h5lsout" -$ actual_err = base + "h5lserr" -$ -$ begin = "Testing h5ls " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ write sys$output "#############################" -$ write sys$output " output for 'h5ls ''P2''" -$ write sys$output "#############################" -$ ON ERROR THEN CONTINUE -$ h5ls 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5ls_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5ls_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5ls_temp.dif h5ls.log -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH("*.h5lserr;*") then del *.h5lserr;* -$ if F$SEARCH("*.h5lsout;*") then del *.h5lsout;* -$ if F$SEARCH("*.dif;*") then del *.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5ls/make.com b/vms/tools/h5ls/make.com deleted file mode 100644 index 51d57c6..0000000 --- a/vms/tools/h5ls/make.com +++ /dev/null @@ -1,39 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5ls tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5ls -$! -$ cobj= "h5ls.c " - -$! -$ ccc 'cobj -$ type sys$input - Creating h5ls -$ link h5ls, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5ls -$! -$ exit diff --git a/vms/tools/h5repack/check_h5repack.com b/vms/tools/h5repack/check_h5repack.com deleted file mode 100644 index 34c122c..0000000 --- a/vms/tools/h5repack/check_h5repack.com +++ /dev/null @@ -1,197 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! -$ ! -$ ! This command file tests h5repack utility. The command file has to -$ ! run in the [hdf5-top.tools.h5repack.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5repack utiltity -=================================== - -$ ! Define h5repack and h5diff symbols -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ temp1 = F$EXTRACT(0, len-19, current_dir) -$ h5diff_dir = temp1 + "H5DIFF]" -$ h5diff :== $sys$disk:'h5diff_dir'h5diff.exe -$ h5repack_dir = temp + "]" -$ h5repack :== $sys$disk:'h5repack_dir'h5repack.exe -$ ! -$ ! -$ ! h5repack tests -$ ! -$ - -$!# copy files (these files have no filters) -$ CALL TOOLTEST "" h5repack_fill.h5 -$ CALL TOOLTEST "" h5repack_objs.h5 -$ CALL TOOLTEST "" h5repack_attr.h5 -$ CALL TOOLTEST "" h5repack_hlink.h5 -$ CALL TOOLTEST "" h5repack_layout.h5 -$ CALL TOOLTEST "" h5repack_early.h5 - -$! Check repacking file with committed datatypes in odd configurations -$ CALL TOOLTEST "" h5repack_named_dtypes.h5 -$ -$! # use h5repack_layout.h5 to write some filters (this file has no filters) -$ -$! # gzip with individual object -$ CALL TOOLTEST "-f dset1:"""GZIP"""=1 -l dset1:"""CHUNK"""=20x10" h5repack_layout.h5 -$! -$ -$! # gzip for all -$ CALL TOOLTEST "-f """GZIP"""=1" h5repack_layout.h5 -$! -$! # shuffle with individual object -$ CALL TOOLTEST "-f dset2:"""SHUF""" -l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$ -$! -$! -$! # shuffle for all -$ CALL TOOLTEST "-f """SHUF"""" h5repack_layout.h5 -$! -$! # fletcher32 with individual object -$ CALL TOOLTEST "-f dset2:"""FLET""" -l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$! -$! # fletcher32 for all -$ CALL TOOLTEST "-f """FLET"""" h5repack_layout.h5 -$ -$! ########################################################### -$! # the following tests assume the input files have filters -$! ########################################################### -$! -$! # deflate copy -$ CALL TOOLTEST "" h5repack_deflate.h5 -$! -$! # deflate remove -$ CALL TOOLTEST "-f dset_deflate:"""NONE"""" h5repack_deflate.h5 -$! -$! # shuffle copy -$ CALL TOOLTEST "" h5repack_shuffle.h5 -$! -$! # shuffle remove -$ CALL TOOLTEST "-f dset_shuffle:"""NONE"""" h5repack_shuffle.h5 -$! -$! # fletcher32 copy -$ CALL TOOLTEST "" h5repack_fletcher.h5 -$! -$! # fletcher32 remove -$ CALL TOOLTEST "-f dset_fletcher32:"""NONE"""" h5repack_fletcher.h5 -$! -$! # nbit copy -$ CALL TOOLTEST "" h5repack_nbit.h5 -$! -$! # nbit remove -$ CALL TOOLTEST "-f dset_nbit:"""NONE"""" h5repack_nbit.h5 -$! -$! # nbit add -$ CALL TOOLTEST "-f dset_int31:"""NBIT"""" h5repack_nbit.h5 -$! -$! # scaleoffset add -$! CALL TOOLTEST "-f dset_none:"""S+O"""=31" h5repack_scaleoffset.h5 -$! -$! # scaleoffset copy -$! CALL TOOLTEST "" h5repack_scaleoffset.h5 -$! -$! # scaleoffset remove -$! CALL TOOLTEST "-f dset_scaleoffset:"""NONE"""" h5repack_scaleoffset.h5 -$! -$! #limit -$ CALL TOOLTEST "-f """GZIP"""=1 -m 1024" h5repack_layout.h5 -$! -$! -$! -$! ######################################################### -$! # layout options (these files have no filters) -$! ######################################################### -$! -$ CALL TOOLTEST "-l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$ CALL TOOLTEST "-l """CHUNK"""=20x10" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset2:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l """CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset2:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l """COMPA"""" h5repack_layout.h5 -$! -$! -$! ################################################################ -$! # layout conversions (file has no filters) -$! ############################################################### -$! -$ CALL TOOLTEST "-l dset_compact:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_compact:"""CHUNK"""=2x5" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_compact:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""CHUNK"""=3x6" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""CHUNK"""=18x13" h5repack_layout.h5 -$! -$! -$! -$TOOLTEST: SUBROUTINE - -$ len = F$LENGTH(P2) -$ base = F$EXTRACT(0,len-3,P2) -$ output_file = base + "_out.h5" -$ output_err = base + ".h5repackerr" -$ output_out = base + ".h5repackout" -$ -$ begin = "Testing h5repack" -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$error 'output_err' -$ define/nolog sys$output 'output_out' -$ -$ ON ERROR THEN CONTINUE -$ h5repack 'P1 'P2 'output_file' -$ h5diff 'P2 'output_file' -$ deassign sys$error -$ deassign sys$output -$ if F$SEARCH(output_err) .EQS. "" -$ then -$ result = "PASSED" -$ line = F$FAO("!16AS !40AS !22AS !67AS", begin, P1, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!16AS !40AS !22AS !66AS", begin, P1, P2, result) -$ endif - -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! -$ ! -$ ! Cleanup temporary files -$ ! -$ if F$SEARCH(output_err) .NES. "" -$ then -$ del *.h5repackerr;* -$ endif -$ del *.h5repackout;* -$ del *_out.h5;* -$ENDSUBROUTINE - - diff --git a/vms/tools/h5repack/make.com b/vms/tools/h5repack/make.com deleted file mode 100644 index 0de0e2b..0000000 --- a/vms/tools/h5repack/make.com +++ /dev/null @@ -1,55 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5repack tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5repack ... -$! -$ cobj= " h5repack_main, h5repack, h5repack_copy, h5repack_refs," +- - "h5repack_filters, h5repack_opttable, h5repack_parse, " +- - "h5repack_verify, h5repacktst" - -$! -$ ccc 'cobj -$ link/exe=h5repack.exe - - h5repack_main, h5repack, h5repack_copy, h5repack_refs, h5repack_filters, - - h5repack_opttable, h5repack_parse, - - h5repack_verify, - - [-.lib]libh5tools.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5repack - -$ type sys$input - Creating h5repacktst ... -$ link/exe=h5repacktst.exe - - h5repacktst, - - h5repack, h5repack_copy, h5repack_refs, h5repack_filters, - - h5repack_opttable, h5repack_parse, - - h5repack_verify, - - [-.lib]libh5tools.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5repacktst -$! -$ exit diff --git a/vms/tools/h5stat/make.com b/vms/tools/h5stat/make.com deleted file mode 100644 index a822aaa..0000000 --- a/vms/tools/h5stat/make.com +++ /dev/null @@ -1,39 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make h5stat tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5stat -$! -$ cobj= " h5stat " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5stat.exe - - h5stat, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5stat -$! -$! -$ exit diff --git a/vms/tools/lib/make.com b/vms/tools/lib/make.com deleted file mode 100644 index 8e9ff47..0000000 --- a/vms/tools/lib/make.com +++ /dev/null @@ -1,34 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 tools library -$! -$! ccopt = "/float=ieee_float" -$ ccc := cc 'ccopt /include=([-.-.src]) -$! -$ type sys$input - Creating HDF5 Tools library -$! -$ cobj="h5tools, h5tools_str, h5tools_utils, h5diff, h5diff_array, "+- - "h5diff_attr, h5diff_dset, h5diff_util, h5trav,"+- - "h5tools_filters, h5tools_ref, h5tools_type" -$! -$ ccc 'cobj -$ library/create []libh5tools 'cobj -$ type sys$input - Created HDF5 tools library -$! -$ exit diff --git a/vms/tools/misc/make.com b/vms/tools/misc/make.com deleted file mode 100644 index ed2d061..0000000 --- a/vms/tools/misc/make.com +++ /dev/null @@ -1,90 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# -$!# This file is part of HDF5. The full HDF5 copyright notice, including -$!# terms governing use, modification, and redistribution, is contained in -$!# the files COPYING and Copyright.html. COPYING can be found at the root -$!# of the source code distribution tree; Copyright.html can be found at the -$!# root level of an installed copy of the electronic HDF5 document set and -$!# is linked from the top-level documents page. It can also be found at -$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -$!# access to either file, you may request a copy from help@hdfgroup.org. -$!# -$! Makefile for VMS systems. -$! -$! Make miscellaneous tools -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5debug -$! -$ cobj= " h5debug " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5debug.exe - - h5debug, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5debug -$! -$ type sys$input - Creating h5mkgrp -$! -$ cobj= " h5mkgrp " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5mkgrp.exe - - h5mkgrp, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5mkgrp -$! -$ type sys$input - Creating h5repart -$! -$ cobj= " h5repart " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5repart.exe - - h5repart, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5repart -$! -$ cobj= " h5repart_gentest " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5repart_gentest.exe - - h5repart_gentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5repart_gentest -$! -$ type sys$input - Creating repart_test -$! -$ cobj= " repart_test " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=repart_test.exe - - repart_test, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created repart_test -$! -$ type sys$input - Done with misc tools compilation -$! -$ exit diff --git a/vms/tools/testfiles/tattr-3.ddl b/vms/tools/testfiles/tattr-3.ddl deleted file mode 100644 index 8907843..0000000 --- a/vms/tools/testfiles/tattr-3.ddl +++ /dev/null @@ -1,13 +0,0 @@ - -############################# -Expected output for 'h5dump --header -a /attr2 --attribute=/attr tattr.h5' -############################# -HDF5 "tattr.h5" { -ATTRIBUTE "/attr2" { - DATATYPE H5T_STD_I32BE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } -} -ATTRIBUTE "/attr" { -} -} -h5dump error: unable to open attribute "/" diff --git a/vms/tools/testfiles/tdset-2.ddl b/vms/tools/testfiles/tdset-2.ddl deleted file mode 100644 index e6439ae..0000000 --- a/vms/tools/testfiles/tdset-2.ddl +++ /dev/null @@ -1,17 +0,0 @@ - -############################# -Expected output for 'h5dump -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5' -############################# -HDF5 "tdset.h5" { -DATASET "dset1" { - DATATYPE H5T_STD_I32BE - DATASPACE SIMPLE { ( 10, 20 ) / ( 10, 20 ) } -} -DATASET "/dset2" { - DATATYPE H5T_IEEE_F64BE - DATASPACE SIMPLE { ( 30, 20 ) / ( 30, 20 ) } -} -DATASET "dset3" { -} -} -h5dump error: unable to open dataset "dset3" diff --git a/vms/tools/testfiles/tgroup-2.ddl b/vms/tools/testfiles/tgroup-2.ddl deleted file mode 100644 index 120ef2d..0000000 --- a/vms/tools/testfiles/tgroup-2.ddl +++ /dev/null @@ -1,47 +0,0 @@ - -############################# -Expected output for 'h5dump --group=/g2 --group / -g /y tgroup.h5' -############################# -HDF5 "tgroup.h5" { -GROUP "/g2" { - GROUP "g2.1" { - GROUP "g2.1.1" { - } - GROUP "g2.1.2" { - } - GROUP "g2.1.3" { - } - } -} -GROUP "/" { - GROUP "g1" { - GROUP "g1.1" { - } - GROUP "g1.2" { - } - } - GROUP "g2" { - GROUP "g2.1" { - GROUP "g2.1.1" { - } - GROUP "g2.1.2" { - } - GROUP "g2.1.3" { - } - } - } - GROUP "g3" { - GROUP "g3.1" { - } - GROUP "g3.2" { - } - GROUP "g3.3" { - } - GROUP "g3.4" { - } - } -} -GROUP "/y" { -} -} -h5dump error: unable to open group "/y" diff --git a/vms/tools/testfiles/tperror.ddl b/vms/tools/testfiles/tperror.ddl deleted file mode 100644 index 7275907..0000000 --- a/vms/tools/testfiles/tperror.ddl +++ /dev/null @@ -1,9 +0,0 @@ - -############################# -Expected output for 'h5dump -p -d bogus tfcontents1.h5' -############################# -HDF5 "tfcontents1.h5" { -DATASET "bogus" { -} -} -h5dump error: unable to open dataset "bogus" |