Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add h5* compiler wrapper testing for CMake #4605 #4613

Merged
merged 9 commits into from
Jul 15, 2024

Conversation

byrnHDF
Copy link
Contributor

@byrnHDF byrnHDF commented Jun 27, 2024

This fixes the h5* scripts and the pkg-config generated files.
Some example scripts for using the pkg-config h5* scripts have been added to the HDF5Examples folder for C and Fortran. However, the infrastructure for HDF5Examples needs to be reviewed and completed.

@byrnHDF byrnHDF added Priority - 3. Low 🔽 Code cleanup, small feature change requests, etc. Component - Testing Code in test or testpar directories, GitHub workflows Type - New Feature Add a new API call, functionality, or tool labels Jun 27, 2024
@byrnHDF byrnHDF self-assigned this Jun 27, 2024
@byrnHDF byrnHDF marked this pull request as draft June 27, 2024 19:27
@byrnHDF byrnHDF marked this pull request as ready for review July 1, 2024 22:03
@brtnfld brtnfld self-requested a review July 11, 2024 19:40
@@ -43,8 +44,16 @@ for arg in $@ ; do
showconfigure
exit $status
;;
-show)
Copy link
Contributor

@brtnfld brtnfld Jul 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still missing:

-help | --help | -h   This help message.
-prefix=DIR             Prefix directory to find HDF5 lib/ and include/
-shlib                Compile with shared HDF5 libraries [default for hdf5 built
                                                     without static libraries]
-noshlib              Compile with static HDF5 libraries [default for hdf5 built
                                                     with static libraries]
-echo                 Show all the shell commands executed

Copy link
Contributor

@brtnfld brtnfld Jul 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other information displayed by help:

  <compile line>  - the normal compile line options for your compiler.
                    h5pcc uses the same compiler you used to compile
                    HDF5. Check with your compiler's man pages for more
                    information on which options are needed.
 
 You can override the compiler, linker, and whether or not to use static
 or shared libraries to compile your program by setting the following
 environment variables accordingly:
 
   HDF5_CC                  -  use a different C compiler
   HDF5_CLINKER             -  use a different linker
   HDF5_USE_SHLIB=[yes|no]  -  use shared or static version of the HDF5 library
                                 [default: no except when built with only
                                           shared libraries]
 
 You can also add or change paths and flags to the compile line using
 the following environment variables or by assigning them to their counterparts
 in the 'Things You Can Modify to Override...' section of h5pcc
 
  Variable              Current value to be replaced
  HDF5_CPPFLAGS         ""
  HDF5_CFLAGS           ""
  HDF5_LDFLAGS          ""
  HDF5_LIBS             ""
 
 Note that adding library paths to HDF5_LDFLAGS where another hdf5 version
 is located may link your program with that other hdf5 library version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But those are specific to the autotools command makeup - CMake uses pkg-config and have different options.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure it is an autotools thing; HDF5 provides a script to compile an HDF5 program, and a user will want to know how to use it and what options can be given. So, how should a user specify compiling an HDF5 program and only use the static version in the cmake version of h5cc?

@lrknox lrknox merged commit 6fa09bd into HDFGroup:develop Jul 15, 2024
59 checks passed
qkoziol pushed a commit to qkoziol/hdf5 that referenced this pull request Jul 15, 2024
* 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
qkoziol pushed a commit to qkoziol/hdf5 that referenced this pull request Jul 16, 2024
* 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
@byrnHDF byrnHDF deleted the develop-pkgconfig-test branch July 19, 2024 15:21
lrknox pushed a commit to lrknox/hdf5 that referenced this pull request Jul 19, 2024
* 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
lrknox added a commit that referenced this pull request Jul 19, 2024
* Test fixes for log-based vol (#4618)

* fixes to address failures in the log-based VOL

* moved file cleanup to tests proper

* skipped index API test if not supported

* Add 'try' parameter to H5Z_find, and remove calls to H5E_clear_stack() (#4609)

* Bump the github-actions group with 4 updates (#4620)

Bumps the github-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials), [softprops/action-gh-release](https://github.com/softprops/action-gh-release) and [github/codeql-action](https://github.com/github/codeql-action).

Updates `actions/checkout` from 4.1.1 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v4.1.1...v4.1.7)

Updates `aws-actions/configure-aws-credentials` from 1 to 4
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](aws-actions/configure-aws-credentials@v1...v4)

Updates `softprops/action-gh-release` from 2.0.5 to 2.0.6
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@69320db...a74c6b7)

Updates `github/codeql-action` from 3.25.7 to 3.25.11
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@f079b84...b611370)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: aws-actions/configure-aws-credentials
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix a stack size warning in ros3 VFD code (#4625)

Just makes a stack array dynamic. Valgrind shows no memory leaks.

* Reworked cleaning up API test files (#4626)

* Reworked cleaning up test files, only removing test files if present to account for skipped tests

* changed to using H5Fis_accessible

* update to full use of remove_test_file

* corrected offset type in C wrapper (#4622)

* Remove some internal use of API calls and H5E_BEGIN_TRY/H5E_END_TRY (#4624)

* Remove auto NSIS check because of issues with CI (#4646)

* Add python testing for examples (#4628)

* 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

* Feature/awesome (#4604)

* Added Doxygen Awesome and fixed a few quirks.

* Fixed unterminated strings.

* Added Doxygen Awesome by copy.

* Add tools usage text as doxygen  for Tools UG (#4602)

* 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

* Add temporary fix for ARM64 Mac _Float16 build failure (#4639)

* Correct H5VL_t ref count on H5O_refresh_metadata failure (#4636)

* Fix bad H5VL_t rc on H5O_refresh_metadata fail

* Decrement nrefs before raising error

* Update doxygen Learn Basics / example refs. Add Reference sections (#4640)

* Fixed messed up table captions.  (#4653)

* Fixed messed up table captions. Browsers don't seem to respect relative values for width. Hardcoding 800px for now.

* 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.

* 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

* Eliminate more H5E_BEGIN/END_TRY macros and H5E_clear_stack() calls (#4648)

* Correct name of zlib_ng option (#4658)

* Fix the examples for testing java with binaries (#4660)

* Update filename in RELEASE_PROCESS.md to current name
INSTALL_autotools.txt.

* Remove reference to V116 in tools/src/h5repack/h5repack.h.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Testing Code in test or testpar directories, GitHub workflows Priority - 3. Low 🔽 Code cleanup, small feature change requests, etc. Type - New Feature Add a new API call, functionality, or tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants