diff --git a/m4/ax_compiler_version.m4 b/m4/ax_compiler_version.m4
index 4995beb6032e792c209b1e045c7f58b8712f89a2..6b67c4f93116916943d1abd92a485bb33330515f 100644
--- a/m4/ax_compiler_version.m4
+++ b/m4/ax_compiler_version.m4
@@ -1,530 +1,118 @@
 # ===========================================================================
-#   https://www.gnu.org/software/autoconf-archive/ax_compiler_version.html
+#    https://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
 # ===========================================================================
 #
 # SYNOPSIS
 #
-#   AX_COMPILER_VERSION
+#   AX_COMPILER_VENDOR
 #
 # 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++.
+#   Determine the vendor of the C, C++ or Fortran compiler.  The vendor is
+#   returned in the cache variable $ax_cv_c_compiler_vendor for C,
+#   $ax_cv_cxx_compiler_vendor for C++ or $ax_cv_fc_compiler_vendor for
+#   (modern) Fortran.  The value is one of "intel", "ibm", "pathscale",
+#   "clang" (LLVM), "cray", "fujitsu", "sdcc", "sx", "portland" (PGI), "gnu"
+#   (GCC), "sun" (Oracle Developer Studio), "hp", "dec", "borland",
+#   "comeau", "kai", "lcc", "sgi", "microsoft", "metrowerks", "watcom",
+#   "tcc" (Tiny CC) or "unknown" (if the compiler cannot be determined).
 #
-#   Version is returned as epoch:major.minor.patchversion
+#   To check for a Fortran compiler, you must first call AC_FC_PP_SRCEXT
+#   with an appropriate preprocessor-enabled extension.  For example:
 #
-#   Epoch is used in order to have an increasing version number in case of
-#   marketing change.
+#     AC_LANG_PUSH([Fortran])
+#     AC_PROG_FC
+#     AC_FC_PP_SRCEXT([F])
+#     AX_COMPILER_VENDOR
+#     AC_LANG_POP([Fortran])
 #
-#   Epoch use: * borland compiler use chronologically 0turboc for turboc
-#   era,
+# LICENSE
 #
-#     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.
+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#   Copyright (c) 2008 Matteo Frigo
+#   Copyright (c) 2018-19 John Zaitseff <J.Zaitseff@zap.org.au>
 #
-#   An empty string is returned otherwise.
+#   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.
 #
-# LICENSE
+#   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.
 #
-#   Copyright (c) 2014 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.com>
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <https://www.gnu.org/licenses/>.
 #
-#   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=""])
+#   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 30
+
+AC_DEFUN([AX_COMPILER_VENDOR], [dnl
+    AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, [dnl
+	dnl  If you modify this list of vendors, please add similar support
+	dnl  to ax_compiler_version.m4 if at all possible.
+	dnl
+	dnl  Note: Do NOT check for GCC first since some other compilers
+	dnl  define __GNUC__ to remain compatible with it.  Compilers that
+	dnl  are very slow to start (such as Intel) are listed first.
+
+	vendors="
+		intel:		__ICC,__ECC,__INTEL_COMPILER
+		ibm:		__xlc__,__xlC__,__IBMC__,__IBMCPP__,__ibmxl__
+		pathscale:	__PATHCC__,__PATHSCALE__
+		clang:		__clang__
+		cray:		_CRAYC
+		fujitsu:	__FUJITSU
+		sdcc:		SDCC,__SDCC
+		sx:		_SX
+		portland:	__PGI
+		gnu:		__GNUC__
+		sun:		__SUNPRO_C,__SUNPRO_CC,__SUNPRO_F90,__SUNPRO_F95
+		hp:		__HP_cc,__HP_aCC
+		dec:		__DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+		borland:	__BORLANDC__,__CODEGEARC__,__TURBOC__
+		comeau:		__COMO__
+		kai:		__KCC
+		lcc:		__LCC__
+		sgi:		__sgi,sgi
+		microsoft:	_MSC_VER
+		metrowerks:	__MWERKS__
+		watcom:		__WATCOMC__
+		tcc:		__TINYC__
+		unknown:	UNKNOWN
+	"
+	for ventest in $vendors; do
+	    case $ventest in
+		*:)
+		    vendor=$ventest
+		    continue
+		    ;;
+		*)
+		    vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")"
+		    ;;
+	    esac
+
+	    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
+#if !($vencpp)
+      thisisanerror;
+#endif
+	    ]])], [break])
+	done
+
+	ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
     ])
-])
+])dnl