mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-13 16:47:58 +08:00
* Call memset before stat calls (#4202)
The buffers passed to stat-like calls are only partially filled in by
the call, leaving ununitialized memory areas when the stat buffers are
created on the stack.
This change memsets the buffers to 0 before the stat calls, quieting
the -fsanitze=memory complaints.
* Remove unused CMake configuration checks (#4199)
* Update link to Chunking in HDF5 page (#4203)
* Fix H5Pset_efile_prefix documentation error (#4206)
Fixes GH issue #1759
* Suggested header footer for NEWSLETTER (#4204)
* Suggested header footer for NEWSLETTER
* Updates
* Add NEWSLETTER.txt to h5vers script
* Fix grammar in README.md release template (#4201)
* Add back snapshot names (#4198)
* Use tar.gz extension for ABI reports (#4205)
* Fix issue with Subfiling VFD and multiple opens of same file (#4194)
* Fix issue with Subfiling VFD and multiple opens of same file
* Update H5_subfile_fid_to_context to return error value instead of ID
* Add helper routine to initialize open file mapping
* Reverts AC_SYS_LARGEFILE change (#4213)
We previously replaced local macros with AC_SYS_LARGEFILE, which is
unfortunately buggy on some systems and does not correctly set the
necessary defines, despite successfully detecting them.
This restores the previous macro hacks to acsite.m4
* Propagate group creation properties to intermediate groups (#4139)
* Add clarification for current behavior of H5Get_objtype_by_idx() (#4120)
* Addressed Fortran issues with promoted integers and reals via compilation flags (#4209)
* addressed issue wit promoted integers and reals
* added option to use mpi_f08
* Summarize the library version table (#4212)
Fixes GH-3773
* Fix URLs (#4210)
Also removed Copyright.html context because it's no longer valid.
* Fix 'make check-vfd' target for Autotools (#4211)
Changes Autotools testing to use HDF5_TEST_DRIVER environment
variable to avoid running tests that don't work well with several
VFDs
Restores old h5_get_vfd_fapl() testing function to setup a FAPL
with a particular VFD
Adds a macro for the default VFD name
* Revert "Addressed Fortran issues with promoted integers and reals via compil…" (#4220)
This reverts commit 06c42ff038
.
* Backup and clear CMAKE_C_FLAGS before performing _Float16 configure checks (#4217)
* Fix broken links (#4224)
* Fix broken URLs in documentation (#4214)
Fixes GH-3881 partially. There are pages that need to be recreated.
* Avoid file size checks in C++ testhdf5 for certain VFDs (#4226)
* Fix an issue with type size assumptions in h5dumpgentest (#4222)
* Fix issue with -Werror cleanup sed command in configure.ac (#4223)
* Fix Java JNI warnings (#4229)
* Rework snapshots/release workflows for consistent args (#4227)
* Fixed a cache assert with too-large metadata objects (#4231)
If the library tries to load a metadata object that is above the
library's hard-coded limits, the size will trip an assert in debug
builds. In HDF5 1.14.4, this can happen if you create a very large
number of links in an old-style group that uses local heaps.
The library will now emit a normal error when it tries to load a
metadata object that is too large.
Partially addresses GitHub #3762
* Set DXPL in API context for native VOL attribute I/O calls (#4228)
* Initialize a variable in C++ testhdf5's tattr.cpp (#4232)
* Addressed Fortran issues with promoted integers and reals via compilation flags, part 2 (#4221)
* addressed issue wit promoted integers and reals
* fixed h5fcreate_f
* added option to use mpi_f08
* change the kind of logical in the parallel tests
* addressed missing return value from callback
* Use cp -rp in test_plugin.sh (#4233)
When building with debug symbols on MacOS, the cp -p commands in
test_plugin.sh will attempt to copy the .dSYM directories with
debugging info, which will fail since -r is missing.
Using cp -rp is harmless and allows the test to run
Fixes HDFFV-10542
* Clean up types in h5test.c (#4235)
Reduces warnings on 32-bit and LLP64 systems
* Fix example links (#4237)
* Fix links md files (#4239)
* Add markdown link checker action (#4219)
* Match minimum CMake version to 3.18 (#4215)
217 lines
6.8 KiB
Plaintext
217 lines
6.8 KiB
Plaintext
# -*- Autoconf -*-
|
|
# Process this file with autoconf to produce a configure script.
|
|
#
|
|
# 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 COPYING file, which can be found at the root of the source code
|
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
|
|
AC_PREREQ(2.69)
|
|
AC_INIT(HDF5-examples, 0.1, help@hdfgroup.org)
|
|
dnl AM_INIT_AUTOMAKE takes a list of options that should be applied to
|
|
dnl every Makefile.am when automake is run.
|
|
AM_INIT_AUTOMAKE([foreign])
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
# Turn off automake rebuild rules so make doesn't try to run automake
|
|
# (which probably won't work).
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Argument for static linking
|
|
AC_ARG_ENABLE(shared,
|
|
[AS_HELP_STRING([--disable-shared],
|
|
[force static linking])],
|
|
[if test "$enableval" = "no"; then
|
|
shared_suffix=""
|
|
echo lo!
|
|
else
|
|
shared_suffix=" -shlib"
|
|
fi],
|
|
[shared_suffix=" -shlib"])
|
|
|
|
# Checks and sets HDF5 compiler wrappers.
|
|
if test "x$CC" = "x"; then
|
|
H5C_exists=`h5cc -help > /dev/null 2>&1; echo $?`
|
|
if test "x1" = "x$H5C_exists"; then
|
|
H5C_valid=`h5cc -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "x1" = "x$H5C_valid"; then
|
|
H5C="h5cc"
|
|
fi
|
|
else
|
|
H5C_exists=`h5pcc > /dev/null 2>&1; echo $?`
|
|
if test "x1" = "x$H5C_exists"; then
|
|
H5C_valid=`h5pcc -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "x1" = "x$H5C_valid"; then
|
|
H5C="h5pcc"
|
|
else
|
|
AC_MSG_ERROR(failed to find h5cc or h5pcc)
|
|
fi
|
|
else
|
|
AC_MSG_ERROR(failed to find h5cc or h5pcc)
|
|
fi
|
|
fi
|
|
else
|
|
H5C_exists=`$CC -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "x1" = "x$H5C_exists"; then
|
|
H5C="$CC"
|
|
else
|
|
AC_MSG_ERROR(CC is not set to h5cc or h5pcc)
|
|
fi
|
|
fi
|
|
AC_PROG_CC([$H5C])
|
|
|
|
if test "x$FC" = "x"; then
|
|
H5FC_exists=`h5fc -help > /dev/null 2>&1; echo $?`
|
|
if test "x1" = "x$H5FC_exists"; then
|
|
H5FC_valid=`h5fc -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "x1" = "x$H5FC_valid"; then
|
|
H5FC="h5fc"
|
|
fi
|
|
else
|
|
H5FC_exists=`h5pfc > /dev/null 2>&1; echo $?`
|
|
if test "x1" = "x$H5FC_exists"; then
|
|
H5FC_valid=`h5pfc -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "x1" = "x$H5FC_valid"; then
|
|
H5FC="h5pfc"
|
|
else
|
|
AC_MSG_ERROR(failed to find h5fc or h5pfc)
|
|
fi
|
|
else
|
|
AC_MSG_ERROR(failed to find h5fc or h5pfc)
|
|
fi
|
|
fi
|
|
else
|
|
H5FC_exists=`$FC -help | sed -E -n '1p' | sed -n "/h5/p" | wc -l | sed 's/ //g'`
|
|
if test "1" = "$H5FC_exists"; then
|
|
H5FC="$FC"
|
|
else
|
|
AC_MSG_ERROR(FC is not set to h5fc or h5pfc)
|
|
fi
|
|
fi
|
|
AC_PROG_FC([$H5FC])
|
|
|
|
# Add the suffix to CC for shared linking. Can't just set as an option
|
|
# because it must be first.
|
|
if test "$shared_suffix" && test ! `echo ${CC} | grep "$shared_suffix"`; then
|
|
CC=${CC}${shared_suffix}
|
|
fi
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
|
|
# Determine the version of the HDF5 Library
|
|
AC_MSG_CHECKING([the version of the HDF5 Library])
|
|
|
|
AC_SUBST([H5_LIBVER])
|
|
H5_LIBVER=$(${CC} -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g')
|
|
AC_MSG_RESULT([$H5_LIBVER])
|
|
|
|
AC_MSG_CHECKING([the API mapping of the HDF5 Library])
|
|
AC_SUBST([H5_APIVER])
|
|
H5_APIVER=$(${CC} -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/')
|
|
AC_MSG_RESULT([$H5_APIVER])
|
|
|
|
#if version is unreleased then bump to next official release.
|
|
|
|
H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g')
|
|
H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g')
|
|
H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g')
|
|
|
|
#used in fortran version checks
|
|
H5_VERS_MAJOR=$H5_MAJORVER
|
|
H5_VERS_MINOR=$H5_MINORVER
|
|
H5_VERS_RELEASE=$H5_RELEASEVER
|
|
|
|
AC_SUBST([H5_VERS_MAJOR])
|
|
AC_SUBST([H5_VERS_MINOR])
|
|
AC_SUBST([H5_VERS_RELEASE])
|
|
|
|
AC_SUBST([H5_LIBVER_DIR])
|
|
rem=$(( $H5_MINORVER % 2 ))
|
|
if test "$rem" != "0";then
|
|
H5_MINORVER=$(($H5_MINORVER+1))
|
|
fi
|
|
H5_LIBVER_DIR=${H5_MAJORVER}${H5_MINORVER}
|
|
|
|
# Test whether one version ($1) is greater than or equal to other ($2).
|
|
function version_gt {
|
|
test "`printf '%s\n' "$@" | sort -V | head -n 1`" != "$1";
|
|
}
|
|
|
|
if test ! "$H5EX_G" && test ! "$H5EX_D" && test ! "$H5EX_T";then
|
|
H5EX_G=1
|
|
H5EX_D=1
|
|
H5EX_T=1
|
|
fi
|
|
AM_CONDITIONAL(H5G, test "$H5EX_G")
|
|
AM_CONDITIONAL(H5D, test "$H5EX_D")
|
|
AM_CONDITIONAL(H5T, test "$H5EX_T")
|
|
|
|
# Check if a Fortran 2003 compiler was used for h5fc
|
|
HAVE_FORTRAN_2003="no"
|
|
|
|
AC_MSG_CHECKING([if h5fc was compiled with Fortran 2003 enabled])
|
|
|
|
# if HDF5 version is 1.8 and HDF5 used a 2003 Fortran compiler.
|
|
if (${FC} -showconfig 2>&1 | grep 'Fortran 2003 Compiler: yes') > /dev/null; then
|
|
HAVE_FORTRAN_2003="yes"
|
|
else
|
|
# check if HDF5 version is > 1.8
|
|
if version_gt "$H5_LIBVER" "1.9.0"; then
|
|
HAVE_FORTRAN_2003="yes"
|
|
fi
|
|
fi
|
|
|
|
AC_MSG_RESULT([$HAVE_FORTRAN_2003])
|
|
|
|
FORTRAN_2003_CONDITIONAL_F="X$HAVE_FORTRAN_2003"
|
|
AC_SUBST([FORTRAN_2003_CONDITIONAL_F])
|
|
AM_CONDITIONAL([FORTRAN_2003_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003" = "Xyes"])
|
|
|
|
# Check if we have Fortran 2003 and Intel compiler; Intel doesn't work with RECURSIVE used by h5ex_g_traverse.F90
|
|
# The example will not be built when Intel compiler is used (EIP 2011/10/14)
|
|
|
|
if test "X$HAVE_FORTRAN_2003" = "Xyes"; then
|
|
HAVE_FORTRAN_2003_NOTINTEL="yes"
|
|
AC_MSG_CHECKING([if h5fc is an Intel Fortran compiler])
|
|
if (${FC} -showconfig 2>&1 | grep 'Intel(R) Fortran ') > /dev/null; then
|
|
HAVE_FORTRAN_2003_NOTINTEL="no"
|
|
fi
|
|
if test "X$HAVE_FORTRAN_2003_NOTINTEL" = "Xyes"; then
|
|
echo "no"
|
|
else
|
|
echo "yes"
|
|
fi
|
|
fi
|
|
# End check if we have Fortran 2003 and Intel compiler.
|
|
AM_CONDITIONAL([FORTRAN_2003_NOTINTEL_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003_NOTINTEL" = "Xyes"])
|
|
|
|
|
|
# Set subdirectories
|
|
AC_CONFIG_FILES([Makefile
|
|
C/Makefile
|
|
C/H5D/Makefile
|
|
C/H5G/Makefile
|
|
C/H5T/Makefile
|
|
FORTRAN/Makefile
|
|
FORTRAN/H5D/h5_version.h
|
|
FORTRAN/H5D/Makefile
|
|
FORTRAN/H5G/Makefile
|
|
FORTRAN/H5T/Makefile
|
|
])
|
|
|
|
AC_CONFIG_FILES([C/H5D/test.sh], [chmod +x C/H5D/test.sh])
|
|
AC_CONFIG_FILES([C/H5G/test.sh], [chmod +x C/H5G/test.sh])
|
|
AC_CONFIG_FILES([C/H5T/test.sh], [chmod +x C/H5T/test.sh])
|
|
AC_CONFIG_FILES([FORTRAN/H5D/test.sh], [chmod +x FORTRAN/H5D/test.sh])
|
|
AC_CONFIG_FILES([FORTRAN/H5G/test.sh], [chmod +x FORTRAN/H5G/test.sh])
|
|
AC_CONFIG_FILES([FORTRAN/H5T/test.sh], [chmod +x FORTRAN/H5T/test.sh])
|
|
|
|
# Configure
|
|
AC_OUTPUT
|