diff options
author | Timm Bäder <tbaeder@redhat.com> | 2021-02-17 10:27:08 +0100 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2021-03-06 03:14:34 +0100 |
commit | 1645d4a7e62898167337235dda933e0cde373bd7 (patch) | |
tree | 98a39669611276f88a308f58ce2b9e81b4313f45 | |
parent | 00d92d0b6a495a81e4c585be7a41f10ef4b6d47c (diff) | |
download | elfutils-1645d4a7e62898167337235dda933e0cde373bd7.tar.gz |
build: Check for -Wno-packed-not-aligned support
Clang does not support this warning, so check for compiler support
before using it.
Signed-off-by: Timm Bäder <tbaeder@redhat.com>
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | config/ChangeLog | 6 | ||||
-rw-r--r-- | config/eu.am | 10 | ||||
-rw-r--r-- | configure.ac | 9 |
4 files changed, 27 insertions, 2 deletions
@@ -1,5 +1,9 @@ 2021-02-17 Timm Bäder <tbaeder@redhat.com> + * configure.ac: Add -Wno-packed-not-aligned check. + +2021-02-17 Timm Bäder <tbaeder@redhat.com> + * configure.ac: Add -Wtrampolines check. 2021-02-05 Mark Wielaard <mark@klomp.org> diff --git a/config/ChangeLog b/config/ChangeLog index cd8ff74c..0e179cbc 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,5 +1,11 @@ 2021-02-17 Timm Bäder <tbaeder@redhat.com> + * eu.am (NO_PACKED_NOT_ALIGNED_WARNING): New variable. + (AM_CFLAGS): Use NO_PACKED_NOT_ALIGNED_WARNING. + (AM_CXXFLAGS): Likewise. + +2021-02-17 Timm Bäder <tbaeder@redhat.com> + * eu.am (TRAMPOLINES_WARNING): New variable. (AM_CFLAGS): Use TRAMPOLINES_WARNING. (AM_CXXFLAGS): Likewise. diff --git a/config/eu.am b/config/eu.am index 02512570..2c3e4571 100644 --- a/config/eu.am +++ b/config/eu.am @@ -79,6 +79,12 @@ else TRAMPOLINES_WARNING= endif +if HAVE_NO_PACKED_NOT_ALIGNED_WARNING +NO_PACKED_NOT_ALIGNED_WARNING=-Wno-packed-not-aligned +else +NO_PACKED_NOT_ALIGNED_WARNING= +endif + AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ @@ -86,7 +92,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ $($(*F)_CFLAGS) AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ @@ -96,7 +102,7 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ $($(*F)_CXXFLAGS) COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) diff --git a/configure.ac b/configure.ac index 5f3321aa..aa8439e8 100644 --- a/configure.ac +++ b/configure.ac @@ -546,6 +546,15 @@ CFLAGS="$old_CFLAGS"]) AM_CONDITIONAL(HAVE_TRAMPOLINES_WARNING, [test "x$ac_cv_trampolines" != "xno"]) +AC_CACHE_CHECK([whether the compiler accepts -Wno-packed-not-aligned], ac_cv_no_packed_not_aligned, [dnl +old_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Wno-packed-not-aligned -Werror" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], + ac_cv_no_packed_not_aligned=yes, ac_cv_no_packed_not_aligned=no) +CFLAGS="$old_CFLAGS"]) +AM_CONDITIONAL(HAVE_NO_PACKED_NOT_ALIGNED_WARNING, + [test "x$ac_cv_no_packed_not_aligned" != "xno"]) + saved_LIBS="$LIBS" AC_SEARCH_LIBS([argp_parse], [argp]) LIBS="$saved_LIBS" |