* Update buildroot-patches for 2020.11-rc1 buildroot * Update buildroot to 2020.11-rc1 Signed-off-by: Stefan Agner <stefan@agner.ch> * Don't rely on sfdisk --list-free output The --list-free (-F) argument does not allow machine readable mode. And it seems that the output format changes over time (different spacing, using size postfixes instead of raw blocks). Use sfdisk json output and calculate free partition space ourselfs. This works for 2.35 and 2.36 and is more robust since we rely on output which is meant for scripts to parse. * Migrate defconfigs for Buildroot 2020.11-rc1 In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE). * Rebase/remove systemd patches for systemd 246 * Drop apparmor/libapparmor from buildroot-external * hassos-persists: use /run as directory for lockfiles The U-Boot tools use /var/lock by default which is not created any more by systemd by default (it is under tmpfiles legacy.conf, which we no longer install). * Disable systemd-update-done.service The service is not suited for pure read-only systems. In particular the service needs to be able to write a file in /etc and /var. Remove the service. Note: This is a static service and cannot be removed using systemd-preset. * Disable apparmor.service for now The service loads all default profiles. Some might actually cause problems. E.g. the profile for ping seems not to match our setup for /etc/resolv.conf: [85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
670 lines
26 KiB
Diff
670 lines
26 KiB
Diff
From 28ba44ad9ca14153e96c94a9100423ea224c1af3 Mon Sep 17 00:00:00 2001
|
|
From: Simon Marchi <simon.marchi@efficios.com>
|
|
Date: Tue, 18 Feb 2020 13:14:22 -0500
|
|
Subject: [PATCH] configure: simplify warning flags detection
|
|
|
|
We currently use the AX_COMPILER_FLAGS macro to detect the warning flags
|
|
that the current compiler supports. It works, but is quite invasive.
|
|
It unconditionally enables a bunch of warnings we don't want, which
|
|
forces us to disable them with many -Wno-foo switches.
|
|
|
|
Instead of using AX_COMPILER_FLAGS, we can use the slightly lower lever
|
|
macro AX_APPEND_COMPILE_FLAGS to achieve our goal of detecting which
|
|
warning flags are supported. This is what we ended up using in
|
|
lttng-tools (a completely unrelated project, but that has a suspiciously
|
|
high ratio of contributors in common with Babeltrace).
|
|
|
|
I looked in our git history to see which warning flags were mentioned in
|
|
commit messages. I have added the flags that did find actual problems
|
|
and are not enabled by default to the AX_APPEND_COMPILE_FLAGS invocation.
|
|
I have also added the flags that AX_COMPILER_FLAGS did provide, which we
|
|
didn't need to disable.
|
|
|
|
The --{enable,disable}-Werror flag is added using an explicit
|
|
AC_ARG_ENABLE. In lttng-tools, it was decided to _not_ have -Werror by
|
|
default, so I suggest we do the same in Babeltrace, for consistency
|
|
(although it saddens me very much). Developers who want to build with
|
|
-Werror will need to pass --enable-Werror.
|
|
|
|
Note that with this patch, we lose the following configure switch, that
|
|
is provided by AX_COMPILER_FLAGS:
|
|
|
|
--enable-compile-warnings=[no/yes/error]
|
|
|
|
Change-Id: If968f7385a7f5c48d27f402c76bc26241a8f505a
|
|
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
|
|
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3209
|
|
Tested-by: jenkins <jenkins@lttng.org>
|
|
Reviewed-by: Michael Jeanson <mjeanson@efficios.com>
|
|
|
|
[Retrieved from:
|
|
https://github.com/efficios/babeltrace/commit/28ba44ad9ca14153e96c94a9100423ea224c1af3]
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
---
|
|
configure.ac | 74 +++++++++------
|
|
m4/ax_compiler_flags.m4 | 158 -------------------------------
|
|
m4/ax_compiler_flags_cflags.m4 | 161 --------------------------------
|
|
m4/ax_compiler_flags_gir.m4 | 60 ------------
|
|
m4/ax_compiler_flags_ldflags.m4 | 111 ----------------------
|
|
5 files changed, 46 insertions(+), 518 deletions(-)
|
|
delete mode 100644 m4/ax_compiler_flags.m4
|
|
delete mode 100644 m4/ax_compiler_flags_cflags.m4
|
|
delete mode 100644 m4/ax_compiler_flags_gir.m4
|
|
delete mode 100644 m4/ax_compiler_flags_ldflags.m4
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 055fba101..7ebcf2ad4 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -660,25 +660,35 @@ target.
|
|
CFLAGS=${save_CFLAGS}
|
|
|
|
# Detect C and LD warning flags supported by the compiler.
|
|
-AX_COMPILER_FLAGS(
|
|
- [WARN_CFLAGS], dnl CFLAGS variable name
|
|
- [WARN_LDFLAGS], dnl LDFLAGS variable name (unused for now)
|
|
- [], dnl is-release
|
|
- [], dnl Extra base CFLAGS
|
|
- [ dnl Extra "yes" CFLAGS
|
|
- dnl Disable these flags, either because we don't want them
|
|
- dnl or because we want them but are not ready to enable them
|
|
- dnl yet.
|
|
- -Wno-sign-compare dnl
|
|
- -Wno-inline dnl
|
|
- -Wno-declaration-after-statement dnl
|
|
- -Wno-switch-enum dnl
|
|
- -Wno-switch-default dnl
|
|
- -Wno-packed dnl
|
|
- -Wno-pointer-arith dnl
|
|
+
|
|
+# Detect warning flags supported by the compiler, append them to WARN_CFLAGS.
|
|
+#
|
|
+# Pass -Werror as an extra flag during the test: this is needed to make the
|
|
+# -Wunknown-warning-option diagnostic fatal with clang.
|
|
+AX_APPEND_COMPILE_FLAGS([ dnl
|
|
+ -Wall dnl
|
|
+ -Wextra dnl
|
|
+ -Wstrict-prototypes dnl
|
|
+ -Wmissing-prototypes dnl
|
|
+ -Wmissing-declarations dnl
|
|
+ -Wnull-dereference dnl
|
|
+ -Wundef dnl
|
|
+ -Wredundant-decls dnl
|
|
+ -Wshadow dnl
|
|
+ -Wjump-misses-init dnl
|
|
+ -Wtautological-constant-out-of-range-compare dnl
|
|
+ -Wnested-externs dnl
|
|
+ -Wwrite-strings dnl
|
|
+ -Wformat=2 dnl
|
|
-Wno-format-nonliteral dnl
|
|
- -Wno-double-promotion dnl
|
|
- -Wno-cast-align dnl
|
|
+ -Wstrict-aliasing dnl
|
|
+ -Wmissing-noreturn dnl
|
|
+ -Winit-self dnl
|
|
+ -Wduplicated-cond dnl
|
|
+ -Wduplicated-branches dnl
|
|
+ -Wlogical-op dnl
|
|
+ -Wno-unused-parameter dnl
|
|
+ -Wno-sign-compare dnl
|
|
dnl
|
|
dnl Some versions of SWIG (like 3.0.12) generate code that produces
|
|
dnl -Wcast-function-type warnings. This warning is present in gcc >= 8. This
|
|
@@ -692,24 +702,32 @@ AX_COMPILER_FLAGS(
|
|
dnl
|
|
dnl Ref: https://github.com/swig/swig/issues/1259
|
|
-Wno-cast-function-type dnl
|
|
- ])
|
|
-
|
|
-# CFLAGS from AX_COMPILER_FLAGS.
|
|
-AM_CFLAGS="${AM_CFLAGS} ${WARN_CFLAGS}"
|
|
+ -Wno-missing-field-initializers dnl
|
|
+ ],
|
|
+ [WARN_CFLAGS],
|
|
+ [-Werror])
|
|
+
|
|
+# When given, add -Werror to WARN_CFLAGS.
|
|
+AC_ARG_ENABLE([Werror],
|
|
+ [AS_HELP_STRING([--enable-Werror], [Treat compiler warnings as errors.])]
|
|
+)
|
|
+AS_IF([test "x$enable_Werror" = "xyes"],
|
|
+ [WARN_CFLAGS="${WARN_CFLAGS} -Werror"]
|
|
+)
|
|
|
|
-# The test used in AX_COMPILER_FLAGS, generated using AC_LANG_PROGRAM, is
|
|
+# The test used in AX_APPEND_COMPILE_FLAGS, generated using AC_LANG_PROGRAM, is
|
|
# written in such a way that it triggers a -Wold-style-definition warning. So
|
|
-# if the user has -Werror in their CFLAGS, that warning flag will end up
|
|
-# disabled, because the test program will not build.
|
|
+# this warning always ends up disabled if we put it there, because the test
|
|
+# program does not build.
|
|
#
|
|
# Enable it here unconditionally. It is supported by GCC >= 4.8 and by Clang
|
|
# (it is accepted for compatibility although it has no effect), and there is
|
|
# not reason to not want it.
|
|
|
|
-AM_CFLAGS="${AM_CFLAGS} -Wold-style-definition"
|
|
+WARN_CFLAGS="${WARN_CFLAGS} -Wold-style-definition"
|
|
|
|
-# We want this one to always be an error.
|
|
-AM_CFLAGS="${AM_CFLAGS} -Werror=implicit-function-declaration"
|
|
+# CFLAGS from AX_APPEND_COMPILE_FLAGS.
|
|
+AM_CFLAGS="${AM_CFLAGS} ${WARN_CFLAGS}"
|
|
|
|
# Done for AM_CFLAGS.
|
|
AC_SUBST(AM_CFLAGS)
|
|
diff --git a/m4/ax_compiler_flags.m4 b/m4/ax_compiler_flags.m4
|
|
deleted file mode 100644
|
|
index ddb0456c4..000000000
|
|
--- a/m4/ax_compiler_flags.m4
|
|
+++ /dev/null
|
|
@@ -1,158 +0,0 @@
|
|
-# ===========================================================================
|
|
-# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html
|
|
-# ===========================================================================
|
|
-#
|
|
-# SYNOPSIS
|
|
-#
|
|
-# AX_COMPILER_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [IS-RELEASE], [EXTRA-BASE-CFLAGS], [EXTRA-YES-CFLAGS], [UNUSED], [UNUSED], [UNUSED], [EXTRA-BASE-LDFLAGS], [EXTRA-YES-LDFLAGS], [UNUSED], [UNUSED], [UNUSED])
|
|
-#
|
|
-# DESCRIPTION
|
|
-#
|
|
-# Check for the presence of an --enable-compile-warnings option to
|
|
-# configure, defaulting to "error" in normal operation, or "yes" if
|
|
-# IS-RELEASE is equal to "yes". Return the value in the variable
|
|
-# $ax_enable_compile_warnings.
|
|
-#
|
|
-# Depending on the value of --enable-compile-warnings, different compiler
|
|
-# warnings are checked to see if they work with the current compiler and,
|
|
-# if so, are appended to CFLAGS-VARIABLE and LDFLAGS-VARIABLE. This
|
|
-# allows a consistent set of baseline compiler warnings to be used across
|
|
-# a code base, irrespective of any warnings enabled locally by individual
|
|
-# developers. By standardising the warnings used by all developers of a
|
|
-# project, the project can commit to a zero-warnings policy, using -Werror
|
|
-# to prevent compilation if new warnings are introduced. This makes
|
|
-# catching bugs which are flagged by warnings a lot easier.
|
|
-#
|
|
-# By providing a consistent --enable-compile-warnings argument across all
|
|
-# projects using this macro, continuous integration systems can easily be
|
|
-# configured the same for all projects. Automated systems or build
|
|
-# systems aimed at beginners may want to pass the --disable-Werror
|
|
-# argument to unconditionally prevent warnings being fatal.
|
|
-#
|
|
-# --enable-compile-warnings can take the values:
|
|
-#
|
|
-# * no: Base compiler warnings only; not even -Wall.
|
|
-# * yes: The above, plus a broad range of useful warnings.
|
|
-# * error: The above, plus -Werror so that all warnings are fatal.
|
|
-# Use --disable-Werror to override this and disable fatal
|
|
-# warnings.
|
|
-#
|
|
-# The set of base and enabled flags can be augmented using the
|
|
-# EXTRA-*-CFLAGS and EXTRA-*-LDFLAGS variables, which are tested and
|
|
-# appended to the output variable if --enable-compile-warnings is not
|
|
-# "no". Flags should not be disabled using these arguments, as the entire
|
|
-# point of AX_COMPILER_FLAGS is to enforce a consistent set of useful
|
|
-# compiler warnings on code, using warnings which have been chosen for low
|
|
-# false positive rates. If a compiler emits false positives for a
|
|
-# warning, a #pragma should be used in the code to disable the warning
|
|
-# locally. See:
|
|
-#
|
|
-# https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
|
|
-#
|
|
-# The EXTRA-* variables should only be used to supply extra warning flags,
|
|
-# and not general purpose compiler flags, as they are controlled by
|
|
-# configure options such as --disable-Werror.
|
|
-#
|
|
-# IS-RELEASE can be used to disable -Werror when making a release, which
|
|
-# is useful for those hairy moments when you just want to get the release
|
|
-# done as quickly as possible. Set it to "yes" to disable -Werror. By
|
|
-# default, it uses the value of $ax_is_release, so if you are using the
|
|
-# AX_IS_RELEASE macro, there is no need to pass this parameter. For
|
|
-# example:
|
|
-#
|
|
-# AX_IS_RELEASE([git-directory])
|
|
-# AX_COMPILER_FLAGS()
|
|
-#
|
|
-# CFLAGS-VARIABLE defaults to WARN_CFLAGS, and LDFLAGS-VARIABLE defaults
|
|
-# to WARN_LDFLAGS. Both variables are AC_SUBST-ed by this macro, but must
|
|
-# be manually added to the CFLAGS and LDFLAGS variables for each target in
|
|
-# the code base.
|
|
-#
|
|
-# If C++ language support is enabled with AC_PROG_CXX, which must occur
|
|
-# before this macro in configure.ac, warning flags for the C++ compiler
|
|
-# are AC_SUBST-ed as WARN_CXXFLAGS, and must be manually added to the
|
|
-# CXXFLAGS variables for each target in the code base. EXTRA-*-CFLAGS can
|
|
-# be used to augment the base and enabled flags.
|
|
-#
|
|
-# Warning flags for g-ir-scanner (from GObject Introspection) are
|
|
-# AC_SUBST-ed as WARN_SCANNERFLAGS. This variable must be manually added
|
|
-# to the SCANNERFLAGS variable for each GIR target in the code base. If
|
|
-# extra g-ir-scanner flags need to be enabled, the AX_COMPILER_FLAGS_GIR
|
|
-# macro must be invoked manually.
|
|
-#
|
|
-# AX_COMPILER_FLAGS may add support for other tools in future, in addition
|
|
-# to the compiler and linker. No extra EXTRA-* variables will be added
|
|
-# for those tools, and all extra support will still use the single
|
|
-# --enable-compile-warnings configure option. For finer grained control
|
|
-# over the flags for individual tools, use AX_COMPILER_FLAGS_CFLAGS,
|
|
-# AX_COMPILER_FLAGS_LDFLAGS and AX_COMPILER_FLAGS_* for new tools.
|
|
-#
|
|
-# The UNUSED variables date from a previous version of this macro, and are
|
|
-# automatically appended to the preceding non-UNUSED variable. They should
|
|
-# be left empty in new uses of the macro.
|
|
-#
|
|
-# LICENSE
|
|
-#
|
|
-# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
-# Copyright (c) 2015 David King <amigadave@amigadave.com>
|
|
-#
|
|
-# Copying and distribution of this file, with or without modification, are
|
|
-# permitted in any medium without royalty provided the copyright notice
|
|
-# and this notice are preserved. This file is offered as-is, without any
|
|
-# warranty.
|
|
-
|
|
-#serial 14
|
|
-
|
|
-# _AX_COMPILER_FLAGS_LANG([LANGNAME])
|
|
-m4_defun([_AX_COMPILER_FLAGS_LANG],
|
|
-[m4_ifdef([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [],
|
|
- [m4_define([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [])dnl
|
|
- AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_]$1[FLAGS])])dnl
|
|
-])
|
|
-
|
|
-AC_DEFUN([AX_COMPILER_FLAGS],[
|
|
- # C support is enabled by default.
|
|
- _AX_COMPILER_FLAGS_LANG([C])
|
|
- # Only enable C++ support if AC_PROG_CXX is called. The redefinition of
|
|
- # AC_PROG_CXX is so that a fatal error is emitted if this macro is called
|
|
- # before AC_PROG_CXX, which would otherwise cause no C++ warnings to be
|
|
- # checked.
|
|
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
|
- [_AX_COMPILER_FLAGS_LANG([CXX])],
|
|
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AX_COMPILER_FLAGS_LANG([CXX])])])
|
|
- AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_LDFLAGS])
|
|
-
|
|
- # Default value for IS-RELEASE is $ax_is_release
|
|
- ax_compiler_flags_is_release=m4_tolower(m4_normalize(ifelse([$3],,
|
|
- [$ax_is_release],
|
|
- [$3])))
|
|
-
|
|
- AC_ARG_ENABLE([compile-warnings],
|
|
- AS_HELP_STRING([--enable-compile-warnings=@<:@no/yes/error@:>@],
|
|
- [Enable compiler warnings and errors]),,
|
|
- [AS_IF([test "$ax_compiler_flags_is_release" = "yes"],
|
|
- [enable_compile_warnings="yes"],
|
|
- [enable_compile_warnings="error"])])
|
|
- AC_ARG_ENABLE([Werror],
|
|
- AS_HELP_STRING([--disable-Werror],
|
|
- [Unconditionally make all compiler warnings non-fatal]),,
|
|
- [enable_Werror=maybe])
|
|
-
|
|
- # Return the user's chosen warning level
|
|
- AS_IF([test "$enable_Werror" = "no" -a \
|
|
- "$enable_compile_warnings" = "error"],[
|
|
- enable_compile_warnings="yes"
|
|
- ])
|
|
-
|
|
- ax_enable_compile_warnings=$enable_compile_warnings
|
|
-
|
|
- AX_COMPILER_FLAGS_CFLAGS([$1],[$ax_compiler_flags_is_release],
|
|
- [$4],[$5 $6 $7 $8])
|
|
- m4_ifdef([_AX_COMPILER_FLAGS_LANG_CXX_enabled],
|
|
- [AX_COMPILER_FLAGS_CXXFLAGS([WARN_CXXFLAGS],
|
|
- [$ax_compiler_flags_is_release],
|
|
- [$4],[$5 $6 $7 $8])])
|
|
- AX_COMPILER_FLAGS_LDFLAGS([$2],[$ax_compiler_flags_is_release],
|
|
- [$9],[$10 $11 $12 $13])
|
|
- AX_COMPILER_FLAGS_GIR([WARN_SCANNERFLAGS],[$ax_compiler_flags_is_release])
|
|
-])dnl AX_COMPILER_FLAGS
|
|
diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4
|
|
deleted file mode 100644
|
|
index 916f91837..000000000
|
|
--- a/m4/ax_compiler_flags_cflags.m4
|
|
+++ /dev/null
|
|
@@ -1,161 +0,0 @@
|
|
-# =============================================================================
|
|
-# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cflags.html
|
|
-# =============================================================================
|
|
-#
|
|
-# SYNOPSIS
|
|
-#
|
|
-# AX_COMPILER_FLAGS_CFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
-#
|
|
-# DESCRIPTION
|
|
-#
|
|
-# Add warning flags for the C compiler to VARIABLE, which defaults to
|
|
-# WARN_CFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be
|
|
-# manually added to the CFLAGS variable for each target in the code base.
|
|
-#
|
|
-# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
-# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
-# which flags to enable.
|
|
-#
|
|
-# LICENSE
|
|
-#
|
|
-# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
-# Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
|
|
-#
|
|
-# Copying and distribution of this file, with or without modification, are
|
|
-# permitted in any medium without royalty provided the copyright notice
|
|
-# and this notice are preserved. This file is offered as-is, without any
|
|
-# warranty.
|
|
-
|
|
-#serial 17
|
|
-
|
|
-AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[
|
|
- AC_REQUIRE([AC_PROG_SED])
|
|
- AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
|
|
- AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
- AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
-
|
|
- # Variable names
|
|
- m4_define([ax_warn_cflags_variable],
|
|
- [m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))])
|
|
-
|
|
- AC_LANG_PUSH([C])
|
|
-
|
|
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
- [#ifndef __cplusplus
|
|
- #error "no C++"
|
|
- #endif]])],
|
|
- [ax_compiler_cxx=yes;],
|
|
- [ax_compiler_cxx=no;])
|
|
-
|
|
- # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
|
|
- # flags, otherwise they are always appended to the warn_cflags variable, and
|
|
- # Clang warns on them for every compilation unit.
|
|
- # If this is passed to GCC, it will explode, so the flag must be enabled
|
|
- # conditionally.
|
|
- AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
|
|
- ax_compiler_flags_test="-Werror=unknown-warning-option"
|
|
- ],[
|
|
- ax_compiler_flags_test=""
|
|
- ])
|
|
-
|
|
- # Check that -Wno-suggest-attribute=format is supported
|
|
- AX_CHECK_COMPILE_FLAG([-Wno-suggest-attribute=format],[
|
|
- ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
|
|
- ],[
|
|
- ax_compiler_no_suggest_attribute_flags=""
|
|
- ])
|
|
-
|
|
- # Base flags
|
|
- AX_APPEND_COMPILE_FLAGS([ dnl
|
|
- -fno-strict-aliasing dnl
|
|
- $3 dnl
|
|
- ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
-
|
|
- AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
- if test "$ax_compiler_cxx" = "no" ; then
|
|
- # C-only flags. Warn in C++
|
|
- AX_APPEND_COMPILE_FLAGS([ dnl
|
|
- -Wnested-externs dnl
|
|
- -Wmissing-prototypes dnl
|
|
- -Wstrict-prototypes dnl
|
|
- -Wdeclaration-after-statement dnl
|
|
- -Wimplicit-function-declaration dnl
|
|
- -Wold-style-definition dnl
|
|
- -Wjump-misses-init dnl
|
|
- ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
- fi
|
|
-
|
|
- # "yes" flags
|
|
- AX_APPEND_COMPILE_FLAGS([ dnl
|
|
- -Wall dnl
|
|
- -Wextra dnl
|
|
- -Wundef dnl
|
|
- -Wwrite-strings dnl
|
|
- -Wpointer-arith dnl
|
|
- -Wmissing-declarations dnl
|
|
- -Wredundant-decls dnl
|
|
- -Wno-unused-parameter dnl
|
|
- -Wno-missing-field-initializers dnl
|
|
- -Wformat=2 dnl
|
|
- -Wcast-align dnl
|
|
- -Wformat-nonliteral dnl
|
|
- -Wformat-security dnl
|
|
- -Wsign-compare dnl
|
|
- -Wstrict-aliasing dnl
|
|
- -Wshadow dnl
|
|
- -Winline dnl
|
|
- -Wpacked dnl
|
|
- -Wmissing-format-attribute dnl
|
|
- -Wmissing-noreturn dnl
|
|
- -Winit-self dnl
|
|
- -Wredundant-decls dnl
|
|
- -Wmissing-include-dirs dnl
|
|
- -Wunused-but-set-variable dnl
|
|
- -Warray-bounds dnl
|
|
- -Wreturn-type dnl
|
|
- -Wswitch-enum dnl
|
|
- -Wswitch-default dnl
|
|
- -Wduplicated-cond dnl
|
|
- -Wduplicated-branches dnl
|
|
- -Wlogical-op dnl
|
|
- -Wrestrict dnl
|
|
- -Wnull-dereference dnl
|
|
- -Wdouble-promotion dnl
|
|
- $4 dnl
|
|
- $5 dnl
|
|
- $6 dnl
|
|
- $7 dnl
|
|
- ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
- ])
|
|
- AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
- # "error" flags; -Werror has to be appended unconditionally because
|
|
- # it's not possible to test for
|
|
- #
|
|
- # suggest-attribute=format is disabled because it gives too many false
|
|
- # positives
|
|
- AX_APPEND_FLAG([-Werror],ax_warn_cflags_variable)
|
|
-
|
|
- AX_APPEND_COMPILE_FLAGS([ dnl
|
|
- [$ax_compiler_no_suggest_attribute_flags] dnl
|
|
- ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
- ])
|
|
-
|
|
- # In the flags below, when disabling specific flags, always add *both*
|
|
- # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
|
|
- # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
|
|
- # which effectively turns that flag back on again as an error.
|
|
- for flag in $ax_warn_cflags_variable; do
|
|
- AS_CASE([$flag],
|
|
- [-Wno-*=*],[],
|
|
- [-Wno-*],[
|
|
- AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')],
|
|
- ax_warn_cflags_variable,
|
|
- [$ax_compiler_flags_test])
|
|
- ])
|
|
- done
|
|
-
|
|
- AC_LANG_POP([C])
|
|
-
|
|
- # Substitute the variables
|
|
- AC_SUBST(ax_warn_cflags_variable)
|
|
-])dnl AX_COMPILER_FLAGS
|
|
diff --git a/m4/ax_compiler_flags_gir.m4 b/m4/ax_compiler_flags_gir.m4
|
|
deleted file mode 100644
|
|
index 5b4924a20..000000000
|
|
--- a/m4/ax_compiler_flags_gir.m4
|
|
+++ /dev/null
|
|
@@ -1,60 +0,0 @@
|
|
-# ===========================================================================
|
|
-# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_gir.html
|
|
-# ===========================================================================
|
|
-#
|
|
-# SYNOPSIS
|
|
-#
|
|
-# AX_COMPILER_FLAGS_GIR([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
-#
|
|
-# DESCRIPTION
|
|
-#
|
|
-# Add warning flags for the g-ir-scanner (from GObject Introspection) to
|
|
-# VARIABLE, which defaults to WARN_SCANNERFLAGS. VARIABLE is AC_SUBST-ed
|
|
-# by this macro, but must be manually added to the SCANNERFLAGS variable
|
|
-# for each GIR target in the code base.
|
|
-#
|
|
-# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
-# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
-# which flags to enable.
|
|
-#
|
|
-# LICENSE
|
|
-#
|
|
-# Copyright (c) 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
-#
|
|
-# Copying and distribution of this file, with or without modification, are
|
|
-# permitted in any medium without royalty provided the copyright notice
|
|
-# and this notice are preserved. This file is offered as-is, without any
|
|
-# warranty.
|
|
-
|
|
-#serial 6
|
|
-
|
|
-AC_DEFUN([AX_COMPILER_FLAGS_GIR],[
|
|
- AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
-
|
|
- # Variable names
|
|
- m4_define([ax_warn_scannerflags_variable],
|
|
- [m4_normalize(ifelse([$1],,[WARN_SCANNERFLAGS],[$1]))])
|
|
-
|
|
- # Base flags
|
|
- AX_APPEND_FLAG([$3],ax_warn_scannerflags_variable)
|
|
-
|
|
- AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
- # "yes" flags
|
|
- AX_APPEND_FLAG([ dnl
|
|
- --warn-all dnl
|
|
- $4 dnl
|
|
- $5 dnl
|
|
- $6 dnl
|
|
- $7 dnl
|
|
- ],ax_warn_scannerflags_variable)
|
|
- ])
|
|
- AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
- # "error" flags
|
|
- AX_APPEND_FLAG([ dnl
|
|
- --warn-error dnl
|
|
- ],ax_warn_scannerflags_variable)
|
|
- ])
|
|
-
|
|
- # Substitute the variables
|
|
- AC_SUBST(ax_warn_scannerflags_variable)
|
|
-])dnl AX_COMPILER_FLAGS
|
|
diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4
|
|
deleted file mode 100644
|
|
index 976d1198d..000000000
|
|
--- a/m4/ax_compiler_flags_ldflags.m4
|
|
+++ /dev/null
|
|
@@ -1,111 +0,0 @@
|
|
-# ==============================================================================
|
|
-# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_ldflags.html
|
|
-# ==============================================================================
|
|
-#
|
|
-# SYNOPSIS
|
|
-#
|
|
-# AX_COMPILER_FLAGS_LDFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
-#
|
|
-# DESCRIPTION
|
|
-#
|
|
-# Add warning flags for the linker to VARIABLE, which defaults to
|
|
-# WARN_LDFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be
|
|
-# manually added to the LDFLAGS variable for each target in the code base.
|
|
-#
|
|
-# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
-# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
-# which flags to enable.
|
|
-#
|
|
-# LICENSE
|
|
-#
|
|
-# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
-# Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
|
|
-#
|
|
-# Copying and distribution of this file, with or without modification, are
|
|
-# permitted in any medium without royalty provided the copyright notice
|
|
-# and this notice are preserved. This file is offered as-is, without any
|
|
-# warranty.
|
|
-
|
|
-#serial 9
|
|
-
|
|
-AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[
|
|
- AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS])
|
|
- AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
- AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
- AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
-
|
|
- # Variable names
|
|
- m4_define([ax_warn_ldflags_variable],
|
|
- [m4_normalize(ifelse([$1],,[WARN_LDFLAGS],[$1]))])
|
|
-
|
|
- # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
|
|
- # flags, otherwise they are always appended to the warn_ldflags variable,
|
|
- # and Clang warns on them for every compilation unit.
|
|
- # If this is passed to GCC, it will explode, so the flag must be enabled
|
|
- # conditionally.
|
|
- AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
|
|
- ax_compiler_flags_test="-Werror=unknown-warning-option"
|
|
- ],[
|
|
- ax_compiler_flags_test=""
|
|
- ])
|
|
-
|
|
- AX_CHECK_LINK_FLAG([-Wl,--as-needed], [
|
|
- AX_APPEND_LINK_FLAGS([-Wl,--as-needed],
|
|
- [AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
- ])
|
|
- AX_CHECK_LINK_FLAG([-Wl,-z,relro], [
|
|
- AX_APPEND_LINK_FLAGS([-Wl,-z,relro],
|
|
- [AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
- ])
|
|
- AX_CHECK_LINK_FLAG([-Wl,-z,now], [
|
|
- AX_APPEND_LINK_FLAGS([-Wl,-z,now],
|
|
- [AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
- ])
|
|
- AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [
|
|
- AX_APPEND_LINK_FLAGS([-Wl,-z,noexecstack],
|
|
- [AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
- ])
|
|
- # textonly, retpolineplt not yet
|
|
-
|
|
- # macOS and cygwin linker do not have --as-needed
|
|
- AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [
|
|
- ax_compiler_flags_as_needed_option="-Wl,--no-as-needed"
|
|
- ], [
|
|
- ax_compiler_flags_as_needed_option=""
|
|
- ])
|
|
-
|
|
- # macOS linker speaks with a different accent
|
|
- ax_compiler_flags_fatal_warnings_option=""
|
|
- AX_CHECK_LINK_FLAG([-Wl,--fatal-warnings], [
|
|
- ax_compiler_flags_fatal_warnings_option="-Wl,--fatal-warnings"
|
|
- ])
|
|
- AX_CHECK_LINK_FLAG([-Wl,-fatal_warnings], [
|
|
- ax_compiler_flags_fatal_warnings_option="-Wl,-fatal_warnings"
|
|
- ])
|
|
-
|
|
- # Base flags
|
|
- AX_APPEND_LINK_FLAGS([ dnl
|
|
- $ax_compiler_flags_as_needed_option dnl
|
|
- $3 dnl
|
|
- ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
|
|
-
|
|
- AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
- # "yes" flags
|
|
- AX_APPEND_LINK_FLAGS([$4 $5 $6 $7],
|
|
- ax_warn_ldflags_variable,
|
|
- [$ax_compiler_flags_test])
|
|
- ])
|
|
- AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
- # "error" flags; -Werror has to be appended unconditionally because
|
|
- # it's not possible to test for
|
|
- #
|
|
- # suggest-attribute=format is disabled because it gives too many false
|
|
- # positives
|
|
- AX_APPEND_LINK_FLAGS([ dnl
|
|
- $ax_compiler_flags_fatal_warnings_option dnl
|
|
- ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
|
|
- ])
|
|
-
|
|
- # Substitute the variables
|
|
- AC_SUBST(ax_warn_ldflags_variable)
|
|
-])dnl AX_COMPILER_FLAGS
|