2305 Commits

Author SHA1 Message Date
Allen Byrne
0737d0dbf7
Correct URLs in documentation (#4823) 2024-09-12 22:46:58 -05:00
Allen Byrne
2f2192d677
Convert exec_program to execute_process (#4819) 2024-09-11 07:37:49 -05:00
Allen Byrne
5e94301e71
Add THREADS check to configuration file (#4746)
* Cleanup threads package checks

* Check first if package was found

* Remove unnecessary dependent checks

* Remove Unused options and fix names of option prefix
2024-09-07 20:45:12 -05:00
Dana Robinson
784fa01f70
Update NVHPC optimization settings (#4815)
* Use -gopt in Autotools/CMake instead of -g
* Autotools uses -O3 for release, -O1 for debug
* Remove CMake optimization flag removal hack
2024-09-07 13:49:18 -07:00
Larry Knox
baa04393fb
Change name of libhdf5hl_fortran installed by autotools (#4811)
* Change name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran to be
consistent with CMake install and with other hl lib files.  Switched
corresponding symlink to libhdf5hl_fortran.
Fixes issue #4684.

* Update h5fc.in to use renamed libhdf5_hl_fortran.
Fix typo in code to create link to libhdf5_hl_fortran.a.

* Removed code to create symlink for previous name of renamed lib
libhdf5hl_fortran.
Add RELEASE.txt entry about changeing name libhdf5hl_fortran to
libhdf5_hl_fortran.
2024-09-07 10:27:33 -07:00
Allen Byrne
285cb76b66
Enable win Intel signing (#4812) 2024-09-06 15:58:20 -05:00
Allen Byrne
39361bd24e
Update windows and apple signing process (#4806) 2024-09-05 09:15:12 -05:00
Allen Byrne
bca2806055
Update URL documentation links to support site (#4781) 2024-08-29 16:27:44 -05:00
Allen Byrne
32ee132b0b
Add missing blosc2 info (#4717) 2024-08-16 12:14:04 -05:00
H. Joe Lee
67ff153e3c
Replace Visual Studio ???? with 2022 in MSI README file (#4709) 2024-08-13 07:42:51 -05:00
Allen Byrne
46a3a20365
Add Windows SHLWAPI lib to public interface (#4701) 2024-08-08 16:35:01 -05:00
Allen Byrne
f77b70859f
Rework Dynamic Analysis and sanitize testing (#4681)
* Ignore predetermined failing test and check pointer before use

* Rework Analysis process
2024-08-05 09:53:53 -05:00
Quincey Koziol
9fd88560d5
Refactor threading and other concurrency support (#4469)
Complete overhaul of the concurrency-related aspects of the library (threading, atomics, locking, etc.), adding private routines in the H5TS package to allow internal algorithms to use all of these capabilities.

Adds many new features & components in the H5TS package that are equivalent to common concurrency data structures and capabilities: "regular" and recursive mutices, condition variables, semaphores, thread barriers, 'once' support, thread pools, atomic variables, thread-local keys, and spawning & joining internal threads.

Now supports C11, pthreads, and Windows threading for all H5TS capabilities, except the recursive readers/writers lock, which is not supported on Windows (because Windows threads don't provide a callback on thread-local variable deletion).

The "global" API lock is switched to use a recursive mutex from the H5TS package, instead of its own variant.

API context code (H5CX package) and error stacks (H5E package) now use the common thread-local info, instead of their own variants.

Subfiling code is switched from using Mercury threading features to the new internal H5TS features.

Removes the mercury threading code.

Adds a configure option (--enable-threads / HDF5_ENABLE_THREADS), enabled by default, to control whether threading is enabled within the library.
2024-07-31 12:34:43 -05:00
Allen Byrne
1fafdc9da3
Fix the examples for testing java with binaries (#4660) 2024-07-19 10:07:39 -05:00
Allen Byrne
b3e1d6b862
Fixed usage issue with FindZLIB.cmake module (#4655)
* Add a comment on the FindZLIB.cmake module usage

* Allow choice of static/shared compression libs for Find Module

* Added new option to INSTALL_CMake file and changed option text
2024-07-16 14:21:43 -05:00
Allen Byrne
69dda039a2
Fixed FetchContent usage for new CMake reqs. (#4650)
CMake version 3.30 changed the behavior of the FetchContent module to deprecate
the use of FetchContent_Populate() in favor of FetchContent_MakeAvailable(). Therefore,
the copying of HDF specialized CMakeLists.txt files to the dependent project's source
was implemented in the FetchContent_Declare() call.
2024-07-16 09:09:31 -07:00
Allen Byrne
6fa09bdb15
Add h5* compiler wrapper testing for CMake #4605 (#4613)
* Add show option

* remove non-static libs and correct names of static libs

* Fixup the pkg-config libs and comp builds

* Fix commands and add fortran pkg-config test scripts

* Add help usage option
2024-07-15 10:16:16 -05:00
Dana Robinson
9b5d9680af
Clean up Fortran __float128 configure-time checks (#4649)
* Always use DECIMAL_DIG instead of LDBL_DIG. This was controlled by
  an ifdef that is always true in C99 or greater

It's confusing to use float.h C constants as variable names in
configure.ac and the PAC_FC_LDBL_DIG macro.

* Directly compare MY_FLT128_DIG and MY_LDBL_DIG

* Make uniform across CMake and Autotools
* Don't export quadmath.h variables to H5pubconf.h
2024-07-15 07:38:13 -05:00
Allen Byrne
162f01292c
Rework the TestExpress usage and refactor dead code (#4590) 2024-06-20 14:01:43 -07:00
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