mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 14:04:32 +00:00 
			
		
		
		
	first working version for the new build system
This commit is contained in:
		
							
								
								
									
										87
									
								
								m4/ax_compiler_vendor.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								m4/ax_compiler_vendor.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS
 | 
			
		||||
#
 | 
			
		||||
#   AX_COMPILER_VENDOR
 | 
			
		||||
#
 | 
			
		||||
# DESCRIPTION
 | 
			
		||||
#
 | 
			
		||||
#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
 | 
			
		||||
#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
 | 
			
		||||
#   watcom, etc. The vendor is returned in the cache variable
 | 
			
		||||
#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
 | 
			
		||||
#
 | 
			
		||||
# 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 <http://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 15
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AX_COMPILER_VENDOR],
 | 
			
		||||
[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
 | 
			
		||||
  dnl Please add if possible support to ax_compiler_version.m4
 | 
			
		||||
  [# note: don't check for gcc first since some other compilers define __GNUC__
 | 
			
		||||
  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
 | 
			
		||||
           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
 | 
			
		||||
           pathscale: __PATHCC__,__PATHSCALE__
 | 
			
		||||
           clang:     __clang__
 | 
			
		||||
           cray:      _CRAYC
 | 
			
		||||
           fujitsu:   __FUJITSU
 | 
			
		||||
           gnu:       __GNUC__
 | 
			
		||||
           sun:       __SUNPRO_C,__SUNPRO_CC
 | 
			
		||||
           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__
 | 
			
		||||
           portland:  __PGI
 | 
			
		||||
	   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`
 | 
			
		||||
 ])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										492
									
								
								m4/ax_compiler_version.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										492
									
								
								m4/ax_compiler_version.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,492 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#    http://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 BORLANC++ before 5, 2cppbuilder for cppbuilder era,
 | 
			
		||||
#     3borlancpp for return of BORLANC++ (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 4
 | 
			
		||||
 | 
			
		||||
# 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 BORLANC++ 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 BORLANC++ 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]] Unknow borlanc 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 overriden
 | 
			
		||||
  _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'`]
 | 
			
		||||
  ])
 | 
			
		||||
# 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],
 | 
			
		||||
  	[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=""])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										34
									
								
								m4/ax_gcc_option.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								m4/ax_gcc_option.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
AC_DEFUN([AX_GCC_OPTION], [
 | 
			
		||||
AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([if gcc accepts $1 option])
 | 
			
		||||
 | 
			
		||||
AS_IF([ test "x$GCC" = "xyes" ],[
 | 
			
		||||
AS_IF([ test -z "$3" ],[
 | 
			
		||||
ax_gcc_option_test="int main()
 | 
			
		||||
{
 | 
			
		||||
return 0;
 | 
			
		||||
}"
 | 
			
		||||
],[
 | 
			
		||||
ax_gcc_option_test="$3"
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Dump the test program to file
 | 
			
		||||
cat <<EOF > conftest.c
 | 
			
		||||
$ax_gcc_option_test
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
# Dump back the file to the log, useful for debugging purposes
 | 
			
		||||
AC_TRY_COMMAND(cat conftest.c 1>&AS_MESSAGE_LOG_FD)
 | 
			
		||||
 | 
			
		||||
AS_IF([ AC_TRY_COMMAND($CC $2 $1 -c conftest.c 1>&AS_MESSAGE_LOG_FD) ],[
 | 
			
		||||
AC_MSG_RESULT([yes])
 | 
			
		||||
$4
 | 
			
		||||
],[
 | 
			
		||||
AC_MSG_RESULT([no])
 | 
			
		||||
$5
 | 
			
		||||
])
 | 
			
		||||
],[
 | 
			
		||||
AC_MSG_RESULT([no gcc available])
 | 
			
		||||
])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										64
									
								
								m4/ax_gcc_version.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								m4/ax_gcc_version.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#      http://www.gnu.org/software/autoconf-archive/ax_gcc_version.html
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#
 | 
			
		||||
# OBSOLETE MACRO
 | 
			
		||||
#
 | 
			
		||||
#   Use AX_COMPILER_VERSION instead
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS
 | 
			
		||||
#
 | 
			
		||||
#   AX_GCC_VERSION
 | 
			
		||||
#
 | 
			
		||||
# DESCRIPTION
 | 
			
		||||
#
 | 
			
		||||
#   This macro retrieves the gcc version and returns it in the GCC_VERSION
 | 
			
		||||
#   variable if available, an empty string otherwise.
 | 
			
		||||
#
 | 
			
		||||
# LICENSE
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (c) 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>
 | 
			
		||||
#
 | 
			
		||||
#   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 2 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 <http://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 10
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AX_GCC_VERSION], [
 | 
			
		||||
  AC_OBSOLETE([$0], [;please use AX_COMPILER_VERSION instead])
 | 
			
		||||
  AC_LANG_PUSH([C])
 | 
			
		||||
  AC_REQUIRE([AX_COMPILER_VENDOR])
 | 
			
		||||
  AC_REQUIRE([AX_COMPILER_VERSION])
 | 
			
		||||
  AC_LANG_POP([C])
 | 
			
		||||
  GCC_VERSION=""
 | 
			
		||||
  ax_cv_gcc_version=""
 | 
			
		||||
  AS_IF([test "X$ax_cv_c_compiler_vendor" = "Xgnu"],
 | 
			
		||||
    [dnl
 | 
			
		||||
    ax_cv_gcc_version=$ax_cv_c_compiler_version
 | 
			
		||||
    GCC_VERSION=$ax_cv_gcc_version
 | 
			
		||||
    ])
 | 
			
		||||
  AC_SUBST([GCC_VERSION])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										67
									
								
								m4/ax_gxx_version.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								m4/ax_gxx_version.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#             http://autoconf-archive.cryp.to/ax_gxx_version.html
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS
 | 
			
		||||
#
 | 
			
		||||
#   AX_GXX_VERSION
 | 
			
		||||
#
 | 
			
		||||
# DESCRIPTION
 | 
			
		||||
#
 | 
			
		||||
#   This macro retrieves the g++ version and returns it in the GXX_VERSION
 | 
			
		||||
#   variable if available, an empty string otherwise.
 | 
			
		||||
#
 | 
			
		||||
# LAST MODIFICATION
 | 
			
		||||
#
 | 
			
		||||
#   2008-04-12
 | 
			
		||||
#
 | 
			
		||||
# COPYLEFT
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (c) 2008 Francesco Salvestrini <salvestrini@users.sourceforge.net>
 | 
			
		||||
#
 | 
			
		||||
#   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 2 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 <http://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 Macro 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.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AX_GXX_VERSION], [
 | 
			
		||||
  GXX_VERSION=""
 | 
			
		||||
  AX_GCC_OPTION([-dumpversion],[],[],[
 | 
			
		||||
    ax_gcc_version_option=yes
 | 
			
		||||
  ],[
 | 
			
		||||
    ax_gcc_version_option=no
 | 
			
		||||
  ])
 | 
			
		||||
  AS_IF([test "x$GXX" = "xyes"],[
 | 
			
		||||
    AS_IF([test "x$ax_gxx_version_option" != "no"],[
 | 
			
		||||
      AC_CACHE_CHECK([gxx version],[ax_cv_gxx_version],[
 | 
			
		||||
        ax_cv_gxx_version="`$CXX -dumpversion`"
 | 
			
		||||
        AS_IF([test "x$ax_cv_gxx_version" = "x"],[
 | 
			
		||||
          ax_cv_gxx_version=""
 | 
			
		||||
        ])
 | 
			
		||||
      ])
 | 
			
		||||
      GXX_VERSION=$ax_cv_gxx_version
 | 
			
		||||
    ])
 | 
			
		||||
  ])
 | 
			
		||||
  AC_SUBST([GXX_VERSION])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										203
									
								
								m4/lx_find_mpi.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								m4/lx_find_mpi.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,203 @@
 | 
			
		||||
#################################################################################################
 | 
			
		||||
# Copyright (c) 2010, Lawrence Livermore National Security, LLC.
 | 
			
		||||
# Produced at the Lawrence Livermore National Laboratory
 | 
			
		||||
# Written by Todd Gamblin, tgamblin@llnl.gov.
 | 
			
		||||
# LLNL-CODE-417602
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# This file is part of Libra. For details, see http://github.com/tgamblin/libra.
 | 
			
		||||
# Please also read the LICENSE file for further information.
 | 
			
		||||
#
 | 
			
		||||
# Redistribution and use in source and binary forms, with or without modification, are
 | 
			
		||||
# permitted provided that the following conditions are met:
 | 
			
		||||
#
 | 
			
		||||
#  * Redistributions of source code must retain the above copyright notice, this list of
 | 
			
		||||
#    conditions and the disclaimer below.
 | 
			
		||||
#  * Redistributions in binary form must reproduce the above copyright notice, this list of
 | 
			
		||||
#    conditions and the disclaimer (as noted below) in the documentation and/or other materials
 | 
			
		||||
#    provided with the distribution.
 | 
			
		||||
#  * Neither the name of the LLNS/LLNL nor the names of its contributors may be used to endorse
 | 
			
		||||
#    or promote products derived from this software without specific prior written permission.
 | 
			
		||||
#
 | 
			
		||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
 | 
			
		||||
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 | 
			
		||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 | 
			
		||||
# LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE
 | 
			
		||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
			
		||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 | 
			
		||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 | 
			
		||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
#################################################################################################
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# LX_FIND_MPI()
 | 
			
		||||
#  ------------------------------------------------------------------------
 | 
			
		||||
# This macro finds an MPI compiler and extracts includes and libraries from
 | 
			
		||||
# it for use in automake projects.  The script exports the following variables:
 | 
			
		||||
#
 | 
			
		||||
# AC_DEFINE variables:
 | 
			
		||||
#     HAVE_MPI         AC_DEFINE'd to 1 if we found MPI
 | 
			
		||||
#
 | 
			
		||||
# AC_SUBST variables:
 | 
			
		||||
#     MPICC            Name of MPI compiler
 | 
			
		||||
#     MPI_CFLAGS       Includes and defines for MPI C compilation
 | 
			
		||||
#     MPI_CLDFLAGS     Libraries and library paths for linking MPI C programs
 | 
			
		||||
#
 | 
			
		||||
#     MPICXX           Name of MPI C++ compiler
 | 
			
		||||
#     MPI_CXXFLAGS     Includes and defines for MPI C++ compilation
 | 
			
		||||
#     MPI_CXXLDFLAGS   Libraries and library paths for linking MPI C++ programs
 | 
			
		||||
#
 | 
			
		||||
#     MPIF77           Name of MPI Fortran 77 compiler
 | 
			
		||||
#     MPI_F77FLAGS     Includes and defines for MPI Fortran 77 compilation
 | 
			
		||||
#     MPI_F77LDFLAGS   Libraries and library paths for linking MPI Fortran 77 programs
 | 
			
		||||
#
 | 
			
		||||
#     MPIFC            Name of MPI Fortran compiler
 | 
			
		||||
#     MPI_FFLAGS       Includes and defines for MPI Fortran compilation
 | 
			
		||||
#     MPI_FLDFLAGS     Libraries and library paths for linking MPI Fortran programs
 | 
			
		||||
#
 | 
			
		||||
# Shell variables output by this macro:
 | 
			
		||||
#     have_C_mpi       'yes' if we found MPI for C, 'no' otherwise
 | 
			
		||||
#     have_CXX_mpi     'yes' if we found MPI for C++, 'no' otherwise
 | 
			
		||||
#     have_F77_mpi     'yes' if we found MPI for F77, 'no' otherwise
 | 
			
		||||
#     have_F_mpi       'yes' if we found MPI for Fortran, 'no' otherwise
 | 
			
		||||
#
 | 
			
		||||
AC_DEFUN([LX_FIND_MPI],
 | 
			
		||||
[
 | 
			
		||||
     AC_LANG_CASE(
 | 
			
		||||
     [C], [
 | 
			
		||||
         AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
         if [[ ! -z "$MPICC" ]]; then
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPICC, [$MPICC], C)
 | 
			
		||||
         else
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPICC, [mpicc mpiicc mpixlc mpipgcc], C)
 | 
			
		||||
         fi
 | 
			
		||||
     ],
 | 
			
		||||
     [C++], [
 | 
			
		||||
         AC_REQUIRE([AC_PROG_CXX])
 | 
			
		||||
         if [[ ! -z "$MPICXX" ]]; then
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPICXX, [$MPICXX], CXX)
 | 
			
		||||
         else
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPICXX, [mpicxx mpiCC mpic++ mpig++ mpiicpc mpipgCC mpixlC], CXX)
 | 
			
		||||
         fi
 | 
			
		||||
     ],
 | 
			
		||||
     [F77], [
 | 
			
		||||
         AC_REQUIRE([AC_PROG_F77])
 | 
			
		||||
         if [[ ! -z "$MPIF77" ]]; then
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPIF77, [$MPIF77], F77)
 | 
			
		||||
         else
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPIF77, [mpif77 mpiifort mpixlf77 mpixlf77_r], F77)
 | 
			
		||||
         fi
 | 
			
		||||
     ],
 | 
			
		||||
     [Fortran], [
 | 
			
		||||
         AC_REQUIRE([AC_PROG_FC])
 | 
			
		||||
         if [[ ! -z "$MPIFC" ]]; then
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPIFC, [$MPIFC], F)
 | 
			
		||||
         else
 | 
			
		||||
             mpi_default_fc="mpif95 mpif90 mpigfortran mpif2003"
 | 
			
		||||
             mpi_intel_fc="mpiifort"
 | 
			
		||||
             mpi_xl_fc="mpixlf95 mpixlf95_r mpixlf90 mpixlf90_r mpixlf2003 mpixlf2003_r"
 | 
			
		||||
             mpi_pg_fc="mpipgf95 mpipgf90"
 | 
			
		||||
             LX_QUERY_MPI_COMPILER(MPIFC, [$mpi_default_fc $mpi_intel_fc $mpi_xl_fc $mpi_pg_fc], F)
 | 
			
		||||
         fi
 | 
			
		||||
     ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# LX_QUERY_MPI_COMPILER([compiler-var-name], [compiler-names], [output-var-prefix])
 | 
			
		||||
#  ------------------------------------------------------------------------
 | 
			
		||||
# AC_SUBST variables:
 | 
			
		||||
#     MPI_<prefix>FLAGS       Includes and defines for MPI compilation
 | 
			
		||||
#     MPI_<prefix>LDFLAGS     Libraries and library paths for linking MPI C programs
 | 
			
		||||
#
 | 
			
		||||
# Shell variables output by this macro:
 | 
			
		||||
#     found_mpi_flags         'yes' if we were able to get flags, 'no' otherwise
 | 
			
		||||
#
 | 
			
		||||
AC_DEFUN([LX_QUERY_MPI_COMPILER],
 | 
			
		||||
[
 | 
			
		||||
     # Try to find a working MPI compiler from the supplied names
 | 
			
		||||
     AC_PATH_PROGS($1, [$2], [not-found])
 | 
			
		||||
 | 
			
		||||
     # Figure out what the compiler responds to to get it to show us the compile
 | 
			
		||||
     # and link lines.  After this part of the macro, we'll have a valid
 | 
			
		||||
     # lx_mpi_command_line
 | 
			
		||||
     printf "checking whether $$1 responds to '-showme:compile'... "
 | 
			
		||||
     lx_mpi_compile_line=`$$1 -showme:compile 2>/dev/null`
 | 
			
		||||
     if [[ "$?" -eq 0 ]]; then
 | 
			
		||||
         echo yes
 | 
			
		||||
         lx_mpi_link_line=`$$1 -showme:link 2>/dev/null`
 | 
			
		||||
     else
 | 
			
		||||
         echo no
 | 
			
		||||
         printf "checking whether $$1 responds to '-showme'... "
 | 
			
		||||
         lx_mpi_command_line=`$$1 -showme 2>/dev/null`
 | 
			
		||||
         if [[ "$?" -ne 0 ]]; then
 | 
			
		||||
             echo no
 | 
			
		||||
             printf "checking whether $$1 responds to '-compile-info'... "
 | 
			
		||||
             lx_mpi_compile_line=`$$1 -compile-info 2>/dev/null`
 | 
			
		||||
             if [[ "$?" -eq 0 ]]; then
 | 
			
		||||
                 echo yes
 | 
			
		||||
                 lx_mpi_link_line=`$$1 -link-info 2>/dev/null`
 | 
			
		||||
             else
 | 
			
		||||
                 echo no
 | 
			
		||||
                 printf "checking whether $$1 responds to '-show'... "
 | 
			
		||||
                 lx_mpi_command_line=`$$1 -show 2>/dev/null`
 | 
			
		||||
                 if [[ "$?" -eq 0 ]]; then
 | 
			
		||||
                     echo yes
 | 
			
		||||
                 else
 | 
			
		||||
                     echo no
 | 
			
		||||
                 fi
 | 
			
		||||
             fi
 | 
			
		||||
         else
 | 
			
		||||
             echo yes
 | 
			
		||||
         fi
 | 
			
		||||
     fi
 | 
			
		||||
 | 
			
		||||
     if [[ ! -z "$lx_mpi_compile_line" -a ! -z "$lx_mpi_link_line" ]]; then
 | 
			
		||||
         lx_mpi_command_line="$lx_mpi_compile_line $lx_mpi_link_line"
 | 
			
		||||
     fi
 | 
			
		||||
 | 
			
		||||
     if [[ ! -z "$lx_mpi_command_line" ]]; then
 | 
			
		||||
         # Now extract the different parts of the MPI command line.  Do these separately in case we need to
 | 
			
		||||
         # parse them all out in future versions of this macro.
 | 
			
		||||
         lx_mpi_defines=`    echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-D\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
 | 
			
		||||
         lx_mpi_includes=`   echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-I\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
 | 
			
		||||
         lx_mpi_link_paths=` echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-L\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
 | 
			
		||||
         lx_mpi_libs=`       echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-l\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
 | 
			
		||||
         lx_mpi_link_args=`  echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-Wl,\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
 | 
			
		||||
 | 
			
		||||
         # Create variables and clean up newlines and multiple spaces
 | 
			
		||||
         MPI_$3FLAGS="$lx_mpi_defines $lx_mpi_includes"
 | 
			
		||||
         MPI_$3LDFLAGS="$lx_mpi_link_paths $lx_mpi_libs $lx_mpi_link_args"
 | 
			
		||||
         MPI_$3FLAGS=`  echo "$MPI_$3FLAGS"   | tr '\n' ' ' | sed 's/^[[ \t]]*//;s/[[ \t]]*$//' | sed 's/  +/ /g'`
 | 
			
		||||
         MPI_$3LDFLAGS=`echo "$MPI_$3LDFLAGS" | tr '\n' ' ' | sed 's/^[[ \t]]*//;s/[[ \t]]*$//' | sed 's/  +/ /g'`
 | 
			
		||||
 | 
			
		||||
         OLD_CPPFLAGS=$CPPFLAGS
 | 
			
		||||
         OLD_LIBS=$LIBS
 | 
			
		||||
         CPPFLAGS=$MPI_$3FLAGS
 | 
			
		||||
         LIBS=$MPI_$3LDFLAGS
 | 
			
		||||
 | 
			
		||||
         AC_TRY_LINK([#include <mpi.h>],
 | 
			
		||||
                     [int rank, size;
 | 
			
		||||
                      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 | 
			
		||||
                      MPI_Comm_size(MPI_COMM_WORLD, &size);],
 | 
			
		||||
                     [# Add a define for testing at compile time.
 | 
			
		||||
                      AC_DEFINE([HAVE_MPI], [1], [Define to 1 if you have MPI libs and headers.])
 | 
			
		||||
                      have_$3_mpi='yes'],
 | 
			
		||||
                     [# zero out mpi flags so we don't link against the faulty library.
 | 
			
		||||
                      MPI_$3FLAGS=""
 | 
			
		||||
                      MPI_$3LDFLAGS=""
 | 
			
		||||
                      have_$3_mpi='no'])
 | 
			
		||||
 | 
			
		||||
         # AC_SUBST everything.
 | 
			
		||||
         AC_SUBST($1)
 | 
			
		||||
         AC_SUBST(MPI_$3FLAGS)
 | 
			
		||||
         AC_SUBST(MPI_$3LDFLAGS)
 | 
			
		||||
 | 
			
		||||
         LIBS=$OLD_LIBS
 | 
			
		||||
         CPPFLAGS=$OLD_CPPFLAGS
 | 
			
		||||
     else
 | 
			
		||||
         echo Unable to find suitable MPI Compiler. Try setting $1.
 | 
			
		||||
         have_$3_mpi='no'
 | 
			
		||||
     fi
 | 
			
		||||
])
 | 
			
		||||
		Reference in New Issue
	
	Block a user