diff options
author | 2021-11-05 20:49:22 -0400 | |
---|---|---|
committer | 2021-11-05 20:49:22 -0400 | |
commit | 34bd750be930dee47ba6114f211aa97935939ecc (patch) | |
tree | ac9b8abfc9661e7d932d86741ab1a0c72558fab9 | |
parent | build: drop support for ancient C library versions (diff) | |
download | sandbox-34bd750be930dee47ba6114f211aa97935939ecc.tar.gz sandbox-34bd750be930dee47ba6114f211aa97935939ecc.tar.bz2 sandbox-34bd750be930dee47ba6114f211aa97935939ecc.zip |
build: slim down autoconf-archive macro search
Only copy in files that define the macros we need and not ones that
reference the macros. This avoids copying a lot unused files in.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-x | autogen.sh | 13 | ||||
-rw-r--r-- | m4/ax_append_compile_flags.m4 | 46 | ||||
-rw-r--r-- | m4/ax_append_flag.m4 | 50 | ||||
-rw-r--r-- | m4/ax_append_link_flags.m4 | 44 | ||||
-rw-r--r-- | m4/ax_cc_maxopt.m4 | 191 | ||||
-rw-r--r-- | m4/ax_cflags_force_c89.m4 | 72 | ||||
-rw-r--r-- | m4/ax_cflags_no_writable_strings.m4 | 99 | ||||
-rw-r--r-- | m4/ax_cflags_strict_prototypes.m4 | 97 | ||||
-rw-r--r-- | m4/ax_compiler_flags.m4 | 158 | ||||
-rw-r--r-- | m4/ax_compiler_flags_cflags.m4 | 161 | ||||
-rw-r--r-- | m4/ax_compiler_flags_cxxflags.m4 | 136 | ||||
-rw-r--r-- | m4/ax_compiler_flags_gir.m4 | 60 | ||||
-rw-r--r-- | m4/ax_compiler_flags_ldflags.m4 | 111 | ||||
-rw-r--r-- | m4/ax_compiler_version.m4 | 529 | ||||
-rw-r--r-- | m4/ax_cxx_cppflags_std_lang.m4 | 41 | ||||
-rw-r--r-- | m4/ax_cxx_cxxflags_std_lang.m4 | 36 | ||||
-rw-r--r-- | m4/ax_cxx_ldflags_std_lang.m4 | 36 | ||||
-rw-r--r-- | m4/ax_gcc_archflag.m4 | 267 |
18 files changed, 10 insertions, 2137 deletions
@@ -10,11 +10,18 @@ rm -f m4/*.m4 # not everyone has sys-devel/autoconf-archive installed has() { [[ " ${*:2} " == *" $1 "* ]] ; } import_ax() { - local macro content m4 lm4s=() + local macro content m4 found lm4s=() content=$(sed -e '/^[[:space:]]*#/d' -e 's:\<dnl\>.*::' "$@") for macro in $(echo "${content}" | grep -o '\<AX[A-Z_]*\>' | sort -u) ; do - for m4 in $(grep -rl "\[${macro}\]" /usr/share/aclocal/) ; do - has ${m4} "${m4s[@]}" || lm4s+=( ${m4} ) + if ! found=$(grep -rl "AC_DEFUN(\[${macro}\]" /usr/share/aclocal/) ; then + echo "error: ${macro}: unable to locate m4 definition" + exit 1 + fi + for m4 in ${found} ; do + if ! has ${m4} "${m4s[@]}" "${lm4s[@]}" ; then + echo "$*: ${macro}: ${m4}" + lm4s+=( ${m4} ) + fi done done if [[ ${#lm4s[@]} -gt 0 ]] ; then diff --git a/m4/ax_append_compile_flags.m4 b/m4/ax_append_compile_flags.m4 deleted file mode 100644 index 9c85635..0000000 --- a/m4/ax_append_compile_flags.m4 +++ /dev/null @@ -1,46 +0,0 @@ -# ============================================================================ -# 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> -# -# 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 7 - -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 diff --git a/m4/ax_append_flag.m4 b/m4/ax_append_flag.m4 deleted file mode 100644 index dd6d8b6..0000000 --- a/m4/ax_append_flag.m4 +++ /dev/null @@ -1,50 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) -# -# DESCRIPTION -# -# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space -# added in between. -# -# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. -# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains -# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly -# FLAG. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> -# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.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 8 - -AC_DEFUN([AX_APPEND_FLAG], -[dnl -AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF -AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) -AS_VAR_SET_IF(FLAGS,[ - AS_CASE([" AS_VAR_GET(FLAGS) "], - [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], - [ - AS_VAR_APPEND(FLAGS,[" $1"]) - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) - ], - [ - AS_VAR_SET(FLAGS,[$1]) - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) -AS_VAR_POPDEF([FLAGS])dnl -])dnl AX_APPEND_FLAG diff --git a/m4/ax_append_link_flags.m4 b/m4/ax_append_link_flags.m4 deleted file mode 100644 index 99b9fa5..0000000 --- a/m4/ax_append_link_flags.m4 +++ /dev/null @@ -1,44 +0,0 @@ -# =========================================================================== -# 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> -# -# 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 7 - -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 diff --git a/m4/ax_cc_maxopt.m4 b/m4/ax_cc_maxopt.m4 deleted file mode 100644 index c463264..0000000 --- a/m4/ax_cc_maxopt.m4 +++ /dev/null @@ -1,191 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CC_MAXOPT -# -# DESCRIPTION -# -# Try to turn on "good" C optimization flags for various compilers and -# architectures, for some definition of "good". (In our case, good for -# FFTW and hopefully for other scientific codes. Modify as needed.) -# -# The user can override the flags by setting the CFLAGS environment -# variable. The user can also specify --enable-portable-binary in order to -# disable any optimization flags that might result in a binary that only -# runs on the host architecture. -# -# Note also that the flags assume that ANSI C aliasing rules are followed -# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point -# computations can be re-ordered as needed. -# -# Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR, -# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -# Copyright (c) 2008 Matteo Frigo -# -# 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 18 - -AC_DEFUN([AX_CC_MAXOPT], -[ -AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AX_COMPILER_VENDOR]) -AC_REQUIRE([AC_CANONICAL_HOST]) - -AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])], - acx_maxopt_portable=$enableval, acx_maxopt_portable=no) - -# Try to determine "good" native compiler flags if none specified via CFLAGS -if test "$ac_test_CFLAGS" != "set"; then - case $ax_cv_c_compiler_vendor in - dec) CFLAGS="$CFLAGS -newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" - if test "x$acx_maxopt_portable" = xno; then - CFLAGS="$CFLAGS -arch host" - fi;; - - sun) CFLAGS="$CFLAGS -native -fast -xO5 -dalign" - if test "x$acx_maxopt_portable" = xyes; then - CFLAGS="$CFLAGS -xarch=generic" - fi;; - - hp) CFLAGS="$CFLAGS +Oall +Optrs_ansi +DSnative" - if test "x$acx_maxopt_portable" = xyes; then - CFLAGS="$CFLAGS +DAportable" - fi;; - - ibm) if test "x$acx_maxopt_portable" = xno; then - xlc_opt="-qarch=auto -qtune=auto" - else - xlc_opt="-qtune=auto" - fi - AX_CHECK_COMPILE_FLAG($xlc_opt, - CFLAGS="$CFLAGS -O3 -qansialias -w $xlc_opt", - [CFLAGS="$CFLAGS -O3 -qansialias -w" - echo "******************************************************" - echo "* You seem to have the IBM C compiler. It is *" - echo "* recommended for best performance that you use: *" - echo "* *" - echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *" - echo "* ^^^ ^^^ *" - echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *" - echo "* CPU you have. (Set the CFLAGS environment var. *" - echo "* and re-run configure.) For more info, man cc. *" - echo "******************************************************"]) - ;; - - intel) CFLAGS="$CFLAGS -O3 -ansi_alias" - if test "x$acx_maxopt_portable" = xno; then - icc_archflag=unknown - icc_flags="" - case $host_cpu in - i686*|x86_64*) - # icc accepts gcc assembly syntax, so these should work: - AX_GCC_X86_CPUID(0) - AX_GCC_X86_CPUID(1) - case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG - *:756e6547:6c65746e:49656e69) # Intel - case $ax_cv_gcc_x86_cpuid_1 in - *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) icc_flags="-xK" ;; - *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) icc_flags="-xSSE2 -xB -xK" ;; - *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) icc_flags="-xSSE3 -xP -xO -xB -xK" ;; - *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) icc_flags="-xSSSE3 -xT -xB -xK" ;; - *1?6[[7d]]?:*:*:*) icc_flags="-xSSE4.1 -xS -xT -xB -xK" ;; - *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) icc_flags="-xSSE4.2 -xS -xT -xB -xK" ;; - *2?6[[ad]]?:*:*:*) icc_flags="-xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *3?6[[ae]]?:*:*:*) icc_flags="-xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) icc_flags="-xCORE-AVX2 -xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) icc_flags="-xSSE3 -xP -xO -xN -xW -xK" ;; - *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) icc_flags="-xSSE2 -xN -xW -xK" ;; - esac ;; - esac ;; - esac - if test "x$icc_flags" != x; then - for flag in $icc_flags; do - AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break]) - done - fi - AC_MSG_CHECKING([for icc architecture flag]) - AC_MSG_RESULT($icc_archflag) - if test "x$icc_archflag" != xunknown; then - CFLAGS="$CFLAGS $icc_archflag" - fi - fi - ;; - - gnu) - # default optimization flags for gcc on all systems - CFLAGS="$CFLAGS -O3 -fomit-frame-pointer" - - # -malign-double for x86 systems - AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double") - - # -fstrict-aliasing for gcc-2.95+ - AX_CHECK_COMPILE_FLAG(-fstrict-aliasing, - CFLAGS="$CFLAGS -fstrict-aliasing") - - # note that we enable "unsafe" fp optimization with other compilers, too - AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math") - - AX_GCC_ARCHFLAG($acx_maxopt_portable) - ;; - - microsoft) - # default optimization flags for MSVC opt builds - CFLAGS="$CFLAGS -O2" - ;; - esac - - if test -z "$CFLAGS"; then - echo "" - echo "********************************************************" - echo "* WARNING: Don't know the best CFLAGS for this system *" - echo "* Use ./configure CFLAGS=... to specify your own flags *" - echo "* (otherwise, a default of CFLAGS=-O3 will be used) *" - echo "********************************************************" - echo "" - CFLAGS="$CFLAGS -O3" - fi - - AX_CHECK_COMPILE_FLAG($CFLAGS, [], [ - echo "" - echo "********************************************************" - echo "* WARNING: The guessed CFLAGS don't seem to work with *" - echo "* your compiler. *" - echo "* Use ./configure CFLAGS=... to specify your own flags *" - echo "********************************************************" - echo "" - ]) - -fi -]) diff --git a/m4/ax_cflags_force_c89.m4 b/m4/ax_cflags_force_c89.m4 deleted file mode 100644 index 815fb68..0000000 --- a/m4/ax_cflags_force_c89.m4 +++ /dev/null @@ -1,72 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_cflags_force_c89.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CFLAGS_FORCE_C89 [(shellvar [,default, [A/NA]])] -# -# DESCRIPTION -# -# Try to find a compiler option that enables strict C89 mode. -# -# For the GNU CC compiler it will be -ansi -pedantic. The result is added -# to the shellvar being CFLAGS by default. -# -# Currently this macro knows about GCC, Solaris C compiler, Digital Unix C -# compiler, C for AIX Compiler, HP-UX C compiler, IRIX C compiler, NEC -# SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos 10.0.0.8) C -# compiler. -# -# - $1 shell-variable-to-add-to : CFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# NOTE: These macros depend on AX_APPEND_FLAG. -# -# LICENSE -# -# Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de> -# -# 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 12 - -AC_DEFUN([AX_CFLAGS_FORCE_C89],[dnl -AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_force_c89])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for C89 mode], -VAR,[VAR="no, unknown" - AC_LANG_PUSH([C]) - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic % -ansi -pedantic" dnl GCC - "-xstrconst % -v -Xc" dnl Solaris C - "-std1 % -std1" dnl Digital Unix - " % -qlanglvl=ansi" dnl AIX - " % -ansi -ansiE" dnl IRIX - "+ESlit % -Aa" dnl HP-UX C - "-Xc % -Xc" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h conform" dnl Cray C (Unicos) - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], - [[return 0;]])], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_POP([C]) -]) -AS_VAR_POPDEF([FLAGS])dnl -AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; - *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -]) diff --git a/m4/ax_cflags_no_writable_strings.m4 b/m4/ax_cflags_no_writable_strings.m4 deleted file mode 100644 index 14478a6..0000000 --- a/m4/ax_cflags_no_writable_strings.m4 +++ /dev/null @@ -1,99 +0,0 @@ -# ================================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_cflags_no_writable_strings.html -# ================================================================================== -# -# SYNOPSIS -# -# AX_CFLAGS_NO_WRITABLE_STRINGS [(shellvar [,default, [A/NA]])] -# -# DESCRIPTION -# -# Try to find a compiler option that makes all string literals readonly. -# -# The sanity check is done by looking at string.h which has a set of -# strcpy definitions that should be defined with const-modifiers to not -# emit a warning in all so many places. -# -# For the GNU CC compiler it will be -fno-writable-strings -Wwrite-strings -# The result is added to the shellvar being CFLAGS by default. -# -# DEFAULTS: -# -# - $1 shell-variable-to-add-to : CFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# NOTE: These macros depend on AX_APPEND_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> -# -# 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 16 - -AC_DEFUN([AX_FLAGS_NO_WRITABLE_STRINGS],[dnl -AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ax_cv_[]_AC_LANG_ABBREV[]flags_no_writable_strings])dnl -AC_CACHE_CHECK([m4_ifval([$1],[$1],FLAGS) making strings readonly], -VAR,[VAR="no, unknown" -ac_save_[]FLAGS="$[]FLAGS" -# IRIX C compiler: -# -use_readonly_const is the default for IRIX C, -# puts them into .rodata, but they are copied later. -# need to be "-G0 -rdatashared" for strictmode but -# I am not sure what effect that has really. - guidod -for ac_arg dnl -in "-pedantic -Werror % -fno-writable-strings -Wwrite-strings" dnl GCC - "-pedantic -Werror % -fconst-strings -Wwrite-strings" dnl newer GCC - "-pedantic % -fconst-strings %% no, const-strings is default" dnl newer GCC - "-v -Xc % -xstrconst" dnl Solaris C - strings go into readonly segment - "+w1 -Aa % +ESlit" dnl HP-UX C - strings go into readonly segment - "-w0 -std1 % -readonly_strings" dnl Digital Unix - again readonly segment - "-fullwarn -use_readonly_const %% ok, its the default" dnl IRIX C - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return 0;]])], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) -done -case ".$VAR" in - .|.no|.no,*) ;; - *) # sanity check - testing strcpy() from string.h - cp config.log config.tmp - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[ - char test[16]; - if (strcpy (test, "test")) return 1;]])],[dnl the original did use test -n `$CC testprogram.c` - if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 - then VAR="no, suppressed, string.h," ; fi], - [VAR="no, suppressed, string.h"]) - rm config.tmp - ;; -esac -FLAGS="$ac_save_[]FLAGS" -]) -AS_VAR_POPDEF([FLAGS])dnl -AC_REQUIRE([AX_APPEND_FLAG]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; - *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -])dnl AX_FLAGS_NO_WRITABLE_STRINGS - -AC_DEFUN([AX_CFLAGS_NO_WRITABLE_STRINGS],[dnl -AC_LANG_PUSH([C]) -AX_FLAGS_NO_WRITABLE_STRINGS([$1], [$2], [$3], [$4]) -AC_LANG_POP([C]) -]) - -AC_DEFUN([AX_CXXFLAGS_NO_WRITABLE_STRINGS],[dnl -AC_LANG_PUSH([C++]) -AX_FLAGS_NO_WRITABLE_STRINGS([$1], [$2], [$3], [$4]) -AC_LANG_POP([C++]) -]) diff --git a/m4/ax_cflags_strict_prototypes.m4 b/m4/ax_cflags_strict_prototypes.m4 deleted file mode 100644 index 1a910cf..0000000 --- a/m4/ax_cflags_strict_prototypes.m4 +++ /dev/null @@ -1,97 +0,0 @@ -# ================================================================================ -# https://www.gnu.org/software/autoconf-archive/ax_cflags_strict_prototypes.html -# ================================================================================ -# -# SYNOPSIS -# -# AX_CFLAGS_STRICT_PROTOTYPES [(shellvar [,default, [A/NA]] -# -# DESCRIPTION -# -# Try to find a compiler option that requires strict prototypes. -# -# The sanity check is done by looking at sys/signal.h which has a set of -# macro-definitions SIG_DFL and SIG_IGN that are cast to the local -# signal-handler type. If that signal-handler type is not fully qualified -# then the system headers are not seen as strictly prototype clean. -# -# For the GNU CC compiler it will be -fstrict-prototypes -# -Wstrict-prototypes The result is added to the shellvar being CFLAGS by -# default. -# -# DEFAULTS: -# -# - $1 shell-variable-to-add-to : CFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# NOTE: These macros depend on AX_APPEND_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> -# -# 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 18 - -AC_DEFUN([AX_FLAGS_STRICT_PROTOTYPES],[dnl -AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_strict_prototypes])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for strict prototypes], -VAR,[VAR="no, unknown" -ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic -Werror % -fstrict-prototypes -Wstrict-prototypes" dnl GCC - "-pedantic -Werror % -Wstrict-prototypes" dnl try to warn at least - "-pedantic -Werror % -Wmissing-prototypes" dnl try to warn at least - "-pedantic -Werror % -Werror-implicit-function-declaration" dnl - "-pedantic -Werror % -Wimplicit-function-declaration" dnl - "-pedantic % -Wstrict-prototypes %% no, unsupported" dnl oops - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return 0;]])], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break], []) -done -case ".$VAR" in - .|.no|.no,*) ;; - *) # sanity check with signal() from sys/signal.h - cp config.log config.tmp - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]], [[ - if (signal (SIGINT, SIG_IGN) == SIG_DFL) return 1; - if (signal (SIGINT, SIG_IGN) != SIG_DFL) return 2;]])], - [dnl the original did use test -n `$CC testprogram.c` - if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 -then if test `diff config.log config.tmp | grep -i warning | wc -l` != 1 -then VAR="no, suppressed, signal.h," ; fi ; fi], - [VAR="no, suppressed, signal.h"]) - rm config.tmp - ;; -esac -FLAGS="$ac_save_[]FLAGS" -]) -AS_VAR_POPDEF([FLAGS])dnl -AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; - *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -])dnl AX_FLAGS_STRICT_PROTOTYPES - -AC_DEFUN([AX_CFLAGS_STRICT_PROTOTYPES],[dnl -AC_LANG_PUSH([C]) -AX_FLAGS_STRICT_PROTOTYPES([$1], [$2], [$3], [$4]) -AC_LANG_POP([C]) -]) - -AC_DEFUN([AX_CXXFLAGS_STRICT_PROTOTYPES],[dnl -AC_LANG_PUSH([C++]) -AX_FLAGS_STRICT_PROTOTYPES([$1], [$2], [$3], [$4]) -AC_LANG_POP([C++]) -]) diff --git a/m4/ax_compiler_flags.m4 b/m4/ax_compiler_flags.m4 deleted file mode 100644 index ddb0456..0000000 --- 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 916f918..0000000 --- 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_cxxflags.m4 b/m4/ax_compiler_flags_cxxflags.m4 deleted file mode 100644 index 3067d9b..0000000 --- a/m4/ax_compiler_flags_cxxflags.m4 +++ /dev/null @@ -1,136 +0,0 @@ -# =============================================================================== -# 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 diff --git a/m4/ax_compiler_flags_gir.m4 b/m4/ax_compiler_flags_gir.m4 deleted file mode 100644 index 5b4924a..0000000 --- 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 976d119..0000000 --- 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 diff --git a/m4/ax_compiler_version.m4 b/m4/ax_compiler_version.m4 deleted file mode 100644 index 0581d1b..0000000 --- a/m4/ax_compiler_version.m4 +++ /dev/null @@ -1,529 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_compiler_version.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_COMPILER_VERSION -# -# DESCRIPTION -# -# This macro retrieves the compiler version and returns it in the cache -# variable $ax_cv_c_compiler_version for C and $ax_cv_cxx_compiler_version -# for C++. -# -# Version is returned as epoch:major.minor.patchversion -# -# Epoch is used in order to have an increasing version number in case of -# marketing change. -# -# Epoch use: * borland compiler use chronologically 0turboc for turboc -# era, -# -# 1borlanc BORLANDC++ before 5, 2cppbuilder for cppbuilder era, -# 3borlancpp for return of BORLANDC++ (after version 5.5), -# 4cppbuilder for cppbuilder with year version, -# and 5xe for XE era. -# -# An empty string is returned otherwise. -# -# LICENSE -# -# Copyright (c) 2014 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.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 12 - -# for intel -AC_DEFUN([_AX_COMPILER_VERSION_INTEL], - [ dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [__INTEL_COMPILER/100],, - AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [(__INTEL_COMPILER%100)/10],, - AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [(__INTEL_COMPILER%10)],, - AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# for IBM -AC_DEFUN([_AX_COMPILER_VERSION_IBM], - [ dnl - dnl check between z/OS C/C++ and XL C/C++ - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([], - [ - #if defined(__COMPILER_VER__) - choke me; - #endif - ])], - [ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [__xlC__/100],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [__xlC__%100],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__xlC_ver__/0x100],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build, - [__xlC_ver__%0x100],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler build version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build" - ], - [ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__xlC__%1000],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [(__xlC__/10000)%10],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [(__xlC__/100000)%10],, - AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) -]) - -# for pathscale -AC_DEFUN([_AX_COMPILER_VERSION_PATHSCALE],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - __PATHCC__,, - AC_MSG_FAILURE([[[$0]] unknown pathscale major])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - __PATHCC_MINOR__,, - AC_MSG_FAILURE([[[$0]] unknown pathscale minor])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__PATHCC_PATCHLEVEL__],, - AC_MSG_FAILURE([[[$0]] unknown pathscale patch level])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# for clang -AC_DEFUN([_AX_COMPILER_VERSION_CLANG],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - __clang_major__,, - AC_MSG_FAILURE([[[$0]] unknown clang major])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - __clang_minor__,, - AC_MSG_FAILURE([[[$0]] unknown clang minor])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__clang_patchlevel__],,0) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# for crayc -AC_DEFUN([_AX_COMPILER_VERSION_CRAY],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - _RELEASE,, - AC_MSG_FAILURE([[[$0]] unknown crayc release])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - _RELEASE_MINOR,, - AC_MSG_FAILURE([[[$0]] unknown crayc minor])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" - ]) - -# for fujitsu -AC_DEFUN([_AX_COMPILER_VERSION_FUJITSU],[ - AC_COMPUTE_INT(ax_cv_[]_AC_LANG_ABBREV[]_compiler_version, - __FCC_VERSION,, - AC_MSG_FAILURE([[[$0]]unknown fujitsu release])) - ]) - -# for GNU -AC_DEFUN([_AX_COMPILER_VERSION_GNU],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - __GNUC__,, - AC_MSG_FAILURE([[[$0]] unknown gcc major])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - __GNUC_MINOR__,, - AC_MSG_FAILURE([[[$0]] unknown gcc minor])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__GNUC_PATCHLEVEL__],, - AC_MSG_FAILURE([[[$0]] unknown gcc patch level])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# For sun -AC_DEFUN([_AX_COMPILER_VERSION_SUN],[ - m4_define([_AX_COMPILER_VERSION_SUN_NUMBER], - [ - #if defined(__SUNPRO_CC) - __SUNPRO_CC - #else - __SUNPRO_C - #endif - ]) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59, - !!(_AX_COMPILER_VERSION_SUN_NUMBER < 0x1000),, - AC_MSG_FAILURE([[[$0]] unknown sun release version])) - AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59" = X1], - [dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,, - AC_MSG_FAILURE([[[$0]] unknown sun patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - (_AX_COMPILER_VERSION_SUN_NUMBER / 0x10) % 0x10,, - AC_MSG_FAILURE([[[$0]] unknown sun minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100),, - AC_MSG_FAILURE([[[$0]] unknown sun major version])) - ], - [dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,, - AC_MSG_FAILURE([[[$0]] unknown sun patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100) % 0x100,, - AC_MSG_FAILURE([[[$0]] unknown sun minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (_AX_COMPILER_VERSION_SUN_NUMBER / 0x1000),, - AC_MSG_FAILURE([[[$0]] unknown sun major version])) - ]) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" -]) - -AC_DEFUN([_AX_COMPILER_VERSION_HP],[ - m4_define([_AX_COMPILER_VERSION_HP_NUMBER], - [ - #if defined(__HP_cc) - __HP_cc - #else - __HP_aCC - #endif - ]) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121, - !!(_AX_COMPILER_VERSION_HP_NUMBER <= 1),, - AC_MSG_FAILURE([[[$0]] unknown hp release version])) - AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121" = X1], - [dnl By default output last version with this behavior. - dnl it is so old - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="01.21.00" - ], - [dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - (_AX_COMPILER_VERSION_HP_NUMBER % 100),, - AC_MSG_FAILURE([[[$0]] unknown hp release version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - ((_AX_COMPILER_VERSION_HP_NUMBER / 100)%100),, - AC_MSG_FAILURE([[[$0]] unknown hp minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - ((_AX_COMPILER_VERSION_HP_NUMBER / 10000)%100),, - AC_MSG_FAILURE([[[$0]] unknown hp major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) -]) - -AC_DEFUN([_AX_COMPILER_VERSION_DEC],[dnl - m4_define([_AX_COMPILER_VERSION_DEC_NUMBER], - [ - #if defined(__DECC_VER) - __DECC_VER - #else - __DECCXX_VER - #endif - ]) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - (_AX_COMPILER_VERSION_DEC_NUMBER % 10000),, - AC_MSG_FAILURE([[[$0]] unknown dec release version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - ((_AX_COMPILER_VERSION_DEC_NUMBER / 100000UL)%100),, - AC_MSG_FAILURE([[[$0]] unknown dec minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - ((_AX_COMPILER_VERSION_DEC_NUMBER / 10000000UL)%100),, - AC_MSG_FAILURE([[[$0]] unknown dec major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# borland -AC_DEFUN([_AX_COMPILER_VERSION_BORLAND],[dnl - m4_define([_AX_COMPILER_VERSION_TURBOC_NUMBER], - [ - #if defined(__TURBOC__) - __TURBOC__ - #else - choke me - #endif - ]) - m4_define([_AX_COMPILER_VERSION_BORLANDC_NUMBER], - [ - #if defined(__BORLANDC__) - __BORLANDC__ - #else - __CODEGEARC__ - #endif - ]) - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM(, - _AX_COMPILER_VERSION_TURBOC_NUMBER)], - [dnl TURBOC - AC_COMPUTE_INT( - _ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw, - _AX_COMPILER_VERSION_TURBOC_NUMBER,, - AC_MSG_FAILURE([[[$0]] unknown turboc version])) - AS_IF( - [test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -lt 661 || test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -gt 1023], - [dnl compute normal version - AC_COMPUTE_INT( - _ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - _AX_COMPILER_VERSION_TURBOC_NUMBER % 0x100,, - AC_MSG_FAILURE([[[$0]] unknown turboc minor version])) - AC_COMPUTE_INT( - _ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (_AX_COMPILER_VERSION_TURBOC_NUMBER/0x100)%0x100,, - AC_MSG_FAILURE([[[$0]] unknown turboc major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"], - [dnl special version - AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw], - [661],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.00"], - [662],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.01"], - [663],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:2.00"], - [ - AC_MSG_WARN([[[$0]] unknown turboc version between 0x295 and 0x400 please report bug]) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="" - ]) - ]) - ], - # borlandc - [ - AC_COMPUTE_INT( - _ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw, - _AX_COMPILER_VERSION_BORLANDC_NUMBER,, - AC_MSG_FAILURE([[[$0]] unknown borlandc version])) - AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw], - dnl BORLANDC++ before 5.5 - [512] ,[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:2.00"], - [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"], - [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"], - [1040],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.1"], - [1106],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:4.0"], - [1280],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.0"], - [1312],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.02"], - dnl C++ Builder era - [1328],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:3.0"], - [1344],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:4.0"], - dnl BORLANDC++ after 5.5 - [1360],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.5"], - [1361],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.51"], - [1378],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.6.4"], - dnl C++ Builder with year number - [1392],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2006"], - [1424],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2007"], - [1555],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2009"], - [1569],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2010"], - dnl XE version - [1584],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe"], - [1600],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:2"], - [1616],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:3"], - [1632],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:4"], - [ - AC_MSG_WARN([[[$0]] Unknown borlandc compiler version $_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw please report bug]) - ]) - ]) - ]) - -# COMO -AC_DEFUN([_AX_COMPILER_VERSION_COMEAU], - [ dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [__COMO_VERSION__%100],, - AC_MSG_FAILURE([[[$0]] unknown comeau compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [(__COMO_VERSION__/100)%10],, - AC_MSG_FAILURE([[[$0]] unknown comeau compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" - ]) - -# KAI -AC_DEFUN([_AX_COMPILER_VERSION_KAI],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__KCC_VERSION%100],, - AC_MSG_FAILURE([[[$0]] unknown kay compiler patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [(__KCC_VERSION/100)%10],, - AC_MSG_FAILURE([[[$0]] unknown kay compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [(__KCC_VERSION/1000)%10],, - AC_MSG_FAILURE([[[$0]] unknown kay compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -dnl LCC -dnl LCC does not output version... - -# SGI -AC_DEFUN([_AX_COMPILER_VERSION_SGI],[ - m4_define([_AX_COMPILER_VERSION_SGI_NUMBER], - [ - #if defined(_COMPILER_VERSION) - _COMPILER_VERSION - #else - _SGI_COMPILER_VERSION - #endif - ]) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [_AX_COMPILER_VERSION_SGI_NUMBER%10],, - AC_MSG_FAILURE([[[$0]] unknown SGI compiler patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - [(_AX_COMPILER_VERSION_SGI_NUMBER/10)%10],, - AC_MSG_FAILURE([[[$0]] unknown SGI compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - [(_AX_COMPILER_VERSION_SGI_NUMBER/100)%10],, - AC_MSG_FAILURE([[[$0]] unknown SGI compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# microsoft -AC_DEFUN([_AX_COMPILER_VERSION_MICROSOFT],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - _MSC_VER%100,, - AC_MSG_FAILURE([[[$0]] unknown microsoft compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (_MSC_VER/100)%100,, - AC_MSG_FAILURE([[[$0]] unknown microsoft compiler major version])) - dnl could be overridden - _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0 - _ax_[]_AC_LANG_ABBREV[]_compiler_version_build=0 - # special case for version 6 - AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X12"], - [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - _MSC_FULL_VER%1000,, - _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0)]) - # for version 7 - AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X13"], - [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - _MSC_FULL_VER%1000,, - AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version])) - ]) - # for version > 8 - AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 14], - [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - _MSC_FULL_VER%10000,, - AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version])) - ]) - AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 15], - [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build, - _MSC_BUILD,, - AC_MSG_FAILURE([[[$0]] unknown microsoft compiler build version])) - ]) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build" - ]) - -# for metrowerks -AC_DEFUN([_AX_COMPILER_VERSION_METROWERKS],[dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - __MWERKS__%0x100,, - AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler patch version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - (__MWERKS__/0x100)%0x10,, - AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (__MWERKS__/0x1000)%0x10,, - AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# for watcom -AC_DEFUN([_AX_COMPILER_VERSION_WATCOM],[dnl - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - __WATCOMC__%100,, - AC_MSG_FAILURE([[[$0]] unknown watcom compiler minor version])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - (__WATCOMC__/100)%100,, - AC_MSG_FAILURE([[[$0]] unknown watcom compiler major version])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" - ]) - -# for PGI -AC_DEFUN([_AX_COMPILER_VERSION_PORTLAND],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - __PGIC__,, - AC_MSG_FAILURE([[[$0]] unknown pgi major])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - __PGIC_MINOR__,, - AC_MSG_FAILURE([[[$0]] unknown pgi minor])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [__PGIC_PATCHLEVEL__],, - AC_MSG_FAILURE([[[$0]] unknown pgi patch level])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# tcc -AC_DEFUN([_AX_COMPILER_VERSION_TCC],[ - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=[`tcc -v | $SED 's/^[ ]*tcc[ ]\+version[ ]\+\([0-9.]\+\).*/\1/g'`] - ]) - -# for GNU -AC_DEFUN([_AX_COMPILER_VERSION_SDCC],[ - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, - /* avoid parse error with comments */ - #if(defined(__SDCC_VERSION_MAJOR)) - __SDCC_VERSION_MAJOR - #else - SDCC/100 - #endif - ,, - AC_MSG_FAILURE([[[$0]] unknown sdcc major])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, - /* avoid parse error with comments */ - #if(defined(__SDCC_VERSION_MINOR)) - __SDCC_VERSION_MINOR - #else - (SDCC%100)/10 - #endif - ,, - AC_MSG_FAILURE([[[$0]] unknown sdcc minor])) - AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, - [ - /* avoid parse error with comments */ - #if(defined(__SDCC_VERSION_PATCH)) - __SDCC_VERSION_PATCH - #elsif(defined(_SDCC_VERSION_PATCHLEVEL)) - __SDCC_VERSION_PATCHLEVEL - #else - SDCC%10 - #endif - ],, - AC_MSG_FAILURE([[[$0]] unknown sdcc patch level])) - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" - ]) - -# main entry point -AC_DEFUN([AX_COMPILER_VERSION],[dnl - AC_REQUIRE([AX_COMPILER_VENDOR]) - AC_REQUIRE([AC_PROG_SED]) - AC_CACHE_CHECK([for _AC_LANG compiler version], - ax_cv_[]_AC_LANG_ABBREV[]_compiler_version, - [ dnl - AS_CASE([$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor], - [intel],[_AX_COMPILER_VERSION_INTEL], - [ibm],[_AX_COMPILER_VERSION_IBM], - [pathscale],[_AX_COMPILER_VERSION_PATHSCALE], - [clang],[_AX_COMPILER_VERSION_CLANG], - [cray],[_AX_COMPILER_VERSION_CRAY], - [fujitsu],[_AX_COMPILER_VERSION_FUJITSU], - [gnu],[_AX_COMPILER_VERSION_GNU], - [sun],[_AX_COMPILER_VERSION_SUN], - [hp],[_AX_COMPILER_VERSION_HP], - [dec],[_AX_COMPILER_VERSION_DEC], - [borland],[_AX_COMPILER_VERSION_BORLAND], - [comeau],[_AX_COMPILER_VERSION_COMEAU], - [kai],[_AX_COMPILER_VERSION_KAI], - [sgi],[_AX_COMPILER_VERSION_SGI], - [microsoft],[_AX_COMPILER_VERSION_MICROSOFT], - [metrowerks],[_AX_COMPILER_VERSION_METROWERKS], - [watcom],[_AX_COMPILER_VERSION_WATCOM], - [portland],[_AX_COMPILER_VERSION_PORTLAND], - [tcc],[_AX_COMPILER_VERSION_TCC], - [sdcc],[_AX_COMPILER_VERSION_SDCC], - [ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=""]) - ]) -]) diff --git a/m4/ax_cxx_cppflags_std_lang.m4 b/m4/ax_cxx_cppflags_std_lang.m4 deleted file mode 100644 index ce2ac02..0000000 --- a/m4/ax_cxx_cppflags_std_lang.m4 +++ /dev/null @@ -1,41 +0,0 @@ -# ============================================================================= -# https://www.gnu.org/software/autoconf-archive/ax_cxx_cppflags_std_lang.html -# ============================================================================= -# -# SYNOPSIS -# -# AX_CXX_CPPFLAGS_STD_LANG(CPP-FLAGS) -# -# DESCRIPTION -# -# Append to CPP-FLAGS the set of flags that should be passed to the C++ -# preprocessor in order to enable use of C++ features as defined in the -# ANSI C++ standard (eg. use of standard iostream classes in the `std' -# namespace, etc.). -# -# LICENSE -# -# Copyright (c) 2008 Ludovic Courtes <ludo@chbouib.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 10 - -AU_ALIAS([AC_CXX_CPPFLAGS_STD_LANG], [AX_CXX_CPPFLAGS_STD_LANG]) -AC_DEFUN([AX_CXX_CPPFLAGS_STD_LANG], - [AC_LANG_ASSERT([C++]) - AC_REQUIRE([AX_COMPILER_VENDOR]) - case "$ax_cv_cxx_compiler_vendor" in - dec|compaq) - # By default, Compaq CXX has an iostream classes implementation - # that is _not_ in the `std' namespace. - $1="$$1 -D__USE_STD_IOSTREAM=1";; - hp) - # When `configure' looks for a C++ header (eg. <iostream>) it invokes - # `aCC -E $CPPFLAGS'. However, including standard C++ headers like - # <iostream> fails if `-AA' is not supplied. - $1="$$1 -AA";; - esac]) diff --git a/m4/ax_cxx_cxxflags_std_lang.m4 b/m4/ax_cxx_cxxflags_std_lang.m4 deleted file mode 100644 index d430f71..0000000 --- a/m4/ax_cxx_cxxflags_std_lang.m4 +++ /dev/null @@ -1,36 +0,0 @@ -# ============================================================================= -# https://www.gnu.org/software/autoconf-archive/ax_cxx_cxxflags_std_lang.html -# ============================================================================= -# -# SYNOPSIS -# -# AX_CXX_CXXFLAGS_STD_LANG(CXX-FLAGS) -# -# DESCRIPTION -# -# Append to variable CXX-FLAGS the set of compile-time flags that should -# be passed to the C++ compiler in order to enable use of C++ features as -# defined in the ANSI C++ standard (eg. use of standard iostream classes -# in the `std' namespace, etc.). Note that if you use GNU Libtool you may -# need to prefix each of those flags with `-Xcompiler' so that Libtool -# doesn't discard them (see Libtool's manual and `AC_LIBTOOLIZE_CFLAGS'). -# -# LICENSE -# -# Copyright (c) 2008 Ludovic Courtes <ludo@chbouib.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 8 - -AU_ALIAS([AC_CXX_CXXFLAGS_STD_LANG], [AX_CXX_CXXFLAGS_STD_LANG]) -AC_DEFUN([AX_CXX_CXXFLAGS_STD_LANG], - [AC_LANG_ASSERT([C++]) - AC_REQUIRE([AX_COMPILER_VENDOR]) - case "$ax_cv_cxx_compiler_vendor" in - sgi) $1="$$1 -LANG:std -exceptions";; - hp) $1="$$1 -AA";; - esac]) diff --git a/m4/ax_cxx_ldflags_std_lang.m4 b/m4/ax_cxx_ldflags_std_lang.m4 deleted file mode 100644 index 3107163..0000000 --- a/m4/ax_cxx_ldflags_std_lang.m4 +++ /dev/null @@ -1,36 +0,0 @@ -# ============================================================================ -# https://www.gnu.org/software/autoconf-archive/ax_cxx_ldflags_std_lang.html -# ============================================================================ -# -# SYNOPSIS -# -# AX_CXX_LDFLAGS_STD_LANG(LD-FLAGS) -# -# DESCRIPTION -# -# Append to LD-FLAGS the set of link-time flags that should be passed to -# the C++ compiler in order to enable use of C++ features as defined in -# the ANSI C++ standard (eg. use of standard iostream classes in the `std' -# namespace, etc.). Note that if you use GNU Libtool you may need to -# prefix each of those switches with `-Xlinker' so that Libtool doesn't -# discard them (see Libtool's manual and `AC_LIBTOOLIZE_LDFLAGS'). -# -# LICENSE -# -# Copyright (c) 2008 Ludovic Courtes <ludo@chbouib.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 8 - -AU_ALIAS([AC_CXX_LDFLAGS_STD_LANG], [AX_CXX_LDFLAGS_STD_LANG]) -AC_DEFUN([AX_CXX_LDFLAGS_STD_LANG], - [AC_LANG_ASSERT([C++]) - AC_REQUIRE([AX_COMPILER_VENDOR]) - case "$ax_cv_cxx_compiler_vendor" in - sgi) $1="$$1 -LANG:std -exceptions";; - hp) $1="$$1 -AA";; - esac]) diff --git a/m4/ax_gcc_archflag.m4 b/m4/ax_gcc_archflag.m4 deleted file mode 100644 index c52b9b2..0000000 --- a/m4/ax_gcc_archflag.m4 +++ /dev/null @@ -1,267 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE]) -# -# DESCRIPTION -# -# This macro tries to guess the "native" arch corresponding to the target -# architecture for use with gcc's -march=arch or -mtune=arch flags. If -# found, the cache variable $ax_cv_gcc_archflag is set to this flag and -# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to -# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is -# to add $ax_cv_gcc_archflag to the end of $CFLAGS. -# -# PORTABLE? should be either [yes] (default) or [no]. In the former case, -# the flag is set to -mtune (or equivalent) so that the architecture is -# only used for tuning, but the instruction set used is still portable. In -# the latter case, the flag is set to -march (or equivalent) so that -# architecture-specific instructions are enabled. -# -# The user can specify --with-gcc-arch=<arch> in order to override the -# macro's choice of architecture, or --without-gcc-arch to disable this. -# -# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is -# called unless the user specified --with-gcc-arch manually. -# -# Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID -# -# (The main emphasis here is on recent CPUs, on the principle that doing -# high-performance computing on old hardware is uncommon.) -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -# Copyright (c) 2008 Matteo Frigo -# Copyright (c) 2014 Tsukasa Oi -# Copyright (c) 2017-2018 Alexey Kopytov -# -# 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 22 - -AC_DEFUN([AX_GCC_ARCHFLAG], -[AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_SED]) -AC_REQUIRE([AX_COMPILER_VENDOR]) - -AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])], - ax_gcc_arch=$withval, ax_gcc_arch=yes) - -AC_MSG_CHECKING([for gcc architecture flag]) -AC_MSG_RESULT([]) -AC_CACHE_VAL(ax_cv_gcc_archflag, -[ -ax_cv_gcc_archflag="unknown" - -if test "$GCC" = yes; then - -if test "x$ax_gcc_arch" = xyes; then -ax_gcc_arch="" -if test "$cross_compiling" = no; then -case $host_cpu in - i[[3456]]86*|x86_64*|amd64*) # use cpuid codes - AX_GCC_X86_CPUID(0) - AX_GCC_X86_CPUID(1) - case $ax_cv_gcc_x86_cpuid_0 in - *:756e6547:6c65746e:49656e69) # Intel - case $ax_cv_gcc_x86_cpuid_1 in - *5[[4578]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;; - *5[[123]]?:*:*:*) ax_gcc_arch=pentium ;; - *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;; - *0?6[[356]]?:*:*:*|?6[[356]]?:*:*:*|6[[356]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;; - *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;; - *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;; - *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;; - *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;; - *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;; - *1?6[[aef]]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;; - *2?6[[5cf]]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;; - *2?6[[ad]]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6[[ae]]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6d?:*:*:*|*4?6[[7f]]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *1?6c?:*:*:*|*2?6[[67]]?:*:*:*|*3?6[[56]]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;; - *3?67?:*:*:*|*[[45]]?6[[ad]]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;; - *000?f[[012]]?:*:*:*|?f[[012]]?:*:*:*|f[[012]]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; - *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;; - # fallback - *5??:*:*:*) ax_gcc_arch=pentium ;; - *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;; - *6??:*:*:*) ax_gcc_arch=pentiumpro ;; - *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; - esac ;; - *:68747541:444d4163:69746e65) # AMD - case $ax_cv_gcc_x86_cpuid_1 in - *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;; - *5[[8]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;; - *5[[9d]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;; - *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;; - *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;; - *6[[678a]]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;; - *000?f[[4578bcef]]?:*:*:*|?f[[4578bcef]]?:*:*:*|f[[4578bcef]]?:*:*:*|*001?f[[4578bcf]]?:*:*:*|1?f[[4578bcf]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;; - *002?f[[13457bcf]]?:*:*:*|2?f[[13457bcf]]?:*:*:*|*004?f[[138bcf]]?:*:*:*|4?f[[138bcf]]?:*:*:*|*005?f[[df]]?:*:*:*|5?f[[df]]?:*:*:*|*006?f[[8bcf]]?:*:*:*|6?f[[8bcf]]?:*:*:*|*007?f[[cf]]?:*:*:*|7?f[[cf]]?:*:*:*|*00c?f1?:*:*:*|c?f1?:*:*:*|*020?f3?:*:*:*|20?f3?:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; - *010?f[[245689a]]?:*:*:*|10?f[[245689a]]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; - *050?f[[12]]?:*:*:*|50?f[[12]]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; - *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; - *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[[03]]?:*:*:*|61?f[[03]]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; - *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; - *07[[03]]?f0?:*:*:*|7[[03]]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; - # fallback - *0[[13]]??f??:*:*:*|[[13]]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; - *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; - *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; - *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; - *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; - *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; - *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; - *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;; - esac ;; - *:746e6543:736c7561:48727561) # IDT / VIA (Centaur) - case $ax_cv_gcc_x86_cpuid_1 in - *54?:*:*:*) ax_gcc_arch=winchip-c6 ;; - *5[[89]]?:*:*:*) ax_gcc_arch=winchip2 ;; - *66?:*:*:*) ax_gcc_arch=winchip2 ;; - *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;; - *6[[9adf]]?:*:*:*) ax_gcc_arch="c3-2 c3" ;; - esac ;; - esac - if test x"$ax_gcc_arch" = x; then # fallback - case $host_cpu in - i586*) ax_gcc_arch=pentium ;; - i686*) ax_gcc_arch=pentiumpro ;; - esac - fi - ;; - - sparc*) - AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/]) - cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null` - cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters` - case $cputype in - *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;; - *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;; - *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;; - *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;; - *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;; - *cypress*) ax_gcc_arch=cypress ;; - esac ;; - - alphaev5) ax_gcc_arch=ev5 ;; - alphaev56) ax_gcc_arch=ev56 ;; - alphapca56) ax_gcc_arch="pca56 ev56" ;; - alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;; - alphaev6) ax_gcc_arch=ev6 ;; - alphaev67) ax_gcc_arch=ev67 ;; - alphaev68) ax_gcc_arch="ev68 ev67" ;; - alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;; - alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;; - alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;; - - powerpc*) - cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | $SED 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null` - cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'` - case $cputype in - *750*) ax_gcc_arch="750 G3" ;; - *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;; - *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;; - *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;; - *970*) ax_gcc_arch="970 G5 power4";; - *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";; - *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";; - 603ev|8240) ax_gcc_arch="$cputype 603e 603";; - *POWER7*) ax_gcc_arch="power7";; - *POWER8*) ax_gcc_arch="power8";; - *POWER9*) ax_gcc_arch="power9";; - *POWER10*) ax_gcc_arch="power10";; - *) ax_gcc_arch=$cputype ;; - esac - ax_gcc_arch="$ax_gcc_arch powerpc" - ;; - aarch64) - cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - case $cpuimpl in - 0x42) case $cpuarch in - 8) case $cpuvar in - 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;; - esac - ;; - esac - ;; - 0x43) case $cpuarch in - 8) case $cpuvar in - 0x0) ax_gcc_arch="thunderx armv8-a native" ;; - 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;; - esac - ;; - esac - ;; - esac - ;; -esac -fi # not cross-compiling -fi # guess arch - -if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then -if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code - flag_prefixes="-mtune=" - if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then flag_prefixes="-march="; fi - # -mcpu=$arch and m$arch generate nonportable code on every arch except - # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr. - case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac -else - flag_prefixes="-march= -mcpu= -m" -fi -for flag_prefix in $flag_prefixes; do - for arch in $ax_gcc_arch; do - flag="$flag_prefix$arch" - AX_CHECK_COMPILE_FLAG($flag, [if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then - if test "x[]m4_default([$1],yes)" = xyes; then - if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi - fi - fi; ax_cv_gcc_archflag=$flag; break]) - done - test "x$ax_cv_gcc_archflag" = xunknown || break -done -fi - -fi # $GCC=yes -]) -AC_MSG_CHECKING([for gcc architecture flag]) -AC_MSG_RESULT($ax_cv_gcc_archflag) -if test "x$ax_cv_gcc_archflag" = xunknown; then - m4_default([$3],:) -else - m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"]) -fi -]) |