Commit Graph

2236 Commits

Author SHA1 Message Date
Allen Byrne
dca6370691
Move C++ and Fortran and examples to HDF5Examples folder (#4552) 2024-06-08 06:46:09 -05:00
Allen Byrne
552510e906
Add option to use zlib-ng as zlib library (#4487) 2024-06-04 09:44:13 -07:00
Allen Byrne
3bd8159ccd
Disable UNITY_BUILD for now - globally (#4515) 2024-05-25 06:25:45 -05:00
Dana Robinson
0ae9c7021a
Move/rename libhdf5.settings input files (#4525)
Move without other changes:

src/libhdf5.settings.in -> src/libhdf5.settings.autotools.in
config/cmake/libhdf5.settings.cmake.in -> src/libhdf5.settings.cmake.in
2024-05-24 15:59:52 -05:00
jhendersonHDF
8897e25b00
Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
Allen Byrne
4fa004e73a
Set H5 specific vars immediately if legacy find (#4512)
* Set H5 specific vars immediately if legacy find

* Correct find process vars (vs in-line build)

* Correct SZIP find

* Everything is libaec 1.0.6 or newer

* Correct option help text
2024-05-22 15:11:37 -05:00
Allen Byrne
f17ca5689e
Update for blosc2 in plugins and prefix hdf5 cmake varnames (#4468) 2024-05-10 13:01:28 -05:00
Allen Byrne
ea3a3a25f1
Remove use of err files in autotools test scripts (#4461) 2024-05-06 08:31:39 -05:00
jhendersonHDF
6114d1adfb
Fixes and cleanup for ph5diff (#4460)
* Fixes and cleanup for ph5diff

Fixes concurrency issues in ph5diff that can cause interleaved
output

Fixes an issue where output can sometimes be dropped if it ended
up in ph5diff's output overflow file

Fixes an issue where MPI_Init is called after HDF5 has been
initialized, preventing the library from setting up an MPI
attribute to perform cleanup on MPI_Finalize

Fixes an issue in config/cmake/runTest.cmake where the CMake
logic would try to access an invalid list index if the number
of lines in a test's output and reference files don't match

* Add release note
2024-05-03 15:00:15 -05:00
Quincey Koziol
63fcd583d0
Removed "function/code stack" debugging configure option (#4454)
Easily replaced w/third-party tools, e.g. libbacktrace
(https://github.com/ianlancetaylor/libbacktrace)
2024-05-03 03:30:45 -07:00
Allen Byrne
1b6ae84d15
Convert ERR test to use grep (#4451)
* Convert ERR test to use grep
* Eliminate use of .err files in CMake
* Show error output if grep fails
* Turn off cuda in NVHPC CI
2024-05-03 03:29:53 -07:00
Allen Byrne
1d3b22456c
sanitizer flags need set before compiler flags (#4444) 2024-04-27 10:14:03 -05:00
Quincey Koziol
5df6391246
Add support for builtin_expect compiler hint (#4425)
* Add support for __builtin_expect extension

And H5_LIKELY / H5_UNLIKELY macros to wrap it

Signed-off-by: Quincey Koziol <quincey@koziol.cc>

* Committing clang-format changes

---------

Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-25 16:33:47 -05:00
jhendersonHDF
7d0cbc3479
Set available CMake build types for non-multi-config generators (#4330) 2024-04-12 09:26:48 -07:00
Allen Byrne
db4578179b
Add CXX flags (#4359) 2024-04-12 09:16:12 -07:00
H. Joe Lee
6fce68f411
Fix typo VERSIO (#4363) 2024-04-09 14:04:54 -07:00
Dana Robinson
a99d620172
Clean up random number generator code (#4338)
* Clean up random number generator code

Depending on the platform, we use a mix of random, rand, and rand_r
to generate pseudo-random numbers, along with a messy set of ifdefs
in H5private.h. We are not a cryptographic library, only use random
numbers in our test code, and have no need for anything more than the
C standard's (s)rand(). There's no point dithering about using rand()
vs random() when we're also doing bad things like using mod to
restrict the range, which introduces bias.

Also removes CMake/configure checks for rand_r and random

* Remove random/rand_r checks from build system

* Fix missed HDrandom after GitHub merge
2024-04-07 15:15:25 -07:00
jhendersonHDF
90a1baede9
Revise _Float16 configure checks (#4323)
Run configure checks with and without CFLAGS/CMAKE_C_FLAGS since some
compilers work in one case while not working in the other case

Sync CMake configure checks with Autotools
2024-04-04 09:59:25 -05:00
jhendersonHDF
c4544543a2
Remove old wait_H5Tinit.cmake file (#4314) 2024-04-03 02:29:25 -07:00
Scot Breitenfeld
8b5644a0cd
Report build options of VFDs (#4304)
* changed to if string contains instead

* return status of VFDs in libhdf5.settings

* use *_ENABLE_* settings instead to report the state

* added map state

* updated resetting status if cmake option fails
2024-04-02 13:24:02 -05:00
jhendersonHDF
dc69e39f65
Add configure options for disabling extension features (#4277)
Add configure option to enable or disable extension features in general

Add configure option to enable or disable _Float16 support

Add new config options to various settings files
2024-03-31 22:45:50 -05:00
Scot Breitenfeld
54a42fc9d9
changed to if string contains instead (#4286) 2024-03-29 15:40:56 -07:00
H. Joe Lee
2d970ecba4
chore: improve error message (#4287)
close #192
2024-03-29 15:39:33 -07:00
Scot Breitenfeld
f6ae241032
Addresses configuration fortran testing flags (#4276)
* turn warnings to errors in fortran configure test

* Intel fortran test fix
2024-03-28 16:55:32 -05:00
Allen Byrne
1dfaef2586
replace deprecated CMAKE_COMPILER_IS_GNU** (#4272) 2024-03-28 09:20:57 -07:00
Dana Robinson
fe4f9fb38c
Improve the CMake clang -fsanitize=memory flags (#4267)
-fsanitize=memory is almost useless without
using -fsanitize-memory-track-origins=2 and we shoud probably add
-fno-optimize-sibling-calls as well.
2024-03-27 17:54:15 -07:00
Scot Breitenfeld
724eaaf618
Determine MPI LOGICAL during build, used in tests. (#4246) 2024-03-26 09:05:51 -07:00
Allen Byrne
eacb0157dc
Rework Fortran macros to use the proper code. (#4240) 2024-03-26 09:20:11 -05:00
jhendersonHDF
db8193def5
Turn on -Werror for Java in GitHub -Werror workflows (#4243) 2024-03-26 07:40:16 -05:00
Scot Breitenfeld
6837fe5bc8
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
2024-03-25 07:42:03 -05:00
jhendersonHDF
cdc5112bae
Backup and clear CMAKE_C_FLAGS before performing _Float16 configure checks (#4217) 2024-03-23 07:17:14 -07:00
Scot Breitenfeld
c1a56f432e
Revert "Addressed Fortran issues with promoted integers and reals via compil…" (#4220)
This reverts commit 06c42ff038.
2024-03-23 07:16:43 -07:00
jhendersonHDF
86ca181bd8
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
2024-03-22 21:31:16 -05:00
Scot Breitenfeld
06c42ff038
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
2024-03-22 11:52:58 -05:00
H. Joe Lee
4ebfbd6370
Fix grammar in README.md release template (#4201) 2024-03-21 09:11:29 -07:00
H. Joe Lee
7f3ab671a5
Remove unused CMake configuration checks (#4199) 2024-03-21 05:31:57 -07:00
H. Joe Lee
a31da32a2f
Remove broken links (#4187) 2024-03-20 10:49:48 -07:00
Dana Robinson
56c527d752
Fixes several MinGW + Autotools issues (#4190)
* Fixes detection of various Windows libraries, etc.
* Corrects alarm(2) configure checks
* Uses Win32 threads by default w/ Pthreads override, if desired
* Set _WIN32_WINNT correctly for MinGW
* Fix setenv(3) wrapper for MinGW, which does not have getenv_s()

MinGW Autotools support is still not Amazing, but this at least
allows the library and tools build and is better about thread-safety
2024-03-20 08:40:09 -07:00
Allen Byrne
025d1e7e82
Exclude shell tests from sanitizers (#4186) 2024-03-19 16:32:20 -07:00
Dana Robinson
5bf08d1e8e
Clean up CMake direct VFD handling (#4161)
There's no need to build and run programs, or even check the operating
system. We just need to check for O_DIRECT and posix_memalign().
2024-03-18 21:53:06 -07:00
jhendersonHDF
330b80a266
Add support for _Float16 16-bit floating point type (#4065)
Fixed some conversion issues with Clang due to problematic undefined
behavior when casting a negative floating-point value to an integer

Fixed a bug in the library's software integer to floating-point
conversion function where a user's conversion exception function
returning H5T_CONV_UNHANDLED in the case of overflows would result in
incorrect data after conversion

Added configure checks for functions and macros related to _Float16
usage since some compilers expose the datatype but not the functions or
macros

Fixed a dt_arith test failure when H5_WANT_DCONV_EXCEPTION isn't defined

Fixed a few warnings from not explicitly casting some _Float16 variables
upwards
2024-03-18 21:36:46 -07:00
Dana Robinson
68e8c0e627
Remove HAVE_IOEO checks from CMake (#4160)
This was intended to check for thread-safety functionality on Windows.
The required functionality has been standard since Windows Vista, so
these checks can be removed.
2024-03-16 12:01:24 -07:00
Dana Robinson
45f7898272
Remove lseek64 and stat64 symbols from CMake (#4163)
We don't use these in the library.
2024-03-16 11:51:02 -07:00
Dana Robinson
004ab16dbc
Remove ros3 and hdfs VFDs from Autotools VFD list (#4142)
These will never pass `make check` and would require a custom test
suite for more comprehensive testing.
2024-03-14 21:47:58 -07:00
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
Allen Byrne
c1f761bcbd
Remove invalid compile flag (#4129) 2024-03-13 10:10:38 -05:00
Dana Robinson
8961016fe7
Update CMake comment about _POSIX_C_SOURCE (#4124)
Was missng the 2008 pread/write info
2024-03-12 17:35:41 -07:00
Dana Robinson
56f1092ddb
Overhaul CMake LFS support (#4122)
Externally visible:
* The HDF_ENABLE_LARGE_FILE option (advanced) has been removed
* We no longer run a test program to determine if LFS works, which
  will help with cross-compiling
* On Linux we now unilaterally set -D_LARGEFILE_SOURCE and
  -D_FILE_OFFSET_BITS=64, regardless of 32/64 bit system. CMake
  doesn't offer a nice equivalent to AC_SYS_LARGEFILE and since
  those options do nothing on 64-bit systems, this seems safe and
  covers all our bases. We don't set -D_LARGEFILE64_SOURCE since
  we don't use any of the POSIX 64-bit specific API calls like
  ftello64, as noted above.
* We didn't test for LFS support on non-Linux platforms. We've added
  comments for how LFS should probably be supported on AIX and Solaris,
  which seem to be alive, though uncommon. PRs would be appreciated if
  anyone wishes to test this.

Internal:
* Drops off64_t size checks since this is unused (as in Autotools)
* Remove HDF_EXTRA_FLAGS, which is now unused
* Remove hack around deprecated LINUX_LFS

Fixes #2395
2024-03-12 14:36:50 -07:00
Allen Byrne
50a6522322
Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
2024-03-10 16:43:37 -07:00
Dana Robinson
6cb4b2f6d7
Remove printf debugging from H5Smpio.c (#4098) 2024-03-09 20:30:34 -08:00