mirror of
https://github.com/clearml/dropbear
synced 2025-03-06 03:59:15 +00:00
Add configure --enable-werror argument
This should be used instead of putting -Werror in CFLAGS before configure, as -Werror interferes with conftests. Update github actions to use that.
This commit is contained in:
parent
8da9646c83
commit
bcb9d78d83
19
.github/workflows/build.yml
vendored
19
.github/workflows/build.yml
vendored
@ -15,6 +15,8 @@ jobs:
|
|||||||
# runcheck: 'no'
|
# runcheck: 'no'
|
||||||
# Otherwise GH expressions will make a None var
|
# Otherwise GH expressions will make a None var
|
||||||
# compare with False. We want an undefined default of True.
|
# compare with False. We want an undefined default of True.
|
||||||
|
|
||||||
|
# MULTI and NOWRITEV are passed as integers to the build
|
||||||
include:
|
include:
|
||||||
- name: plain linux
|
- name: plain linux
|
||||||
|
|
||||||
@ -24,10 +26,10 @@ jobs:
|
|||||||
- name: bundled libtom, bionic , no writev()
|
- name: bundled libtom, bionic , no writev()
|
||||||
# test can use an older distro with bundled libtommath
|
# test can use an older distro with bundled libtommath
|
||||||
os: ubuntu-18.04
|
os: ubuntu-18.04
|
||||||
configure_flags: --enable-bundled-libtom
|
configure_flags: --enable-bundled-libtom --enable-werror
|
||||||
# NOWRITEV is unrelated, test here to save a job
|
# NOWRITEV is unrelated, test here to save a job
|
||||||
nowritev: 1
|
nowritev: 1
|
||||||
# pytest relies on python3.7
|
# our tests expect >= python3.7
|
||||||
runcheck: 'no'
|
runcheck: 'no'
|
||||||
|
|
||||||
- name: linux clang
|
- name: linux clang
|
||||||
@ -37,7 +39,7 @@ jobs:
|
|||||||
os: macos-10.15
|
os: macos-10.15
|
||||||
cc: clang
|
cc: clang
|
||||||
# OS X says daemon() and utmp are deprecated
|
# OS X says daemon() and utmp are deprecated
|
||||||
wextraflags: -Wno-deprecated-declarations -Werror
|
extracflags: -Wno-deprecated-declarations
|
||||||
runcheck: 'no'
|
runcheck: 'no'
|
||||||
apt: 'no'
|
apt: 'no'
|
||||||
# fails with:
|
# fails with:
|
||||||
@ -47,7 +49,7 @@ jobs:
|
|||||||
- name: macos 11
|
- name: macos 11
|
||||||
os: macos-11
|
os: macos-11
|
||||||
cc: clang
|
cc: clang
|
||||||
wextraflags: -Wno-deprecated-declarations -Werror
|
extracflags: -Wno-deprecated-declarations
|
||||||
runcheck: 'no'
|
runcheck: 'no'
|
||||||
apt: 'no'
|
apt: 'no'
|
||||||
ranlib: ranlib -no_warning_for_no_symbols
|
ranlib: ranlib -no_warning_for_no_symbols
|
||||||
@ -55,7 +57,7 @@ jobs:
|
|||||||
# # Fuzzers run standalone. A bit superfluous with cifuzz, but
|
# # Fuzzers run standalone. A bit superfluous with cifuzz, but
|
||||||
# # good to run the whole corpus to keep it working.
|
# # good to run the whole corpus to keep it working.
|
||||||
# - name: fuzzing with address sanitizer
|
# - name: fuzzing with address sanitizer
|
||||||
# configure_flags: --enable-fuzz --disable-harden --enable-bundled-libtom
|
# configure_flags: --enable-fuzz --disable-harden --enable-bundled-libtom --enable-werror
|
||||||
# ldflags: -fsanitize=address
|
# ldflags: -fsanitize=address
|
||||||
# extracflags: -fsanitize=address
|
# extracflags: -fsanitize=address
|
||||||
# fuzz: True
|
# fuzz: True
|
||||||
@ -63,7 +65,7 @@ jobs:
|
|||||||
|
|
||||||
# # Undefined Behaviour sanitizer
|
# # Undefined Behaviour sanitizer
|
||||||
# - name: fuzzing with undefined behaviour sanitizer
|
# - name: fuzzing with undefined behaviour sanitizer
|
||||||
# configure_flags: --enable-fuzz --disable-harden --enable-bundled-libtom
|
# configure_flags: --enable-fuzz --disable-harden --enable-bundled-libtom --enable-werror
|
||||||
# ldflags: -fsanitize=undefined
|
# ldflags: -fsanitize=undefined
|
||||||
# # don't fail with alignment due to https://github.com/libtom/libtomcrypt/issues/549
|
# # don't fail with alignment due to https://github.com/libtom/libtomcrypt/issues/549
|
||||||
# extracflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=alignment
|
# extracflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=alignment
|
||||||
@ -72,11 +74,10 @@ jobs:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
MULTI: ${{ matrix.multi }}
|
MULTI: ${{ matrix.multi }}
|
||||||
WEXTRAFLAGS: ${{ matrix.wextraflags || '-Werror' }}
|
|
||||||
CC: ${{ matrix.cc || 'gcc' }}
|
CC: ${{ matrix.cc || 'gcc' }}
|
||||||
LDFLAGS: ${{ matrix.ldflags }}
|
LDFLAGS: ${{ matrix.ldflags }}
|
||||||
EXTRACFLAGS: ${{ matrix.extracflags }}
|
EXTRACFLAGS: ${{ matrix.extracflags }}
|
||||||
CONFIGURE_FLAGS: ${{ matrix.configure_flags }}
|
CONFIGURE_FLAGS: ${{ matrix.configure_flags || '--enable-werror' }}
|
||||||
# for fuzzing
|
# for fuzzing
|
||||||
CXX: clang++
|
CXX: clang++
|
||||||
RANLIB: ${{ matrix.ranlib || 'ranlib' }}
|
RANLIB: ${{ matrix.ranlib || 'ranlib' }}
|
||||||
@ -106,7 +107,7 @@ jobs:
|
|||||||
key: "hg.ucc/fuzzcorpus"
|
key: "hg.ucc/fuzzcorpus"
|
||||||
|
|
||||||
- name: configure
|
- name: configure
|
||||||
run: ./configure $CONFIGURE_FLAGS CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS $EXTRACFLAGS" --prefix="$HOME/inst" || (cat config.log; exit 1)
|
run: ./configure $CONFIGURE_FLAGS CFLAGS="-O2 -Wall -Wno-pointer-sign $EXTRACFLAGS" --prefix="$HOME/inst" || (cat config.log; exit 1)
|
||||||
|
|
||||||
- name: nowritev
|
- name: nowritev
|
||||||
if: ${{ matrix.nowritev }}
|
if: ${{ matrix.nowritev }}
|
||||||
|
20
configure
vendored
20
configure
vendored
@ -697,6 +697,7 @@ ac_user_opts='
|
|||||||
enable_option_checking
|
enable_option_checking
|
||||||
enable_static
|
enable_static
|
||||||
enable_harden
|
enable_harden
|
||||||
|
enable_werror
|
||||||
enable_largefile
|
enable_largefile
|
||||||
with_zlib
|
with_zlib
|
||||||
enable_zlib
|
enable_zlib
|
||||||
@ -1354,6 +1355,7 @@ Optional Features:
|
|||||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||||
--enable-static Build static binaries
|
--enable-static Build static binaries
|
||||||
--disable-harden Don't set hardened build flags
|
--disable-harden Don't set hardened build flags
|
||||||
|
--enable-werror Set -Werror when building
|
||||||
--disable-largefile omit support for large files
|
--disable-largefile omit support for large files
|
||||||
--disable-zlib Don't include zlib support
|
--disable-zlib Don't include zlib support
|
||||||
--enable-pam Try to include PAM support
|
--enable-pam Try to include PAM support
|
||||||
@ -2378,6 +2380,7 @@ $as_echo "$as_me: Source directory Mercurial base revision $hgrev" >&6;}
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ORIGCFLAGS="$CFLAGS"
|
ORIGCFLAGS="$CFLAGS"
|
||||||
|
LATE_CFLAGS=""
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
ac_cpp='$CPP $CPPFLAGS'
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
@ -3506,6 +3509,20 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check whether --enable-werror was given.
|
||||||
|
if test "${enable_werror+set}" = set; then :
|
||||||
|
enableval=$enable_werror;
|
||||||
|
if test "x$enableval" = "xyes"; then
|
||||||
|
# -Werror shouldn't be set when configure runs tests.
|
||||||
|
# We add it to the Makefile's CFLAGS
|
||||||
|
LATE_CFLAGS+="$LATE_CFLAGS -Werror"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Enabling -Werror" >&5
|
||||||
|
$as_echo "$as_me: Enabling -Werror" >&6;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# large file support is useful for scp
|
# large file support is useful for scp
|
||||||
# Check whether --enable-largefile was given.
|
# Check whether --enable-largefile was given.
|
||||||
if test "${enable_largefile+set}" = set; then :
|
if test "${enable_largefile+set}" = set; then :
|
||||||
@ -7440,6 +7457,9 @@ if test $BUNDLED_LIBTOM = 1 ; then
|
|||||||
LIBTOM_FILES="libtomcrypt/Makefile libtommath/Makefile"
|
LIBTOM_FILES="libtomcrypt/Makefile libtommath/Makefile"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# flags that should be set in Makefile but not for configure tests
|
||||||
|
CFLAGS="$CFLAGS $LATE_CFLAGS"
|
||||||
|
|
||||||
ac_config_headers="$ac_config_headers config.h"
|
ac_config_headers="$ac_config_headers config.h"
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile $LIBTOM_FILES test/Makefile"
|
ac_config_files="$ac_config_files Makefile $LIBTOM_FILES test/Makefile"
|
||||||
|
15
configure.ac
15
configure.ac
@ -16,6 +16,7 @@ if test -s "`which hg`" && test -d "$srcdir/.hg"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ORIGCFLAGS="$CFLAGS"
|
ORIGCFLAGS="$CFLAGS"
|
||||||
|
LATE_CFLAGS=""
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
|
||||||
@ -127,6 +128,17 @@ if test "$hardenbuild" -eq 1; then
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(werror,
|
||||||
|
[ --enable-werror Set -Werror when building],
|
||||||
|
[
|
||||||
|
if test "x$enableval" = "xyes"; then
|
||||||
|
# -Werror shouldn't be set when configure runs tests.
|
||||||
|
# We add it to the Makefile's CFLAGS
|
||||||
|
LATE_CFLAGS+="$LATE_CFLAGS -Werror"
|
||||||
|
AC_MSG_NOTICE(Enabling -Werror)
|
||||||
|
fi
|
||||||
|
], [])
|
||||||
|
|
||||||
# large file support is useful for scp
|
# large file support is useful for scp
|
||||||
AC_SYS_LARGEFILE
|
AC_SYS_LARGEFILE
|
||||||
|
|
||||||
@ -861,6 +873,9 @@ if test $BUNDLED_LIBTOM = 1 ; then
|
|||||||
LIBTOM_FILES="libtomcrypt/Makefile libtommath/Makefile"
|
LIBTOM_FILES="libtomcrypt/Makefile libtommath/Makefile"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# flags that should be set in Makefile but not for configure tests
|
||||||
|
CFLAGS="$CFLAGS $LATE_CFLAGS"
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_FILES(Makefile $LIBTOM_FILES test/Makefile)
|
AC_CONFIG_FILES(Makefile $LIBTOM_FILES test/Makefile)
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
Loading…
Reference in New Issue
Block a user