mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
Adds a -Werror debug Autotools test and updates build modes (#1833)
* Adds a -Werror debug Autotools test and updates build modes * Un-excludes the workflow files * Strip out -Werror from CFLAGS when running configure tests This causes spurious test failures when the configuration test programs raise warnings.
This commit is contained in:
parent
015240e790
commit
41526f68f3
29
.github/workflows/main.yml
vendored
29
.github/workflows/main.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
strategy:
|
||||
# fail-fast: false
|
||||
matrix:
|
||||
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"]
|
||||
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "-Werror Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"]
|
||||
include:
|
||||
- name: "Windows Latest MSVC"
|
||||
artifact: "Windows-MSVC.tar.xz"
|
||||
@ -35,6 +35,7 @@ jobs:
|
||||
hl: ON
|
||||
parallel: OFF
|
||||
generator: "-G \"Visual Studio 17 2022\" -A x64"
|
||||
flags: ""
|
||||
- name: "Ubuntu Latest GCC"
|
||||
artifact: "Linux.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -47,6 +48,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "macOS Latest Clang"
|
||||
artifact: "macOS.tar.xz"
|
||||
os: macos-latest
|
||||
@ -59,6 +61,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/clang.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "Ubuntu Debug GCC"
|
||||
artifact: "LinuxDBG.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -71,6 +74,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "Ubuntu Autotools GCC"
|
||||
artifact: "LinuxA.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -83,6 +87,7 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
- name: "Ubuntu Debug Autotools GCC"
|
||||
artifact: "LinuxA.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -95,6 +100,21 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
# Build that ensures no new warnings sneak into the library.
|
||||
- name: "-Werror Ubuntu Debug Autotools GCC"
|
||||
artifact: "LinuxA.tar.xz"
|
||||
os: ubuntu-latest
|
||||
build_type: "debug"
|
||||
cpp: disable
|
||||
fortran: disable
|
||||
java: disable
|
||||
ts: disable
|
||||
hl: enable
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: "CFLAGS=-Werror"
|
||||
# Threadsafe runs
|
||||
- name: "Windows TS MSVC"
|
||||
artifact: "Windows-MSVCTS.tar.xz"
|
||||
@ -108,6 +128,7 @@ jobs:
|
||||
hl: OFF
|
||||
parallel: OFF
|
||||
generator: "-G \"Visual Studio 16 2019\" -A x64"
|
||||
flags: ""
|
||||
- name: "Ubuntu TS GCC"
|
||||
artifact: "LinuxTS.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -120,6 +141,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "macOS TS Clang"
|
||||
artifact: "macOSTS.tar.xz"
|
||||
os: macos-latest
|
||||
@ -132,6 +154,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/clang.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "TS Debug GCC"
|
||||
artifact: "LinuxTSDBG.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -144,6 +167,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "TS Autotools GCC"
|
||||
artifact: "LinuxATS.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -156,6 +180,7 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
|
||||
name: ${{ matrix.name }}
|
||||
# The type of runner that the job will run on
|
||||
@ -197,7 +222,7 @@ jobs:
|
||||
sh ./autogen.sh
|
||||
mkdir "${{ runner.workspace }}/build"
|
||||
cd "${{ runner.workspace }}/build"
|
||||
$GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java
|
||||
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java
|
||||
shell: bash
|
||||
env:
|
||||
CC: gcc-11
|
||||
|
29
.github/workflows/pr-check.yml
vendored
29
.github/workflows/pr-check.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
||||
strategy:
|
||||
# fail-fast: false
|
||||
matrix:
|
||||
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"]
|
||||
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "-Werror Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"]
|
||||
include:
|
||||
- name: "Windows Latest MSVC"
|
||||
artifact: "Windows-MSVC.tar.xz"
|
||||
@ -34,6 +34,7 @@ jobs:
|
||||
hl: ON
|
||||
parallel: OFF
|
||||
generator: "-G \"Visual Studio 17 2022\" -A x64"
|
||||
flags: ""
|
||||
- name: "Ubuntu Latest GCC"
|
||||
artifact: "Linux.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -46,6 +47,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "macOS Latest Clang"
|
||||
artifact: "macOS.tar.xz"
|
||||
os: macos-latest
|
||||
@ -58,6 +60,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/clang.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "Ubuntu Debug GCC"
|
||||
artifact: "LinuxDBG.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -70,6 +73,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "Ubuntu Autotools GCC"
|
||||
artifact: "LinuxA.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -82,6 +86,7 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
- name: "Ubuntu Debug Autotools GCC"
|
||||
artifact: "LinuxA.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -94,6 +99,21 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
# Build that ensures no new warnings sneak into the library.
|
||||
- name: "-Werror Ubuntu Debug Autotools GCC"
|
||||
artifact: "LinuxDBG.tar.xz"
|
||||
os: ubuntu-latest
|
||||
build_type: "debug"
|
||||
cpp: disable
|
||||
fortran: disable
|
||||
java: disable
|
||||
ts: disable
|
||||
hl: enable
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: "CFLAGS=-Werror"
|
||||
# Threadsafe runs
|
||||
- name: "Windows TS MSVC"
|
||||
artifact: "Windows-MSVCTS.tar.xz"
|
||||
@ -107,6 +127,7 @@ jobs:
|
||||
hl: OFF
|
||||
parallel: OFF
|
||||
generator: "-G \"Visual Studio 16 2019\" -A x64"
|
||||
flags: ""
|
||||
- name: "Ubuntu TS GCC"
|
||||
artifact: "LinuxTS.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -119,6 +140,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "macOS TS Clang"
|
||||
artifact: "macOSTS.tar.xz"
|
||||
os: macos-latest
|
||||
@ -131,6 +153,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/clang.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "TS Debug GCC"
|
||||
artifact: "LinuxTSDBG.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -143,6 +166,7 @@ jobs:
|
||||
parallel: OFF
|
||||
toolchain: "config/toolchain/GCC.cmake"
|
||||
generator: "-G Ninja"
|
||||
flags: ""
|
||||
- name: "TS Autotools GCC"
|
||||
artifact: "LinuxATS.tar.xz"
|
||||
os: ubuntu-latest
|
||||
@ -155,6 +179,7 @@ jobs:
|
||||
parallel: disable
|
||||
toolchain: ""
|
||||
generator: "autogen"
|
||||
flags: ""
|
||||
|
||||
name: ${{ matrix.name }}
|
||||
# The type of runner that the job will run on
|
||||
@ -196,7 +221,7 @@ jobs:
|
||||
sh ./autogen.sh
|
||||
mkdir "${{ runner.workspace }}/build"
|
||||
cd "${{ runner.workspace }}/build"
|
||||
$GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java
|
||||
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java
|
||||
shell: bash
|
||||
env:
|
||||
CC: gcc-11
|
||||
|
10
configure.ac
10
configure.ac
@ -160,6 +160,8 @@ AM_JNIFLAGS="${AM_JNIFLAGS}"
|
||||
AM_JAVACFLAGS="${AM_JAVACFLAGS}"
|
||||
AM_JAVAFLAGS="${AM_JAVAFLAGS}"
|
||||
AM_LDFLAGS="${AM_LDFLAGS}"
|
||||
|
||||
## Flags passed in by the user
|
||||
CFLAGS="${CFLAGS}"
|
||||
CXXFLAGS="${CXXFLAGS}"
|
||||
FCFLAGS="${FCFLAGS}"
|
||||
@ -181,6 +183,14 @@ saved_user_JAVAFLAGS="$JAVAFLAGS"
|
||||
saved_user_LDFLAGS="$LDFLAGS"
|
||||
saved_user_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
## Strip out -Werror from CFLAGS since that can cause checks to fail when
|
||||
## compiling the test program fails due to warnings
|
||||
CFLAGS="`echo $CFLAGS | sed -e 's/-Werror//g'`"
|
||||
CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-Werror//g'`"
|
||||
FCFLAGS="`echo $FCFLAGS | sed -e 's/-Werror//g'`"
|
||||
JAVACFLAGS="`echo $JAVACFLAGS | sed -e 's/-Werror//g'`"
|
||||
CPPFLAGS="`echo $CPPFLAGS | sed -e 's/-Werror//g'`"
|
||||
|
||||
## Support F9X variable to define Fortran compiler if FC variable is
|
||||
## not used. This should be deprecated in the future.
|
||||
if test "x" = "x$FC"; then
|
||||
|
Loading…
Reference in New Issue
Block a user