Commit Graph
77 Commits
Author SHA1 Message Date
Julien Schueller d58638be09 CMake: Fix Fortran cross-compilation support
Refactor the cross-compilation infrastructure to rely on the standard
CMAKE_CROSSCOMPILING_EMULATOR variable instead of the custom
CROSSCOMPILING_PATH environment hack.

Key changes:
- Removed `ENVIRONMENT "${CROSSCOMPILING_PATH}"` from all test definitions.
- Updated custom commands (e.g., H5match_types, H5_gen) to invoke the
  emulator explicitly when cross-compiling.
- Updated ConfigureChecks.cmake and HDF5UseFortran.cmake to enable
  `try_run` checks when an emulator is defined.
- Added config/toolchain/mingw-w64-x86-64-wine.sh wrapper to automatically
  locate MinGW runtime libraries (like libgfortran) for Wine execution.
- Cleaned up toolchain files to remove hardcoded emulator paths, deferring
  configuration to the build environment.
2026-02-13 14:45:02 -06:00
Allen Byrne fb35cde24a Rework Fortran configure to allow cross compile overrides (#5720)
Behavior:
Modify HDF5UseFortran.cmake to handle cross-compilation by providing default KINDs and sizes when CMAKE_CROSSCOMPILING is true.
Default values for INTEGER and REAL KINDs and their sizes are set when cross-compiling.
Error messages are adjusted to reflect cross-compilation scenarios.
Logic:
Conditional checks added for CMAKE_CROSSCOMPILING to determine if default values should be used.
Default values include INTEGER KINDs {1,2,4,8,16} and REAL KINDs {4,8,10,16}.
Default sizes for native kinds are set to 4 for INTEGER and REAL, and 8 for DOUBLE PRECISION when cross-compiling.
Misc:
Adjustments to verbose messages to indicate when defaults are used during cross-compilation.
2025-10-12 17:30:46 -05:00
Scot Breitenfeld 877cbf79a7 Adds new subfiling API H5FDsubfiling_get_file_mapping() (#5828)
Adds H5FDsubfiling_get_file_mapping() API to map logical HDF5 files to physical subfiles, with Fortran support and comprehensive testing.

Adds H5FDsubfiling_get_file_mapping() in H5FDsubfiling.c to retrieve subfile paths for a logical HDF5 file.
Updates Fortran interface in H5VFDff.F90 to include h5fdsubfiling_get_file_mapping_f().

Updates h5fuse.in to support a list of subfiles for processing with a new -l option.
2025-09-26 11:30:16 -05:00
Allen Byrne 63803d7115 allow better CMake version testing (#5727)
* add cmake latest workflow with lukka/get-cmake@latest
* Upgrade minimum CMake version to 3.26
2025-08-23 06:43:20 -05:00
Allen Byrne 497b65ad0f Add file header comments to CMake files (#5688) 2025-08-13 07:19:57 -05:00
Allen Byrne 1602e1fbfe Remove autotools files and docs (#5358) 2025-03-14 13:28:44 -05:00
Larry Knox 0af437a61e Check if mirror VFD and subfiling VFD are enabled before adding their (#5055)
respective utils subdirectories.

Fixes #4984.
2024-11-01 07:55:31 -05: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
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
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
Dana Robinson 15608c00b5 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.
2024-03-21 05:31:30 -07:00
Allen Byrne 0be892585a Rename incorrectly named option (#4067)
* Rename incorrectly named option

* Restore the correct uses of USING_MEMCHECKER

* Update release note
2024-03-05 09:07:16 -08:00
Allen Byrne 7ce8c6f81a Add options to allow tools type selection and naming (#4046) 2024-03-04 06:53:52 -08:00
Sean McBride f309fcebbd Issue #1824: Replaced most remaining sprintf with safer snprint (#4003) 2024-02-13 08:22: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
Allen Byrne 3ea21ccb3e Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859) 2023-11-22 07:51:30 -06: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
Robert Adam 87b3e7c821 Don't build util tests when HDF5_EXTERNALLY_CONFIGURED=ON (#3781)
Fixes #3780
2023-10-30 12:47:06 -05:00
Allen Byrne b5c63fb3fe Test scripts now execute in-source with creation of tmp dir (#3723)
Fixes a few issues created in #3580:

* Fixes a problem where committed tools test files were deleted when cleaning after an in-source build
* Fixes issues with test file paths in Autotools tools test scripts
2023-10-20 10:57:09 -07:00
Scot Breitenfeld 8c69566da6 provide an alternative to mapfile for older bash (#3717) 2023-10-19 08:58:20 -07:00
Scot Breitenfeld 74fabd144e switch to using time function instead of date function (#3690) 2023-10-17 09:12:16 -07:00
jhendersonHDF 34fcb9c5a4 Fix several spelling/grammar issues (#3621) 2023-10-03 09:01:28 -07:00
Allen Byrne 1529ec0ab3 Develop tools move (#3580)
Reorganizes the tools files to support the VOL tests
2023-09-26 13:46:55 -07:00
Scot Breitenfeld a87ca572fe Replaces HDgetenv with getenv (#3599) 2023-09-26 13:11:22 -07:00
H. Joe Lee 995e13dedf Remove h5dwalk.1 man page. (#3589) 2023-09-25 11:30:14 -07:00
Scot Breitenfeld de95c024f4 fixed function declaration (#3579) 2023-09-22 14:25:27 -05:00
Dana Robinson 44a00ef876 Strip HD prefix from string/char C API calls (#3540)
* Strip HD prefix from string/char C API calls

* HD(f)(put|get)(s|c)
* HDstr*
* HDv*printf
* HD(s)(print|scan)f
* HDperror

But NOT:

* HDstrcase*
* HDvasprintf
* HDstrtok_r
* HDstrndup

As those are not C99 and have portability work-around
implementations. They will be handled later.

* Fix th5_system.c screwup
2023-09-15 15:13:18 -07:00
Scot Breitenfeld 19a941fe27 install h5fuse.sh in bin dir. (#3244) 2023-07-14 11:06:31 -05:00
Dana Robinson 39e6bf48c9 Remove HD from HDmem* calls (#3211) 2023-06-29 12:33:46 -07:00
Dana Robinson fd933f30b1 Remove programmer/date from comments (#3210)
* Removes Programmer: and Date: fields
* Fixes a few Modifications: fields leftover from previous work
2023-06-29 12:13:29 -07:00
Dana Robinson fd56a593b7 Remove HD from C std lib file ops (#3206)
* HDfclose
* HDferror
* HDfeof
* HDfflush
* HDfopen
* HDfread
* HDfwrite
2023-06-29 08:19:31 -07:00
Dana Robinson 9f430d15b0 Rename HDexit() and related to exit(), etc. (#3202)
* HDatexit
* HDexit
* HD_exit
2023-06-29 08:18:01 -07:00
Dana Robinson dd39b54c95 Rename HDato*() to ato*() (#3201) 2023-06-29 06:33:09 -07:00
Dana Robinson aebac33a1f Remove HD from memory allocate/free calls (#3195)
* HDcalloc
* HDfree
* HDmalloc
* HDrealloc
2023-06-28 15:48:12 -07:00
Dana Robinson 187ea8a9ae Rename HD(f)printf() to (f)printf() (#3194) 2023-06-28 08:31:32 -07:00
Dana Robinson 7a44581a84 Rename HDassert() to assert() (#3191)
* Change HDassert to assert

* Fix bin/make_err
2023-06-28 07:31:56 -07:00
Dana Robinson 7d1fdb2d27 Remove HD from fork/exec*/wait* (#3190)
These are not C99 but are hidden behind ifdefs and are highly
unlikely to ever have non-POSIX equivalents.
2023-06-27 21:35:55 -07:00
Dana Robinson d81e751d41 Remove HDva_(arg|copy|end|start) (#3184) 2023-06-27 17:43:23 -07:00
Dana Robinson 546d79dad7 Remove HD prefix from network calls (#3142)
HDsocket(), etc. Only affects the mirror VFD and its test code.
2023-06-16 00:16:29 -07:00
Sean McBride 68eba3da69 Many clang -Wextra-semi-stmt fixes (#2537)
* Adds semicolons to function-like macros
* Adds a do..while(0) loop to some macros
* Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
2023-06-15 21:49:02 -07:00
Dana Robinson 69e8c8f58d Clean up mirror VFD code in utils dir (#3121)
* Remove dead code
* Replace mybzero with memset
* Replace hbool_t/TRUE/FALSE with bool/true/false
2023-06-14 08:01:04 -07:00
Scot Breitenfeld 8e8d98319b h5fuse.sh fix for summit. (#2841)
* updated directory locations
2023-04-28 07:45:29 -05:00
Scot Breitenfeld 7973707c86 H5fuse.sh optimization updates (#2806)
Changed to processing subfiles at the subfile level.
Simplified parameter arguments.
Enabled running it in parallel.
Added option to specify subfiling configuration location.
2023-04-26 15:56:17 -07:00
Quincey Koziol 49a71463a0 Comment cleanup (#2689)
* Clean up content and redundant logging in comments.
2023-04-11 09:41:32 -05:00
Allen Byrne cb679af19d Make sure that ONLY_SHARED_LIBS option is correctly set (#2544) 2023-03-13 16:24:49 -05:00
Allen Byrne 94119211a7 Correct the CMake link for MPI (#2198) 2022-11-01 16:03:13 -05: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
jhendersonHDF 16aa2dbaa0 Subfiling VFD updates (#2106) 2022-09-16 11:17:30 -05:00
Allen Byrne c8fdd92cd4 Update CMake code to 3.18 minimum version (#2080)
* Update CMake code to 3.18 minimum version

* Updated release note
2022-09-02 17:31:29 -07:00