If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# ============================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
-# ============================================================================
-#
-# SYNOPSIS
-#
-# AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-# For every FLAG1, FLAG2 it is checked whether the compiler works with the
-# flag. If it does, the flag is added FLAGS-VARIABLE
-#
-# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
-# CFLAGS) is used. During the check the flag is always added to the
-# current language's flags.
-#
-# If EXTRA-FLAGS is defined, it is added to the current language's default
-# flags (e.g. CFLAGS) when the check is done. The check is thus made with
-# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
-# force the compiler to issue an error when a bad flag is given.
-#
-# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-# NOTE: This macro depends on the AX_APPEND_FLAG and
-# AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
-# AX_APPEND_LINK_FLAGS.
-#
-# LICENSE
-#
-# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 6
-
-AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
-[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
-AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-for flag in $1; do
- AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3], [$4])
-done
-])dnl AX_APPEND_COMPILE_FLAGS
-
-# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_append_link_flags.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_APPEND_LINK_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-# For every FLAG1, FLAG2 it is checked whether the linker works with the
-# flag. If it does, the flag is added FLAGS-VARIABLE
-#
-# If FLAGS-VARIABLE is not specified, the linker's flags (LDFLAGS) is
-# used. During the check the flag is always added to the linker's flags.
-#
-# If EXTRA-FLAGS is defined, it is added to the linker's default flags
-# when the check is done. The check is thus made with the flags: "LDFLAGS
-# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
-# issue an error when a bad flag is given.
-#
-# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-# NOTE: This macro depends on the AX_APPEND_FLAG and AX_CHECK_LINK_FLAG.
-# Please keep this macro in sync with AX_APPEND_COMPILE_FLAGS.
-#
-# LICENSE
-#
-# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 6
-
-AC_DEFUN([AX_APPEND_LINK_FLAGS],
-[AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
-AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-for flag in $1; do
- AX_CHECK_LINK_FLAG([$flag], [AX_APPEND_FLAG([$flag], [m4_default([$2], [LDFLAGS])])], [], [$3], [$4])
-done
-])dnl AX_APPEND_LINK_FLAGS
-
-# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-# Check whether the given FLAG works with the linker or gives an error.
-# (Warnings, however, are ignored)
-#
-# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-# success/failure.
-#
-# If EXTRA-FLAGS is defined, it is added to the linker's default flags
-# when the check is done. The check is thus made with the flags: "LDFLAGS
-# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
-# issue an error when a bad flag is given.
-#
-# INPUT gives an alternative input source to AC_LINK_IFELSE.
-#
-# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
-# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 5
-
-AC_DEFUN([AX_CHECK_LINK_FLAG],
-[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
-AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
-AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
- ax_check_save_flags=$LDFLAGS
- LDFLAGS="$LDFLAGS $4 $1"
- AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
- [AS_VAR_SET(CACHEVAR,[yes])],
- [AS_VAR_SET(CACHEVAR,[no])])
- LDFLAGS=$ax_check_save_flags])
-AS_VAR_IF(CACHEVAR,yes,
- [m4_default([$2], :)],
- [m4_default([$3], :)])
-AS_VAR_POPDEF([CACHEVAR])dnl
-])dnl AX_CHECK_LINK_FLAGS
-
-# ===========================================================================
-# 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
-
-# =============================================================================
-# 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>
-#
-# 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
-
-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])
-
- # 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"],[
- # "yes" flags
- AX_APPEND_COMPILE_FLAGS([ dnl
- -Wall dnl
- -Wextra dnl
- -Wundef dnl
- -Wnested-externs dnl
- -Wwrite-strings dnl
- -Wpointer-arith dnl
- -Wmissing-declarations dnl
- -Wmissing-prototypes dnl
- -Wstrict-prototypes dnl
- -Wredundant-decls dnl
- -Wno-unused-parameter dnl
- -Wno-missing-field-initializers dnl
- -Wdeclaration-after-statement dnl
- -Wformat=2 dnl
- -Wold-style-definition 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
- -Wimplicit-function-declaration dnl
- -Wreturn-type dnl
- -Wswitch-enum dnl
- -Wswitch-default 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
-
-# ===============================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cxxflags.html
-# ===============================================================================
-#
-# SYNOPSIS
-#
-# AX_COMPILER_FLAGS_CXXFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
-#
-# DESCRIPTION
-#
-# Add warning flags for the C++ compiler to VARIABLE, which defaults to
-# WARN_CXXFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be
-# manually added to the CXXFLAGS 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) 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 10
-
-AC_DEFUN([AX_COMPILER_FLAGS_CXXFLAGS],[
- 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_cxxflags_variable],
- [m4_normalize(ifelse([$1],,[WARN_CXXFLAGS],[$1]))])
-
- AC_LANG_PUSH([C++])
-
- # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
- # flags, otherwise they are always appended to the warn_cxxflags 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_cxxflags_variable,[$ax_compiler_flags_test])
-
- AS_IF([test "$ax_enable_compile_warnings" != "no"],[
- # "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
- -Wno-overloaded-virtual dnl
- -Wswitch-enum dnl
- -Wswitch-default dnl
- $4 dnl
- $5 dnl
- $6 dnl
- $7 dnl
- ],ax_warn_cxxflags_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_cxxflags_variable)
-
- AX_APPEND_COMPILE_FLAGS([ dnl
- [$ax_compiler_no_suggest_attribute_flags] dnl
- ],ax_warn_cxxflags_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 CXXFLAGS=-Wall,
- # which effectively turns that flag back on again as an error.
- for flag in $ax_warn_cxxflags_variable; do
- AS_CASE([$flag],
- [-Wno-*=*],[],
- [-Wno-*],[
- AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')],
- ax_warn_cxxflags_variable,
- [$ax_compiler_flags_test])
- ])
- done
-
- AC_LANG_POP([C++])
-
- # Substitute the variables
- AC_SUBST(ax_warn_cxxflags_variable)
-])dnl AX_COMPILER_FLAGS_CXXFLAGS
-
-# ===========================================================================
-# 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
-
-# ==============================================================================
-# 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>
-#
-# 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 8
-
-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=""
- ])
-
- # macOS linker does 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
-
-# longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
-
-# Note: If the type 'long long int' exists but is only 32 bits large
-# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
-# defined. In this case you can treat 'long long int' like 'long int'.
-
-AC_DEFUN([AC_TYPE_LONG_LONG_INT],
-[
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
- AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
- [ac_cv_type_long_long_int=yes
- if test "x${ac_cv_prog_cc_c99-no}" = xno; then
- ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
- if test $ac_cv_type_long_long_int = yes; then
- dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
- dnl If cross compiling, assume the bug is not important, since
- dnl nobody cross compiles for this platform as far as we know.
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[@%:@include <limits.h>
- @%:@ifndef LLONG_MAX
- @%:@ define HALF \
- (1LL << (sizeof (long long int) * CHAR_BIT - 2))
- @%:@ define LLONG_MAX (HALF - 1 + HALF)
- @%:@endif]],
- [[long long int n = 1;
- int i;
- for (i = 0; ; i++)
- {
- long long int m = n << i;
- if (m >> i != n)
- return 1;
- if (LLONG_MAX / 2 < m)
- break;
- }
- return 0;]])],
- [],
- [ac_cv_type_long_long_int=no],
- [:])
- fi
- fi])
- if test $ac_cv_type_long_long_int = yes; then
- AC_DEFINE([HAVE_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type 'long long int'.])
- fi
-])
-
-# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
-
-# Note: If the type 'unsigned long long int' exists but is only 32 bits
-# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
-# will not be defined. In this case you can treat 'unsigned long long int'
-# like 'unsigned long int'.
-
-AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
-[
- AC_CACHE_CHECK([for unsigned long long int],
- [ac_cv_type_unsigned_long_long_int],
- [ac_cv_type_unsigned_long_long_int=yes
- if test "x${ac_cv_prog_cc_c99-no}" = xno; then
- AC_LINK_IFELSE(
- [_AC_TYPE_LONG_LONG_SNIPPET],
- [],
- [ac_cv_type_unsigned_long_long_int=no])
- fi])
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type 'unsigned long long int'.])
- fi
-])
-
-# Expands to a C program that can be used to test for simultaneous support
-# of 'long long' and 'unsigned long long'. We don't want to say that
-# 'long long' is available if 'unsigned long long' is not, or vice versa,
-# because too many programs rely on the symmetry between signed and unsigned
-# integer types (excluding 'bool').
-AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
-[
- AC_LANG_PROGRAM(
- [[/* For now, do not test the preprocessor; as of 2007 there are too many
- implementations with broken preprocessors. Perhaps this can
- be revisited in 2012. In the meantime, code should not expect
- #if to work with literals wider than 32 bits. */
- /* Test literals. */
- long long int ll = 9223372036854775807ll;
- long long int nll = -9223372036854775807LL;
- unsigned long long int ull = 18446744073709551615ULL;
- /* Test constant expressions. */
- typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- ? 1 : -1)];
- typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
- int i = 63;]],
- [[/* Test availability of runtime routines for shift and division. */
- long long int llmax = 9223372036854775807ll;
- unsigned long long int ullmax = 18446744073709551615ull;
- return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll)
- | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
- | (ullmax / ull) | (ullmax % ull));]])
-])
-
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation