From aab5bb82b473c1cf03f2c59a0b0241d615288d69 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 17 Jan 2025 08:50:40 -0600 Subject: [PATCH] Remove more autotool files and references --- .gitattributes | 306 +++++++++++--------- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/workflows/main-cmake.yml | 4 +- .github/workflows/tarball.yml | 4 +- .github/workflows/vfd-subfiling.yml | 30 -- .github/workflows/vfd.yml | 18 +- .h5chkright.ini | 18 +- HDF5Examples/C/H5D/test-pc.sh | 221 +++++++++++++++ HDF5Examples/C/H5G/test-pc.sh | 234 ++++++++++++++++ HDF5Examples/C/H5T/test-pc.sh | 249 +++++++++++++++++ HDF5Examples/C/H5VDS/test-pc.sh | 133 +++++++++ HDF5Examples/C/HL/test-pc.sh | 152 ++++++++++ HDF5Examples/README.md | 2 +- config/BlankForm | 117 -------- config/README.md | 81 +----- config/apple | 201 -------------- config/cce-fflags | 80 ------ config/cce-flags | 85 ------ config/clang-cxxflags | 188 ------------- config/clang-fflags | 139 ---------- config/clang-flags | 203 -------------- config/cygwin | 21 -- config/freebsd | 85 ------ config/gnu-cxxflags | 285 ------------------- config/gnu-fflags | 198 ------------- config/gnu-flags | 291 ------------------- config/ibm-aix | 132 --------- config/ibm-flags | 122 -------- config/intel-cxxflags | 179 ------------ config/intel-fflags | 144 ---------- config/intel-flags | 174 ------------ config/linux-gnu | 401 --------------------------- config/netbsd | 64 ----- config/nvidia-cxxflags | 101 ------- config/nvidia-fflags | 139 ---------- config/nvidia-flags | 123 -------- config/oneapi-cxxflags | 155 ----------- config/oneapi-fflags | 145 ---------- config/oneapi-flags | 151 ---------- config/pgi-cxxflags | 101 ------- config/pgi-fflags | 139 ---------- config/pgi-flags | 122 -------- config/solaris | 216 --------------- doc/branches-explained.md | 2 +- doc/file-locking.md | 6 - doxygen/dox/VOLConnGuide.dox | 4 +- release_docs/INSTALL_CMake.txt | 7 - release_docs/INSTALL_Cygwin.txt | 129 +-------- release_docs/INSTALL_Warnings.txt | 238 ---------------- release_docs/RELEASE_PROCESS.md | 1 - src/H5build_settings.autotools.c.in | 118 -------- 51 files changed, 1197 insertions(+), 5263 deletions(-) create mode 100644 HDF5Examples/C/H5D/test-pc.sh create mode 100644 HDF5Examples/C/H5G/test-pc.sh create mode 100644 HDF5Examples/C/H5T/test-pc.sh create mode 100644 HDF5Examples/C/H5VDS/test-pc.sh create mode 100644 HDF5Examples/C/HL/test-pc.sh delete mode 100644 config/BlankForm delete mode 100644 config/apple delete mode 100644 config/cce-fflags delete mode 100644 config/cce-flags delete mode 100644 config/clang-cxxflags delete mode 100644 config/clang-fflags delete mode 100644 config/clang-flags delete mode 100644 config/cygwin delete mode 100644 config/freebsd delete mode 100644 config/gnu-cxxflags delete mode 100644 config/gnu-fflags delete mode 100644 config/gnu-flags delete mode 100644 config/ibm-aix delete mode 100644 config/ibm-flags delete mode 100644 config/intel-cxxflags delete mode 100644 config/intel-fflags delete mode 100644 config/intel-flags delete mode 100644 config/linux-gnu delete mode 100644 config/netbsd delete mode 100644 config/nvidia-cxxflags delete mode 100644 config/nvidia-fflags delete mode 100644 config/nvidia-flags delete mode 100644 config/oneapi-cxxflags delete mode 100644 config/oneapi-fflags delete mode 100644 config/oneapi-flags delete mode 100644 config/pgi-cxxflags delete mode 100644 config/pgi-fflags delete mode 100644 config/pgi-flags delete mode 100644 config/solaris delete mode 100644 src/H5build_settings.autotools.c.in diff --git a/.gitattributes b/.gitattributes index 914bb1bc43f..ec42dffad5b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,5 @@ * text=auto !eol bin/genparser -text -bin/switch_maint_mode -text c++/src/H5OcreatProp.cpp -text c++/src/H5OcreatProp.h -text c++/src/footer.html -text @@ -30,22 +29,150 @@ config/cmake/scripts/HDF5config.cmake -text config/cmake_ext_mod/hdf.bmp -text config/cmake_ext_mod/hdf.icns -text config/cmake_ext_mod/hdf.ico -text -config/conclude_fc.am -text config/gnu-cxxflags -text -examples/h5_vds-eiger.c -text -examples/h5_vds-exc.c -text -examples/h5_vds-exclim.c -text -examples/h5_vds-percival-unlim-maxmin.c -text -examples/h5_vds-percival-unlim.c -text -examples/h5_vds-percival.c -text -examples/h5_vds-simpleIO.c -text -examples/h5_vds.c -text fortran/src/H5_buildiface.F90 -text fortran/src/H5config_f.inc.cmake -text fortran/src/H5config_f.inc.in -text fortran/src/H5fort_type_defines.h.in -text fortran/src/H5fortkit.F90 -text fortran/test/H5_test_buildiface.F90 -text +HDF5Examples/CMakeLists.txt -text +HDF5Examples/C/CMakeLists.txt -text +HDF5Examples/C/H5VDS/CMakeLists.txt -text +HDF5Examples/C/H5VDS/C_sourcefiles.txt -text +HDF5Examples/C/H5VDS/h5_vds-eiger.c -text +HDF5Examples/C/H5VDS/h5_vds-exc.c -text +HDF5Examples/C/H5VDS/h5_vds-exclim.c -text +HDF5Examples/C/H5VDS/h5_vds-percival-unlim-maxmin.c -text +HDF5Examples/C/H5VDS/h5_vds-percival-unlim.c -text +HDF5Examples/C/H5VDS/h5_vds-percival.c -text +HDF5Examples/C/H5VDS/h5_vds-simpleIO.c -text +HDF5Examples/C/H5VDS/h5_vds.c -text +HDF5Examples/JAVA/CMakeLists.txt -text +HDF5Examples/JAVA/H5D/CMakeLists.txt -text +HDF5Examples/JAVA/H5D/Java_sourcefiles.cmake -text +HDF5Examples/JAVA/H5D/H5Ex_D_Alloc.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Checksum.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Chunk.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Compact.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_External.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_FillValue.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Gzip.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Hyperslab.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Nbit.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_ReadWrite.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Shuffle.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Sofloat.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Soint.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Szip.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_Transform.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_UnlimitedAdd.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_UnlimitedGzip.java -text +HDF5Examples/JAVA/H5D/H5Ex_D_UnlimitedMod.java -text +HDF5Examples/JAVA/H5T/CMakeLists.txt -text +HDF5Examples/JAVA/H5T/Java_sourcefiles.cmake -text +HDF5Examples/JAVA/H5T/H5Ex_T_Array.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_ArrayAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Bit.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_BitAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Commit.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Compound.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_CompoundAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Float.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_FloatAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Integer.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_IntegerAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_ObjectReference.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_ObjectReferenceAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_Opaque.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_OpaqueAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_String.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_StringAttribute.java -text +HDF5Examples/JAVA/H5T/H5Ex_T_VLString.java -text +HDF5Examples/JAVA/H5T/110/H5Ex_T_ObjectReference.java -text +HDF5Examples/JAVA/H5T/110/H5Ex_T_ObjectReferenceAttribute.java -text +HDF5Examples/JAVA/H5G/CMakeLists.txt -text +HDF5Examples/JAVA/H5G/Java_sourcefiles.cmake -text +HDF5Examples/JAVA/H5G/H5Ex_G_Compact.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Corder.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Create.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Intermediate.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Iterate.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Phase.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Traverse.java -text +HDF5Examples/JAVA/H5G/H5Ex_G_Visit.java -text +HDF5Examples/JAVA/H5G/h5ex_g_iterate.h5 -text svneol=unset#application/x-hdf +HDF5Examples/JAVA/H5G/h5ex_g_visit.h5 -text svneol=unset#application/x-hdf +HDF5Examples/JAVA/H5G/110/H5Ex_G_Intermediate.java -text +HDF5Examples/JAVA/H5G/110/H5Ex_G_Iterate.java -text +HDF5Examples/JAVA/H5G/110/H5Ex_G_Traverse.java -text +HDF5Examples/JAVA/H5G/110/H5Ex_G_Visit.java -text +HDF5Examples/JAVA/H5G/110/h5ex_g_iterate.h5 -text svneol=unset#application/x-hdf +HDF5Examples/JAVA/H5G/110/h5ex_g_visit.h5 -text svneol=unset#application/x-hdf +HDF5Examples/JAVA/TUTR/CMakeLists.txt -text +HDF5Examples/JAVA/TUTR/Java_sourcefiles.cmake -text +HDF5Examples/JAVA/TUTR/HDF5AttributeCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5DatasetCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5FileCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5FileStructure.java -text +HDF5Examples/JAVA/TUTR/HDF5GroupCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5GroupAbsoluteRelativeCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5GroupDatasetCreate.java -text +HDF5Examples/JAVA/TUTR/HDF5ReadWrite.java -text +HDF5Examples/JAVA/TUTR/HDF5SubsetSelect.java -text +HDF5Examples/JAVA/TUTR/110/HDF5FileStructure.java -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Alloc.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Checksum.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Chunk.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Compact.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_External.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_FillValue.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Gzip.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Hyperslab.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Nbit.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_ReadWrite.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Shuffle.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Sofloat.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Soint.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Szip.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_Transform.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_UnlimitedAdd.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_UnlimitedGzip.txt -text +HDF5Examples/JAVA/H5D/tfiles/110/H5Ex_D_UnlimitedMod.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Array.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_ArrayAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Bit.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_BitAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Commit.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Compound.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_CompoundAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Float.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_FloatAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Integer.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_IntegerAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_ObjectReference.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_ObjectReferenceAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_Opaque.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_OpaqueAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_String.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_StringAttribute.txt -text +HDF5Examples/JAVA/H5T/tfiles/110/H5Ex_T_VLString.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Compact.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Corder.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Create.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Intermediate.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Iterate.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Phase.txt -text +HDF5Examples/JAVA/H5G/tfiles/110/H5Ex_G_Visit.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5AttributeCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5DatasetCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5DatasetRead.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5FileCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5FileStructure.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5GroupCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5GroupAbsoluteRelativeCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5GroupDatasetCreate.txt -text +HDF5Examples/JAVA/TUTR/tfiles/110/HDF5SubsetSelect.txt -text hl/fortran/src/H5HL_buildiface.F90 -text hl/fortran/src/hdf5_hl_fortrandll.def.in -text hl/src/H5LD.c -text @@ -65,121 +192,7 @@ hl/test/test_packet_vlen.c -text hl/test/test_table_be.h5 -text hl/test/test_table_cray.h5 -text hl/test/test_table_le.h5 -text -hl/tools/gif2h5/CMakeLists.txt -text -hl/tools/gif2h5/CMakeTests.cmake -text -hl/tools/gif2h5/testfiles/README -text -hl/tools/gif2h5/testfiles/ex_image2.h5 -text -hl/tools/gif2h5/testfiles/h52giftst.h5 -text -hl/tools/gif2h5/testfiles/image1.gif -text java/CMakeLists.txt -text -java/examples/CMakeLists.txt -text -java/examples/datasets/CMakeLists.txt -text -java/examples/datasets/H5Ex_D_Alloc.java -text -java/examples/datasets/H5Ex_D_Checksum.java -text -java/examples/datasets/H5Ex_D_Chunk.java -text -java/examples/datasets/H5Ex_D_Compact.java -text -java/examples/datasets/H5Ex_D_External.java -text -java/examples/datasets/H5Ex_D_FillValue.java -text -java/examples/datasets/H5Ex_D_Gzip.java -text -java/examples/datasets/H5Ex_D_Hyperslab.java -text -java/examples/datasets/H5Ex_D_Nbit.java -text -java/examples/datasets/H5Ex_D_ReadWrite.java -text -java/examples/datasets/H5Ex_D_Shuffle.java -text -java/examples/datasets/H5Ex_D_Sofloat.java -text -java/examples/datasets/H5Ex_D_Soint.java -text -java/examples/datasets/H5Ex_D_Szip.java -text -java/examples/datasets/H5Ex_D_Transform.java -text -java/examples/datasets/H5Ex_D_UnlimitedAdd.java -text -java/examples/datasets/H5Ex_D_UnlimitedGzip.java -text -java/examples/datasets/H5Ex_D_UnlimitedMod.java -text -java/examples/datatypes/CMakeLists.txt -text -java/examples/datatypes/H5Ex_T_Array.java -text -java/examples/datatypes/H5Ex_T_ArrayAttribute.java -text -java/examples/datatypes/H5Ex_T_Bit.java -text -java/examples/datatypes/H5Ex_T_BitAttribute.java -text -java/examples/datatypes/H5Ex_T_Commit.java -text -java/examples/datatypes/H5Ex_T_Compound.java -text -java/examples/datatypes/H5Ex_T_CompoundAttribute.java -text -java/examples/datatypes/H5Ex_T_Float.java -text -java/examples/datatypes/H5Ex_T_FloatAttribute.java -text -java/examples/datatypes/H5Ex_T_Integer.java -text -java/examples/datatypes/H5Ex_T_IntegerAttribute.java -text -java/examples/datatypes/H5Ex_T_ObjectReference.java -text -java/examples/datatypes/H5Ex_T_ObjectReferenceAttribute.java -text -java/examples/datatypes/H5Ex_T_Opaque.java -text -java/examples/datatypes/H5Ex_T_OpaqueAttribute.java -text -java/examples/datatypes/H5Ex_T_String.java -text -java/examples/datatypes/H5Ex_T_StringAttribute.java -text -java/examples/datatypes/H5Ex_T_VLString.java -text -java/examples/groups/CMakeLists.txt -text -java/examples/groups/H5Ex_G_Compact.java -text -java/examples/groups/H5Ex_G_Corder.java -text -java/examples/groups/H5Ex_G_Create.java -text -java/examples/groups/H5Ex_G_Intermediate.java -text -java/examples/groups/H5Ex_G_Iterate.java -text -java/examples/groups/H5Ex_G_Phase.java -text -java/examples/groups/H5Ex_G_Traverse.java -text -java/examples/groups/H5Ex_G_Visit.java -text -java/examples/groups/h5ex_g_iterate.h5 -text svneol=unset#application/x-hdf -java/examples/groups/h5ex_g_visit.h5 -text svneol=unset#application/x-hdf -java/examples/intro/CMakeLists.txt -text -java/examples/intro/H5_CreateAttribute.java -text -java/examples/intro/H5_CreateDataset.java -text -java/examples/intro/H5_CreateFile.java -text -java/examples/intro/H5_CreateGroup.java -text -java/examples/intro/H5_CreateGroupAbsoluteRelative.java -text -java/examples/intro/H5_CreateGroupDataset.java -text -java/examples/intro/H5_ReadWrite.java -text -java/examples/testfiles/examples.datasets.H5Ex_D_Alloc.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Checksum.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Chunk.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Compact.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_External.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_FillValue.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Gzip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Hyperslab.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Nbit.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_ReadWrite.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Shuffle.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Sofloat.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Soint.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Szip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Transform.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedAdd.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedGzip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedMod.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Array.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ArrayAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Bit.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_BitAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Commit.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Compound.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_CompoundAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Float.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_FloatAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Integer.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_IntegerAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ObjectReference.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Opaque.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_OpaqueAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_String.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_StringAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_VLString.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Compact.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Corder.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Create.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Intermediate.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Iterate.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Phase.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Visit.txt -text -java/examples/testfiles/examples.intro.H5_CreateAttribute.txt -text -java/examples/testfiles/examples.intro.H5_CreateDataset.txt -text -java/examples/testfiles/examples.intro.H5_CreateFile.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroup.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroupAbsoluteRelative.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroupDataset.txt -text -java/examples/testfiles/examples.intro.H5_ReadWrite.txt -text java/lib/ext/slf4j-nop-2.0.6.jar -text svneol=unset#application/zip java/lib/ext/slf4j-simple-2.0.6.jar -text svneol=unset#application/zip java/lib/hamcrest-core.jar -text svneol=unset#application/java-archive @@ -188,11 +201,13 @@ java/lib/simplelogger.properties -text java/lib/slf4j-api-2.0.6.jar -text svneol=unset#application/zip java/src/CMakeLists.txt -text java/src/hdf/CMakeLists.txt -text +java/src/hdf/overview.html -text java/src/hdf/hdf5lib/CMakeLists.txt -text java/src/hdf/hdf5lib/H5.java -text java/src/hdf/hdf5lib/HDF5Constants.java -text java/src/hdf/hdf5lib/HDFArray.java -text java/src/hdf/hdf5lib/HDFNativeData.java -text +java/src/hdf/hdf5lib/package-info -text java/src/hdf/hdf5lib/callbacks/H5Callbacks.java -text java/src/hdf/hdf5lib/callbacks/H5A_iterate_cb.java -text java/src/hdf/hdf5lib/callbacks/H5A_iterate_t.java -text @@ -221,6 +236,7 @@ java/src/hdf/hdf5lib/callbacks/H5P_prp_create_func_cb.java -text java/src/hdf/hdf5lib/callbacks/H5P_prp_delete_func_cb.java -text java/src/hdf/hdf5lib/callbacks/H5P_prp_get_func_cb.java -text java/src/hdf/hdf5lib/callbacks/H5P_prp_set_func_cb.java -text +java/src/hdf/hdf5lib/callbacks/package-info -text java/src/hdf/hdf5lib/exceptions/HDF5AtomException.java -text java/src/hdf/hdf5lib/exceptions/HDF5AttributeException.java -text java/src/hdf/hdf5lib/exceptions/HDF5BtreeException.java -text @@ -245,6 +261,7 @@ java/src/hdf/hdf5lib/exceptions/HDF5PropertyListInterfaceException.java -text java/src/hdf/hdf5lib/exceptions/HDF5ReferenceException.java -text java/src/hdf/hdf5lib/exceptions/HDF5ResourceUnavailableException.java -text java/src/hdf/hdf5lib/exceptions/HDF5SymbolTableException.java -text +java/src/hdf/hdf5lib/exceptions/package-info -text java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java -text java/src/hdf/hdf5lib/structs/H5A_info_t.java -text java/src/hdf/hdf5lib/structs/H5E_error2_t.java -text @@ -256,7 +273,7 @@ java/src/hdf/hdf5lib/structs/H5O_info_t.java -text java/src/hdf/hdf5lib/structs/H5O_native_info_t.java -text java/src/hdf/hdf5lib/structs/H5O_token_t.java -text java/src/hdf/hdf5lib/structs/H5_ih_info_t.java -text -java/src/hdf/overview.html -text +java/src/hdf/hdf5lib/structs/package-info -text java/src/jni/CMakeLists.txt -text java/src/jni/exceptionImp.c -text java/src/jni/exceptionImp.h -text @@ -297,8 +314,6 @@ java/src/jni/h5zImp.h -text java/src/jni/nativeData.c -text java/src/jni/nativeData.h -text java/test/CMakeLists.txt -text -java/test/JUnit-interface.ert -text -java/test/JUnit-interface.txt -text java/test/TestAll.java -text java/test/TestH5.java -text java/test/TestH5A.java -text @@ -337,6 +352,43 @@ java/test/TestH5Tparams.java -text java/test/TestUnit.java -text java/test/TestH5Z.java -text java/test/h5ex_g_iterate.orig -text svneol=unset#application/x-hdf +java/test/testfiles/JUnit-TestAll.txt -text +java/test/testfiles/JUnit-TestH5.txt -text +java/test/testfiles/JUnit-TestH5A.txt -text +java/test/testfiles/JUnit-TestH5D.txt -text +java/test/testfiles/JUnit-TestH5Dparams.txt -text +java/test/testfiles/JUnit-TestH5Dplist.txt -text +java/test/testfiles/JUnit-TestH5E.txt -text +java/test/testfiles/JUnit-TestH5Edefault.txt -text +java/test/testfiles/JUnit-TestH5Eparams.txt -text +java/test/testfiles/JUnit-TestH5Eregister.txt -text +java/test/testfiles/JUnit-TestH5F.txt -text +java/test/testfiles/JUnit-TestH5Fbasic.txt -text +java/test/testfiles/JUnit-TestH5Fparams.txt -text +java/test/testfiles/JUnit-TestH5G.txt -text +java/test/testfiles/JUnit-TestH5Gbasic.txt -text +java/test/testfiles/JUnit-TestH5Giterate.txt -text +java/test/testfiles/JUnit-TestH5Lbasic.txt -text +java/test/testfiles/JUnit-TestH5Lcreate.txt -text +java/test/testfiles/JUnit-TestH5Lparams.txt -text +java/test/testfiles/JUnit-TestH5Obasic.txt -text +java/test/testfiles/JUnit-TestH5Ocopy.txt -text +java/test/testfiles/JUnit-TestH5Ocreate.txt -text +java/test/testfiles/JUnit-TestH5Oparams.txt -text +java/test/testfiles/JUnit-TestH5P.txt -text +java/test/testfiles/JUnit-TestH5PData.txt -text +java/test/testfiles/JUnit-TestH5PL.txt -text +java/test/testfiles/JUnit-TestH5Pfapl.txt -text +java/test/testfiles/JUnit-TestH5Plist.txt -text +java/test/testfiles/JUnit-TestH5Pvirtual.txt -text +java/test/testfiles/JUnit-TestH5R.txt -text +java/test/testfiles/JUnit-TestH5S.txt -text +java/test/testfiles/JUnit-TestH5Sbasic.txt -text +java/test/testfiles/JUnit-TestH5T.txt -text +java/test/testfiles/JUnit-TestH5Tbasic.txt -text +java/test/testfiles/JUnit-TestH5Tparams.txt -text +java/test/testfiles/JUnit-TestUnit.txt -text +java/test/testfiles/JUnit-TestH5Z.txt -text src/H5Cepoch.c -text src/H5Cquery.c -text src/H5Ctag.c -text diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 8d39e70cb14..86a6976d69f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -17,7 +17,7 @@ A clear and concise description of what you expected to happen. - HDF5 version (if building from a maintenance branch, please include the commit hash) - OS and version - Compiler and version - - Build system (e.g. CMake, Autotools) and version + - Build system (e.g. CMake) and version - Any configure options you specified - MPI library and version (parallel HDF5) diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml index 37d441d6c4e..d85a3123eb0 100644 --- a/.github/workflows/main-cmake.yml +++ b/.github/workflows/main-cmake.yml @@ -39,8 +39,8 @@ jobs: - "MacOS Clang" # This is where we list the bulk of the options for each configuration. - # The key-value pair values are usually appropriate for being CMake or - # Autotools configure values, so be aware of that. + # The key-value pair values are usually appropriate for being CMake + # configure values, so be aware of that. include: diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml index 483547f8af1..2a076810dee 100644 --- a/.github/workflows/tarball.yml +++ b/.github/workflows/tarball.yml @@ -97,10 +97,10 @@ jobs: path: hdfsrc ref: '${{needs.check_commits.outputs.branch_ref }}' - - name: Install Autotools Dependencies (Linux, serial) + - name: Install Dependencies (Linux, serial) run: | sudo apt update - sudo apt install automake autoconf libtool libtool-bin gzip dos2unix + sudo apt install gzip dos2unix - name: Retrieve version id: version diff --git a/.github/workflows/vfd-subfiling.yml b/.github/workflows/vfd-subfiling.yml index ff9a778d278..b95db828e26 100644 --- a/.github/workflows/vfd-subfiling.yml +++ b/.github/workflows/vfd-subfiling.yml @@ -71,20 +71,6 @@ jobs: - name: Checkout HDF5 uses: actions/checkout@v4.1.7 - - name: Configure HDF5 with Subfiling VFD (Autotools) - shell: bash - run: | - sh ./autogen.sh - mkdir "${{ runner.workspace }}/build" - cd "${{ runner.workspace }}/build" - $GITHUB_WORKSPACE/configure \ - --enable-build-mode=${{ inputs.build_mode }} \ - --enable-shared \ - --disable-static \ - --enable-parallel \ - --enable-subfiling-vfd \ - if: ${{ inputs.build_sys == 'Autotools' }} - - name: Configure HDF5 with Subfiling VFD (CMake) shell: bash run: | @@ -101,12 +87,6 @@ jobs: cat src/libhdf5.settings if: ${{ inputs.build_sys == 'CMake' }} - - name: Build HDF5 (Autotools) - shell: bash - working-directory: ${{ runner.workspace }}/build - run: make -j3 - if: ${{ inputs.build_sys == 'Autotools' }} - - name: Build HDF5 (CMake) shell: bash working-directory: ${{ runner.workspace }}/build @@ -115,16 +95,6 @@ jobs: echo "LD_LIBRARY_PATH=${{ runner.workspace }}/build/bin" >> $GITHUB_ENV if: ${{ inputs.build_sys == 'CMake' }} - - name: Test HDF5 Subfiling VFD (Autotools) - working-directory: ${{ runner.workspace }}/build/testpar - # For now, just run the tests directly setup for use with the - # Subfiling VFD. We can expand on this once the library's tests - # are better separated into categories for VFD testing. - run: | - mpirun -np 2 t_subfiling_vfd - mpirun -np 2 t_vfd - if: ${{ inputs.build_sys == 'Autotools' }} - - name: Test HDF5 Subfiling VFD (CMake) working-directory: ${{ runner.workspace }}/build run: | diff --git a/.github/workflows/vfd.yml b/.github/workflows/vfd.yml index 46f21256909..e7252ea403d 100644 --- a/.github/workflows/vfd.yml +++ b/.github/workflows/vfd.yml @@ -13,27 +13,17 @@ jobs: build_and_test: strategy: matrix: - build_sys: ["CMake", "Autotools"] + build_sys: ["CMake"] build_mode: ["Release", "production", "Debug", "debug"] include: - build_sys: "CMake" build_mode: "Release" - build_sys: "CMake" build_mode: "Debug" - - build_sys: "Autotools" - build_mode: "production" - - build_sys: "Autotools" - build_mode: "debug" # Exclude mismatched configurations - exclude: - - build_sys: "CMake" - build_mode: "production" - - build_sys: "CMake" - build_mode: "debug" - - build_sys: "Autotools" - build_mode: "Release" - - build_sys: "Autotools" - build_mode: "Debug" +# exclude: +# - build_sys: "xxx" +# build_mode: "yyy" # Sets the job's name from the properties name: "${{ matrix.build_sys }} ${{ matrix.build_mode }} Workflows" diff --git a/.h5chkright.ini b/.h5chkright.ini index 77eb740cfff..b5bc588c27c 100644 --- a/.h5chkright.ini +++ b/.h5chkright.ini @@ -23,21 +23,6 @@ skip LICENSE # Sort of strange to have a copyright notice in README skip README -# Non-UI copyrighted files in top-level -skip aclocal.m4 - -# Non-UI copyrighted files in bin. -skip config.guess -skip config.sub -skip depcomp -skip install-sh -skip ltmain.sh -skip missing -skip mkinstalldirs - -# Generated files in top-level -skip configure - # Generated files in src. skip H5config.h.in @@ -48,6 +33,7 @@ skip H5test_kind.f90 # Ignore this expected output file in windows/examples. skip testExamples_exp_output.txt -# Skip all testfiles/* since if we insert a copyright notice in the expected +# Skip all testfiles/* and tfiles/* since if we insert a copyright notice in the expected # data files, we would have to spend extra effort to filter them out. prune testfiles +prune tfiles diff --git a/HDF5Examples/C/H5D/test-pc.sh b/HDF5Examples/C/H5D/test-pc.sh new file mode 100644 index 00000000000..e0a03223c8f --- /dev/null +++ b/HDF5Examples/C/H5D/test-pc.sh @@ -0,0 +1,221 @@ +#! /bin/sh +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the LICENSE file, which can be found at the root of the source code +# distribution tree, or in https://www.hdfgroup.org/licenses. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. + +# This file is for use of h5cc created with the CMake process +# HDF5_HOME is expected to be set + +srcdir=.. +builddir=. +verbose=yes +nerrors=0 + +# HDF5 compile commands, assuming they are in your $PATH. +H5CC=$HDF5_HOME/bin/h5cc +LD_LIBRARY_PATH=$HDF5_HOME/lib +export LD_LIBRARY_PATH + +if ! test -f $H5CC; then + echo "Set paths for H5CC and LD_LIBRARY_PATH in test.sh" + echo "Set environment variable HDF5_HOME to the hdf5 install dir" + echo "h5cc was not found at $H5CC" + exit $EXIT_FAILURE +fi + +H5DUMP=`echo $H5CC | sed -e 's/\/[^/]*$/\/h5dump/'`; +H5_LIBVER=$($H5CC -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g') +H5_APIVER=$($H5CC -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/') + +H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g') +H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g') +H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g') +H5_LIBVER_DIR=$H5_MAJORVER$H5_MINORVER + +# Shell commands used in Makefiles +RM="rm -rf" +DIFF="diff -c" +CMP="cmp -s" +GREP='grep' +CP="cp -p" # Use -p to preserve mode,ownership,timestamps +DIRNAME='dirname' +LS='ls' +AWK='awk' + +# setup plugin path +ENVCMD="env HDF5_PLUGIN_PATH=$LD_LIBRARY_PATH/plugin" + +TESTDIR=$builddir + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ;; + *c*,* ) ECHO_N=-n ECHO_C= ;; + *) ECHO_N= ECHO_C='\c' ;; +esac +ECHO_N="echo $ECHO_N" + + +exout() { + $* +} + +dumpout() { + $H5DUMP $* +} + +# compare current version, required version. +# returns if cur_ver < req_ver is true. +version_compare() { + version_lt=0 + if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then + version_lt=1 + fi +} + + +topics="alloc checksum chunk compact extern fillval gzip hyper \ +rdwr shuffle szip unlimadd unlimgzip unlimmod" +topics18="" + +version_compare "$H5_LIBVER" "1.8.0" +# check if HDF5 version is < 1.8.0 +if [ "$version_lt" = 1 ]; then + dir16="/16" +else + dir16="" + topics18="nbit sofloat soint transform" +fi + +return_val=0 + +#Remove external data file from h5ex_d_extern +rm -f h5ex_d_extern.data + +for topic in $topics +do + $H5CC $srcdir/h5ex_d_$topic.c -o h5ex_d_$topic +done + +for topic in $topics +do + fname=h5ex_d_$topic + $ECHO_N "Testing C/H5D/$fname...$ECHO_C" + exout .$dir16/$fname >tmp.test + status=$? + if test $status -eq 1 + then + echo " Unsupported feature" + status=0 + else + cmp -s tmp.test $srcdir/tfiles/16/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout $fname.h5 >tmp.test + rm -f $fname.h5 + cmp -s tmp.test $srcdir/tfiles/16/$fname.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` + fi +done + +#######Non-standard tests####### +USE_ALT="" +### Set default tfiles directory for tests +nbitdir="18" +version_compare "$H5_LIBVER" "1.8.23" +# check if HDF5 version is < 1.8.23 +if [ "$version_lt" = 1 ]; then + USE_ALT="22" +else +# check if HDF5 version is >= 1.10.0 and < 1.10.8 + version_compare "$H5_LIBVER" "1.10.0" + if [ "$version_lt" = 0 ]; then + version_compare "$H5_LIBVER" "1.10.8" + if [ "$version_lt" = 1 ]; then + USE_ALT="07" + nbitdir="110" + fi + fi +fi + +for topic in $topics18 +do + $H5CC $srcdir/h5ex_d_$topic.c -o h5ex_d_$topic +done + +for topic in $topics18 +do + fname=h5ex_d_$topic + $ECHO_N "Testing C/H5D/$fname...$ECHO_C" + exout ./$fname >tmp.test + status=$? + if test $status -eq 1 + then + echo " Unsupported feature" + status=0 + else + if [[ $fname == "h5ex_d_nbit" ]] + then + tdir=$nbitdir + if [[ $USE_ALT == "" ]] + then + ### set USE_ALT=07 if not set above + USE_ALT="07" + fi + else + tdir=18 + ### unset USE_ALT for the other topics + USE_ALT="" + fi + cmp -s tmp.test $srcdir/tfiles/18/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + if [[ $fname == "h5ex_d_transform" ]] + then + targ="-n" + else + targ="" + fi + dumpout $targ $fname.h5 >tmp.test + rm -f $fname.h5 + cmp -s tmp.test $srcdir/tfiles/$tdir/$fname$USE_ALT.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` + fi +done + + +#Remove external data file from h5ex_d_extern +rm -f h5ex_d_extern.data +rm -f tmp.test +echo "$return_val tests failed in C/H5D/" +exit $return_val diff --git a/HDF5Examples/C/H5G/test-pc.sh b/HDF5Examples/C/H5G/test-pc.sh new file mode 100644 index 00000000000..b8af1cffa16 --- /dev/null +++ b/HDF5Examples/C/H5G/test-pc.sh @@ -0,0 +1,234 @@ +#! /bin/sh +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the LICENSE file, which can be found at the root of the source code +# distribution tree, or in https://www.hdfgroup.org/licenses. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. + +# This file is for use of h5cc created with the CMake process +# HDF5_HOME is expected to be set + +srcdir=.. +builddir=. +verbose=yes +nerrors=0 + +# HDF5 compile commands, assuming they are in your $PATH. +H5CC=$HDF5_HOME/bin/h5cc +LD_LIBRARY_PATH=$HDF5_HOME/lib +export LD_LIBRARY_PATH + +if ! test -f $H5CC; then + echo "Set paths for H5CC and LD_LIBRARY_PATH in test.sh" + echo "Set environment variable HDF5_HOME to the hdf5 install dir" + echo "h5cc was not found at $H5CC" + exit $EXIT_FAILURE +fi + +H5DUMP=`echo $H5CC | sed -e 's/\/[^/]*$/\/h5dump/'`; +H5_LIBVER=$($H5CC -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g') +H5_APIVER=$($H5CC -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/') + +H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g') +H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g') +H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g') +H5_LIBVER_DIR=$H5_MAJORVER$H5_MINORVER + +# Shell commands used in Makefiles +RM="rm -rf" +DIFF="diff -c" +CMP="cmp -s" +GREP='grep' +CP="cp -p" # Use -p to preserve mode,ownership,timestamps +DIRNAME='dirname' +LS='ls' +AWK='awk' + +# setup plugin path +ENVCMD="env HDF5_PLUGIN_PATH=$LD_LIBRARY_PATH/plugin" + +TESTDIR=$builddir + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ;; + *c*,* ) ECHO_N=-n ECHO_C= ;; + *) ECHO_N= ECHO_C='\c' ;; +esac +ECHO_N="echo $ECHO_N" + + +exout() { + $* +} + +dumpout() { + $H5DUMP $* +} + +$H5CC $srcdir/h5ex_g_create.c -o h5ex_g_create + +$ECHO_N "Testing C/H5G/h5ex_g_create...$ECHO_C" +./h5ex_g_create +dumpout h5ex_g_create.h5 >tmp.test +rm -f h5ex_g_create.h5 +cmp -s tmp.test $srcdir/tfiles/16/h5ex_g_create.ddl +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` + +$H5CC $srcdir/h5ex_g_iterate.c -o h5ex_g_iterate + +$ECHO_N "Testing C/H5G/h5ex_g_iterate...$ECHO_C" +if test -f h5ex_g_iterate.h5 +then + exout ./h5ex_g_iterate >tmp.test +else + cp $srcdir/h5ex_g_iterate.h5 h5ex_g_iterate.h5 + exout ./h5ex_g_iterate >tmp.test + rm -f h5ex_g_iterate.h5 +fi +cmp -s tmp.test $srcdir/tfiles/16/h5ex_g_iterate.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` + +$H5CC $srcdir/h5ex_g_traverse.c -o h5ex_g_traverse + +$ECHO_N "Testing C/H5G/h5ex_g_traverse...$ECHO_C" +if test -f h5ex_g_traverse.h5 +then + exout ./h5ex_g_traverse >tmp.test +else + cp $srcdir/h5ex_g_traverse.h5 h5ex_g_traverse.h5 + exout ./h5ex_g_traverse >tmp.test + rm -f h5ex_g_traverse.h5 +fi +cmp -s tmp.test $srcdir/tfiles/16/h5ex_g_traverse.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` + +$H5CC $srcdir/h5ex_g_visit.c -o h5ex_g_visit + +$ECHO_N "Testing C/H5G/h5ex_g_visit...$ECHO_C" +if test -f h5ex_g_visit.h5 +then + exout ./h5ex_g_visit >tmp.test +else + cp $srcdir/h5ex_g_visit.h5 h5ex_g_visit.h5 + exout ./h5ex_g_visit >tmp.test + rm -f h5ex_g_visit.h5 +fi +cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_visit.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` + +$H5CC $srcdir/h5ex_g_compact.c -o h5ex_g_compact + +$ECHO_N "Testing C/H5G/h5ex_g_compact...$ECHO_C" +exout ./h5ex_g_compact >tmp.test +cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_compact.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + dumpout h5ex_g_compact1.h5 >tmp.test + cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_compact1.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout h5ex_g_compact2.h5 >tmp.test + cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_compact2.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi +fi +return_val=`expr $status + $return_val` +rm -f h5ex_g_compact1.h5 +rm -f h5ex_g_compact2.h5 + +$H5CC $srcdir/h5ex_g_phase.c -o h5ex_g_phase + +$ECHO_N "Testing C/H5G/h5ex_g_phase...$ECHO_C" +exout ./h5ex_g_phase >tmp.test +cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_phase.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` +rm -f h5ex_g_phase.h5 + +$H5CC $srcdir/h5ex_g_corder.c -o h5ex_g_corder + +$ECHO_N "Testing C/H5G/h5ex_g_corder...$ECHO_C" +exout ./h5ex_g_corder >tmp.test +cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_corder.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` +rm -f h5ex_g_corder.h5 + +$H5CC $srcdir/h5ex_g_intermediate.c -o h5ex_g_intermediate + +$ECHO_N "Testing C/H5G/h5ex_g_intermediate...$ECHO_C" +exout ./h5ex_g_intermediate >tmp.test +cmp -s tmp.test $srcdir/tfiles/18/h5ex_g_intermediate.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` +rm -f h5ex_g_intermediate.h5 + + +rm -f tmp.test +echo "$return_val tests failed in C/H5G/" +exit $return_val diff --git a/HDF5Examples/C/H5T/test-pc.sh b/HDF5Examples/C/H5T/test-pc.sh new file mode 100644 index 00000000000..5b43873fb1d --- /dev/null +++ b/HDF5Examples/C/H5T/test-pc.sh @@ -0,0 +1,249 @@ +#! /bin/sh +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the LICENSE file, which can be found at the root of the source code +# distribution tree, or in https://www.hdfgroup.org/licenses. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. + +# This file is for use of h5cc created with the CMake process +# HDF5_HOME is expected to be set + +srcdir=.. +builddir=. +verbose=yes +nerrors=0 + +# HDF5 compile commands, assuming they are in your $PATH. +H5CC=$HDF5_HOME/bin/h5cc +LD_LIBRARY_PATH=$HDF5_HOME/lib +export LD_LIBRARY_PATH + +if ! test -f $H5CC; then + echo "Set paths for H5CC and LD_LIBRARY_PATH in test.sh" + echo "Set environment variable HDF5_HOME to the hdf5 install dir" + echo "h5cc was not found at $H5CC" + exit $EXIT_FAILURE +fi + +H5DUMP=`echo $H5CC | sed -e 's/\/[^/]*$/\/h5dump/'`; +H5_LIBVER=$($H5CC -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g') +H5_APIVER=$($H5CC -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/') + +H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g') +H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g') +H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g') +H5_LIBVER_DIR=$H5_MAJORVER$H5_MINORVER + +# Shell commands used in Makefiles +RM="rm -rf" +DIFF="diff -c" +CMP="cmp -s" +GREP='grep' +CP="cp -p" # Use -p to preserve mode,ownership,timestamps +DIRNAME='dirname' +LS='ls' +AWK='awk' + +# setup plugin path +ENVCMD="env HDF5_PLUGIN_PATH=$LD_LIBRARY_PATH/plugin" + +TESTDIR=$builddir + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ;; + *c*,* ) ECHO_N=-n ECHO_C= ;; + *) ECHO_N= ECHO_C='\c' ;; +esac +ECHO_N="echo $ECHO_N" + + +exout() { + $* +} + +dumpout() { + $H5DUMP $* +} + +# compare current version, required version. +# returns if cur_ver < req_ver is true. +version_compare() { + version_lt=0 + if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then + version_lt=1 + fi +} + + +topics="array arrayatt bit bitatt cmpd cmpdatt cpxcmpd cpxcmpdatt enum enumatt float floatatt \ +int intatt opaque opaqueatt string stringatt vlstring vlstringatt \ +commit" + +return_val=0 + +for topic in $topics +do + $H5CC $srcdir/h5ex_t_$topic.c -o h5ex_t_$topic +done + +for topic in $topics +do + fname=h5ex_t_$topic + $ECHO_N "Testing C/H5T/$fname...$ECHO_C" + exout ./$fname >tmp.test + cmp -s tmp.test $srcdir/tfiles/16/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + if [[ $fname == "h5ex_t_cpxcmpd" || $fname == "h5ex_t_cpxcmpdatt" ]] + then + targ="-n" + else + targ="" + fi + dumpout $targ $fname.h5 >tmp.test + rm -f $fname.h5 + cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` +done + + +#######Non-standard tests####### + +USE_ALT="" +if [ "$H5_LIBVER_DIR" = "110" ]; then + # check if HDF5 version is < 1.10.7 + version_compare "$H5_LIBVER" "1.10.7" + if [ "$version_lt" = 1 ]; then + USE_ALT="06" + fi +else + if [ "$H5_LIBVER_DIR" = "18" ]; then + # check if HDF5 version is < 1.8.22 + version_compare "$H5_LIBVER" "1.8.22" + if [ "$version_lt" = 1 ]; then + USE_ALT="21" + fi + fi +fi + +topics="objref objrefatt regref regrefatt" + +for topic in $topics +do + $H5CC $srcdir/h5ex_t_$topic.c -o h5ex_t_$topic +done + +for topic in $topics +do + fname=h5ex_t_$topic + $ECHO_N "Testing C/H5T/$fname...$ECHO_C" + exout ./$fname >tmp.test + cmp -s tmp.test $srcdir/tfiles/16/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout $fname.h5 >tmp.test + rm -f $fname.h5 + version_compare "$H5_LIBVER" "1.10.0" + if [ "$version_lt" = 1 ]; then + cmp -s tmp.test $srcdir/tfiles/18/$fname$USE_ALT.ddl + else + version_compare "$H5_LIBVER" "1.12.0" + if [ "$version_lt" = 1 ]; then + version_compare "$H5_LIBVER" "1.10.7" + if [ "$version_lt" = 1 ]; then + cmp -s tmp.test $srcdir/tfiles/110/$fname$USE_ALT.ddl + else + cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl + fi + else + cmp -s tmp.test $srcdir/tfiles/112/$fname.ddl + fi + fi + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` +done + +topics="vlen vlenatt" + +for topic in $topics +do + $H5CC $srcdir/h5ex_t_$topic.c -o h5ex_t_$topic +done + +for topic in $topics +do + fname=h5ex_t_$topic + $ECHO_N "Testing C/H5T/$fname...$ECHO_C" + exout ./$fname >tmp.test + cmp -s tmp.test $srcdir/tfiles/16/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout $fname.h5 >tmp.test + rm -f $fname.h5 + version_compare "$H5_LIBVER" "1.14.3" + if [ "$version_lt" = 1 ]; then + cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl + else + cmp -s tmp.test $srcdir/tfiles/114/$fname.ddl + fi + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` +done + +$H5CC $srcdir/h5ex_t_convert.c -o h5ex_t_convert + +fname=h5ex_t_convert +$ECHO_N "Testing C/H5T/$fname...$ECHO_C" +exout ./$fname >tmp.test +cmp -s tmp.test $srcdir/tfiles/16/$fname.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + echo " Passed" +fi +return_val=`expr $status + $return_val` + + +rm -f tmp.test +echo "$return_val tests failed in C/H5T/" +exit $return_val diff --git a/HDF5Examples/C/H5VDS/test-pc.sh b/HDF5Examples/C/H5VDS/test-pc.sh new file mode 100644 index 00000000000..d323473ebee --- /dev/null +++ b/HDF5Examples/C/H5VDS/test-pc.sh @@ -0,0 +1,133 @@ +#! /bin/sh +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the LICENSE file, which can be found at the root of the source code +# distribution tree, or in https://www.hdfgroup.org/licenses. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. + +# This file is for use of h5cc created with the CMake process +# HDF5_HOME is expected to be set + +srcdir=.. +builddir=. +verbose=yes +nerrors=0 + +# HDF5 compile commands, assuming they are in your $PATH. +H5CC=$HDF5_HOME/bin/h5cc +LD_LIBRARY_PATH=$HDF5_HOME/lib +export LD_LIBRARY_PATH + +if ! test -f $H5CC; then + echo "Set paths for H5CC and LD_LIBRARY_PATH in test.sh" + echo "Set environment variable HDF5_HOME to the hdf5 install dir" + echo "h5cc was not found at $H5CC" + exit $EXIT_FAILURE +fi + +H5DUMP=`echo $H5CC | sed -e 's/\/[^/]*$/\/h5dump/'`; +H5_LIBVER=$($H5CC -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g') +H5_APIVER=$($H5CC -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/') + +H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g') +H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g') +H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g') +H5_LIBVER_DIR=$H5_MAJORVER$H5_MINORVER + +# Shell commands used in Makefiles +RM="rm -rf" +DIFF="diff -c" +CMP="cmp -s" +GREP='grep' +CP="cp -p" # Use -p to preserve mode,ownership,timestamps +DIRNAME='dirname' +LS='ls' +AWK='awk' + +# setup plugin path +ENVCMD="env HDF5_PLUGIN_PATH=$LD_LIBRARY_PATH/plugin" + +TESTDIR=$builddir + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ;; + *c*,* ) ECHO_N=-n ECHO_C= ;; + *) ECHO_N= ECHO_C='\c' ;; +esac +ECHO_N="echo $ECHO_N" + + +exout() { + $* +} + +dumpout() { + $H5DUMP $* +} + +# compare current version, required version. +# returns if cur_ver < req_ver is true. +version_compare() { + version_lt=0 + if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then + version_lt=1 + fi +} + + +topics="" +topics110="vds vds-exc vds-exclim vds-eiger vds-simpleIO vds-percival vds-percival-unlim vds-percival-unlim-maxmin" + +return_val=0 + +version_compare "$H5_LIBVER" "1.10.0" +if [ "$version_lt" = 0 ]; then + for topic in $topics110 + do + $H5CC $srcdir/h5ex_d_$topic.c -o h5ex_d_$topic + done + + for topic in $topics110 + do + fname=h5ex_$topic + $ECHO_N "Testing C/H5VDS/$fname...$ECHO_C" + exout ./$fname >tmp.test + status=$? + if test $status -eq 1 + then + echo " Unsupported feature" + status=0 + else + cmp -s tmp.test $srcdir/tfiles/110/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout $fname.h5 >tmp.test + rm -f $fname.h5 + cmp -s tmp.test $srcdir/tfiles/110/$fname.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` + fi + done +fi + + +rm -f tmp.test +echo "$return_val tests failed in C/H5VDS/" +exit $return_val diff --git a/HDF5Examples/C/HL/test-pc.sh b/HDF5Examples/C/HL/test-pc.sh new file mode 100644 index 00000000000..b496b58b830 --- /dev/null +++ b/HDF5Examples/C/HL/test-pc.sh @@ -0,0 +1,152 @@ +#! /bin/sh +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the LICENSE file, which can be found at the root of the source code +# distribution tree, or in https://www.hdfgroup.org/licenses. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. + +# This file is for use of h5cc created with the CMake process +# HDF5_HOME is expected to be set + +srcdir=.. +builddir=. +verbose=yes +nerrors=0 + +# HDF5 compile commands, assuming they are in your $PATH. +H5CC=$HDF5_HOME/bin/h5cc +LD_LIBRARY_PATH=$HDF5_HOME/lib +export LD_LIBRARY_PATH + +if ! test -f $H5CC; then + echo "Set paths for H5CC and LD_LIBRARY_PATH in test.sh" + echo "Set environment variable HDF5_HOME to the hdf5 install dir" + echo "h5cc was not found at $H5CC" + exit $EXIT_FAILURE +fi + +H5DUMP=`echo $H5CC | sed -e 's/\/[^/]*$/\/h5dump/'`; +H5_LIBVER=$($H5CC -showconfig | grep -i "HDF5 Version:" | sed 's/^.* //g' | sed 's/[-].*//g') +H5_APIVER=$($H5CC -showconfig | grep -i "Default API mapping:" | sed 's/^.* //g' | sed 's/v//g' | sed 's/1/1_/') + +H5_MAJORVER=$(echo $H5_LIBVER | cut -f1 -d'.' | sed -E 's/\./_/g') +H5_MINORVER=$(echo $H5_LIBVER | cut -f2 -d'.' | sed -E 's/\./_/g') +H5_RELEASEVER=$(echo $H5_LIBVER | cut -f3 -d'.' | sed -E 's/\./_/g') +H5_LIBVER_DIR=$H5_MAJORVER$H5_MINORVER + +# Shell commands used in Makefiles +RM="rm -rf" +DIFF="diff -c" +CMP="cmp -s" +GREP='grep' +CP="cp -p" # Use -p to preserve mode,ownership,timestamps +DIRNAME='dirname' +LS='ls' +AWK='awk' + +# setup plugin path +ENVCMD="env HDF5_PLUGIN_PATH=$LD_LIBRARY_PATH/plugin" + +TESTDIR=$builddir + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ;; + *c*,* ) ECHO_N=-n ECHO_C= ;; + *) ECHO_N= ECHO_C='\c' ;; +esac +ECHO_N="echo $ECHO_N" + + +exout() { + $* +} + +dumpout() { + $H5DUMP $* +} + +# compare current version, required version. +# returns if cur_ver < req_ver is true. +version_compare() { + version_lt=0 + if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then + version_lt=1 + fi +} + + +topics="h5ex_lite3 h5ex_packet_table_FL \ + h5ex_image1 h5ex_image2 \ + h5ex_table_01 h5ex_table_02 h5ex_table_03 h5ex_table_04 \ + h5ex_table_05 h5ex_table_06 h5ex_table_07 h5ex_table_08 \ + h5ex_table_09 h5ex_table_10 h5ex_table_11 h5ex_table_12 \ + h5ex_ds1" + +return_val=0 + +for topic in $topics +do + $H5CC $srcdir/$topic.c -o $topic +done + +for topic in $topics +do + fname=$topic + $ECHO_N "Testing C/HL/$fname...$ECHO_C" + exout ./$fname >tmp.test + cmp -s tmp.test $srcdir/tfiles/$fname.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + dumpout $fname.h5 >tmp.test + rm -f $fname.h5 + cmp -s tmp.test $srcdir/tfiles/$fname.ddl + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi + fi + return_val=`expr $status + $return_val` +done + + +$H5CC $srcdir/h5ex_lite1.c -o h5ex_lite1 +$H5CC $srcdir/h5ex_lite2.c -o h5ex_lite2 + +$ECHO_N "Testing C/HL/h5ex_lite1...$ECHO_C" +exout ./h5ex_lite1 >tmp.test +cmp -s tmp.test $srcdir/tfiles/h5ex_lite1.tst +status=$? +if test $status -ne 0 +then + echo " FAILED!" +else + $ECHO_N "Testing C/HL/h5ex_lite2...$ECHO_C" + exout ./h5ex_lite2 >tmp.test + cmp -s tmp.test $srcdir/tfiles/h5ex_lite2.tst + status=$? + if test $status -ne 0 + then + echo " FAILED!" + else + echo " Passed" + fi +fi +return_val=`expr $status + $return_val` + + +rm -f tmp.test +echo "$return_val tests failed in C/HL/" +exit $return_val diff --git a/HDF5Examples/README.md b/HDF5Examples/README.md index 82b3cfec46d..bfa4f85c5a2 100644 --- a/HDF5Examples/README.md +++ b/HDF5Examples/README.md @@ -1,6 +1,6 @@ HDF5 Examples -*Please refer to the Using_CMake.txt or Using_Autotools.txt file for installation instructions.* +*Please refer to the Using_CMake.txt file for installation instructions.* This repository contains a high-performance library's example code that demonstrate the HDF5® data model API. The HDF5® data model has been adopted across diff --git a/config/BlankForm b/config/BlankForm deleted file mode 100644 index d7669b7999a..00000000000 --- a/config/BlankForm +++ /dev/null @@ -1,117 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. - - -#---------------------------------------------------------------------------- -# Compiler flags. The CPPFLAGS values should not include package debug -# flags like `-DH5G_DEBUG' since these are added with the -# `--enable-debug' switch of configure. -#---------------------------------------------------------------------------- - - -# Choosing a C Compiler -# --------------------- -# -# The user should be able to specify the compiler by setting the CC -# environment variable to the name of the compiler and any switches it -# requires for proper operation. If CC is unset then this script may -# set it. If CC is unset by time this script completes then configure -# will try `gcc' and `cc' in that order (perhaps some others too). -# -# Note: Code later in this file may depend on the value of $CC_BASENAME -# in order to distinguish between different compilers when -# deciding which compiler command-line switches to use. This -# variable is set based on the incoming value of $CC and is only -# used within this file. - -if test "X-" = "X-$CC"; then - CC="/some/default/compiler/named/foo -ansi" - CC_BASENAME=foo -fi - - -# C Compiler and Preprocessor Flags -# --------------------------------- -# -# Flags that end with `_CFLAGS' are always passed to the compiler. -# Flags that end with `_CPPFLAGS' are passed to the compiler when -# compiling but not when linking. -# -# DEBUG_CFLAGS Flags to pass to the compiler to create a -# DEBUG_CPPFLAGS library suitable for use with debugging -# tools. Usually this list will exclude -# optimization switches (like `-O') and include -# switches that turn on symbolic debugging -# support (like `-g'). -# -# PROD_CFLAGS Flags to pass to the compiler to create a -# PROD_CPPFLAGS production version of the library. These -# usually exclude symbolic debugging switches -# (like `-g') and include optimization switches -# (like `-O'). -# -# PROFILE_CFLAGS Flags to pass to the compiler to create a -# PROFILE_CPPFLAGS library suitable for performance testing (like -# `-pg'). This may or may not include debugging -# or production flags. -# -# H5_CFLAGS Flags can be added to this variable which -# might already be partially initialized. These -# flags will always be passed to the compiler -# and should include switches to turn on full -# warnings. HDF5 attempts to be ANSI and Posix -# compliant and employ good programming -# practices resulting in few if any -# warnings. -# -# Warning flags do not have to be added to H5_CFLAGS -# variable if the compiler is the GNU gcc -# compiler or a descendent of gcc such as EGCS or PGCC. -# -# AM_CFLAGS Flags added directly into this variable will -# be propagated to the compiler wrapper scripts (h5cc, -# h5c++, et cetera) in addition to being used to compile -# the library. -# -# These flags should be set according to the compiler being used. -# There are two ways to check the compiler. You can try using `-v' or -# `--version' to see if the compiler will print a version string. You -# can use the value of $CC_BASENAME which is the base name of the -# first word in $CC (note that the value of CC may have changed -# above). - -case $CC_BASENAME in - gcc) - H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CFLAGS="$H5_CFLAGS -ansi" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac diff --git a/config/README.md b/config/README.md index 75e725ea4fe..6c24884d670 100644 --- a/config/README.md +++ b/config/README.md @@ -2,85 +2,26 @@ ## Intro -HDF5 can be configured using both the GNU Autotools and CMake. We try to keep -them in sync, but you can expect minor differences to crop up. Please create -a GitHub issue for any differences noted. Note that with the Autotools, we -do NOT check generated files into GitHub until release time, so you will -need to generate `configure`, `Makefile.in`(s), etc. via `autogen.sh` in the -project root if you want to build with that system. +HDF5 can be configured using CMake. Configuration information for the HDF5 library and tools is (unfortunately) spread across the repository. Basic library configuration will generally -be found in `configure.ac` (Autotools) and the root's `CMakeLists.txt` (CMake). -Each subdirectory of the project also has its own `Makefile.am` or CMake build +be found in the root's `CMakeLists.txt`. +Each subdirectory of the project also has its own CMake build and test files. This directory contains a few important things: -* Autotools OS- and compiler-specific configuration * CMake support files (in `cmake`) -* Warning files shared between the two systems (in `*-warnings` directories) +* Warning files (in `*-warnings` directories) * CMake toolchain files (in `toolchain`) * CMake sanitizer files (in `sanitizer`) -CMake will be documented elsewhere. This document focuses on the Autotools files -and the shared warning files. +CMake is documented in the following files: -## Autotools - -An Autotools build will first use `$host_cpu`, `$host_os`, etc. to try to find a -suitable platform file in `config` to source and start checking compilers. The -code that does this is in `configure.ac` (search for `host_os`). For example, -MacOS will source the `apple` file and FreeBSD will source the `freebsd` file. - -If you dig into one of these files, the way that they check for compilers is -rather crude. Each OS script will simply source the various C, C++, and -Fortran compiler files that are listed inside. Each compiler file checks -the designated compiler's version output to see if there's a match, and if so, -the flag processing proceeds, and a variable like `cc_flags_set` will be set -at the end. - -In case it's not obvious, the C files end in `-flags`, C++ in `-cxxflags`, and -Fortran in `-fflags`. - -When a compiler matches, the script will attempt to set the `CFLAGS`, etc. -variables based on the platform and compiler's properties. There are typically -a large number of flag categories (e.g., `DEBUG_OPT_CFLAGS`) that are -conditionally appended to the canonical variables, like `AM_FLAGS`, by the -remainder of the `configure` script. - -For the major compilers, like Clang and gcc, there will be a section at the -end where we append version-specific flags, mainly for warnings. These are -imported via a function in the script (`load_gnu_arguments()` for gcc). See -below for more detail. - -## Warnings files - -Keeping the Autotools and CMake build files in sync has always been a bit of a -struggle. One way that we help to ensure that the same flags are used in each -build system is to import the warnings settings from text files that are -maintained separately from the Autotools and CMake build files. We like to -configure the compiler to be as crabby as possible so as to catch subtle bugs, -so there are a LOT of warning flags for popular compilers like Clang and gcc. - -We've located these files in `config/*-warnings` directories. Each file -represents a compiler version and contains the warning flags we set, one to a -line. Lines that start with `#` are considered comment lines. You'll also see -`developer` and `no-developer` flavors of compiler version files. The former -corresponds to "developer flags" that are usually either only semi-useful and/or -generate a lot of (usually unfixable) noise. The latter corresponds to things -that we want to ensure do NOT appear in non-developer builds of the library. -These might involve a different level setting (`-Wfoo=x`) or something that -gets incorporated in a "conglomerate" flag like `-Wextra` so we need to set -`-Wno-foo` in non-developer builds. Developer warnings can be turned on -via a configure option. You will also sometimes see `error` files. Those are -files that include warnings that will be considered errors if you have enabled -the "warnings as errors" configure option set. Now that the library is largely -warning-free, these are less useful than in the past as you can now just set --Werror directly in many cases (our configure script is smart about not running -configure checks with -Werror). - -For anyone interested, we are always interested in improving both the OS and -compiler files, so pull requests for those are always welcome, especially for -platforms we don't have routine access to. If you are a compiler or platform -expert/aficionado, please help us out! +* INSTALL +* INSTALL_CMake.txt +* USING_HDF5_CMake.txt +* USING_HDF5_VS.txt +* INSTALL_Windows.txt +* USING_CMakae_Examples.txt diff --git a/config/apple b/config/apple deleted file mode 100644 index d3f69bccb55..00000000000 --- a/config/apple +++ /dev/null @@ -1,201 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -# The default compiler is `clang'. -# No support for OS older than darwin 10.X. -if test "X-" = "X-$CC"; then - case "$host_os" in - darwin10.*) # Snow Leopard. Use gcc/g++ because clang++ is not available. - CC=gcc - CC_BASENAME=gcc - ;; - *) - if test "X-$enable_parallel" = "X-yes"; then - # default to use mpicc which is the defacto MPI compiler name - CC=mpicc - CC_BASENAME=mpicc - else - CC=clang - CC_BASENAME=clang - fi - - # Production - PROD_CFLAGS="-O3" - PROD_CPPFLAGS= - - # Debug - DEBUG_CFLAGS="-g -O0" - DEBUG_CPPFLAGS= - - # Profile - # Use this for profiling with gprof - # Just "-g" for now. More later. - PROFILE_CFLAGS="-g" - PROFILE_CPPFLAGS= - ;; - esac -fi - -# Figure out C compiler flags -. $srcdir/config/gnu-flags -. $srcdir/config/clang-flags -. $srcdir/config/oneapi-flags -. $srcdir/config/intel-flags - -if test "X-" = "X-$FC"; then - case $CC_BASENAME in - gcc*) - FC=gfortran - FC_BASENAME=gfortran - ;; - icx*) - FC=ifx - FC_BASENAME=ifx - ;; - icc*) - FC=ifort - FC_BASENAME=ifort - ;; - mpicc*) - FC=mpif90 - FC_BASENAME=mpif90 - ;; - clang) - # clang has no fortran compiler. Use gfortran. - FC=gfortran - FC_BASENAME=gfortran - ;; - esac -fi - -# Figure out FORTRAN compiler flags -. $srcdir/config/gnu-fflags -. $srcdir/config/oneapi-fflags -. $srcdir/config/intel-fflags - - -# The default C++ compiler is `clang++'. -if test "X-" = "X-$CXX"; then - case $CC_BASENAME in - gcc) - CXX=g++ - CXX_BASENAME=g++ - ;; - icx) - CXX=icpx - CXX_BASENAME=icpx - ;; - icc) - CXX=icpc - CXX_BASENAME=icpc - ;; - mpicc*) - FC=mpif90 - FC_BASENAME=mpif90 - ;; - clang) - CXX=clang++ - CXX_BASENAME=clang++ - ;; - esac -fi - -# Figure out C++ compiler flags -. $srcdir/config/oneapi-cxxflags -. $srcdir/config/intel-cxxflags # Do this ahead of GNU to avoid icpc being detected as g++ -. $srcdir/config/gnu-cxxflags -. $srcdir/config/clang-cxxflags - -# compiler version strings -case $CC in - clang) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS --version 2>&1 |\ - grep 'Apple' | sed 's/(.*//'` - ;; - - *gcc*) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS --version 2>&1 | grep -v 'PathScale' |\ - grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'` - ;; - - *icx*) - cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *icc*) - cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *) - echo "No match to get cc_version_info for $CC" - ;; -esac - -# Figure out Fortran compiler flags and version strings -case $FC in - *gfortran*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\ - grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'` - ;; - - *ifx*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *ifc*|*ifort*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *) - echo "No match to get fc_version_info and flags for $FC" - ;; - -esac - -# get c++ version info -case $CXX in - clang++) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ - grep 'Apple' | sed 's/(.*//'` - ;; - - *g++*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ - grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'` - ;; - - *icpx*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *icpc*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *) - echo "No match to get cxx_version_info for $CXX" - ;; -esac - diff --git a/config/cce-fflags b/config/cce-fflags deleted file mode 100644 index b15f3e5dc79..00000000000 --- a/config/cce-fflags +++ /dev/null @@ -1,80 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything -# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for cce -# unless a compiler version is already known -# -# cc_vendor: The compiler name: Cray -# cc_version: Version number: 8.3.0 -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep 'Cray'`" - if test X != "X$f9x_version"; then - f9x_vendor=cce - f9x_version=`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$FC' is Cray $f9x_vendor-$f9x_version" - fc_version_info=$f9x_version - fi -fi - -# Common Cray flags for various situations -if test "X-cce" = "X-$f9x_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # General - H5_FCFLAGS="${H5_FCFLAGS} -hnocaf" - - # Production - PROD_FCFLAGS= - - # Debug - DEBUG_FCFLAGS= - - # Symbols - # -Wl,-s to remove all symbols for smaller file - SYMBOLS_FCFLAGS="-g" - NO_SYMBOLS_FCFLAGS="-Wl,-s" - - # Profiling - # Use this for profiling with gprof - PROFILE_FCFLAGS="-p" - - # Optimization - HIGH_OPT_FCFLAGS="-O3" - DEBUG_OPT_FCFLAGS="-O0" - NO_OPT_FCFLAGS="-O0" - - # Flags are set - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi diff --git a/config/cce-flags b/config/cce-flags deleted file mode 100644 index f07495008a6..00000000000 --- a/config/cce-flags +++ /dev/null @@ -1,85 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything -# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for cce -# unless a compiler version is already known -# -# cc_vendor: The compiler name: Cray -# cc_version: Version number: 8.3.0 -# -if test X = "X$cc_flags_set"; then - cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'Cray'`" - if test X != "X$cc_version"; then - cc_vendor=cce - cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CC' is Cray $cc_vendor-$cc_version" - cc_version_info=$cc_version - cxx_version_info=$cc_version - fi -fi - -# Common Cray flags for various situations -if test "X-cce" = "X-$cc_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # General - # Default to C99 standard. - H5_CFLAGS="${H5_CFLAGS:--hc99 $arch}" - - # Production - PROD_CFLAGS= - - # Debug - # NDEBUG is handled explicitly in configure - DEBUG_CFLAGS= - - # Symbols - # -Wl,-s to remove all symbols for smaller file - SYMBOLS_CFLAGS="-g" - NO_SYMBOLS_CFLAGS="-Wl,-s" - - # Profiling - # Use this for profiling with gprof - PROFILE_CFLAGS="-p" - - # Optimization - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-O0" - NO_OPT_CFLAGS="-O0" - - # Flags are set - cc_flags_set=yes - -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= -fi - diff --git a/config/clang-cxxflags b/config/clang-cxxflags deleted file mode 100644 index 61a0c1f7e26..00000000000 --- a/config/clang-cxxflags +++ /dev/null @@ -1,188 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Clang clang++ compiler or a derivative. It is careful not to do anything -# if the compiler is not Clang; otherwise 'cxx_flags_set' is set to 'yes' -# - -# -# For now, do not promote any warnings to errors. -# -WARNINGS_AS_ERRORS_DFLT=no - -# -# This filter rewrites -Werror= as -W, in that way demoting warnings -# promoted to errors back to warnings, if WARNINGS_AS_ERRORS is no. -# -demote_errors() -{ - if [ ${WARNINGS_AS_ERRORS:-${WARNINGS_AS_ERRORS_DFLT}} = no ]; then - sed 's,-Werror=,-W,g' - else - cat - fi -} - -# -# Prepend `$srcdir/config/clang-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_clang_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/clang-warnings/${arg} | demote_errors - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for clang++ -# unless a compiler version is already known -# -# cxx_vendor: The compiler name: clang++ -# cxx_version: Version number: 6.0.0, 7.3.0, ... 10.0.1 -# -if test "X-" = "X-$cxx_flags_set"; then - # clang++ -v will return version number following "clang" on Linux machines, - # but on Macs the version number will follow "Apple LLVM version" - cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 |\ - grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" - if test -n "$cxx_version"; then - cxx_vendor="clang" - else - cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 |\ - grep 'Apple LLVM version' | sed 's/.*Apple LLVM version \([-a-z0-9\.]*\).*/\1/'`" - if test -n "$cxx_version"; then - cxx_vendor="Apple LLVM" - fi - fi - if test "X-" != "X-$cxx_version"; then - - # Get the compiler version numbers - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` - cxx_vers_patch=`echo $cxx_version | cut -f3 -d.` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - fi -fi - -if test "X-clang" = "X-$cxx_vendor" -o "X-Apple LLVM" = "X-$cxx_vendor"; then - echo "compiler '$CXX' is $cxx_vendor-$cxx_version" - ############################### - # Architecture-specific flags # - ############################### - - arch= - case "$host_os-$host_cpu" in - # FreeBSD sets the information from "uname -m" to the general machine - # architecture, not the specific CPU for the machine, so even our - # Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD - # machine, use the "sysctl" command to get the CPU hardware model. - freebsd*-i386) - host_cpu_model=`sysctl -n hw.model` - case "$host_cpu_model" in - # Hmm.. this might not catch Celerons, but it won't hurt them either... - *Pro*|*II*|*III*|*IV*|*Athlon*) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - ;; - - *-i686) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - - H5_CXXFLAGS="$H5_CXXFLAGS $arch -std=c++11" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - PROD_CXXFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CXXFLAGS="-ftrapv -fno-common" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS= - SYMBOLS_CXXFLAGS="-g -fno-omit-frame-pointer" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CXXFLAGS="-O3" - DEBUG_OPT_CXXFLAGS="-g" - NO_OPT_CXXFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - H5_CXXFLAGS="$H5_CXXFLAGS $(load_clang_arguments general)" - H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_clang_arguments error-general)" - - ###################### - # Developer warnings # - ###################### - - NO_DEVELOPER_WARNING_CXXFLAGS=$(load_clang_arguments no-developer-general) - DEVELOPER_WARNING_CXXFLAGS=$(load_clang_arguments developer-general) - - ############################# - # Version-specific warnings # - ############################# - - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X$cxx_flags_set" = "X"; then - cxx_vendor= - cxx_version= -fi - diff --git a/config/clang-fflags b/config/clang-fflags deleted file mode 100644 index 7820aa698c9..00000000000 --- a/config/clang-fflags +++ /dev/null @@ -1,139 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Clang Fortran compiler (flang) or a derivative. It is careful not to do -# anything if the compiler is not Clang; otherwise 'cc_flags_set' is set -# to 'yes' -# - -# Get the compiler version in a way that works for clang -# unless a compiler version is already known -# -# cc_vendor: The compiler name: flang -# cc_version: Version number: 6.0.0, 7.3.0, ... 10.0.1 -# -if test "X-" = "X-$f9x_flags_set"; then - # flang -v will return version number following "clang" - f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -v 2>&1 |\ - grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" - if test -n "$f9x_version"; then - f9x_vendor="flang" - fi - if test "X-" != "X-$f9x_version"; then - - # Get the compiler version numbers - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d.` - f9x_vers_patch=`echo $f9x_version | cut -f3 -d.` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - fi -fi - -if test "X-flang" = "X-$f9x_vendor"; then - - echo "compiler '$FC' is $f9x_vendor-$f9x_version" - - FC_BASENAME=flang - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - H5_FCFLAGS="$H5_FCFLAGS $arch" - - ############## - # Production # - ############## - - PROD_FCFLAGS= - - ######### - # Debug # - ######### - - DEBUG_FCFLAGS= - - ######################## - # Enhanced Diagnostics # - ######################## - - NO_DIAGS_FCFLAGS= - DIAGS_FCFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS= - SYMBOLS_FCFLAGS= - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS= - - ################ - # Optimization # - ################ - - HIGH_OPT_FCFLAGS="-O3" - NO_OPT_FCFLAGS="-O0" - DEBUG_OPT_FCFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # We don't use OpenMP, so don't link to it - H5_FCFLAGS="$H5_FCFLAGS -nomp" - - ###################### - # Developer warnings # - ###################### - - NO_DEVELOPER_WARNING_FCFLAGS= - DEVELOPER_WARNING_FCFLAGS= - - ############################# - # Version-specific warnings # - ############################# - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X$f9x_flags_set" = "X"; then - f9x_vendor= - f9x_version= -fi diff --git a/config/clang-flags b/config/clang-flags deleted file mode 100644 index 1454629455f..00000000000 --- a/config/clang-flags +++ /dev/null @@ -1,203 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Clang compiler or a derivative. It is careful not to do anything -# if the compiler is not Clang; otherwise 'cc_flags_set' is set to 'yes' -# - -# -# For now, do not promote any warnings to errors. -# -WARNINGS_AS_ERRORS_DFLT=no - -# -# This filter rewrites -Werror= as -W, in that way demoting warnings -# promoted to errors back to warnings, if WARNINGS_AS_ERRORS is no. -# -demote_errors() -{ - if [ ${WARNINGS_AS_ERRORS:-${WARNINGS_AS_ERRORS_DFLT}} = no ]; then - sed 's,-Werror=,-W,g' - else - cat - fi -} - -# -# Prepend `$srcdir/config/clang-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_clang_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/clang-warnings/${arg} | demote_errors - done) - IFS=' ' echo "$*" -} -# Get the compiler version in a way that works for clang -# unless a compiler version is already known -# -# cc_vendor: The compiler name: clang -# cc_version: Version number: 6.0.0, 7.3.0, ... 10.0.1 -# -if test "X-" = "X-$cc_flags_set"; then - # clang -v will return version number following "clang" on Linux machines, - # but on Xcode the version number will follow "Apple LLVM version" - # Note that the Xcode reported LLVM version doesn't match the canonical - # LLVM version, so you'll need to do different version checks for - # Xcode. - cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 |\ - grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" - if test -n "$cc_version"; then - cc_vendor="clang" - else - cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 |\ - grep 'Apple LLVM version' | sed 's/.*Apple LLVM version \([-a-z0-9\.]*\).*/\1/'`" - if test -n "$cc_version"; then - cc_vendor="Apple LLVM" - fi - fi - if test "X-" != "X-$cc_version"; then - - # Get the compiler version numbers - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d.` - cc_vers_patch=`echo $cc_version | cut -f3 -d.` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - fi -fi - -if test "X-clang" = "X-$cc_vendor" -o "X-Apple LLVM" = "X-$cc_vendor"; then - echo "compiler '$CC' is $cc_vendor-$cc_version" - ############################### - # Architecture-specific flags # - ############################### - - arch= - case "$host_os-$host_cpu" in - # FreeBSD sets the information from "uname -m" to the general machine - # architecture, not the specific CPU for the machine, so even our - # Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD - # machine, use the "sysctl" command to get the CPU hardware model. - freebsd*-i386) - host_cpu_model=`sysctl -n hw.model` - case "$host_cpu_model" in - # Hmm.. this might not catch Celerons, but it won't hurt them either... - *Pro*|*II*|*III*|*IV*|*Athlon*) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - ;; - - *-i686) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - - case "$host_os-$host_cpu" in - *) - H5_CFLAGS="$H5_CFLAGS -std=c11" - ;; - esac - - H5_CFLAGS="$H5_CFLAGS $arch" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - PROD_CFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CFLAGS="-ftrapv -fno-common" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS= - SYMBOLS_CFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CFLAGS="-O3" - NO_OPT_CFLAGS="-O0" - - # -Og is only understood by clang 4+ and Xcode 9+ - # Otherwise use -O1 (which is what -Og usually equates to) - if test "X-clang" = "X-$cc_vendor" -a $cc_vers_major -ge 4 -o "X-Apple LLVM" = "X-$cc_vendor" -a $cc_vers_major -ge 9; then - DEBUG_OPT_CFLAGS="-Og" - else - DEBUG_OPT_CFLAGS="-O1" - fi - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - H5_CFLAGS="$H5_CFLAGS $(load_clang_arguments general)" - H5_ECFLAGS="$H5_ECFLAGS $(load_clang_arguments error-general)" - - ###################### - # Developer warnings # - ###################### - - NO_DEVELOPER_WARNING_CFLAGS=$(load_clang_arguments no-developer-general) - DEVELOPER_WARNING_CFLAGS=$(load_clang_arguments developer-general) - - ############################# - # Version-specific warnings # - ############################# - - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X$cc_flags_set" = "X"; then - cc_vendor= - cc_version= -fi - diff --git a/config/cygwin b/config/cygwin deleted file mode 100644 index 33a21f46d76..00000000000 --- a/config/cygwin +++ /dev/null @@ -1,21 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -# Use the linux-gnu file -. $srcdir/config/linux-gnu diff --git a/config/freebsd b/config/freebsd deleted file mode 100644 index 70b66fbd4c9..00000000000 --- a/config/freebsd +++ /dev/null @@ -1,85 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -# The default compiler is 'cc' -if test "X-" = "X-$CC"; then - CC=cc - CC_BASENAME=cc -fi - -# Figure out clang C compiler flags -. $srcdir/config/clang-flags - -# Figure out GNU C compiler flags -. $srcdir/config/gnu-flags - -# Figure out Intel oneAPI C compiler flags -. $srcdir/config/oneapi-flags - -# Figure out Intel classic C compiler flags -. $srcdir/config/intel-flags - -# The default Fortran 90 compiler -# No default Fortran compiler for clang. flang exists on -# FreeBSD as a port, but this is tied to an ancient LLVM -# and lacks Fortran 2003 features which causes configure -# to fail. -if test "X-" = "X-$FC"; then - case $CC_BASENAME in - gcc*|pgcc*) - FC=gfortran - FC_BASENAME=gfortran - ;; - icx*) - FC=ifx - FC_BASENAME=ifx - ;; - icc*) - FC=ifort - FC_BASENAME=ifort - ;; - mpicc*) - FC=mpif90 - FC_BASENAME=mpif90 - ;; - esac -fi - -# Figure out FORTRAN compiler flags -. $srcdir/config/gnu-fflags - -# Figure out Intel oneAPI FC compiler flags -. $srcdir/config/oneapi-fflags - -# Figure out Intel classic FC compiler flags -. $srcdir/config/intel-fflags - -# The default C++ compiler - -# The default compiler is 'c++'. -if test -z "$CXX"; then - CXX=c++ - CXX_BASENAME=c++ -fi - -# Figure out Clang CXX compiler flags -. $srcdir/config/clang-cxxflags - -# Figure out GNU CXX compiler flags -. $srcdir/config/gnu-cxxflags diff --git a/config/gnu-cxxflags b/config/gnu-cxxflags deleted file mode 100644 index 7e80a49a03a..00000000000 --- a/config/gnu-cxxflags +++ /dev/null @@ -1,285 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# GNU g++ compiler or a derivative. It is careful not to do anything -# if the compiler is not GNU; otherwise `cxx_flags_set' is set to `yes' -# - -# -# For now, do not promote any warnings to errors. -# -WARNINGS_AS_ERRORS_DFLT=no - -# -# This filter rewrites -Werror= as -W, in that way demoting warnings -# promoted to errors back to warnings, if WARNINGS_AS_ERRORS is no. -# -demote_errors() -{ - if [ ${WARNINGS_AS_ERRORS:-${WARNINGS_AS_ERRORS_DFLT}} = no ]; then - sed 's,-Werror=,-W,g' - else - cat - fi -} - -# -# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_gnu_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} | demote_errors - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for g++ -# unless a compiler version is already known -# -# cxx_vendor: The compiler name: g++ -# cxx_version: Version number: 2.91.60, 2.7.2.1 -# -if test "X-" = "X-$cxx_flags_set"; then - # PathScale compiler spits out gcc version string too. Need to - # filter it out. - # icc beginning with version 12 includes a "gcc version compatibility" - # string, causing the gcc H5_CXXFLAGS to be erroneously added. The line - # "grep -v 'icc version'" causes the discarding of any output - # containing 'icc version'. The cxx_version for icc is correctly determined - # and flags added in the intel-flags script. - cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 | grep -v 'PathScale' |\ - grep -v '^icc.*version' |\ - grep 'gcc version' | sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`" - cxx_vendor=`echo $cxx_version |sed 's/\([a-z]*\).*/\1/'` - cxx_version=`echo $cxx_version |sed 's/[-a-z]//g'` - if test X = "X$cxx_vendor" -a X != "X$cxx_version"; then - cxx_vendor=g++ - fi - if test "-" != "$cxx_vendor-$cxx_version"; then - echo "compiler '$CXX' is GNU $cxx_vendor-$cxx_version" - fi - - # Get the compiler version numbers - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` - cxx_vers_patch=`echo $cxx_version | cut -f3 -d.` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch` -fi - -if test "X-g++" = "X-$cxx_vendor"; then - - ############################### - # Architecture-specific flags # - ############################### - - arch= - case "$host_os-$host_cpu" in - # FreeBSD sets the information from "uname -m" to the general machine - # architecture, not the specific CPU for the machine, so even our - # Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD - # machine, use the "sysctl" command to get the CPU hardware model. - freebsd*-i386) - host_cpu_model=`sysctl -n hw.model` - case "$host_cpu_model" in - # Hmm.. this might not catch Celerons, but it won't hurt them either... - *Pro*|*II*|*III*|*IV*|*Athlon*) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - ;; - - *-i686) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - - # C++-specific - H5_CXXFLAGS="$H5_CXXFLAGS $arch -std=c++11" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - if test $cxx_vers_major -le 4; then - PROD_CXXFLAGS= - else - PROD_CXXFLAGS="-fstdarg-opt" - fi - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - if test $cxx_vers_major -le 4; then - DEBUG_CXXFLAGS= - else - DEBUG_CXXFLAGS="-ftrapv -fno-common" - fi - - ######################## - # Enhanced Diagnostics # - ######################## - - if test $cxx_vers_major -ge 10; then - NO_DIAGS_CXXFLAGS="-fdiagnostics-urls=never -fno-diagnostics-color" - fi - DIAGS_CXXFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS="-s" - SYMBOLS_CXXFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-pg" - - ################ - # Optimization # - ################ - - if test $cxx_vers_major -le 4; then - HIGH_OPT_CXXFLAGS="-O3" - DEBUG_OPT_CXXFLAGS= - else - HIGH_OPT_CXXFLAGS="-O3" - DEBUG_OPT_CXXFLAGS="-Og" - fi - NO_OPT_CXXFLAGS="-O0" - - ############ - # Warnings # - ############ - - - ########### - # General # - ########### - - # Add various general warning flags in gnu-warnings for gcc versions 4.8 and later. - if test $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 8 -o $cxx_vers_major -ge 5; then - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-general)" - H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments cxx-error-general)" - - ###################### - # Developer warnings # - ###################### - - # Use the C warnings as CXX warnings are the same - NO_DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments no-developer-general) - DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments developer-general) - - fi - - ####################### - # gcc 4 special cases # - ####################### - - # GCC 4.8 through the end of GCC 4 series - if test $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 8; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.8-4.last)" - fi - - ############################# - # Version-specific warnings # - ############################# - - # gcc >= 4.8 - if test $cxx_vers_major -ge 5 -o $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 8; then - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-4.8)" - # Use the C warnings as CXX warnings are the same - DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments cxx-developer-4.8)" - NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments no-cxx-developer-4.8)" - fi - - # gcc >= 4.9 - if test $cxx_vers_major -ge 5 -o $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 9; then - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-4.9)" - fi - - # gcc >= 5 - if test $cxx_vers_major -ge 5; then - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-5)" - H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments cxx-error-5)" - fi - - # gcc >= 6 - if test $cxx_vers_major -ge 6; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 6)" - fi - - # gcc >= 7 - if test $cxx_vers_major -ge 7; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 7)" - DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments developer-7)" - fi - - # gcc 8 - if test $cxx_vers_major -ge 8; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 8)" - #H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-8)" - # Use the C warnings as CXX warnings are the same - DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments developer-8)" - NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments no-developer-8)" - fi - - # gcc 9 - if test $cxx_vers_major -ge 9; then - H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-9)" - fi - - # gcc >= 9.3 - # no cxx warnings, do NOT use C warnings - - # gcc >= 10 - if test $cxx_vers_major -ge 10; then - # Use the C warnings as CXX warnings are the same - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-10)" - fi - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X$cxx_flags_set" = "X"; then - cxx_vendor= - cxx_version= -fi diff --git a/config/gnu-fflags b/config/gnu-fflags deleted file mode 100644 index c1beb31cb4d..00000000000 --- a/config/gnu-fflags +++ /dev/null @@ -1,198 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# GNU g95/gfortran compiler or a derivative. It is careful not to do anything -# if the compiler is not GNU; otherwise `f9x_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_gnu_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for GNU fortran -# gfortran unless a compiler version is already known -# -# f9x_vendor: The compiler name: gfortran -# f9x_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -v 2>&1 |grep 'gcc version' |\ - sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`" - if test X != "X$f9x_version"; then - f9x_vendor=`echo $f9x_version |sed 's/\([a-z]*\).*/\1/'` - f9x_version=`echo $f9x_version |sed 's/[-a-z]//g'` - if test X = "X$f9x_vendor" -a X != "X$f9x_version"; then - f9x_vendor=gfortran - fi - if test "-" != "$f9x_vendor-$f9x_version"; then - echo "compiler '$FC' is GNU $f9x_vendor-$f9x_version" - fi - - # Get the compiler version numbers - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d.` - f9x_vers_patch=`echo $f9x_version | cut -f3 -d.` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - fi -fi - -if test "X-gfortran" = "X-$f9x_vendor"; then - - FC_BASENAME=gfortran - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - - # Need Fortran 2008 support for storage_size() in gcc 4.6 on - # (2008ts in some versions) - if test $f9x_vers_major -ge 8; then - H5_FCFLAGS="$H5_FCFLAGS -std=f2008" - elif test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 6; then - H5_FCFLAGS="$H5_FCFLAGS -std=f2008ts" - fi - - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - H5_FCFLAGS="$H5_FCFLAGS $arch" - - ############## - # Production # - ############## - - PROD_FCFLAGS= - - ######### - # Debug # - ######### - - if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 5; then - DEBUG_FCFLAGS="-fcheck=all" - else - DEBUG_FCFLAGS="-fbounds-check" - fi - - ######################## - # Enhanced Diagnostics # - ######################## - - if test $f9x_vers_major -ge 10; then - NO_DIAGS_FCFLAGS="-fdiagnostics-urls=never -fno-diagnostics-color" - fi - DIAGS_FCFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS="-s" - SYMBOLS_FCFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS="-pg" - - ################ - # Optimization # - ################ - - if test $f9x_vers_major -le 4; then - HIGH_OPT_FCFLAGS="-O3" - DEBUG_OPT_FCFLAGS= - else - HIGH_OPT_FCFLAGS="-O3" - DEBUG_OPT_FCFLAGS="-Og" - fi - NO_OPT_FCFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-general)" - - NO_DEVELOPER_WARNING_FCFLAGS="$NO_DEVELOPER_WARNING_FCFLAGS $(load_gnu_arguments gfort-no-developer-general)" - DEVELOPER_WARNING_FCFLAGS="$DEVELOPER_WARNING_FCFLAGS $(load_gnu_arguments gfort-developer-general)" - - ############################# - # Version-specific warnings # - ############################# - - # gfortran >= 4.8 - if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 8; then - H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-4.8)" - DEVELOPER_WARNING_FCFLAGS="$DEVELOPER_WARNING_FCFLAGS $(load_gnu_arguments gfort-developer-4.8)" - NO_DEVELOPER_WARNING_FCFLAGS="$NO_DEVELOPER_WARNING_FCFLAGS $(load_gnu_arguments gfort-no-developer-4.8)" - fi - - # gfortran 4.9 (nothing new) - - # gfortran >= 5 - if test $f9x_vers_major -ge 5; then - DEVELOPER_WARNING_FCFLAGS="$DEVELOPER_WARNING_FCFLAGS $(load_gnu_arguments gfort-developer-5)" - fi - - # gfortran >= 6 - if test $f9x_vers_major -ge 6; then - H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-6)" - fi - - # gfortran 7 (nothing new) - - # gfortran >= 8 - if test $f9x_vers_major -ge 8; then - H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-8)" - fi - - # gfortran 9 (nothing new) - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi - diff --git a/config/gnu-flags b/config/gnu-flags deleted file mode 100644 index 658475c0aba..00000000000 --- a/config/gnu-flags +++ /dev/null @@ -1,291 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# GNU gcc compiler or a derivative. It is careful not to do anything -# if the compiler is not GNU; otherwise 'cc_flags_set' is set to 'yes' -# - -# -# For now, do not promote any warnings to errors. -# -WARNINGS_AS_ERRORS_DFLT=no - -# -# This filter rewrites -Werror= as -W, in that way demoting warnings -# promoted to errors back to warnings, if WARNINGS_AS_ERRORS is no. -# -demote_errors() -{ - if [ ${WARNINGS_AS_ERRORS:-${WARNINGS_AS_ERRORS_DFLT}} = no ]; then - sed 's,-Werror=,-W,g' - else - cat - fi -} - -# -# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_gnu_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} | demote_errors - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for gcc -# unless a compiler version is already known -# -# cc_vendor: The compiler name: gcc -# cc_version: Version number: 2.91.60, 2.7.2.1 -# -if test "X-" = "X-$cc_flags_set"; then - # PathScale compiler spits out gcc version string too. Need to - # filter it out. - # icc beginning with version 12 includes a "gcc version compatibility" - # string, causing the gcc H5_CFLAGS to be erroneously added. The line - # "grep -v 'icc version'" causes the discarding of any output - # containing 'icc version'. The cc_version for icc is correctly determined - # and flags added in the intel-flags script. - cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 | grep -v 'PathScale' |\ - grep -v '^icc.*version' |\ - grep 'gcc version' | sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`" - cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'` - cc_version=`echo $cc_version |sed 's/[-a-z]//g'` - if test X = "X$cc_vendor" -a X != "X$cc_version"; then - cc_vendor=gcc - fi - if test "-" != "$cc_vendor-$cc_version"; then - echo "compiler '$CC' is GNU $cc_vendor-$cc_version" - fi - - # Get the compiler version numbers - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d.` - cc_vers_patch=`echo $cc_version | cut -f3 -d.` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 -fi - -if test "X-gcc" = "X-$cc_vendor"; then - - ############################### - # Architecture-specific flags # - ############################### - - arch= - case "$host_os-$host_cpu" in - # FreeBSD sets the information from "uname -m" to the general machine - # architecture, not the specific CPU for the machine, so even our - # Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD - # machine, use the "sysctl" command to get the CPU hardware model. - freebsd*-i386) - host_cpu_model=`sysctl -n hw.model` - case "$host_cpu_model" in - # Hmm.. this might not catch Celerons, but it won't hurt them either... - *Pro*|*II*|*III*|*IV*|*Athlon*) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - ;; - - *-i686) - # architecture-specific optimizations cause problems - # for some users who build binaries to be used on - # multiple architectures. - # arch="-march=i686" - ;; - esac - - case "$host_os-$host_cpu" in - # On Solaris, gcc needs the gnu11 standard to pick up certain POSIX - # things. Do NOT use this as the gcc norm as this encourages the use - # of non-standard gcc extensions. - *solaris*) - H5_CFLAGS="$H5_CFLAGS -std=gnu11" - ;; - # Everybody else gets C11 as the standard. - *) - H5_CFLAGS="$H5_CFLAGS -std=c11" - ;; - esac - - H5_CFLAGS="$H5_CFLAGS $arch" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - if test $cc_vers_major -le 4; then - PROD_CFLAGS= - else - PROD_CFLAGS="-fstdarg-opt" - fi - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - if test $cc_vers_major -le 4; then - DEBUG_CFLAGS= - else - DEBUG_CFLAGS="-ftrapv -fno-common" - fi - - ######################## - # Enhanced Diagnostics # - ######################## - - if test $cc_vers_major -ge 10; then - NO_DIAGS_CFLAGS="-fdiagnostics-urls=never -fno-diagnostics-color" - fi - DIAGS_CFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS="-s" - SYMBOLS_CFLAGS="-g -fno-omit-frame-pointer" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-pg" - - ################ - # Optimization # - ################ - - if test $cc_vers_major -le 4; then - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS= - else - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-Og" - fi - NO_OPT_CFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # Add various general warning flags in gnu-warnings for gcc versions 4.8 and later. - if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8 -o $cc_vers_major -gt 4; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments general)" - H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-general)" - - ###################### - # Developer warnings # - ###################### - - NO_DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments no-developer-general) - DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments developer-general) - - fi - - ####################### - # gcc 4 special cases # - ####################### - - # GCC 4.8 through the end of GCC 4 series - if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.8-4.last)" - fi - - ############################# - # Version-specific warnings # - ############################# - - # gcc >= 4.8 - if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.8)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.8)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.8)" - fi - - # gcc >= 4.9 - if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 9; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.9)" - fi - - # gcc >= 5 - if test $cc_vers_major -ge 5; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 5)" - H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-5)" - fi - - # gcc >= 6 - if test $cc_vers_major -ge 6; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 6)" - fi - - # gcc >= 7 - if test $cc_vers_major -ge 7; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 7)" - H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-7)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-7)" - fi - - # gcc 8 - if test $cc_vers_major -ge 8; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 8)" - H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-8)" - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-8)" - NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-8)" - fi - - # gcc 9 - if test $cc_vers_major -ge 9; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 9)" - fi - - # gcc >= 9.3 - if test $cc_vers_major -ge 10 -o $cc_vers_major -eq 9 -a $cc_vers_minor -ge 3; then - H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 9.3)" - fi - - # gcc >= 10 - if test $cc_vers_major -ge 10; then - DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-10)" - fi - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X$cc_flags_set" = "X"; then - cc_vendor= - cc_version= -fi - diff --git a/config/ibm-aix b/config/ibm-aix deleted file mode 100644 index d0f34239a94..00000000000 --- a/config/ibm-aix +++ /dev/null @@ -1,132 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - -# Configuration file for building on the IBM AIX platforms. -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. - -# Use AIX supplied C compiler by default, xlc for serial, mpcc_r for parallel. -# Make sure this is applied to other API compile options such as C++. -if test "X-" = "X-$CC"; then - if test "X-$enable_parallel" = "X-yes"; then - CC=mpcc_r - CC_BASENAME=mpcc_r - else - CC=xlc - CC_BASENAME=xlc - fi -fi - -# Define RUNPARALLEL if parallel mode is enabled or a parallel compiler used. -# Define RUNSERIAL: Temporary patch for Bug 1678. -q32 binary default to run -# with smaller memory. -# Ask for more memory so that "make check" will pass. Not necessary for -q64 -# mode but it does no harm. -if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpcc_r; then - RUNPARALLEL=${RUNPARALLEL="env MP_PROCS=\$\${NPROCS:=6} MP_TASKS_PER_NODE=\$\${NPROCS:=6} poe"} -fi - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - if test "X-$enable_parallel" = "X-yes"; then - FC=mpxlf90_r - else - FC=xlf90 - fi -fi - -# While we try to avoid setting FCFLAGS directly for use in compilation, in -# this case we need the -k flag present for some configure checks. As such, -# the configure script saves the user's set FCFLAGS before running, and -# restores them when complete. We must then set up both FCFLAGS and H5_FCFLAGS -# to ensure the flag is present for both configure as well as for the build. -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="-qsuffix=f=f90" - FCFLAGS="$FCFLAGS ${F9XSUFFIXFLAG}" - H5_FCFLAGS="$H5_FCFLAGS ${F9XSUFFIXFLAG}" - FSEARCH_DIRS="-I./ -I../src" - - # Production - PROD_FCFLAGS= - - # Debug - DEBUG_FCFLAGS= - - # Symbols - SYMBOLS_FCFLAGS="-g" - NO_SYMBOLS_FCFLAGS= - - # Profiling - PROFILE_FCFLAGS="-pg" - - # Optimization - HIGH_OPT_FCFLAGS="-O" - DEBUG_OPT_FCFLAGS= - NO_OPT_FCFLAGS= - - f9x_flags_set=yes -fi - -# The default C++ compiler - -# Use AIX supplied C++ compiler by default. -CXX=${CXX=xlC} - -# Added -qweaksymbol to suppress linker messages warning of duplicate -# symbols; these warnings are harmless. - BMR -H5_CXXFLAGS="$H5_CXXFLAGS -qweaksymbol" -AM_CXXFLAGS="$AM_CXXFLAGS" - - -#---------------------------------------------------------------------------- -# Compiler flags. The CPPFLAGS values should not include package debug -# flags like `-DH5G_DEBUG' since these are added with the -# `--enable-debug' switch of configure. - -case $CC_BASENAME in - xlc|xlc-*|xlc_r|xlc_r-*|mpcc_r|mpcc_r-*) - . $srcdir/config/ibm-flags - ;; - - gcc) - . $srcdir/config/gnu-flags - ;; - - *) - # Undetermined compiler - # Use very generic flags - H5_CFLAGS="$H5_CFLAGS -ansi" - - # Production - PROD_CFLAGS= - - # Debug - DEBUG_CFLAGS= - - # Symbols - SYMBOLS_CFLAGS="-g" - NO_SYMBOLS_CFLAGS= - - # Profiling - PROFILE_CFLAGS="-pg" - - # Optimization - HIGH_OPT_CFLAGS="-O" - DEBUG_OPT_CFLAGS= - NO_OPT_CFLAGS= - - # Flags are set - cc_flags_set=yes - ;; -esac diff --git a/config/ibm-flags b/config/ibm-flags deleted file mode 100644 index fd25f2f017e..00000000000 --- a/config/ibm-flags +++ /dev/null @@ -1,122 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# IBM XL compiler or a derivative. It is careful not to do anything -# if the compiler is not IBM; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for XL compiler -# unless a compiler version is already defined. -# -# cc_vendor: The compiler product name: XL -# cc_version: Version number: 10.1 -# cc_version_info: More descriptive version information -# -if test X = "X$cc_flags_set"; then - # Verify this is an IBM XL compiler - cc_version="`$CC $CFLAGS -qversion 2>&1 | grep 'IBM XL C/C++'`" - if test X != "X$cc_version"; then - cc_vendor="XL" - cc_version="`$CC $CFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`" - cc_version_info="IBM XL C/C++ $cc_version" - echo "compiler '$CC' is IBM $cc_vendor-$cc_version" - - # Some more version numbers. - # XL version numbers are of the form: "major.minor.X.Y" - # (Need to find out the official meaning of the 4 components.) - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d.` - cc_vers_patch=`echo $cc_version | cut -f3 -d.` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - cc_vers_all=`expr \( \( $cc_vers_major \* 100 + $cc_vers_minor \) \* 100 \) + $cc_vers_patch` - fi -fi - -# Common XL flags for various situations -if test "XL" = "$cc_vendor"; then - # Insert section about version specific problems from gnu-flags here, if - # necessary. - - # Turn off shared lib option. It causes some test suite to fail. - enable_shared="${enable_shared:-no}" - - # Make sure this is applied to other API compile options such as C++. - AM_CFLAGS="$AM_CFLAGS" - - # -qflag=w:w makes the lowest level of reported compile issues to be "warning" - # instead of "information". This suppresses a very large number of messages - # concerning the portability of __inline__. - H5_CFLAGS="-qlanglvl=stdc99 -qflag=w:w $H5_CFLAGS" - - # Production - PROD_CFLAGS= - - # Debug - # NDEBUG is handled explicitly in configure - DEBUG_CFLAGS="-qfullpath" - - # Symbols - SYMBOLS_CFLAGS="-g" - NO_SYMBOLS_CFLAGS= - - # Profiling - PROFILE_CFLAGS="-pg" - - # Optimization - # -O causes test/dtypes to fail badly. Turn it off for now. - HIGH_OPT_CFLAGS= - DEBUG_OPT_CFLAGS= - NO_OPT_CFLAGS= - - # Flags are set - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= - cc_version_info= -fi - - -# get fortran version info -if test X != X$FC; then - # Verify this is an IBM XL compiler - fc_version="`$FC $FCFLAGS -qversion 2>&1 | grep 'IBM XL Fortran'`" - if test X != "X$fc_version"; then - fc_vendor="XL" - fc_version="`$FC $FCFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`" - fc_version_info="IBM XL Fortran $fc_version" - echo "compiler '$FC' is IBM $fc_vendor-$fc_version" - - fi -fi - - -# get c++ version info -if test X != X$CXX; then - # Verify this is an IBM XL compiler - cxx_version="`$CXX $CXXFLAGS -qversion 2>&1 | grep 'IBM XL C/C++'`" - if test X != "X$cxx_version"; then - cxx_vendor="XL" - cxx_version="`$CXX $CXXFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`" - cxx_version_info="IBM XL C/C++ $cxx_version" - echo "compiler '$CXX' is IBM $cxx_vendor-$cxx_version" - - fi -fi - diff --git a/config/intel-cxxflags b/config/intel-cxxflags deleted file mode 100644 index ae3c9ff0feb..00000000000 --- a/config/intel-cxxflags +++ /dev/null @@ -1,179 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel icpc compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `cxx_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for icpc -# icpc unless a compiler version is already known -# -# cxx_vendor: The compiler name: icpc -# cxx_version: Version number: 8.0 -# -if test X = "X$cxx_flags_set"; then - cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 |grep 'Version'`" - if test X != "X$cxx_version"; then - cxx_vendor=icpc - cxx_version=`echo $cxx_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CXX' is Intel $cxx_vendor-$cxx_version" - - # Some version numbers - # Intel version numbers are of the form: "major.minor" - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` - #cxx_vers_patch=`echo $cxx_version | cut -f2 -d.` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch` - fi -fi - -# Common Intel flags for various situations -if test "X-icpc" = "X-$cxx_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C++11 standard - H5_CXXFLAGS="$H5_CXXFLAGS $arch -std=c++11" - - ############## - # Production # - ############## - - PROD_CXXFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - # -g is handled by the symbols flags - DEBUG_CXXFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS="-Wl,-s" - SYMBOLS_CXXFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_CXXFLAGS="-O3" - DEBUG_OPT_CXXFLAGS="-O0" - NO_OPT_CXXFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # Add various general warning flags in intel-warnings. - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/general)" - - ###################### - # Developer warnings # - ###################### - - # Use the C warnings as CXX warnings are the same - #NO_DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments classic/no-developer-general) - #DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments classic/developer-general) - - ############################# - # Version-specific warnings # - ############################# - - # intel == 8.0 - if test $cxx_vers_major -eq 8 -a $cxx_vers_minor -eq 0; then - # v8.0 -O3 infinite loops when compiling test/tselect.c. Use -O2. - HIGH_OPT_CFLAGS="-O2" - fi - - # intel == 10 - if test $cxx_vers_major -eq 10; then - HIGH_OPT_CFLAGS="-O1" - fi - - # intel >= 15 - if test $cxx_vers_major -ge 15; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/15)" - fi - - # intel >= 18 - if test $cxx_vers_major -ge 18; then - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/18)" - fi - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X-$cxx_flags_set" = "X-"; then - cxx_vendor= - cxx_version= -fi diff --git a/config/intel-fflags b/config/intel-fflags deleted file mode 100644 index c6d88843855..00000000000 --- a/config/intel-fflags +++ /dev/null @@ -1,144 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel ifort compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `f9x_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for ifort -# ifort unless a compiler version is already known -# -# f9x_vendor: The compiler name: ifort -# f9x_version: Version number: 8.0 -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep '^Intel'`" - if test X != "X$f9x_version"; then - f9x_vendor=ifort - f9x_version="`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`" - echo "compiler '$FC' is Intel $f9x_vendor-$f9x_version" - - # Some version numbers - # Intel version numbers are of the form: "major.minor" - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d.` - #f9x_vers_patch=`echo $f9x_version | cut -f2 -d.` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch` - fi -fi - -if test "X-ifort" = "X-$f9x_vendor"; then - - FC_BASENAME=ifort - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ############## - # Production # - ############## - - PROD_FCFLAGS= - - ######### - # Debug # - ######### - - DEBUG_FCFLAGS="-check all" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS= - SYMBOLS_FCFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_FCFLAGS="-O3" - DEBUG_OPT_FCFLAGS= - NO_OPT_FCFLAGS= - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - H5_FCFLAGS="$H5_FCFLAGS -free" - H5_FCFLAGS="$H5_FCFLAGS $(load_intel_arguments classic/ifort-general)" - - ############################# - # Version-specific warnings # - ############################# - - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi - diff --git a/config/intel-flags b/config/intel-flags deleted file mode 100644 index 3f069319331..00000000000 --- a/config/intel-flags +++ /dev/null @@ -1,174 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel icc compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `cc_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for icc -# icc unless a compiler version is already known -# -# cc_vendor: The compiler name: icc -# cc_version: Version number: 8.0 -# -if test X = "X$cc_flags_set"; then - cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'Version'`" - if test X != "X$cc_version"; then - cc_vendor=icc - cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CC' is Intel $cc_vendor-$cc_version" - - # Some version numbers - # Intel version numbers are of the form: "major.minor" - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d.` - #cc_vers_patch=`echo $cc_version | cut -f2 -d.` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch` - fi -fi - -# Common Intel flags for various situations -if test "X-icc" = "X-$cc_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C99 standard. - H5_CFLAGS="$H5_CFLAGS $arch -std=c99" - - ############## - # Production # - ############## - - PROD_CFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - DEBUG_CFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS="-Wl,-s" - SYMBOLS_CFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-O0" - NO_OPT_CFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # Add various general warning flags in intel-warnings. - H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/general)" - - ###################### - # Developer warnings # - ###################### - - #NO_DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments classic/no-developer-general) - #DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments classic/developer-general) - - ############################# - # Version-specific warnings # - ############################# - - # intel == 8.0 - if test $cc_vers_major -eq 8 -a $cc_vers_minor -eq 0; then - # v8.0 -O3 infinite loops when compiling test/tselect.c. Use -O2. - HIGH_OPT_CFLAGS="-O2" - fi - - # intel == 10 - if test $cc_vers_major -eq 10; then - HIGH_OPT_CFLAGS="-O1" - fi - - # intel >= 15 - if test $cc_vers_major -ge 15; then - H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/15)" - fi - - # intel >= 18 - if test $cc_vers_major -ge 18; then - H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/18)" - fi - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= -fi diff --git a/config/linux-gnu b/config/linux-gnu deleted file mode 100644 index bbbcf51ee1e..00000000000 --- a/config/linux-gnu +++ /dev/null @@ -1,401 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -# The default compiler is `gcc'. -if test -z "$CC"; then - if test "X-$enable_parallel" = "X-yes"; then - # default to use mpicc which is the defacto MPI compiler name - CC=mpicc - CC_BASENAME=mpicc - else - CC=gcc - CC_BASENAME=gcc - fi -fi - -# Figure out GNU C compiler flags -. $srcdir/config/gnu-flags - -# Figure out PGI C compiler flags -. $srcdir/config/pgi-flags - -# Figure out CCE C compiler flags -. $srcdir/config/cce-flags - -# Figure out Intel oneAPI C compiler flags -. $srcdir/config/oneapi-flags - -# Figure out Intel classic C compiler flags -. $srcdir/config/intel-flags - -# Figure out Clang C compiler flags -. $srcdir/config/clang-flags - -# Figure out NVHPC C compiler flags -. $srcdir/config/nvidia-flags - -# Use default Fortran 90 compiler according to what C compiler is used. -if test "X-" = "X-$FC"; then - case $CC_BASENAME in - gcc*) - FC=gfortran - FC_BASENAME=gfortran - ;; - pgcc*) - FC=pgf90 - FC_BASENAME=pgf90 - ;; - nvc*) - FC=nvfortran - FC_BASENAME=nvfortran - ;; - icx*) - FC=ifx - FC_BASENAME=ifx - ;; - icc*) - FC=ifort - FC_BASENAME=ifort - ;; - mpicc*) - FC=mpif90 - FC_BASENAME=mpif90 - ;; - clang*) - # clang has no fortran compiler. Use gfortran. - FC=gfortran - FC_BASENAME=gfortran - ;; - esac -else - case $FC in - # The PGI and Intel compilers are automatically detected below - ifc*|ifort*|pgf90*|nvfortran*) - ;; - - *f95*) - # Figure out which compiler we are using: pgf90 or Absoft f95 - RM='rm -f' - tmpfile=/tmp/cmpver.$$ - $FC -V >$tmpfile - if test -s "$tmpfile"; then - if( grep -s 'Absoft' $tmpfile > /dev/null) then - FC_BASENAME=f95 - fi - if( grep -s 'pgf90' $tmpfile > /dev/null) then - FC_BASENAME=pgf90 - fi - fi - $RM $tmpfile - fc_version_info=`$FC -V | grep Absoft` - ;; - # The NAG compiler - *nagfor*|*nagftn*) - RM='rm -f' - tmpfile=/tmp/cmpver.$$ - $FC -V >& $tmpfile - if test -s "$tmpfile"; then - if( grep -s 'NAG Fortran' $tmpfile > /dev/null) then - FC_BASENAME=nagfor - fi - fi - fc_version_info=`grep "NAG Fortran" $tmpfile` - echo "compiler '$FC' is $fc_version_info" - $RM $tmpfile - ;; - *) - ;; - esac -fi - -# Figure out GNU FC compiler flags -. $srcdir/config/gnu-fflags - -# Figure out PGI FC compiler flags -. $srcdir/config/pgi-fflags - -# Figure out CCE FC compiler flags -. $srcdir/config/cce-fflags - -# Figure out Intel oneAPI FC compiler flags -. $srcdir/config/oneapi-fflags - -# Figure out Intel classic FC compiler flags -. $srcdir/config/intel-fflags - -# Figure out Clang FC compiler flags -. $srcdir/config/clang-fflags - -# Figure out NVHPC FC compiler flags -. $srcdir/config/nvidia-fflags - -case $FC_BASENAME in - # - # Absoft compiler - # - f95) - # Set required flag for compiling C stubs - H5_CFLAGS="$H5_CFLAGS" - - F9XSUFFIXFLAG="" - H5_FCFLAGS="$H5_FCFLAGS" - FSEARCH_DIRS="" - - # Production - PROD_FCFLAGS= - - # Debug - DEBUG_FCFLAGS= - - # Symbols - SYMBOLS_FCFLAGS="-g" - NO_SYMBOLS_FCFLAGS="-s" - - # Profiling - PROFILE_FCFLAGS="-pg" - - # Optimization - HIGH_OPT_FCFLAGS="-O" - DEBUG_OPT_FCFLAGS= - NO_OPT_FCFLAGS= - - f9x_flags_set=yes - ;; -# -# NAG compiler -# - nagfor) - - F9XSUFFIXFLAG="" - AM_FCFLAGS="$AM_FCFLAGS" - FSEARCH_DIRS="" - - # Production - PROD_FCFLAGS= - - # Debug - DEBUG_FCFLAGS="-C" - - # Symbols - SYMBOLS_FCFLAGS="-g" - NO_SYMBOLS_FCFLAGS="-s" - - # Profiling - PROFILE_FCFLAGS="-pg" - - # Optimization - HIGH_OPT_FCFLAGS="-O" - DEBUG_OPT_FCFLAGS="-O0" - NO_OPT_FCFLAGS="-O0" - - f9x_flags_set=yes - ;; - -esac - -# The default C++ compiler - -# The default compiler is `g++'. -if test -z "$CXX"; then - CXX=g++ - CXX_BASENAME=g++ -fi - -# Figure out Intel oneAPI CXX compiler flags -. $srcdir/config/oneapi-cxxflags - -# Figure out Intel classic CXX compiler flags -# Do this ahead of GNU to avoid icpc being detected as g++ -. $srcdir/config/intel-cxxflags - -# Figure out GNU CXX compiler flags -. $srcdir/config/gnu-cxxflags - -# Figure out PGI CXX compiler flags -. $srcdir/config/pgi-cxxflags - -# Figure out Clang CXX compiler flags -. $srcdir/config/clang-cxxflags - -# Figure out NVHPC CXX compiler flags -. $srcdir/config/nvidia-cxxflags - -# compiler version strings - -# check if the compiler_version_info is already set -if test -z "$cc_version_info"; then - -case $CC in - # whatever matches *pgcc* will also match *gcc*, so this one must come first - *pgcc*) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS -V 2>&1 | grep 'pgcc'` - ;; - - *gcc*) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS --version 2>&1 | grep -v 'PathScale' |\ - grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'` - ;; - # this must come before *icc* for the same reason - *mpicc*) - cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -v 2>&1 | grep 'version' |\ - sed 's/^[a-z0-9]* for //' |\ - sed 's/\"/\\\"/g' |\ - sed 's/^\([a-z]* \)/ built with \1/1'` - cc_version_info=`echo $cc_version_info` - ;; - - *nvc*) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS -V 2>&1 | grep 'nvc'` - ;; - - *icx*) - cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *icc*) - cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *clang*) - cc_version_info="`$CC $CFLAGS $H5_CFLAGS --version 2>&1 |\ - grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" - ;; - - *) - echo "No match to get cc_version_info for $CC" - ;; -esac - -fi - -# get fortran version info -# check if the compiler_version_info is already set -if test -z "$fc_version_info"; then -case $FC in - *gfortran*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\ - grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'` - ;; - - *mpif90*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -v 2>&1 | grep 'version' |\ - sed 's/^[a-z0-9]* for //' |\ - sed 's/\"/\\\"/g' |\ - sed 's/^\([a-z]* \)/ built with \1/1'` - fc_version_info=`echo $fc_version_info` - ;; - - *ifx*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *ifc*|*ifort*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - - *f95*) - # Figure out which compiler we are using: pgf90 or Absoft f95 - RM='rm -f' - tmpfile=/tmp/cmpver.$$ - $FC -V >$tmpfile - if test -s "$tmpfile"; then - if( grep -s 'Absoft' $tmpfile > /dev/null) then - FC_BASENAME=f95 - fi - fi - $RM $tmpfile - fc_version_info=`$FC -V | grep Absoft` - ;; - - *g95*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\ - grep 'GCC'` - ;; - - *pgf90*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'pgf90'` - ;; - - *nvfortran*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'nvfortran'` - ;; - - *nagfor*|*nagftn*) - RM='rm -f' - tmpfile=/tmp/cmpver.$$ - $FC -V >& $tmpfile - if test -s "$tmpfile"; then - if( grep -s 'NAG Fortran' $tmpfile > /dev/null) then - FC_BASENAME=nagfor - fi - fi - fc_version_info=`grep "NAG Fortran" $tmpfile` - $RM $tmpfile - echo "compiler '$FC' is $fc_version_info" - ;; - - *) - echo "No match to get fc_version_info for $FC" - ;; -esac -fi - -# get c++ version info -# check if the compiler_version_info is already set -if test -z "$cxx_version_info"; then -case $CXX in - *nvc++*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'nvc++'` - ;; - *pgc++*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'pgc++'` - ;; - *g++*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ - grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'` - ;; - *icpx*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - *icpc*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\ - sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` - ;; - *mpicxx*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 | grep 'version' |\ - sed 's/^[a-z0-9]* for //' |\ - sed 's/^\([a-z]* \)/ built with \1/1'` - cxx_version_info=`echo $cxx_version_info` - ;; - - *clang++*) - cxx_version_info="`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ - grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" - ;; - - *) - echo "No match to get cxx_version_info for $CXX" - ;; -esac -fi diff --git a/config/netbsd b/config/netbsd deleted file mode 100644 index 27020d46258..00000000000 --- a/config/netbsd +++ /dev/null @@ -1,64 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -# The default compiler is `gcc' -if test "X-" = "X-$CC"; then - CC=gcc - CC_BASENAME=gcc -fi - -# Figure out C compiler flags -. $srcdir/config/gnu-flags - -# Figure out Intel oneAPI C compiler flags -. $srcdir/config/oneapi-flags - -# Figure out Intel classic C compiler flags -. $srcdir/config/intel-flags - -# The default Fortran 90 compiler -if test "X-" = "X-$FC"; then - case $CC_BASENAME in - gcc*|pgcc*) - FC=gfortran - FC_BASENAME=gfortran - ;; - icx*) - FC=ifx - FC_BASENAME=ifx - ;; - icc*) - FC=ifort - FC_BASENAME=ifort - ;; - mpicc*) - FC=mpif90 - FC_BASENAME=mpif90 - ;; - esac -fi - -# Figure out FORTRAN compiler flags -. $srcdir/config/gnu-fflags - -# Figure out Intel oneAPI FC compiler flags -. $srcdir/config/intel-fflags - -# Figure out Intel classic FC compiler flags -. $srcdir/config/oneapi-fflags diff --git a/config/nvidia-cxxflags b/config/nvidia-cxxflags deleted file mode 100644 index dfac0f74cf8..00000000000 --- a/config/nvidia-cxxflags +++ /dev/null @@ -1,101 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# NVIDIA nvc++ compiler or a derivative. It is careful not to do anything -# if the compiler is not NVIDIA; otherwise `cxx_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for NVIDIA nvc++ -# unless a compiler version is already known -# -# cxx_vendor: The compiler name: nvc++ -# cxx_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$cxx_flags_set"; then - cxx_version="`$CXX $CXXFLAGS -V 2>&1 |grep '^nvc++ '`" - if test X != "X$cxx_version"; then - cxx_vendor=`echo $cxx_version |sed 's/\([a-z]*++\).*/\1/'` - cxx_version=`echo $cxx_version |sed 's/nvc++ \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CXX' is NVIDIA $cxx_vendor-$cxx_version" - - # Some version numbers - # NVIDIA version numbers are of the form: "major.minor-patch" - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d. | cut -f1 -d-` - cxx_vers_patch=`echo $cxx_version | cut -f2 -d. | cut -f2 -d-` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch` - fi -fi - -# Common PGI flags for various situations -if test "X-nvc++" = "X-$cxx_vendor"; then - - ########### - # General # - ########### - - # Default to C++11 standard - H5_CXXFLAGS="$H5_CXXFLAGS -std=c++11 -Minform=warn" - - ############## - # Production # - ############## - - PROD_CXXFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - # -g is handled by the symbols flags - DEBUG_CXXFLAGS="-Mbounds" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS="-s" - SYMBOLS_CXXFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_CXXFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CXXFLAGS="-O4" - DEBUG_OPT_CXXFLAGS="-gopt -O2" - NO_OPT_CXXFLAGS="-O0" - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X-$cxx_flags_set" = "X-"; then - cxx_vendor= - cxx_version= -fi diff --git a/config/nvidia-fflags b/config/nvidia-fflags deleted file mode 100644 index a6879468058..00000000000 --- a/config/nvidia-fflags +++ /dev/null @@ -1,139 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# NVIDIA nvfortran compiler or a derivative. It is careful not to do anything -# if the compiler is not NVIDIA; otherwise `f9x_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for NVIDIA nvfortran -# unless a compiler version is already known -# -# f9x_vendor: The compiler name: nvfortran -# f9x_version: Version number: -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS -V 2>&1 |grep '^nvfortran '`" - if test X != "X$f9x_version"; then - is_mpi="`$FC $FCFLAGS -help 2>&1 |grep 'link MPI'`" - f9x_vendor=`echo $f9x_version |sed 's/\([a-z0-9]*\).*/\1/'` - f9x_version=`echo $f9x_version |sed 's/nvfortran \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$FC' is NVIDIA $f9x_vendor-$f9x_version" - - # Some version numbers - # NVIDIA version numbers are of the form: "major.minor-patch" - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d. | cut -f1 -d-` - f9x_vers_patch=`echo $f9x_version | cut -f2 -d. | cut -f2 -d-` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch` - fi -fi - -# Common NVIDIA flags for various situations -if test "X-nvfortran" = "X-$f9x_vendor"; then - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ############## - # Production # - ############## - - # Check for MPI wrapper being used and tweak down compiler options - # Comment out the Tweaking since it caused problems to mpich1.2.6. - # Need to investigate the reasons to tweak. - #if test "X-" == "X-$is_mpi"; then - # PROD_FCFLAGS="-fast -s -Mnoframe" - #else - # PROD_FCFLAGS="-O2 -s" - #fi - PROD_FCFLAGS="-fast -Mnoframe -fPIC" - - ######### - # Debug # - ######### - - DEBUG_FCFLAGS="-Mbounds -Mchkptr -Mdclchk -fPIC" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS="-s" - SYMBOLS_FCFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_FCFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_FCFLAGS= - DEBUG_OPT_FCFLAGS= - NO_OPT_FCFLAGS= - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - FC_BASENAME=nvfortran - Fortran_COMPILER_ID=NVIDIA - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - # Uncomment the following to add something specific for FCFLAGS. - #FCFLAGS="$FCFLAGS" - - - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi - diff --git a/config/nvidia-flags b/config/nvidia-flags deleted file mode 100644 index cff61c6ecca..00000000000 --- a/config/nvidia-flags +++ /dev/null @@ -1,123 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# NVIDIA nvc compiler or a derivative. It is careful not to do anything -# if the compiler is not nvcc; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for nvc -# unless a compiler version is already known -# -# cc_vendor: The compiler name: nvc -# cc_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$cc_flags_set"; then - cc_version="`$CC $CFLAGS -V 2>&1 |grep '^nvc '`" - if test X != "X$cc_version"; then - is_mpi="`$CC $CFLAGS -help 2>&1 |grep 'MPI'`" - cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'` - cc_version=`echo $cc_version |sed 's/nvc \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CC' is NVIDIA $cc_vendor-$cc_version" - - # Some version numbers - # NVIDIA version numbers are of the form: "major.minor-patch" - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d. | cut -f1 -d-` - cc_vers_patch=`echo $cc_version | cut -f2 -d. | cut -f2 -d-` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch` - fi -fi - -# Common PGI flags for various situations -if test "X-nvc" = "X-$cc_vendor" -o "X-nvcc" = "X-$cc_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C11 standard. - H5_CFLAGS="$H5_CFLAGS $arch -std=c11 -Minform=warn" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - #PROD_CFLAGS="-fast" - PROD_CFLAGS="" # -fast implies -O2 and -O2+ currently has test failures. - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CFLAGS="-Mbounds" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS="-s" - SYMBOLS_CFLAGS="-gopt" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_CFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-O1" # -O0 can be very slow - NO_OPT_CFLAGS="-O0" - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= -fi diff --git a/config/oneapi-cxxflags b/config/oneapi-cxxflags deleted file mode 100644 index f8d873509a1..00000000000 --- a/config/oneapi-cxxflags +++ /dev/null @@ -1,155 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel icpx compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `cxx_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for icpx -# icpx unless a compiler version is already known -# -# cxx_vendor: The compiler name: icpx -# cxx_version: Version number: 2023.2.0 -# -if test X = "X$cxx_flags_set"; then - cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 |grep 'oneAPI'`" - if test X != "X$cxx_version"; then - cxx_vendor=icpx - cxx_version=`echo $cxx_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CXX' is Intel oneAPI $cxx_vendor-$cxx_version" - - # Some version numbers - # Intel oneAPI version numbers are of the form: "major.minor.patch" - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` - cxx_vers_patch=`echo $cxx_version | cut -f2 -d.` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch` - fi -fi - -# Common Intel flags for various situations -if test "X-icpx" = "X-$cxx_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C++11 standard - H5_CXXFLAGS="$H5_CXXFLAGS $arch -std=c++11" - - ############## - # Production # - ############## - - PROD_CXXFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - # -g is handled by the symbols flags - DEBUG_CXXFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS="-Wl,-s" - SYMBOLS_CXXFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_CXXFLAGS="-O3" - DEBUG_OPT_CXXFLAGS="-O0" - NO_OPT_CXXFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # Add various general warning flags in intel-warnings. - # Use the C warnings as CXX warnings are the same - H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments oneapi/general)" - - ###################### - # Developer warnings # - ###################### - - # Use the C warnings as CXX warnings are the same - DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments oneapi/developer-general) - - ############################# - # Version-specific warnings # - ############################# - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X-$cxx_flags_set" = "X-"; then - cxx_vendor= - cxx_version= -fi diff --git a/config/oneapi-fflags b/config/oneapi-fflags deleted file mode 100644 index 1bd64bcb738..00000000000 --- a/config/oneapi-fflags +++ /dev/null @@ -1,145 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel oneAPI ifx compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `f9x_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for ifx -# ifx unless a compiler version is already known -# -# f9x_vendor: The compiler name: ifx -# f9x_version: Version number: 2023.2.0 -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep '^Intel'`" - if test X != "X$f9x_version"; then - f9x_vendor=ifx - f9x_version="`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`" - echo "compiler '$FC' is Intel oneAPI $f9x_vendor-$f9x_version" - - # Some version numbers - # Intel oneAPI version numbers are of the form: "major.minor.patch" - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d.` - f9x_vers_patch=`echo $f9x_version | cut -f2 -d.` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch` - fi -fi - -if test "X-ifx" = "X-$f9x_vendor"; then - - FC_BASENAME=ifx - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ############## - # Production # - ############## - - PROD_FCFLAGS= - - ######### - # Debug # - ######### - - # Don't use -check uninit or you'll get false positives from H5_buildiface - DEBUG_FCFLAGS="-check all,nouninit" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS= - SYMBOLS_FCFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_FCFLAGS="-O3" - DEBUG_OPT_FCFLAGS="-O0" - NO_OPT_FCFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - H5_FCFLAGS="$H5_FCFLAGS -free" - H5_FCFLAGS="$H5_FCFLAGS $(load_intel_arguments oneapi/ifort-general)" - - ############################# - # Version-specific warnings # - ############################# - - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi - diff --git a/config/oneapi-flags b/config/oneapi-flags deleted file mode 100644 index 49607a04e11..00000000000 --- a/config/oneapi-flags +++ /dev/null @@ -1,151 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# Intel icx compiler or a derivative. It is careful not to do anything -# if the compiler is not Intel; otherwise `cc_flags_set' is set to `yes' -# - -# -# Prepend `$srcdir/config/intel-warnings/` to the filename suffix(es) given as -# subroutine argument(s), remove comments starting with # and ending -# at EOL, replace spans of whitespace (including newlines) with spaces, -# and re-emit the file(s) thus filtered on the standard output stream. -# -load_intel_arguments() -{ - set -- $(for arg; do - sed 's,#.*$,,' $srcdir/config/intel-warnings/${arg} - done) - IFS=' ' echo "$*" -} - -# Get the compiler version in a way that works for icx -# icx unless a compiler version is already known -# cc_vendor: The compiler name: icx -# cc_version: Version number: 2023.2.0 -# -if test X = "X$cc_flags_set"; then - cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'oneAPI'`" - if test X != "X$cc_version"; then - cc_vendor=icx - cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CC' is Intel oneAPI $cc_vendor-$cc_version" - - # Some version numbers - # Intel oneAPI version numbers are of the form: "major.minor.patch" - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d.` - cc_vers_patch=`echo $cc_version | cut -f2 -d.` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch` - fi -fi - -# Common Intel flags for various situations -if test "X-icx" = "X-$cc_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C11 standard. - H5_CFLAGS="$H5_CFLAGS $arch -std=c11" - - ############## - # Production # - ############## - - PROD_CFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - DEBUG_CFLAGS= - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS="-Wl,-s" - SYMBOLS_CFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-p" - - ################ - # Optimization # - ################ - - HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-O0" - NO_OPT_CFLAGS="-O0" - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - # Add various general warning flags in intel-warnings. - H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments oneapi/general)" - - ###################### - # Developer warnings # - ###################### - - DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments oneapi/developer-general) - - ############################# - # Version-specific warnings # - ############################# - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= -fi diff --git a/config/pgi-cxxflags b/config/pgi-cxxflags deleted file mode 100644 index d513f2dff1d..00000000000 --- a/config/pgi-cxxflags +++ /dev/null @@ -1,101 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# PGI pgc++ compiler or a derivative. It is careful not to do anything -# if the compiler is not PGI; otherwise `cxx_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for pgc++ -# pgc++ unless a compiler version is already known -# -# cxx_vendor: The compiler name: pgc++ -# cxx_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$cxx_flags_set"; then - cxx_version="`$CXX $CXXFLAGS -V 2>&1 |grep '^pgc++ '`" - if test X != "X$cxx_version"; then - cxx_vendor=`echo $cxx_version |sed 's/\([a-z]*++\).*/\1/'` - cxx_version=`echo $cxx_version |sed 's/pgc++ \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CXX' is PGI $cxx_vendor-$cxx_version" - - # Some version numbers - # PGI version numbers are of the form: "major.minor-patch" - cxx_vers_major=`echo $cxx_version | cut -f1 -d.` - cxx_vers_minor=`echo $cxx_version | cut -f2 -d. | cut -f1 -d-` - cxx_vers_patch=`echo $cxx_version | cut -f2 -d. | cut -f2 -d-` - test -n "$cxx_vers_major" || cxx_vers_major=0 - test -n "$cxx_vers_minor" || cxx_vers_minor=0 - test -n "$cxx_vers_patch" || cxx_vers_patch=0 - cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch` - fi -fi - -# Common PGI flags for various situations -if test "X-pgc++" = "X-$cxx_vendor"; then - - ########### - # General # - ########### - - # Default to C++11 standard - H5_CXXFLAGS="$H5_CXXFLAGS -std=c++11 -Minform=warn" - - ############## - # Production # - ############## - - PROD_CXXFLAGS= - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly in configure - # -g is handled by the symbols flags - DEBUG_CXXFLAGS="-Mbounds" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CXXFLAGS="-s" - SYMBOLS_CXXFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CXXFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_CXXFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CXXFLAGS="-O4" - DEBUG_OPT_CXXFLAGS="-gopt -O2" - NO_OPT_CXXFLAGS="-O0" - - ################# - # Flags are set # - ################# - cxx_flags_set=yes -fi - -# Clear cxx info if no flags set -if test "X-$cxx_flags_set" = "X-"; then - cxx_vendor= - cxx_version= -fi diff --git a/config/pgi-fflags b/config/pgi-fflags deleted file mode 100644 index 55588fff846..00000000000 --- a/config/pgi-fflags +++ /dev/null @@ -1,139 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# PGI pgf90 compiler or a derivative. It is careful not to do anything -# if the compiler is not PGI; otherwise `f9x_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for pgf90 -# pgf90 unless a compiler version is already known -# -# f9x_vendor: The compiler name: pgf90 -# f9x_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$f9x_flags_set"; then - f9x_version="`$FC $FCFLAGS -V 2>&1 |grep '^pgf90 '`" - if test X != "X$f9x_version"; then - is_mpi="`$FC $FCFLAGS -help 2>&1 |grep 'link MPI'`" - f9x_vendor=`echo $f9x_version |sed 's/\([a-z0-9]*\).*/\1/'` - f9x_version=`echo $f9x_version |sed 's/pgf90 \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$FC' is PGI $f9x_vendor-$f9x_version" - - # Some version numbers - # PGI version numbers are of the form: "major.minor-patch" - f9x_vers_major=`echo $f9x_version | cut -f1 -d.` - f9x_vers_minor=`echo $f9x_version | cut -f2 -d. | cut -f1 -d-` - f9x_vers_patch=`echo $f9x_version | cut -f2 -d. | cut -f2 -d-` - test -n "$f9x_vers_major" || f9x_vers_major=0 - test -n "$f9x_vers_minor" || f9x_vers_minor=0 - test -n "$f9x_vers_patch" || f9x_vers_patch=0 - f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch` - fi -fi - -# Common PGI flags for various situations -if test "X-pgf90" = "X-$f9x_vendor"; then - - ############################### - # Architecture-specific flags # - ############################### - - arch= - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ############## - # Production # - ############## - - # Check for MPI wrapper being used and tweak down compiler options - # Comment out the Tweaking since it caused problems to mpich1.2.6. - # Need to investigate the reasons to tweak. - #if test "X-" == "X-$is_mpi"; then - # PROD_FCFLAGS="-fast -s -Mnoframe" - #else - # PROD_FCFLAGS="-O2 -s" - #fi - PROD_FCFLAGS="-fast -Mnoframe" - - ######### - # Debug # - ######### - - DEBUG_FCFLAGS="-Mbounds -Mchkptr -Mdclchk" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_FCFLAGS="-s" - SYMBOLS_FCFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_FCFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_FCFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_FCFLAGS= - DEBUG_OPT_FCFLAGS= - NO_OPT_FCFLAGS= - - ############ - # Warnings # - ############ - - ########### - # General # - ########### - - FC_BASENAME=pgf90 - Fortran_COMPILER_ID=PGI - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - # Uncomment the following to add something specific for FCFLAGS. - #FCFLAGS="$FCFLAGS" - - - - ################# - # Flags are set # - ################# - f9x_flags_set=yes -fi - -# Clear f9x info if no flags set -if test "X-$f9x_flags_set" = "X-"; then - f9x_vendor= - f9x_version= -fi - diff --git a/config/pgi-flags b/config/pgi-flags deleted file mode 100644 index 7c9f5ae726b..00000000000 --- a/config/pgi-flags +++ /dev/null @@ -1,122 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file should be sourced into configure if the compiler is the -# PGI pgcc compiler or a derivative. It is careful not to do anything -# if the compiler is not PGI; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version in a way that works for pgcc -# pgcc unless a compiler version is already known -# -# cc_vendor: The compiler name: pgcc -# cc_version: Version number: 5.0-2, 5.2-2 -# -if test X = "X$cc_flags_set"; then - cc_version="`$CC $CFLAGS -V 2>&1 |grep '^pgcc '`" - if test X != "X$cc_version"; then - is_mpi="`$CC $CFLAGS -help 2>&1 |grep 'MPI'`" - cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'` - cc_version=`echo $cc_version |sed 's/pgcc \([-a-z0-9\.\-]*\).*/\1/'` - echo "compiler '$CC' is PGI $cc_vendor-$cc_version" - - # Some version numbers - # PGI version numbers are of the form: "major.minor-patch" - cc_vers_major=`echo $cc_version | cut -f1 -d.` - cc_vers_minor=`echo $cc_version | cut -f2 -d. | cut -f1 -d-` - cc_vers_patch=`echo $cc_version | cut -f2 -d. | cut -f2 -d-` - test -n "$cc_vers_major" || cc_vers_major=0 - test -n "$cc_vers_minor" || cc_vers_minor=0 - test -n "$cc_vers_patch" || cc_vers_patch=0 - cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch` - fi -fi - -# Common PGI flags for various situations -if test "X-pgcc" = "X-$cc_vendor"; then - # Insert section about version specific problems from compiler flags here, - # if necessary. - - arch= - # Architecture-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "$host_os-$host_cpu" in - # *-i686) - # arch="-march=i686" - # ;; - #esac - - # Host-specific flags - # Nothing currently. (Uncomment code below and modify to add any) - #case "`hostname`" in - # sleipnir.ncsa.uiuc.edu) - # arch="$arch -pipe" - # ;; - #esac - - ########### - # General # - ########### - - # Default to C99 standard. - H5_CFLAGS="$H5_CFLAGS $arch -c99 -Minform=warn" - - ############## - # Production # - ############## - - # NDEBUG is handled explicitly by the configure script - PROD_CFLAGS="-fast" - - ######### - # Debug # - ######### - - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CFLAGS="-Mbounds" - - ########### - # Symbols # - ########### - - NO_SYMBOLS_CFLAGS="-s" - SYMBOLS_CFLAGS="-g" - - ############# - # Profiling # - ############# - - PROFILE_CFLAGS="-Mprof=func,line" - # Use this for profiling with gprof - #PROFILE_CFLAGS="-pg" - - ################ - # Optimization # - ################ - - HIGH_OPT_CFLAGS="-O4" - DEBUG_OPT_CFLAGS="-gopt -O2" - NO_OPT_CFLAGS="-O0" - - ################# - # Flags are set # - ################# - cc_flags_set=yes -fi - -# Clear cc info if no flags set -if test "X-$cc_flags_set" = "X-"; then - cc_vendor= - cc_version= -fi diff --git a/config/solaris b/config/solaris deleted file mode 100644 index 172793e6753..00000000000 --- a/config/solaris +++ /dev/null @@ -1,216 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the LICENSE file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. - - -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details - -# The default compiler is `sunpro cc' -if test "X-" = "X-$CC"; then - CC=cc - CC_BASENAME=cc -fi - -# Try gcc compiler flags -. $srcdir/config/gnu-flags - -# Try solaris native compiler flags -if test "X-" = "X-$cc_flags_set"; then - # HDF5 must be built with a C99 compiler on Solaris - # -erroff=%none turns on all warnings - H5_CFLAGS="$H5_CFLAGS -xc99=all -erroff=%none" - - # Production - # NDEBUG is handled explicitly by the configure script - PROD_CFLAGS= - - # Debug - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CFLAGS= - - # Symbols - # -g produces output for dbx, NOT gdb. You can use "gdb on" from - # inside gdb to use gdb commands if you need to debug. - # If you want a LOT of debugging information (at the expense of - # really slow code), try using -g3. That will even let you debug - # into macros. - # -s strips symbols, as in gcc - NO_SYMBOLS_CFLAGS="-s" - SYMBOLS_CFLAGS="-g" - - # Profile - # This produces profiling output for gprof. If you want to use - # the Solaris profiler, use -xprofile instead. - PROFILE_CFLAGS="-xpg" - - # Optimization - # -O has switched to -xO{1|2|3|4|5}. -xO3 is probably a good compromise - # for the daily tests, but you might want to switch to -xO2 or lower - # if you are actively debugging. - HIGH_OPT_CFLAGS="-xO5" - DEBUG_OPT_CFLAGS="-xO3" - NO_OPT_CFLAGS= - - cc_flags_set=yes - # Special linking flag is needed to build with Fortran on Solaris 5.9 - system_version="`uname -r`" - case "$system_version" in - 5.9*) - # Need the xopenmp flag to build the Fortran library - if test X-$enable_fortran = X-yes; then - AM_LDFLAGS="$AM_LDFLAGS -xopenmp=stubs" - fi - ;; - esac - -fi - -LIBS="$LIBS" - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - FC=f90 -fi - -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - - H5_FCFLAGS="$H5_FCFLAGS" - - # TODO: Revisit these flags. - - # Production - # NDEBUG is handled explicitly by the configure script - PROD_FCFLAGS= - - # Debug - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_FCFLAGS= - - # Symbols - NO_SYMBOLS_FCFLAGS= - SYMBOLS_FCFLAGS="-g" - - # Profile - PROFILE_FCFLAGS= - - # Optimization - # -g produces rather slow code. "-g -O" produces much faster code with some - # loss of debugger functions such as not able to print local variables. - HIGH_OPT_FCFLAGS="-O2" - DEBUG_OPT_FCFLAGS="-O" - NO_OPT_FCFLAGS= - - f9x_flags_set=yes -fi - -# The default C++ compiler - -# The default compiler is `sunpro cc' -if test -z "$CXX"; then - CXX=CC - CXX_BASENAME=CC -fi - -# Try gcc compiler flags -#. $srcdir/config/gnu-flags - -cxx_version="`$CXX -V 2>&1 |grep 'WorkShop' |\ - sed 's/.*WorkShop.*C++ \([0-9\.]*\).*/\1/'`" - -cxx_vers_major=`echo $cxx_version | cut -f1 -d.` -cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` -cxx_vers_patch=`echo $cxx_version | cut -f3 -d.` - -# Specify the "-features=tmplife" if the compiler can handle this... -if test -n "$cxx_version"; then - if test $cxx_vers_major -ge 5 -a $cxx_vers_minor -ge 3 -o $cxx_vers_major -gt 5; then - H5_CXXFLAGS="$H5_CXXFLAGS -features=tmplife" - fi -fi - -# Try solaris native compiler flags -if test -z "$cxx_flags_set"; then - H5_CXXFLAGS="$H5_CXXFLAGS -instances=static" - H5_CPPFLAGS="$H5_CPPFLAGS -LANG:std" - - # Production - # NDEBUG is handled explicitly by the configure script - PROD_CXXFLAGS= - - # Debug - # NDEBUG is handled explicitly by the configure script - # -g is handled by the symbols flags - DEBUG_CXXFLAGS= - - # Symbols - NO_SYMBOLS_CXXFLAGS="-s" - SYMBOLS_CXXFLAGS="-g" - - # Profile - PROFILE_CXXFLAGS="-xpg" - - # Optimization - # -g produces rather slow code. "-g -O" produces much faster code with some - # loss of debugger functions such as not able to print local variables. - HIGH_OPT_CXXFLAGS="-O" - DEBUG_OPT_CXXFLAGS="-O" - NO_OPT_CXXFLAGS= - - cxx_flags_set=yes -fi - -# compiler version strings -case $CC in - *cc*) - cc_version_info=`$CC $CFLAGS $H5_CFLAGS -V 2>&1 | grep 'Sun' |\ - sed 's/.*\(Sun .*\)/\1 /'` - ;; - - *) - echo "No match to get cc_version_info for $CC" - ;; -esac -echo "C compiler '$CC' is $cc_version_info" - -case $FC in - # The PGI and Intel compilers are automatically detected below - *f90*) - fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Sun' |\ - sed 's/.*\(Sun .*\)/\1 /'` - ;; - - *) - echo "No match to get fc_version_info for $FC" - ;; -esac -echo "Fortran compiler '$FC' is $fc_version_info" - -# get c++ version info -case $CXX in - *CC*) - cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Sun' |\ - sed 's/.*\(Sun .*\)/\1 /'` - ;; - - *) - echo "No match to get cxx_version_info for $CXX" - ;; -esac - diff --git a/doc/branches-explained.md b/doc/branches-explained.md index f2aa6272a19..44f09c65159 100644 --- a/doc/branches-explained.md +++ b/doc/branches-explained.md @@ -20,7 +20,7 @@ introduced in minor releases. Maintenance branches are removed when a release-l ## `Release branches` Release branches are used to prepare a new production release. They are primarily used to allow for last minute dotting of i's and crossing of t's -(things like setting the release version, finalizing release notes, and generating Autotools files) and do not include new development. +(things like setting the release version, finalizing release notes, and generating release files) and do not include new development. They are created from the maintenance branch at the time of the maintenance release and have names like hdf5\_1\_10\_N, where N is the minor release number. Once the release is done it is tagged, with a slightly different format: hdf5-1\_\10\_N. Release branches are deleted after the tag has been created. If we have to create a patch version of a release (which is rare), we create a branch off of the tag. diff --git a/doc/file-locking.md b/doc/file-locking.md index 067f7ab3993..b009b122f81 100644 --- a/doc/file-locking.md +++ b/doc/file-locking.md @@ -189,12 +189,6 @@ for the associated properties in the fapl. Users can override the configure defaults using `H5Pset_file_locking()` or the `HDF5_USE_FILE_LOCKING` environment variable. -- Autotools - - `--enable-file-locking=(yes|no|best-effort)` sets the file locking behavior. - `on` and `off` should be self-explanatory. `best-effort` turns file locking - on but ignores file locks when they are disabled (default: `best-effort`). - - CMake - set `IGNORE_DISABLED_FILE_LOCK` to `ON` to ignore file locks when they diff --git a/doxygen/dox/VOLConnGuide.dox b/doxygen/dox/VOLConnGuide.dox index 04a88e99331..ea187b54a75 100644 --- a/doxygen/dox/VOLConnGuide.dox +++ b/doxygen/dox/VOLConnGuide.dox @@ -24,7 +24,7 @@ is necessary to write a VOL connector. Writing a VOL connector requires these things: \li Decide on library vs plugin vs internal. -\li Set up your build/test files (CMake, Autotools, etc.). +\li Set up your build/test files (CMake, etc.). \li Fill in some boilerplate information in yourH5VLclasststruct. \li Decide how you will perform any necessary initialization needed by your storage system. \li Map Storage to HDF5 File Objects @@ -163,7 +163,7 @@ CMakeLists.txt files in the source distribution's src directory. This requires m a private build of the library, though, and is not recommended. \subsection subsecVOLBuild Build Files / VOL Template -We have created a template terminal VOL connector that includes both Autotools and CMake build files. The +We have created a template terminal VOL connector that includes CMake build files. The constructed VOL connector includes no real functionality, but can be registered and loaded as a plugin. The VOL template can be found here: diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index fca5e4163a3..2c91e03daf9 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -15,7 +15,6 @@ Section VII: User Defined Options for HDF5 Libraries with CMake Section VIII: User Defined Compile Flags for HDF5 Libraries with CMake Section IX: Considerations for cross-compiling Section X: Using CMakePresets.json for compiling -Section XI: Autotools Configuration and Build ************************************************************************ @@ -1216,12 +1215,6 @@ For instance, to change the support files to use a local directory, edit CMakeUs Then you can change or add options for your specific case. -======================================================================== -XI. Autotools Configuration and Build -======================================================================== -See RELEASE.txt in the release_notes/ directory for the list of platforms -tested for this release. - ======================================================================== For further assistance, send email to help@hdfgroup.org diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt index 208a2d836eb..b5e08be016d 100644 --- a/release_docs/INSTALL_Cygwin.txt +++ b/release_docs/INSTALL_Cygwin.txt @@ -117,137 +117,14 @@ Build, Test and Install HDF5 on Cygwin $ export FC=gfortran -4. Configuring +3. Follow build and test steps in the INSTALL_CMake.txt file. - Notes: See detailed information in hdf5/release_docs/INSTALL_Autotools.txt. - - The host configuration file for Cygwin is located - in the `config' directory and are based on architecture name, - vendor name, and operating system which are displayed near the - beginning of the `configure' output. The host config file influences - the behavior of configure by setting or augmenting shell variables. - - In short, - - To configure HDF5 C Library, using - - $ ./configure - - To configure HDF5 C/C++ Library, using - - $ ./configure --enable-cxx - - To configure HDF5 C/Fortran Library, using - - $ ./configure --enable-fortran - - To configure HDF5 C with Szip library, using - - $ ./configure --with-szlib="path to szlib" - - For example, if Szip library was installed in the directory - /cygdrive/c/szip, which is parent directory of "include" and - "lib", then the following command will configure HDF5 C library - with Szip enabled: - - $ ./configure --with-szlib=/cygdrive/c/szip - - To configure HDF5 C without zlib, - - To disable zlib, using - - $ ./configure --without-zlib - - Two ways to configure HDF5 C with specified zlib - - Using - - $ ./configure --with-zlib=INCDIR,LIBDIR - - For example, if the zlib library is installed in - /cygdrive/c/usr, which is the parent directory of directories - "include" and "lib", - - $ ./configure --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib - - Through the CPPFLAGS and LDFLAGS Variables - - For example, if zlib was installed in the directory - /cygdrive/c/usr then using the following command to configure - HDF5 with zib - - $ CPPFLAGS=-I/cygdrive/c/usr/include \ - $ LDFLAGS=-L/cygdrive/c/usr/lib \ - $ ./configure - - To specify the installation directories, using - - $ ./configure --prefix="path for installation" - - By default, HDF5 library, header files, examples, and - support programs will be installed in /usr/local/lib, - /usr/local/include, /usr/local/doc/hdf5/examples, and - /usr/local/bin. To use a path other than /usr/local specify - the path with the `--prefix=PATH' switch as in the above - command. - - Combination of Switches - - All of the above switches can be combined together. For - example, if users want to configure HDF5 C/C++/Fortran - library with Szip library enabled, with zlib library at - /cygdrive/c/usr/, and install HDF5 into directory - /cygdrive/c/hdf5 using gcc/g++ as C/C++ compiler and gfortran - as fortran compiler - - $ ./configure - --with-szlib=/cygdrive/c/szip - --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib - --prefix=/cygdrive/c/hdf5 - --enable-cxx - --enable-fortran - <"If no more switches, then hit Enter"> - - Notes: The command format above is for readilibity. In practice, - please type in the command above with at least one - space between each line, No "Enter" until users finish - the switches and want to run the configure. - - - or do it through CPPFLAGS and LDFLAGS variables: - - $ CPPFLAGS=-I/cygdrive/c/usr/include \ - $ LDFLAGS=-L/cygdrive/c/usr/lib \ - - $ ./configure - --with-szlib=/cygdrive/c/szip - --prefix=/cygdrive/c/hdf5 - --enable-cxx - --enable-fortran - <"If no more switches, then hit Enter"> - -5. Make and Make Check - - After configuration is done successfully, run the following series of - commands to build, test and install HDF5 - - $ make > "output file name" - $ make check > "output file name" - - Before run "make install", check output file for "make check", there - should be no failures at all. - -6. Make Install - - $ make install > "output file name" - - -7. Check installed HDF5 library +4. Check installed HDF5 library After step 6, go to your installation directory, there should be three subdirectories: "bin" "include" and "lib". -8. Known Problems +5. Known Problems cache_api tests may fail. This is a known issue with Cygwin. diff --git a/release_docs/INSTALL_Warnings.txt b/release_docs/INSTALL_Warnings.txt index 97981be5ba6..3f3ced40392 100644 --- a/release_docs/INSTALL_Warnings.txt +++ b/release_docs/INSTALL_Warnings.txt @@ -22,12 +22,6 @@ I. Managing Warnings ======================================================================== Compiler warnings are managed by setting the compiler flags variables. -Autotools uses the H5_CFLAGS and H5_CXXFLAGS, both variables set the flags nearly - identical, along with H5_FCFLAGS for Fortran. Autotools uses the type - and version of the compiler to determine which warning flags are used. - However, there is an option, enable-developer-warnings, to enable extra - flags for developers. - CMake uses the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS, both sets are nearly identical, along with CMAKE_Fortran_FLAGS for Fortran. CMake has a minimum set of flags for GNU type compilers and for MSVC compilers. In @@ -38,7 +32,6 @@ CMake uses the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS, both sets are nearly warnings is HDF5_ENABLE_DEV_WARNINGS. Custom settings can be used by setting; - Environment variables H5_CFLAGS and H5_CXXFLAGS for Autotools CMake defines CMAKE_C_FLAGS and CMAKE_CXX_FLAGS for CMake @@ -46,237 +39,6 @@ Custom settings can be used by setting; II. Default Warnings ======================================================================== --------------------------------------------------- -Autotools UNIX warnings added to H5_CFLAGS --------------------------------------------------- - -std=c99 - - the following warning switches should not raise warnings by the current code - -pedantic - -Wall - -Wextra - -Wbad-function-cast - -Wc++-compat - -Wcast-align - -Wcast-qual - -Wconversion - -Wdisabled-optimization - -Wfloat-equal - -Wformat=2 - -Winit-self - -Winvalid-pch - -Wmissing-declarations - -Wmissing-include-dirs - -Wmissing-prototypes - -Wnested-externs - -Wold-style-definition - -Wpacked - -Wpointer-arith - -Wredundant-decls - -Wshadow - -Wstrict-prototypes - -Wswitch-default - -Wswitch-enum - -Wundef - -Wunused-macros - -Wunsafe-loop-optimizations - -Wwrite-strings - - enable-developer-warnings=ON - -Winline - -Waggregate-return - -Wmissing-format-attribute - -Wmissing-noreturn - -Wunsuffixed-float-constants (gcc 4.5+) - enable-developer-warnings=OFF - -Wno-inline - -Wno-aggregate-return - -Wno-missing-format-attribute - -Wno-missing-noreturn - -Wno-unsuffixed-float-constants (gcc 4.5+) - -IF GCC <= 4.3 - -Wno-long-long - -Wvolatile-register-var - -Wstrict-overflow - -IF GCC <= 4.4 - -Wno-long-long - -Wvolatile-register-var - -Wstrict-overflow - -Wlogical-op - -Wvla - -IF GCC <= 4.5 - -Wno-long-long - -Wvolatile-register-var - -Wstrict-overflow - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -IF GCC <= 4.6 - -Wno-long-long - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-aliasing - -Wstrict-overflow=5 - -Wjump-misses-init - -IF GCC <= 4.7 - -Wno-long-long - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-aliasing - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - enable-developer-warnings=ON: - -Wsuggest-attribute=const - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -IF GCC <= 4.8 - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - -Wstack-usage=8192 - -Wvector-operation-performance - enable-developer-warnings=ON: - -Wsuggest-attribute=const - -Wsuggest-attribute=pure - -Wsuggest-attribute=noreturn - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -Wno-suggest-attribute=pure - -Wno-suggest-attribute=noreturn - -IF GCC <= 4.9 - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - -Wstack-usage=8192 - -Wvector-operation-performance - enable-developer-warnings=ON: - -Wsuggest-attribute=const - -Wsuggest-attribute=pure - -Wsuggest-attribute=noreturn - -Wsuggest-attribute=format - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -Wno-suggest-attribute=pure - -Wno-suggest-attribute=noreturn - -Wno-suggest-attribute=format - -IF GCC < 5 - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - -Wstack-usage=8192 - -Wvector-operation-performance - -Wdate-time - enable-developer-warnings=ON: - -Wsuggest-attribute=const - -Wsuggest-attribute=pure - -Wsuggest-attribute=noreturn - -Wsuggest-attribute=format - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -Wno-suggest-attribute=pure - -Wno-suggest-attribute=noreturn - -Wno-suggest-attribute=format - -IF GCC < 6 - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - -Wstack-usage=8192 - -Wvector-operation-performance - -Wdate-time - -Warray-bounds=2 - -Wc99-c11-compat - enable-developer-warnings=ON: - -Wsuggest-attribute=const - -Wsuggest-attribute=pure - -Wsuggest-attribute=noreturn - -Wsuggest-attribute=format - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -Wno-suggest-attribute=pure - -Wno-suggest-attribute=noreturn - -Wno-suggest-attribute=format - -IF GCC < 7 - -Wlogical-op - -Wvla - -Wlarger-than=2048 - -Wsync-nand - -Wframe-larger-than=16384 - -Wpacked-bitfield-compat - -Wstrict-overflow=5 - -Wjump-misses-init - -Wdouble-promotion - -Wtrampolines - -Wstack-usage=8192 - -Wvector-operation-performance - -Wdate-time - -Warray-bounds=2 - -Wc99-c11-compat - -Wnull-dereference - -Wunused-const-variable - -Wduplicated-cond -Whsa - enable-developer-warnings=ON: - -Wsuggest-attribute=const - -Wsuggest-attribute=pure - -Wsuggest-attribute=noreturn - -Wsuggest-attribute=format - enable-developer-warnings=OFF: - -Wno-suggest-attribute=const - -Wno-suggest-attribute=pure - -Wno-suggest-attribute=noreturn - -Wno-suggest-attribute=format - - -------------------------------------------- CMake warnings added to CMAKE_C_FLAGS -------------------------------------------- diff --git a/release_docs/RELEASE_PROCESS.md b/release_docs/RELEASE_PROCESS.md index 0cb18fcdf2b..c6c52babaab 100644 --- a/release_docs/RELEASE_PROCESS.md +++ b/release_docs/RELEASE_PROCESS.md @@ -203,7 +203,6 @@ For more information on the HDF5 versioning and backward and forward compatibili [u3]: https://github.com/HDFGroup/hdf5/blob/develop/LICENSE [u4]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs [u5]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs/INSTALL -[u6]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs/INSTALL_Autotools.txt [u7]: https://github.com/HDFGroup/hdf5/blob/develop/release_docs/INSTALL_CMake.txt [u8]: https://github.com/HDFGroup/hdf5/blob/develop/.github/workflows/release.yml [u9]: https://github.com/HDFGroup/hdf5/blob/develop/config/lt_vers.am diff --git a/src/H5build_settings.autotools.c.in b/src/H5build_settings.autotools.c.in deleted file mode 100644 index 36547212e54..00000000000 --- a/src/H5build_settings.autotools.c.in +++ /dev/null @@ -1,118 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the LICENSE file, which can be found at the root of the source code * - * distribution tree, or in https://www.hdfgroup.org/licenses. * - * If you do not have access to either file, you may request a copy from * - * help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#include "H5private.h" - -H5_GCC_DIAG_OFF("larger-than=") -H5_CLANG_DIAG_OFF("overlength-strings") - -const char H5build_settings[]= - " SUMMARY OF THE HDF5 CONFIGURATION\n" - " =================================\n" - "\n" - "General Information:\n" - "-------------------\n" - " HDF5 Version: @H5_VERSION@\n" - " Configured on: @CONFIG_DATE@\n" - " Configured by: @CONFIG_USER@\n" - " Host system: @host_cpu@-@host_vendor@-@host_os@\n" - " Uname information: @UNAME_INFO@\n" - " Byte sex: @BYTESEX@\n" - " Installation point: @prefix@\n" - "\n" - "Compiling Options:\n" - "------------------\n" - " Build Mode: @BUILD_MODE@\n" - " Debugging Symbols: @SYMBOLS@\n" - " Asserts: @ASSERTS@\n" - " Profiling: @PROFILING@\n" - " Optimization Level: @OPTIMIZATION@\n" - "\n" - "Linking Options:\n" - "----------------\n" - " Libraries: @STATIC_SHARED@\n" - " Statically Linked Executables: @LT_STATIC_EXEC@\n" - " LDFLAGS: @LDFLAGS@\n" - " H5_LDFLAGS: @H5_LDFLAGS@\n" - " AM_LDFLAGS: @AM_LDFLAGS@\n" - " Extra libraries: @LIBS@\n" - " Archiver: @AR@\n" - " AR_FLAGS: @AR_FLAGS@\n" - " Ranlib: @RANLIB@\n" - "\n" - "Languages:\n" - "----------\n" - " C: yes\n" - " C Compiler: @CC_VERSION@\n" - " CPPFLAGS: @CPPFLAGS@\n" - " H5_CPPFLAGS: @H5_CPPFLAGS@\n" - " AM_CPPFLAGS: @AM_CPPFLAGS@\n" - " C Flags: @CFLAGS@\n" - " H5 C Flags: @H5_CFLAGS@\n" - " AM C Flags: @AM_CFLAGS@\n" - " Shared C Library: @enable_shared@\n" - " Static C Library: @enable_static@\n" - "\n" - "\n" - " Fortran: @HDF_FORTRAN@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " Fortran Compiler: @FC_VERSION@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " Fortran Flags: @FCFLAGS@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " H5 Fortran Flags: @H5_FCFLAGS@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " AM Fortran Flags: @AM_FCFLAGS@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " Shared Fortran Library: @H5_FORTRAN_SHARED@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " Static Fortran Library: @enable_static@\n" -@BUILD_FORTRAN_CONDITIONAL_TRUE@ " Module Directory: @fmoddir@\n" - "\n" - " C++: @HDF_CXX@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " C++ Compiler: @CXX_VERSION@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " C++ Flags: @CXXFLAGS@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " H5 C++ Flags: @H5_CXXFLAGS@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " AM C++ Flags: @AM_CXXFLAGS@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " Shared C++ Library: @enable_shared@\n" -@BUILD_CXX_CONDITIONAL_TRUE@ " Static C++ Library: @enable_static@\n" - "\n" - " Java: @HDF_JAVA@\n" -@BUILD_JAVA_CONDITIONAL_TRUE@ " Java Compiler: @JAVA_VERSION@\n" - "\n" - "\n" - "Features:\n" - "---------\n" - " Parallel HDF5: @PARALLEL@\n" - " Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@\n" - " Large Parallel I/O: @LARGE_PARALLEL_IO@\n" - " High-level library: @HDF5_HL@\n" - "Dimension scales w/ new references: @DIMENSION_SCALES_WITH_NEW_REF@\n" - " Build HDF5 Tests: @HDF5_TESTS@\n" - " Build HDF5 Tools: @HDF5_TOOLS@\n" - " Threads: @THREADS@\n" - " Threadsafety: @THREADSAFE@\n" - " Concurrency: @CONCURRENCY@\n" - " Default API mapping: @DEFAULT_API_VERSION@\n" - " With deprecated public symbols: @DEPRECATED_SYMBOLS@\n" - " I/O filters (external): @EXTERNAL_FILTERS@\n" - " _Float16 support: @HAVE__FLOAT16@\n" - " Map (H5M) API: @MAP_API@\n" - " Direct VFD: @DIRECT_VFD@\n" - " Mirror VFD: @MIRROR_VFD@\n" - " Subfiling VFD: @SUBFILING_VFD@\n" - " (Read-Only) S3 VFD: @ROS3_VFD@\n" - " (Read-Only) HDFS VFD: @HAVE_LIBHDFS@\n" - " Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@\n" - " API tracing: @TRACE_API@\n" - " Using memory checker: @USINGMEMCHECKER@\n" - " Use file locking: @DESIRED_FILE_LOCKING@\n" - " Strict file format checks: @STRICT_FORMAT_CHECKS@\n" - " Optimization instrumentation: @INSTRUMENT_LIBRARY@\n" -; - -H5_GCC_DIAG_ON("larger-than=") -H5_CLANG_DIAG_OFF("overlength-strings")