From: Rob Browning Date: Sat, 30 Oct 2021 19:07:55 +0000 (-0500) Subject: configure: support optional cc arguments X-Git-Url: https://arthur.barton.de/gitweb/?p=bup.git;a=commitdiff_plain;h=9118aca5f232cc9a4da573a367da31ea8bee2fd5;hp=7e054ad95acda596469c40159867f936c1a8f851 configure: support optional cc arguments I noticed in some unrelated reports that older compilers were rejecting -Wno-unsed-command-line-argument, so add bup-add-cflag-if-supported to configure and use it for that argument. Signed-off-by: Rob Browning Tested-by: Rob Browning --- diff --git a/GNUmakefile b/GNUmakefile index f3245f5..83d141d 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -40,9 +40,9 @@ LDFLAGS ?= TARGET_ARCH ?= bup_shared_cflags := -O2 -Wall -Werror -Wformat=2 -bup_shared_cflags := -Wno-unused-command-line-argument $(bup_shared_cflags) bup_shared_cflags := -Wno-unknown-pragmas -Wsign-compare $(bup_shared_cflags) bup_shared_cflags := -D_FILE_OFFSET_BITS=64 $(bup_shared_cflags) +bup_shared_cflags := $(bup_config_cflags) $(bup_shared_cflags) bup_shared_ldflags := diff --git a/config/config.vars.in b/config/config.vars.in index 627f995..4101ed3 100644 --- a/config/config.vars.in +++ b/config/config.vars.in @@ -2,6 +2,7 @@ CONFIGURE_FILES=@CONFIGURE_FILES@ GENERATED_FILES=@GENERATED_FILES@ CC = @CC@ +bup_config_cflags = @bup_config_cflags@ bup_make=@bup_make@ bup_python_config=@bup_python_config@ diff --git a/config/configure b/config/configure index 85495ae..b27a419 100755 --- a/config/configure +++ b/config/configure @@ -35,6 +35,27 @@ bup_try_c_code() return $rc } +bup_config_cflags=() + +bup-add-cflag-if-supported() +{ + local opt="$1" + if test -z "$opt"; then + AC_FAIL 'No option to check' + fi + TLOGN "checking for $AC_CC $opt support" + if bup_try_c_code \ + "int main(int argc, char**argv) { return 0; }" \ + "$opt"; + then + bup_config_cflags+="$opt" + TLOG ' (found)' + else + TLOG ' (not found)' + fi +} + + TARGET=bup argv=() @@ -63,6 +84,8 @@ if ! AC_PROG_CC; then exit 1 fi +bup-add-cflag-if-supported -Wno-unused-command-line-argument + for make_candidate in make gmake; do found_make="$(bup_find_prog "$make_candidate" "$MAKE")" if test "$found_make" \ @@ -331,6 +354,8 @@ AC_SUB bup_have_libacl "$bup_have_libacl" AC_CC="$orig_ac_cc" LIBS="$orig_libs" +AC_SUB bup_config_cflags "$bup_config_cflags" + AC_OUTPUT config.vars set -euo pipefail