Commit Graph

2286 Commits

Author SHA1 Message Date
Allen Byrne
1a9f13a7f1
Rework the compression library search (#5085) 2024-12-13 10:28:27 -06:00
Kai Pastor
40f5f5e64c
Ensure C language when requiring MPI (#5062) 2024-12-02 09:26:36 -08:00
Allen Byrne
778646f506
Update zfp compression lib references (#5141) 2024-11-22 15:44:40 -06:00
Allen Byrne
919d094ed6
Update plugin version refs to match updated plugins repo (#5129) 2024-11-19 03:37:53 -08:00
Allen Byrne
d09ea66934
Rename HDF5_ENABLE_Z_LIB_SUPPORT to HDF5_ENABLE_ZLIB_SUPPORT (#5074) 2024-11-05 15:59:28 -06:00
Allen Byrne
aaf3339596
Cleanup various misspells and syntax (#5073) 2024-11-05 06:12:23 -08:00
Allen Byrne
0b3f1c7ad9
Remove ref to obsolete and removed option (#5068) 2024-11-04 15:14:19 -08:00
Allen Byrne
ad3ea2633a
Move hl example into HDF5Examples (#5057) 2024-11-04 05:22:27 -08:00
jhendersonHDF
90429f5e7d
Implement support for complex number datatypes (#4630)
* Implement support for complex number datatypes

Adds the new datatype class H5T_COMPLEX

Adds the new API function H5Tcomplex_create which creates a complex
number datatype from an ID of a base floating-point datatype

Adds the new feature check macros H5_HAVE_COMPLEX_NUMBERS and
H5_HAVE_C99_COMPLEX_NUMBERS

Adds the new datatype size macros H5_SIZEOF_FLOAT_COMPLEX,
H5_SIZEOF_DOUBLE_COMPLEX and H5_SIZEOF_LONG_DOUBLE_COMPLEX

Adds the new datatype ID macros H5T_NATIVE_FLOAT_COMPLEX,
H5T_NATIVE_DOUBLE_COMPLEX, H5T_NATIVE_LDOUBLE_COMPLEX,
H5T_CPLX_IEEE_F16LE, H5T_CPLX_IEEE_F16BE,
H5T_CPLX_IEEE_F32LE, H5T_CPLX_IEEE_F32BE,
H5T_CPLX_IEEE_F64LE and H5T_CPLX_IEEE_F64BE

Adds hard and soft datatype conversion paths between complex number
datatypes and all the integer and floating-point datatypes, as well as
between other complex number datatypes

Adds a special conversion path between complex number datatypes and
array or compound datatypes where the in-memory layout of data is the
same between the datatypes and data can be converted directly

Adds support for complex number datatypes to the h5dump, h5ls and
h5diff/ph5diff tools. Allows h5dump '-m' option to change floating-point
printing format for float complex and double complex datatypes, as well
as long double complex if it has the same size as double complex

Adds minimal support to the h5watch and h5import tools

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the Java wrappers. Also adds initial,
untested support to the JNI for future use with HDFView

Adds support for just the H5T_COMPLEX datatype class to the Fortran
wrappers

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the high level library H5LT interface
for use with the H5LTtext_to_dtype and H5LTdtype_to_text functions

Changes some usages of "complex" in the library since it conflicts with
the "complex" keyword from the complex.h header. Also changes various
usages of the word "complex" throughout the library to distinguish
compound datatypes from complex datatypes.
2024-10-31 13:54:25 -07:00
Allen Byrne
f4dbb810c1
Add msys2 workflow for CMake (#4991)
Also updates CMake configure checks to build HDF5 w/ MSYS2
2024-10-28 16:28:29 -07:00
Allen Byrne
5425a571e0
Convert develop to v2.0.0 (#5006)
Switches previous 1.16/17/18 values to 2.0
2024-10-27 21:51:07 -07:00
Allen Byrne
6122828198
Split out compiler flags into specific compiler files (#4974)
* Split CMake HDFCompileFlags into specific compiler files

* Separate out CXX Flags

* Add Fortran compiler specific files

* Merge in #4816 changes and close #4816

* fix hanging endif

---------

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2024-10-25 10:03:35 -05:00
Allen Byrne
8efc084646
Updated zlib and libaec compression versions (#4953) 2024-10-23 19:35:34 -07:00
Allen Byrne
1b72a1bca0
Add support for native zlib-ng in the library and compression references (#4935)
* Correct compile defs for zip_perf program
2024-10-23 16:20:15 -05:00
Allen Byrne
baa1e8e292
Prefix remaining CMake options except for CMake BUILD* variables (#4990) 2024-10-22 15:40:54 -07:00
Dana Robinson
245bb2cd23
Remove some Solaris Studio work-arounds (#4979)
Solaris Studio hasn't been updated in almost a decade and the last
version (12.4, circa 2015) doesn't seem to fully support C11.

This PR removes some work-arounds for things like __attribute__()
support.
2024-10-20 12:47:52 -07:00
Dana Robinson
ee6c2eed74
Always check for __attribute__() in CMake (#4980)
The CMake compiler checks skip checking for things like __attribute__()
on Windows. Now that Visual Studio can use clang, we should be checking
for this, even on non-MinGW Windows.
2024-10-20 12:47:38 -07:00
Dana Robinson
7f1e49206d
Renamed COPYING to LICENSE (#4978)
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
2024-10-18 21:13:04 -07:00
Dana Robinson
478c7d166f
Set the C standard to 11 (#4975)
Ignores some of the older Autotools platform files, since the Autotools
will be dropped in the next major release (and we don't have
compilers on which to test, anyway).

Also drops support for the old, non-compliant MSVC
preprocessor.
2024-10-18 12:04:27 -07:00
Allen Byrne
6e8c7a9597
add analysis and coverage to CDash reports (#4938)
* Add sanitzers and coverage workflows
* add UndefinedBehavior sanitize
2024-10-10 13:16:36 -05:00
Allen Byrne
bcc795fcf6
Add clang cdash reports and fix libaec compile flags (#4937) 2024-10-08 11:11:41 -05:00
Allen Byrne
65dc2ce6de
Update version usage (#4919) 2024-10-03 14:46:48 -05:00
Allen Byrne
07756c87f5 Update develop to 1.18 API 2024-10-02 19:53:38 -05:00
Larry Knox
698ee8e439
Set develop branch version to 1.17.0. (#4912) 2024-10-02 12:28:19 -05:00
jhendersonHDF
34d6ef545a
Refactor h5test.c, testframe.c and testpar.h testing frameworks (#4891)
Added new testframe.h header to document testing framework functions and
split them away from h5test.h and from test programs that don't
integrate with the testframe.c testing framework

Added new test setup callback to testframe.c testing framework

Added parameters to AddTest() to specify size of test parameters so they
can be copied for later use

Enabled HDF5 error stacks in testframe.c framework by default and added
some error stack suppressions to some testhdf5 tests

Added new maxthreads option to testframe.c framework to allow specifying
the maximum number of threads a multi-threaded test can use

Moved TestExpress functionality out of testframe.c and into more general
h5test.c for wider use by tests through getter and setter

Updated some tests to not mix and match functionality between h5test.c/h
and testframe.c/h

Moved some functionality from testphdf5.h into testpar.h for parallel
tests that aren't part of testphdf5

Added new parallel test library that contains common shared
functionality for parallel tests (similar to h5test library)
2024-10-01 16:10:03 -05:00
Allen Byrne
a8520298e9
Add workflow that reports to CDash (#4864) 2024-09-26 12:06:05 -05:00
H. Joe Lee
e014493ce3
Replace invalid email cdashhelp with help (#4866) 2024-09-23 14:59:50 -05:00
Allen Byrne
3307ff154d
Add windows extra options (#4854) 2024-09-19 01:47:18 -07:00
jhendersonHDF
eeb94a8d5a
Print error stream when cmake greptest fails to match error ref. (#4841) 2024-09-17 10:21:54 -07:00
Larry Knox
19d3691571
Draw attention to 3rd step in process to update so numbers for release. (#4825) 2024-09-13 11:49:17 -05:00
Allen Byrne
1e9a8ef0e8
Cleanup errors detected during merge compare (#4827) 2024-09-13 10:14:48 -05:00
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