Commit Graph

658 Commits

Author SHA1 Message Date
Allen Byrne
112f445019
Add cygwin CI and update yaml files for consistency and accuracy (#4131)
* Add cygwin CI

* add cygwin packages

* Correct option names

* Cleanup yaml file and synch look and feel

* Synch CI look and feel and correct path issues

* Upgrade oneapi version

* pwsh needs env: for vars

* No continuation char for pwsh

* restore correct pwsh step

* Run subset of tests for cygwin workflow

* Remove space chars in regex

* restore full tests
2024-03-14 07:16:53 -07:00
Dana Robinson
8123614b4d
Use AC_SYS_LARGEFILE on Autotools (#4119)
We previously used a hack introduced in 1.8.5 to paper over differences
in off_t and off64_t when determining the type sizes. We no longer explicitly
support off64_t in the library and AC_SYS_LARGEFILE works fine.
2024-03-12 11:30:24 -07:00
Dana Robinson
6cb4b2f6d7
Remove printf debugging from H5Smpio.c (#4098) 2024-03-09 20:30:34 -08:00
Dana Robinson
3d09a7d5f6
Remove H5B debug checks (#4089)
The H5B (version 1 B-tree) package would add some computationally
expensive integrity checks when H5B_DEBUG was defined. Due to their
negative effects on performance, this option was rarely turned on,
making the H5B__assert() check function stale, if not dead, code.

This change:

* Builds H5B__assert() when NDEBUG is not defined (the function
  relies on assert()) so it gets compiled more often.
* Removes some printf debugging statements in the B-tree code
* Removes all H5B "extra debug" checks that are leftover from
  past debugging sessions. Maintainers can add H5B__assert()
  selectively to perform integrity checks when debugging.
* Removes the HDF5_ENABLE_DEBUG_H5B CMake option

H5B_DEBUG now has no effect
2024-03-08 23:17:13 -08:00
Dana Robinson
3ea50208f9
Remove printf debugging in H5I package (#4088) 2024-03-08 12:55:16 -08:00
Dana Robinson
f24496074f
Remove printf debugging in H5HL code (#4086) 2024-03-07 18:36:44 -08:00
Scot Breitenfeld
9d8e882496
Added new H5E with tests. (#4049)
Added Fortran H5E APIs:
h5eregister_class_f, h5eunregister_class_f, h5ecreate_msg_f, h5eclose_msg_f
h5eget_msg_f, h5epush_f, h5eget_num_f, h5ewalk_f, h5eget_class_name_f,
h5eappend_stack_f, h5eget_current_stack_f, h5eset_current_stack_f, h5ecreate_stack_f,
h5eclose_stack_f, h5epop_f, h5eprint_f (C h5eprint v2 signature)

Addresses Issue #3987
2024-03-07 03:34:55 -08:00
Scot Breitenfeld
e7f41a2fbf
Fix the datatype passed to H5*exists_async APIs in tests. (#4033)
Add a new testing function to verify C_BOOL values.
2024-02-23 07:57:30 -06:00
Scot Breitenfeld
d79667eb0c
Add API support for Fortran MPI_F08 module definitions. (#3959)
* revert to using c-stub for _F08 MPI APIs

* use mpi compiler wrappers for cmake and nvhpc
2024-01-29 13:13:33 -06:00
Allen Byrne
365e23340c
Fix doxygen errors (#3962)
* Switch warnings as errors to default OFF

* Enable mac docs

* Add doxygen action uses step

* Use html div around snippet

* Allow preset name to be an argument to cmake-ctest.yml
2024-01-29 07:38:54 -06:00
Scot Breitenfeld
9d1fe2c166
renamed defined H5_VERS* to avoid conflicts (#3926) 2024-01-05 06:55:54 -06:00
Scot Breitenfeld
8f1a93f1a2
New Fortran Examples added (#3916)
* added subfiling example

* Added filtered writes with no selection example
2024-01-03 10:55:17 -06:00
Quincey Koziol
3a21ee0877
Add 'warning density' computation to the warnhist script (#3910)
* Add 'warning density' computation to the warnhist script, along with several
cleanups to it.   Add "--enable-show-all-warnings" configure (and CMake)
option to disable compiler diagnostic suppression (and therefore show all the
otherwise suppressed compiler diagnostics), disabled by default.  Clean up
a buncn of misc. warnings.

Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
2023-12-29 08:42:35 -06:00
Allen Byrne
6f2d22d86e
Add variable option syncing for examples (#3885) 2023-12-14 12:50:30 -06:00
Dana Robinson
8b3ffdef30
Remove Autotools sed hack (#3848)
configure.ac contains a sed line that cleans up incorrect library
flags which was added to paper over some bugs in earlier versions
of the Autotools. These issues are not a problem with the current
versions of the Autootols.

The sed line causes problems on MacOS, so it has been removed.

Fixes #3843
2023-11-13 11:09:43 -08:00
Scot Breitenfeld
ec695cf34f
Renamed h5fuse.sh to h5fuse (#3834)
* provide an alternative to mapfile for older bash
2023-11-07 09:50:03 -06:00
Allen Byrne
5844f498b0
Add an option to disable doxygen warn as error (#3708)
Add for both CMake and the Autotools

* HDF5_ENABLE_DOXY_WARNINGS: ON/OFF (Default: ON)
* --enable-doxygen-errors: enable/disable (Default: enable)

The default will fail compile if the doxygen parsing generates warnings.
The option can be disabled if certain versions of doxygen have parsing
issues. i.e. 1.9.5, 1.9.8.

Fixes #3398
2023-10-19 14:58:33 -07:00
Dana Robinson
d5267f096e
Add support for AOCC & Flang w/ the Autotools (#3674)
* Adds a config/clang-fflags options file to support Flang
* Corrects missing "-Wl," from linker options in the libtool wrappers
  when using Flang, the MPI Fortran compiler wrappers, and building
  the shared library. This would often result in unrecognized options
  like -soname.
* Enable -nomp w/ Flang to avoid linking to the OpenMPI library.

CMake can build the parallel, shared library w/ Fortran using AOCC
and Flang, so no changes were needed for that build system.

Fixes GitHub issues #3439, #1588, #366, #280
2023-10-14 22:39:43 -05:00
Scot Breitenfeld
6edd9a0aab
Drop MPI-2 support (#3643) 2023-10-07 18:16:30 -07:00
Scot Breitenfeld
1e852b94bd
Removed the use of -commons linking option on Darwin (#3581)
Removed the use of -commons linking option on Darwin as COMMON and EQUIVALENCE is no long used
2023-09-25 12:41:48 -07:00
Scot Breitenfeld
dece6256bf
Adds link to h5fuse.sh in testpar for autotools (#3557)
* Make the h5fuse.sh utility available to parallel subfiling tests so h5fuse testing is not skipped.
2023-09-22 08:41:57 -05:00
Dana Robinson
627f7c5e02
Convert some H5MM calls to standard C equivalents (#2382)
* H5MM_calloc and malloc are now mapped to stdlib C calls
* H5MM_memcpy now maps directly to memcpy in release builds
* H5MM_memcpy is still implemented as a separate function that
   checks for buffer overlap when H5MM_DEBUG is defined
   (default w/ debug builds)
* Switches many library memcpy calls to use H5MM_memcpy
* Fixes a possible zero allocation in H5Olayout.c
2023-08-25 13:56:50 -07:00
Dana Robinson
81fc47cc06
Enable szip by default in Autotools (#3412)
Since libaec is so prevalent and BSD-licensed for both encode and
decode, we build the szip filter by default when the szip or aec
libraries are found.
2023-08-23 08:21:33 -07:00
jhendersonHDF
26059fc7ab
Subfiling VFD source cleanup (#3241)
* Subfiling VFD source cleanup

Modularize Subfiling CMake code into separate CMakeLists.txt file

Update Mercury util code to latest version and update Copyright

Generate mercury_util_config.h header file instead of using
pre-generated file

Remove unnecessary Mercury functionality

Fix minor warning in Subfiling VFD code

* Remove Mercury headers from Autotools publicly-distributed header list
2023-07-13 12:19:02 -05:00
Dana Robinson
651b20ccb7
Remove checks for setsysinfo, which is unused (#3205)
* Autotools
* CMake
2023-06-29 06:31:50 -07:00
Dana Robinson
fcdd0ab9dc
Revert long double checks (#3133)
* Revert "Remove long double conversion work-arounds (#3097)"

This reverts commit 1e1dac1dac.

* Update comments to reflect newer systems
2023-06-15 09:13:22 -07:00
Dana Robinson
d1ef48e708
Remove unused HD macros (#3120)
* Remove unused HD macros
The library prefixes most C and POSIX API calls with 'HD'. We are
going to start removing these so the code looks like normal C.

This PR removes most of the unused HD markup macros.

* Replace ntohl/ntohs
2023-06-14 08:00:26 -07:00
Dana Robinson
d4605919f9
Remove H5detect and H5make_libsettings (#3104)
Removes H5detect and H5make_libsettings from the build and replaces
their functionality with things that don't affect cross-compiling.

H5detect --> floating-point types are now detected on library load
H5make_libsettings --> Moved functionality to a new H5build_settings.c template file
2023-06-13 08:16:41 -07:00
Dana Robinson
1e1dac1dac
Remove long double conversion work-arounds (#3097)
Several options and public symbols that were provided to paper
      over non-standard long double conversions between signed/unsigned
      long and long long values were removed from the Autotools and
      CMake. These were added twenty years ago, when C99 and 64-bit
      platforms were less common and are no longer needed.

      Autotools:
        --enable-dconv-accuracy

      CMake:
        HDF5_WANT_DATA_ACCURACY

      H5pubconf.h symbols:
        H5_WANT_DATA_ACCURACY
        H5_LDOUBLE_TO_LONG_SPECIAL
        H5_LONG_TO_LDOUBLE_SPECIAL
        H5_LDOUBLE_TO_LLONG_ACCURATE
        H5_LLONG_TO_LDOUBLE_CORRECT
        H5_DISABLE_SOME_LDOUBLE_CONV
2023-06-12 14:12:57 -07:00
Dana Robinson
37990e63c4
Make some changes to configure.ac to suppor MinGW (#3096)
Adds some H5pubconf.h entries and cpp flags for building on MinGW
using the Autotools.

Also updates the Windows-related H5pubconf.h comments to be more
accurate in CMake.
2023-06-11 17:39:15 -07:00
Dana Robinson
4bda5eb33c
Add cross-compile defaults to Autotools (#3095)
Most instances of AC_RUN_IFELSE do not have an action set for
cross-compiling, even though there is an obvious 'reasonable'
value.
2023-06-10 12:24:33 -07:00
Dana Robinson
76bc845a2f
Removes old header/library checks (#3078)
In both CMake and the Autotools, remove checks for:
* lstat
* srandom

In CMake, remove checks for:
* string.h
* strings.h
* stdlib.h
We assume these exist. Configure will always check for them (we don't
add any special code to do this), but there's no reason to duplicate
that nonsense in CMake.
2023-06-07 16:40:31 -07:00
Allen Byrne
00e6c2d221
Remove most unused options which are defaulted #2998 (#3019)
* Remove most unused options which are defaulted #2998

* Fix property list references
2023-05-26 09:19:32 -07:00
Dana Robinson
2a2c2d9ebe
Bump Autoconf version to 2.71 (#2944)
Required for building with Intel's oneAPI
2023-05-11 17:04:09 -07:00
H. Joe Lee
c66eaccde0
chore(configure.ac): fix output message for enabling tools (#2684) (#2854)
Close #2684.
2023-04-29 12:35:33 -05:00
jhendersonHDF
b77cb393b8
Fix improper include of build directory (#2422, #2621) (#2667) 2023-04-11 14:31:25 -05:00
Mark Kittisopikul
5d3d43b1ee
Fix new codespell issues (#2521)
* Fix new codespell issues

* Have codespell ignore ./config/sanitizer/sanitizers.cmake
2023-03-08 14:42:47 -06:00
Dana Robinson
1cf9ecccf5
Fix for Autotools --disable-deprecated-symbols (#2363)
* Fix for Autotools --disable-deprecated-symbols

When we added v116 as a valid option, we left the default as v114 so
using --disable-deprecated-symbols leads configure to complain that you
can't set a default API that was deprecated.

The GitHub action didn't catch this because it explicitly specifies v116

This only affects develop w/ the Autotools when
--disable-deprecated-symbols is requested.

* Added v116 & default to the --with-default-api-version help string

The Autotools --with-default-api-version help string was missing v116.
This has been added, as well as a "default" target so the CI can catch
version problems when we forget to update the defaults upon creating
a new major version.

The GitHub CI also now uses "default" as the target for the deprecated
symbols build.

* Fixes the 1.14 API GitHub CI threadsafe/build_mode

This action still had the bug we fixed where we set the build mode
and threadsafety using an array of size one instead of an object.
2022-12-24 11:36:38 -08:00
Dana Robinson
cfd5059e77
HL GIF tools changes (#2360)
* Fixes the broken Autotools option
* Removes the "build HL tools" option
2022-12-23 16:05:31 -08:00
Allen Byrne
9f5cf0a457
H5F_LIBVER_LATEST changes for move to 1.15 (#2288)
* H5F_LIBVER_LATEST changes for move to 1.15

* Add new default api check

* Format fixes

* Fix default configure

* fix lib version tests

* Fix another version variable

* Add 1.14 doc link
2022-12-21 10:07:25 -08:00
Allen Byrne
149b8e9769
Disable hl tools by default (#2313)
* Disable hl tools by default

* identify the tools

* Only GIF tools are depecated

* Add new option

* Update autotools
2022-12-16 19:56:07 -08:00
Ryan Schmidt
9dd36f016a
Simplify & fix check for szlib encoder (#2263)
Return the result rather than setting the exit code. "return" is a
language keyword whereas "exit" is a function for which the <stdlib.h>
header has to be included which it wasn't in this test, therefore the
test would previously fail to identify that the encoder was enabled if
"-Werror=implicit-function-declaration" was used, which it is by default
with clang from Xcode 12 and later.

Fixes #2262
2022-11-17 16:28:44 -06:00
Scot Breitenfeld
03cc221016
moved quad precision checks (#2252)
* Only check quad sizes if fortran is enabled

* fixed if struct
2022-11-12 12:53:35 -06:00
Scot Breitenfeld
5985d0e0b1
removed uninterpretable line (#2249) 2022-11-10 22:56:53 -06:00
Dana Robinson
d93c6fae43
Removes MPE instrumentation support. (#2245)
* Removes MPE instrumentation support.

The Autotools will no longer accept --with-mpe= and the logging commands
have been removed from the FUNC_ENTER macros. CMake has never supported
instrumenting for MPE.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-09 11:06:26 -08:00
Dana Robinson
0f30852242
Removes dmalloc support (#2239)
This has not been used to debug the library in a very long time. Most
developers use valgrind, -fsanitize=address, or some other memory checker
instead of this library.

This removes:
    * dmalloc.h include from H5private.h
    * --with-dmalloc= Autotools configure option
    * HDF5_ENABLE_USING_DMALLOC CMake option
2022-11-09 09:22:14 -08:00
Dana Robinson
018f093c09
Removes the memory allocation sanity checks feature (#2218)
* Removes the memory allocation sanity checks feature

* Committing clang-format changes

* Removes zero size checks for H5MM_(c|m)alloc()

* Explicitly return NULL when size == 0 in H5allocate_memory()

* Committing clang-format changes

* Format fix

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-03 16:30:08 -07:00
Larry Knox
11dfa25910
Update copyright headers (#2184)
* Updated source file copyright headers to remove "Copyright by the Board of Trustees
of the University of Illinois", which is kept in the top-level COPYING file.
2022-11-01 16:02:27 -05:00
Larry Knox
0173706826
Update develop branch version to 1.13.4-1 (#2189)
* Updated version to 1.13.4-1 after creating hdf5_1_13_3 branch for 1.13.3
release.
Added new version to exceptions in lines 74-5 of src/H5.c
2022-10-26 11:07:17 -05:00
Scot Breitenfeld
7d1997ff7b
Removed the file, func, line args in the _async APIs fpr doxygen (#2179)
* Removed the: file, func, line args in the _async APIs from the doxygen arguments. Documented H5ESclean.

* format fixes

* fixed DOXYGEN_PREDEFINED

* Fixed the #ifdet logic for doxygen, added missing multi-dataset va_args

* format fixes

* Use H5_DOXYGEN instead of H5_DOXYGEN_FORTRAN

* reordered multidataset declarations

* alt. for H5Aclose_async and H5Acreate_async

* made doxgyen API into seperate blocks

* updated codespell

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-25 10:41:38 -07:00