mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
first working version for the new build system
This commit is contained in:
parent
27f3ecc833
commit
e9f30cab2c
24
.gitignore
vendored
24
.gitignore
vendored
@ -5,7 +5,6 @@
|
|||||||
*.o
|
*.o
|
||||||
*.obj
|
*.obj
|
||||||
|
|
||||||
|
|
||||||
# Editor files #
|
# Editor files #
|
||||||
################
|
################
|
||||||
*~
|
*~
|
||||||
@ -48,6 +47,7 @@ Config.h.in
|
|||||||
config.log
|
config.log
|
||||||
config.status
|
config.status
|
||||||
.deps
|
.deps
|
||||||
|
*.inc
|
||||||
|
|
||||||
# http://www.gnu.org/software/autoconf #
|
# http://www.gnu.org/software/autoconf #
|
||||||
########################################
|
########################################
|
||||||
@ -64,19 +64,6 @@ config.guess
|
|||||||
INSTALL
|
INSTALL
|
||||||
.dirstamp
|
.dirstamp
|
||||||
|
|
||||||
# Packages #
|
|
||||||
############
|
|
||||||
# it's better to unpack these files and commit the raw source
|
|
||||||
# git has its own built in compression methods
|
|
||||||
*.7z
|
|
||||||
*.dmg
|
|
||||||
*.gz
|
|
||||||
*.iso
|
|
||||||
*.jar
|
|
||||||
*.rar
|
|
||||||
*.tar
|
|
||||||
*.zip
|
|
||||||
|
|
||||||
# Logs and databases #
|
# Logs and databases #
|
||||||
######################
|
######################
|
||||||
*.log
|
*.log
|
||||||
@ -101,3 +88,12 @@ build*/*
|
|||||||
#####################
|
#####################
|
||||||
*.xcodeproj/*
|
*.xcodeproj/*
|
||||||
build.sh
|
build.sh
|
||||||
|
|
||||||
|
# Eigen source #
|
||||||
|
################
|
||||||
|
lib/Eigen/*
|
||||||
|
|
||||||
|
# libtool macros #
|
||||||
|
##################
|
||||||
|
m4/lt*
|
||||||
|
m4/libtool.m4
|
@ -1,6 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include/
|
SUBDIRS = lib benchmarks tests
|
||||||
|
|
||||||
SUBDIRS = prerequisites lib benchmarks tests
|
AM_CXXFLAGS += -I$(top_builddir)/include
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
filelist: $(SUBDIRS)
|
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
aclocal -I m4
|
|
||||||
autoheader -f
|
|
||||||
automake -f --add-missing
|
|
||||||
autoconf -f
|
|
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS = Benchmark_comms Benchmark_dwf Benchmark_dwf_ntpf Benchmark_dwf_sweep Benchmark_memory_asynch Benchmark_memory_bandwidth Benchmark_su3 Benchmark_wilson Benchmark_zmm
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_comms_SOURCES=Benchmark_comms.cc
|
|
||||||
Benchmark_comms_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_dwf_SOURCES=Benchmark_dwf.cc
|
|
||||||
Benchmark_dwf_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_dwf_ntpf_SOURCES=Benchmark_dwf_ntpf.cc
|
|
||||||
Benchmark_dwf_ntpf_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_dwf_sweep_SOURCES=Benchmark_dwf_sweep.cc
|
|
||||||
Benchmark_dwf_sweep_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_memory_asynch_SOURCES=Benchmark_memory_asynch.cc
|
|
||||||
Benchmark_memory_asynch_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_memory_bandwidth_SOURCES=Benchmark_memory_bandwidth.cc
|
|
||||||
Benchmark_memory_bandwidth_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_su3_SOURCES=Benchmark_su3.cc
|
|
||||||
Benchmark_su3_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_wilson_SOURCES=Benchmark_wilson.cc
|
|
||||||
Benchmark_wilson_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Benchmark_zmm_SOURCES=Benchmark_zmm.cc
|
|
||||||
Benchmark_zmm_LDADD=-lGrid
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
#
|
|
||||||
# Test code
|
|
||||||
#
|
|
||||||
include Make.inc
|
include Make.inc
|
||||||
|
5
bootstrap.sh
Executable file
5
bootstrap.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
autoreconf -fvi
|
||||||
|
./scripts/update_eigen.sh eigen-3.2.9.tar.bz2
|
||||||
|
./scripts/filelist
|
280
configure.ac
280
configure.ac
@ -1,203 +1,176 @@
|
|||||||
# -*- Autoconf -*-
|
|
||||||
# Process this file with autoconf to produce a configure script.
|
|
||||||
#
|
|
||||||
# Project Grid package
|
|
||||||
#
|
|
||||||
# Time-stamp: <2015-07-10 17:46:21 neo>
|
|
||||||
|
|
||||||
AC_PREREQ([2.63])
|
AC_PREREQ([2.63])
|
||||||
AC_INIT([Grid], [1.0], [paboyle@ph.ed.ac.uk])
|
AC_INIT([Grid], [0.5.1-dev], [https://github.com/paboyle/Grid], [Grid])
|
||||||
AC_CANONICAL_SYSTEM
|
|
||||||
AM_INIT_AUTOMAKE(subdir-objects)
|
AM_INIT_AUTOMAKE(subdir-objects)
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
AC_LINK_FILES(lib,include/Grid )
|
|
||||||
AC_CONFIG_SRCDIR([lib/Grid.h])
|
AC_CONFIG_SRCDIR([lib/Grid.h])
|
||||||
AC_CONFIG_HEADERS([lib/Config.h])
|
AC_CONFIG_HEADERS([lib/Config.h])
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||||
|
|
||||||
AC_MSG_NOTICE([
|
############### Checks for programs
|
||||||
|
|
||||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
Configuring $PACKAGE v$VERSION for $host
|
|
||||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
])
|
|
||||||
|
|
||||||
# Checks for programs.
|
|
||||||
AC_LANG(C++)
|
AC_LANG(C++)
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
AC_OPENMP
|
AC_OPENMP
|
||||||
AC_PROG_RANLIB
|
LT_INIT([disable-shared])
|
||||||
#AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
|
|
||||||
AX_EXT
|
|
||||||
|
|
||||||
# Checks for libraries.
|
############### Checks for header files
|
||||||
#AX_GCC_VAR_ATTRIBUTE(aligned)
|
|
||||||
|
|
||||||
# Checks for header files.
|
|
||||||
AC_CHECK_HEADERS(stdint.h)
|
AC_CHECK_HEADERS(stdint.h)
|
||||||
AC_CHECK_HEADERS(mm_malloc.h)
|
AC_CHECK_HEADERS(mm_malloc.h)
|
||||||
AC_CHECK_HEADERS(malloc/malloc.h)
|
AC_CHECK_HEADERS(malloc/malloc.h)
|
||||||
AC_CHECK_HEADERS(malloc.h)
|
AC_CHECK_HEADERS(malloc.h)
|
||||||
AC_CHECK_HEADERS(endian.h)
|
AC_CHECK_HEADERS(endian.h)
|
||||||
AC_CHECK_HEADERS(execinfo.h)
|
AC_CHECK_HEADERS(execinfo.h)
|
||||||
AC_CHECK_HEADERS(gmp.h)
|
|
||||||
AC_CHECK_DECLS([ntohll],[], [], [[#include <arpa/inet.h>]])
|
AC_CHECK_DECLS([ntohll],[], [], [[#include <arpa/inet.h>]])
|
||||||
AC_CHECK_DECLS([be64toh],[], [], [[#include <arpa/inet.h>]])
|
AC_CHECK_DECLS([be64toh],[], [], [[#include <arpa/inet.h>]])
|
||||||
|
|
||||||
# Checks for typedefs, structures, and compiler characteristics.
|
############### Checks for typedefs, structures, and compiler characteristics
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_TYPE_UINT32_T
|
AC_TYPE_UINT32_T
|
||||||
AC_TYPE_UINT64_T
|
AC_TYPE_UINT64_T
|
||||||
|
|
||||||
# Checks for library functions.
|
############### Options
|
||||||
echo
|
AC_ARG_WITH([gmp],
|
||||||
echo Checking libraries
|
[AS_HELP_STRING([--with-gmp=prefix],
|
||||||
echo :::::::::::::::::::::::::::::::::::::::::::
|
[try this for a non-standard install prefix of the GMP library])],
|
||||||
|
[AM_CXXFLAGS="$AM_CXXFLAGS -I$with_gmp/include"]
|
||||||
|
[AM_LDFLAGS="$AM_LDFLAGS -L$with_gmp/lib"])
|
||||||
|
AC_ARG_WITH([mpfr],
|
||||||
|
[AS_HELP_STRING([--with-mpfr=prefix],
|
||||||
|
[try this for a non-standard install prefix of the MPFR library])],
|
||||||
|
[AM_CXXFLAGS="$AM_CXXFLAGS -I$with_mpfr/include"]
|
||||||
|
[AM_LDFLAGS="$AM_LDFLAGS -L$with_mpfr/lib"])
|
||||||
|
|
||||||
|
################ Get compiler informations
|
||||||
|
AC_LANG([C++])
|
||||||
|
AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
|
||||||
|
AX_COMPILER_VENDOR
|
||||||
|
AC_DEFINE_UNQUOTED([CXX_COMP_VENDOR],["$ax_cv_cxx_compiler_vendor"],
|
||||||
|
[vendor of C++ compiler that will compile the code])
|
||||||
|
AX_GXX_VERSION
|
||||||
|
AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
|
||||||
|
[version of g++ that will compile the code])
|
||||||
|
|
||||||
|
############### Checks for library functions
|
||||||
AC_CHECK_FUNCS([gettimeofday])
|
AC_CHECK_FUNCS([gettimeofday])
|
||||||
|
AC_CHECK_LIB([gmp],[__gmpf_init],[],[])
|
||||||
|
AC_CHECK_LIB([mpfr],[mpfr_init],[],[])
|
||||||
|
|
||||||
#AC_CHECK_LIB([gmp],[__gmpf_init],,
|
############### SIMD instruction selection
|
||||||
# [AC_MSG_ERROR(GNU Multiple Precision GMP library was not found in your system.
|
AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
|
||||||
#Please install or provide the correct path to your installation
|
|
||||||
#Info at: http://www.gmplib.org)])
|
|
||||||
|
|
||||||
#AC_CHECK_LIB([mpfr],[mpfr_init],,
|
|
||||||
# [AC_MSG_ERROR(GNU Multiple Precision MPFR library was not found in your system.
|
|
||||||
#Please install or provide the correct path to your installation
|
|
||||||
#Info at: http://www.mpfr.org/)])
|
|
||||||
|
|
||||||
#
|
|
||||||
# SIMD instructions selection
|
|
||||||
#
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|IMCI],\
|
|
||||||
[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, IMCI])],\
|
[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, IMCI])],\
|
||||||
[ac_SIMD=${enable_simd}],[ac_SIMD=DEBUG])
|
[ac_SIMD=${enable_simd}],[ac_SIMD=GEN])
|
||||||
|
|
||||||
supported=no
|
|
||||||
|
|
||||||
ac_ZMM=no;
|
|
||||||
|
|
||||||
|
case ${ax_cv_cxx_compiler_vendor} in
|
||||||
|
clang|gnu)
|
||||||
case ${ac_SIMD} in
|
case ${ac_SIMD} in
|
||||||
SSE4)
|
SSE4)
|
||||||
echo Configuring for SSE4
|
AC_DEFINE([SSE4],[1],[SSE4 intrinsics])
|
||||||
AC_DEFINE([SSE4],[1],[SSE4 Intrinsics] )
|
SIMD_FLAGS='-msse4.2';;
|
||||||
if test x"$ax_cv_support_ssse3_ext" = x"yes"; then dnl minimal support for SSE4
|
|
||||||
supported=yes
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Your processor does not support SSE4 instructions])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
AVX)
|
AVX)
|
||||||
echo Configuring for AVX
|
AC_DEFINE([AVX1],[1],[AVX intrinsics])
|
||||||
AC_DEFINE([AVX1],[1],[AVX Intrinsics] )
|
SIMD_FLAGS='-mavx';;
|
||||||
if test x"$ax_cv_support_avx_ext" = x"yes"; then dnl minimal support for AVX
|
|
||||||
supported=yes
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Your processor does not support AVX instructions])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
AVXFMA4)
|
AVXFMA4)
|
||||||
echo Configuring for AVX
|
AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
|
||||||
AC_DEFINE([AVXFMA4],[1],[AVX Intrinsics with FMA4] )
|
SIMD_FLAGS='-mavx -mfma4';;
|
||||||
if test x"$ax_cv_support_avx_ext" = x"yes"; then dnl minimal support for AVX
|
|
||||||
supported=yes
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Your processor does not support AVX instructions])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
AVX2)
|
AVX2)
|
||||||
echo Configuring for AVX2
|
AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
|
||||||
AC_DEFINE([AVX2],[1],[AVX2 Intrinsics] )
|
SIMD_FLAGS='-mavx2';;
|
||||||
if test x"$ax_cv_support_avx2_ext" = x"yes"; then dnl minimal support for AVX2
|
AVX512|AVX512MIC|KNL)
|
||||||
supported=yes
|
AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
|
||||||
else
|
SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
|
||||||
AC_MSG_WARN([Your processor does not support AVX2 instructions])
|
IMCI|KNC)
|
||||||
fi
|
|
||||||
;;
|
|
||||||
AVX512)
|
|
||||||
echo Configuring for AVX512
|
|
||||||
AC_DEFINE([AVX512],[1],[AVX512 Intrinsics for Knights Landing] )
|
|
||||||
supported="cross compilation"
|
|
||||||
ac_ZMM=yes;
|
|
||||||
;;
|
|
||||||
IMCI)
|
|
||||||
echo Configuring for IMCI
|
|
||||||
AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
|
AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
|
||||||
supported="cross compilation"
|
SIMD_FLAGS='';;
|
||||||
ac_ZMM=no;
|
GEN)
|
||||||
;;
|
AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
|
||||||
NEONv8)
|
SIMD_FLAGS='';;
|
||||||
echo Configuring for experimental ARMv8a support
|
*)
|
||||||
AC_DEFINE([NEONv8],[1],[NEON ARMv8 Experimental support ] )
|
AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the GCC/Clang"]);;
|
||||||
supported="cross compilation"
|
esac;;
|
||||||
;;
|
intel)
|
||||||
DEBUG)
|
case ${ac_SIMD} in
|
||||||
echo Configuring without SIMD support - only for compiler DEBUGGING!
|
SSE4)
|
||||||
AC_DEFINE([EMPTY_SIMD],[1],[EMPTY_SIMD only for DEBUGGING] )
|
AC_DEFINE([SSE4],[1],[SSE4 intrinsics])
|
||||||
;;
|
SIMD_FLAGS='-msse4.2 -xsse4.2';;
|
||||||
|
AVX)
|
||||||
|
AC_DEFINE([AVX1],[1],[AVX intrinsics])
|
||||||
|
SIMD_FLAGS='-mavx -xavx';;
|
||||||
|
AVXFMA4)
|
||||||
|
AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
|
||||||
|
SIMD_FLAGS='-mavx -xavx -mfma';;
|
||||||
|
AVX2)
|
||||||
|
AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
|
||||||
|
SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;
|
||||||
|
AVX512)
|
||||||
|
AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
|
||||||
|
SIMD_FLAGS='-xcore-avx512';;
|
||||||
|
AVX512MIC|KNL)
|
||||||
|
AC_DEFINE([AVX512],[1],[AVX512 intrinsics for Knights Landing])
|
||||||
|
SIMD_FLAGS='-xmic-avx512';;
|
||||||
|
IMCI|KNC)
|
||||||
|
AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
|
||||||
|
SIMD_FLAGS='';;
|
||||||
|
GEN)
|
||||||
|
AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
|
||||||
|
SIMD_FLAGS='';;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the Intel compiler"]);;
|
||||||
|
esac;;
|
||||||
|
*)
|
||||||
|
AC_MSG_WARN([Compiler unknown, using generic vector code])
|
||||||
|
AC_DEFINE([GENERIC_VEC],[1],[generic vector code]);;
|
||||||
|
esac
|
||||||
|
AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
|
||||||
|
AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
|
||||||
|
|
||||||
|
case ${ac_SIMD} in
|
||||||
|
AVX512|AVX512MIC|KNL)
|
||||||
|
AC_DEFINE([TEST_ZMM],[1],[compile ZMM test]);;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([${ac_SIMD} flag unsupported as --enable-simd option\nRun ./configure --help for the list of options]);
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case ${ac_ZMM} in
|
############### precision selection
|
||||||
yes)
|
|
||||||
echo Enabling ZMM source code
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
echo Disabling ZMM source code
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_ZMM,[ test "X${ac_ZMM}X" == "XyesX" ])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([precision],[AC_HELP_STRING([--enable-precision=single|double],[Select default word size of Real])],[ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
|
AC_ARG_ENABLE([precision],[AC_HELP_STRING([--enable-precision=single|double],[Select default word size of Real])],[ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
|
||||||
case ${ac_PRECISION} in
|
case ${ac_PRECISION} in
|
||||||
single)
|
single)
|
||||||
echo default precision is single
|
|
||||||
AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
|
AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
|
||||||
;;
|
;;
|
||||||
double)
|
double)
|
||||||
echo default precision is double
|
|
||||||
AC_DEFINE([GRID_DEFAULT_PRECISION_DOUBLE],[1],[GRID_DEFAULT_PRECISION is DOUBLE] )
|
AC_DEFINE([GRID_DEFAULT_PRECISION_DOUBLE],[1],[GRID_DEFAULT_PRECISION is DOUBLE] )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
############### communication type selection
|
||||||
# Comms selection
|
|
||||||
#
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
|
AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
|
||||||
|
|
||||||
case ${ac_COMMS} in
|
case ${ac_COMMS} in
|
||||||
none)
|
none)
|
||||||
echo Configuring for NO communications
|
|
||||||
AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
|
AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
|
||||||
;;
|
;;
|
||||||
mpi)
|
mpi)
|
||||||
echo Configuring for MPI communications
|
|
||||||
AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
|
AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
|
||||||
|
LX_FIND_MPI
|
||||||
|
AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
|
||||||
|
AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
|
||||||
|
AM_LDFLAGS="$MPI_CXXLDFLAGS $AM_LDFLAGS"
|
||||||
|
AM_LIBS="$MPI_CXXLDFLAGS $AM_LIBS"
|
||||||
;;
|
;;
|
||||||
shmem)
|
shmem)
|
||||||
echo Configuring for SHMEM communications
|
|
||||||
AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
|
AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]);
|
AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]);
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
|
AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
|
||||||
AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
|
AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
|
||||||
AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
|
AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
|
||||||
|
|
||||||
#
|
############### RNG selection
|
||||||
# RNG selection
|
|
||||||
#
|
|
||||||
AC_ARG_ENABLE([rng],[AC_HELP_STRING([--enable-rng=ranlux48|mt19937],\
|
AC_ARG_ENABLE([rng],[AC_HELP_STRING([--enable-rng=ranlux48|mt19937],\
|
||||||
[Select Random Number Generator to be used])],\
|
[Select Random Number Generator to be used])],\
|
||||||
[ac_RNG=${enable_rng}],[ac_RNG=ranlux48])
|
[ac_RNG=${enable_rng}],[ac_RNG=ranlux48])
|
||||||
|
|
||||||
case ${ac_RNG} in
|
case ${ac_RNG} in
|
||||||
ranlux48)
|
ranlux48)
|
||||||
AC_DEFINE([RNG_RANLUX],[1],[RNG_RANLUX] )
|
AC_DEFINE([RNG_RANLUX],[1],[RNG_RANLUX] )
|
||||||
@ -210,10 +183,8 @@ case ${ac_RNG} in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
############### timer option
|
||||||
# SDE timing mode
|
AC_ARG_ENABLE([timers],[AC_HELP_STRING([--enable-timers],\
|
||||||
#
|
|
||||||
AC_ARG_ENABLE([timers],[AC_HELP_STRING([--enable-timers=yes|no],\
|
|
||||||
[Enable system dependent high res timers])],\
|
[Enable system dependent high res timers])],\
|
||||||
[ac_TIMERS=${enable_timers}],[ac_TIMERS=yes])
|
[ac_TIMERS=${enable_timers}],[ac_TIMERS=yes])
|
||||||
case ${ac_TIMERS} in
|
case ${ac_TIMERS} in
|
||||||
@ -228,16 +199,10 @@ case ${ac_TIMERS} in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
############### Chroma regression test
|
||||||
# Chroma regression tests
|
|
||||||
#
|
|
||||||
AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],[Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
|
AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],[Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
|
||||||
case ${ac_CHROMA} in
|
case ${ac_CHROMA} in
|
||||||
yes)
|
yes|no)
|
||||||
echo Enabling tests regressing to Chroma
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
echo Disabling tests regressing to Chroma
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]);
|
AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]);
|
||||||
@ -246,9 +211,7 @@ esac
|
|||||||
|
|
||||||
AM_CONDITIONAL(BUILD_CHROMA_REGRESSION,[ test "X${ac_CHROMA}X" == "XyesX" ])
|
AM_CONDITIONAL(BUILD_CHROMA_REGRESSION,[ test "X${ac_CHROMA}X" == "XyesX" ])
|
||||||
|
|
||||||
#
|
############### Lapack
|
||||||
# Lapack
|
|
||||||
#
|
|
||||||
AC_ARG_ENABLE([lapack],[AC_HELP_STRING([--enable-lapack],[Enable lapack yes/no ])],[ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
|
AC_ARG_ENABLE([lapack],[AC_HELP_STRING([--enable-lapack],[Enable lapack yes/no ])],[ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
|
||||||
|
|
||||||
case ${ac_LAPACK} in
|
case ${ac_LAPACK} in
|
||||||
@ -266,12 +229,7 @@ esac
|
|||||||
AM_CONDITIONAL(USE_LAPACK,[ test "X${ac_LAPACK}X" != "XnoX" ])
|
AM_CONDITIONAL(USE_LAPACK,[ test "X${ac_LAPACK}X" != "XnoX" ])
|
||||||
AM_CONDITIONAL(USE_LAPACK_LIB,[ test "X${ac_LAPACK}X" != "XyesX" ])
|
AM_CONDITIONAL(USE_LAPACK_LIB,[ test "X${ac_LAPACK}X" != "XyesX" ])
|
||||||
|
|
||||||
###################################################################
|
############### Doxygen
|
||||||
# Checks for doxygen support
|
|
||||||
# if present enables the "make doxyfile" command
|
|
||||||
echo
|
|
||||||
echo Checking doxygen support
|
|
||||||
echo :::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
AC_PROG_DOXYGEN
|
AC_PROG_DOXYGEN
|
||||||
|
|
||||||
if test -n "$DOXYGEN"
|
if test -n "$DOXYGEN"
|
||||||
@ -279,9 +237,14 @@ then
|
|||||||
AC_CONFIG_FILES([docs/doxy.cfg])
|
AC_CONFIG_FILES([docs/doxy.cfg])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
############### Ouput
|
||||||
echo Creating configuration files
|
cwd=`pwd -P`; cd ${srcdir}; abs_srcdir=`pwd -P`; cd ${cwd}
|
||||||
echo :::::::::::::::::::::::::::::::::::::::::::
|
AM_CXXFLAGS="-I${abs_srcdir}/include $AM_CXXFLAGS"
|
||||||
|
AM_CFLAGS="-I${abs_srcdir}/include $AM_CFLAGS"
|
||||||
|
AC_SUBST([AM_CFLAGS])
|
||||||
|
AC_SUBST([AM_CXXFLAGS])
|
||||||
|
AC_SUBST([AM_LDFLAGS])
|
||||||
|
AC_SUBST([AM_LIBS])
|
||||||
AC_CONFIG_FILES(Makefile)
|
AC_CONFIG_FILES(Makefile)
|
||||||
AC_CONFIG_FILES(lib/Makefile)
|
AC_CONFIG_FILES(lib/Makefile)
|
||||||
AC_CONFIG_FILES(tests/Makefile)
|
AC_CONFIG_FILES(tests/Makefile)
|
||||||
@ -293,30 +256,25 @@ AC_CONFIG_FILES(tests/hmc/Makefile)
|
|||||||
AC_CONFIG_FILES(tests/solver/Makefile)
|
AC_CONFIG_FILES(tests/solver/Makefile)
|
||||||
AC_CONFIG_FILES(tests/qdpxx/Makefile)
|
AC_CONFIG_FILES(tests/qdpxx/Makefile)
|
||||||
AC_CONFIG_FILES(benchmarks/Makefile)
|
AC_CONFIG_FILES(benchmarks/Makefile)
|
||||||
AC_CONFIG_FILES(prerequisites/Makefile)
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Summary of configuration for $PACKAGE v$VERSION
|
Summary of configuration for $PACKAGE v$VERSION
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The following features are enabled:
|
|
||||||
|
|
||||||
- architecture (build) : $build_cpu
|
- architecture (build) : $build_cpu
|
||||||
- os (build) : $build_os
|
- os (build) : $build_os
|
||||||
- architecture (target) : $target_cpu
|
- architecture (target) : $target_cpu
|
||||||
- os (target) : $target_os
|
- os (target) : $target_os
|
||||||
- build DOXYGEN documentation : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
|
- build DOXYGEN documentation : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
|
||||||
- graphs and diagrams : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
|
- graphs and diagrams : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
|
||||||
- Supported SIMD flags : $SIMD_FLAGS
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
- enabled simd support : ${ac_SIMD} (config macro says supported: $supported )
|
- compiler vendor : ${ax_cv_cxx_compiler_vendor}
|
||||||
|
- compiler version : ${ax_cv_gxx_version}
|
||||||
|
- SIMD : ${ac_SIMD}
|
||||||
|
- SIMD flags : ${SIMD_FLAGS}
|
||||||
- communications type : ${ac_COMMS}
|
- communications type : ${ac_COMMS}
|
||||||
- default precision : ${ac_PRECISION}
|
- default precision : ${ac_PRECISION}
|
||||||
- RNG choice : ${ac_RNG}
|
- RNG choice : ${ac_RNG}
|
||||||
- LAPACK : ${ac_LAPACK}
|
- LAPACK : ${ac_LAPACK}
|
||||||
|
|
||||||
|
|
||||||
"
|
"
|
||||||
|
BIN
eigen-3.2.9.tar.bz2
Normal file
BIN
eigen-3.2.9.tar.bz2
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,5 +1,4 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include/
|
|
||||||
|
|
||||||
extra_sources=
|
extra_sources=
|
||||||
if BUILD_COMMS_MPI
|
if BUILD_COMMS_MPI
|
||||||
@ -20,16 +19,8 @@ endif
|
|||||||
include Make.inc
|
include Make.inc
|
||||||
include Eigen.inc
|
include Eigen.inc
|
||||||
|
|
||||||
lib_LIBRARIES = libGrid.a
|
lib_LTLIBRARIES = libGrid.la
|
||||||
|
|
||||||
libGrid_a_SOURCES = $(CCFILES) $(extra_sources)
|
|
||||||
|
|
||||||
fftwdir = $(prefix)/lib/
|
|
||||||
fftw_DATA = libfftw3.a
|
|
||||||
|
|
||||||
#
|
|
||||||
# Include files
|
|
||||||
#
|
|
||||||
otherincludedir = $(includedir)/Grid
|
|
||||||
nobase_otherinclude_HEADERS =$(HFILES) $(EFILES) fftw3.h Config.h
|
|
||||||
|
|
||||||
|
libGrid_la_SOURCES = $(CCFILES) $(extra_sources)
|
||||||
|
libGrid_ladir = $(pkgincludedir)
|
||||||
|
nobase_dist_pkginclude_HEADERS = $(HFILES) $(eigen_files) Config.h
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <Config.h>
|
#include <Config.h>
|
||||||
|
|
||||||
#ifdef HAVE_GMP_H
|
#ifdef HAVE_LIBGMP
|
||||||
#include "bigfloat.h"
|
#include "bigfloat.h"
|
||||||
#else
|
#else
|
||||||
#include "algorithms/approx/bigfloat_double.h"
|
#include "bigfloat_double.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define JMAX 10000 //Maximum number of iterations of Newton's approximation
|
#define JMAX 10000 //Maximum number of iterations of Newton's approximation
|
||||||
|
@ -38,7 +38,7 @@ directory
|
|||||||
#ifndef GRID_VECTOR_TYPES
|
#ifndef GRID_VECTOR_TYPES
|
||||||
#define GRID_VECTOR_TYPES
|
#define GRID_VECTOR_TYPES
|
||||||
|
|
||||||
#ifdef EMPTY_SIMD
|
#ifdef GENERIC_VEC
|
||||||
#include "Grid_empty.h"
|
#include "Grid_empty.h"
|
||||||
#endif
|
#endif
|
||||||
#ifdef SSE4
|
#ifdef SSE4
|
||||||
|
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
|
||||||
|
])
|
@ -1,38 +0,0 @@
|
|||||||
FFTFLAGS=$(filter-out -std=c++11, $(CXXFLAGS) )
|
|
||||||
|
|
||||||
EIGENVER=3.2.8
|
|
||||||
EIGEN=eigen$(EIGENVER)
|
|
||||||
EIGENTAR=$(EIGEN).tar.bz2
|
|
||||||
EIGENURL=https://bitbucket.org/eigen/eigen/get/$(EIGENVER).tar.bz2
|
|
||||||
|
|
||||||
FFTWVER=3.3.4
|
|
||||||
FFTW=fftw-$(FFTWVER)
|
|
||||||
FFTWTAR=fftw-$(FFTWVER).tar.gz
|
|
||||||
FFTWURL=http://www.fftw.org/$(FFTWTAR)
|
|
||||||
|
|
||||||
all: Eigen FFTW headerlist
|
|
||||||
|
|
||||||
$(top_srcdir)/prerequisites/$(EIGENTAR):
|
|
||||||
curl -v $(EIGENURL) -o $(top_srcdir)/prerequisites/$(EIGENTAR)
|
|
||||||
|
|
||||||
$(top_srcdir)/prerequisites/$(FFTWTAR):
|
|
||||||
curl -v $(FFTWURL) -o $(top_srcdir)/prerequisites/$(FFTWTAR)
|
|
||||||
|
|
||||||
Eigen: $(top_srcdir)/prerequisites/$(EIGENTAR)
|
|
||||||
tar xvf $(top_srcdir)/prerequisites/$(EIGENTAR)
|
|
||||||
- rm -rf $(top_srcdir)/lib/Eigen
|
|
||||||
mv eigen-eigen*/Eigen .
|
|
||||||
echo EFILES=`find Eigen -type f -name '*.h' ` > $(top_srcdir)/lib/Eigen.inc
|
|
||||||
mv Eigen $(top_srcdir)/lib/
|
|
||||||
touch Eigen
|
|
||||||
|
|
||||||
FFTW: $(top_srcdir)/prerequisites/$(FFTWTAR)
|
|
||||||
tar xvf $(top_srcdir)/prerequisites/$(FFTWTAR)
|
|
||||||
cd $(FFTW) && ./configure --prefix=@abs_top_builddir@/prerequisites/fftwinstall CFLAGS="$(FFTFLAGS)" CC=$(CC) LDFLAGS="$(LDFLAGS)" && make all install
|
|
||||||
cp -pr fftwinstall/include/fftw3.h ../include/Grid/
|
|
||||||
cp -pr fftwinstall/lib/libfftw3.a ../lib/
|
|
||||||
touch FFTW
|
|
||||||
|
|
||||||
headerlist:
|
|
||||||
cd $(top_srcdir) && ./scripts/filelist
|
|
||||||
touch headerlist
|
|
Binary file not shown.
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
HFILES=
|
|
||||||
|
|
||||||
CCFILES=
|
|
@ -3,8 +3,8 @@
|
|||||||
home=`pwd`
|
home=`pwd`
|
||||||
|
|
||||||
cd $home/lib
|
cd $home/lib
|
||||||
HFILES=`find . -type f -name '*.h' -not -path '*/Old/*'`
|
HFILES=`find . -type f -name '*.h' -not -path '*/Old/*' -not -path '*/Eigen/*'`
|
||||||
HFILES="$HFILES Config.h"
|
HFILES="$HFILES"
|
||||||
CCFILES=`find . -type f -name '*.cc' -not -name '*ommunicator*.cc'`
|
CCFILES=`find . -type f -name '*.cc' -not -name '*ommunicator*.cc'`
|
||||||
echo> Make.inc
|
echo> Make.inc
|
||||||
echo HFILES=$HFILES >> Make.inc
|
echo HFILES=$HFILES >> Make.inc
|
||||||
@ -18,16 +18,13 @@ dirs=`find . -type d `
|
|||||||
for subdir in $dirs
|
for subdir in $dirs
|
||||||
do
|
do
|
||||||
|
|
||||||
pwd
|
|
||||||
echo subdir is $subdir of $dirs
|
|
||||||
|
|
||||||
cd $home/tests/$subdir
|
cd $home/tests/$subdir
|
||||||
|
|
||||||
TESTS=`ls T*.cc`
|
TESTS=`ls T*.cc`
|
||||||
TESTLIST=`echo ${TESTS} | sed s/.cc//g `
|
TESTLIST=`echo ${TESTS} | sed s/.cc//g `
|
||||||
|
|
||||||
echo > Make.inc
|
echo noinst_PROGRAMS = > Make.inc
|
||||||
echo bin_PROGRAMS += ${TESTLIST} | sed s/Test_zmm//g >> Make.inc
|
echo noinst_PROGRAMS += ${TESTLIST} >> Make.inc
|
||||||
echo >> Make.inc
|
echo >> Make.inc
|
||||||
for f in $TESTS
|
for f in $TESTS
|
||||||
do
|
do
|
||||||
|
19
scripts/update_eigen.sh
Executable file
19
scripts/update_eigen.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if (( $# != 1 )); then
|
||||||
|
echo "usage: `basename $0` <archive>" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ARC=$1
|
||||||
|
|
||||||
|
INITDIR=`pwd`
|
||||||
|
rm -rf lib/Eigen
|
||||||
|
ARCDIR=`tar -tf ${ARC} | head -n1 | sed -e 's@/.*@@'`
|
||||||
|
tar -xf ${ARC}
|
||||||
|
cd ${ARCDIR}
|
||||||
|
(tar -cf - Eigen --exclude='*.txt' 2>/dev/null) | tar -xf - -C ../lib/
|
||||||
|
cd ../lib
|
||||||
|
echo 'eigen_files =\' > Eigen.inc
|
||||||
|
find Eigen -type f -print | sed 's/^/ /;$q;s/$/ \\/' >> Eigen.inc
|
||||||
|
cd ${INITDIR}
|
||||||
|
rm -rf ${ARCDIR}
|
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_nersc_io Test_serialisation
|
|
||||||
|
|
||||||
|
|
||||||
Test_nersc_io_SOURCES=Test_nersc_io.cc
|
|
||||||
Test_nersc_io_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_serialisation_SOURCES=Test_serialisation.cc
|
|
||||||
Test_serialisation_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_cshift Test_dwf_mixedcg_prec Test_simd Test_stencil
|
|
||||||
|
|
||||||
|
|
||||||
Test_cshift_SOURCES=Test_cshift.cc
|
|
||||||
Test_cshift_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_mixedcg_prec_SOURCES=Test_dwf_mixedcg_prec.cc
|
|
||||||
Test_dwf_mixedcg_prec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_simd_SOURCES=Test_simd.cc
|
|
||||||
Test_simd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_stencil_SOURCES=Test_stencil.cc
|
|
||||||
Test_stencil_LDADD=-lGrid
|
|
||||||
|
|
@ -1,16 +1,9 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
|
||||||
|
|
||||||
#SUBDIRS = core
|
|
||||||
|
|
||||||
# Uncomment to enable complete test suite build
|
|
||||||
SUBDIRS = core forces hmc solver debug
|
SUBDIRS = core forces hmc solver debug
|
||||||
|
|
||||||
if BUILD_CHROMA_REGRESSION
|
if BUILD_CHROMA_REGRESSION
|
||||||
SUBDIRS+= qdpxx
|
SUBDIRS+= qdpxx
|
||||||
endif
|
endif
|
||||||
bin_PROGRAMS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cf_coarsen_support Test_checker Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_gamma Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
|
|
||||||
|
|
||||||
|
|
||||||
Test_GaugeAction_SOURCES=Test_GaugeAction.cc
|
|
||||||
Test_GaugeAction_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_RectPlaq_SOURCES=Test_RectPlaq.cc
|
|
||||||
Test_RectPlaq_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
|
|
||||||
Test_cf_coarsen_support_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_checker_SOURCES=Test_checker.cc
|
|
||||||
Test_checker_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
|
|
||||||
Test_contfrac_even_odd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cshift_red_black_SOURCES=Test_cshift_red_black.cc
|
|
||||||
Test_cshift_red_black_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cshift_red_black_rotate_SOURCES=Test_cshift_red_black_rotate.cc
|
|
||||||
Test_cshift_red_black_rotate_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cshift_rotate_SOURCES=Test_cshift_rotate.cc
|
|
||||||
Test_cshift_rotate_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_even_odd_SOURCES=Test_dwf_even_odd.cc
|
|
||||||
Test_dwf_even_odd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
|
|
||||||
Test_dwf_rb5d_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gamma_SOURCES=Test_gamma.cc
|
|
||||||
Test_gamma_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gparity_SOURCES=Test_gparity.cc
|
|
||||||
Test_gparity_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
|
|
||||||
Test_gpwilson_even_odd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_lie_generators_SOURCES=Test_lie_generators.cc
|
|
||||||
Test_lie_generators_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_main_SOURCES=Test_main.cc
|
|
||||||
Test_main_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_quenched_update_SOURCES=Test_quenched_update.cc
|
|
||||||
Test_quenched_update_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rng_SOURCES=Test_rng.cc
|
|
||||||
Test_rng_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rng_fixed_SOURCES=Test_rng_fixed.cc
|
|
||||||
Test_rng_fixed_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_even_odd_SOURCES=Test_wilson_even_odd.cc
|
|
||||||
Test_wilson_even_odd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_tm_even_odd_SOURCES=Test_wilson_tm_even_odd.cc
|
|
||||||
Test_wilson_tm_even_odd_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_even_odd_vec Test_cayley_ldop_cr Test_cheby Test_synthetic_lanczos
|
|
||||||
|
|
||||||
|
|
||||||
Test_cayley_cg_SOURCES=Test_cayley_cg.cc
|
|
||||||
Test_cayley_cg_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cayley_coarsen_support_SOURCES=Test_cayley_coarsen_support.cc
|
|
||||||
Test_cayley_coarsen_support_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cayley_even_odd_SOURCES=Test_cayley_even_odd.cc
|
|
||||||
Test_cayley_even_odd_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cayley_even_odd_vec_SOURCES=Test_cayley_even_odd_vec.cc
|
|
||||||
Test_cayley_even_odd_vec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cayley_ldop_cr_SOURCES=Test_cayley_ldop_cr.cc
|
|
||||||
Test_cayley_ldop_cr_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_cheby_SOURCES=Test_cheby.cc
|
|
||||||
Test_cheby_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_synthetic_lanczos_SOURCES=Test_synthetic_lanczos.cc
|
|
||||||
Test_synthetic_lanczos_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_zmm_SOURCES=Test_zmm.cc
|
|
||||||
Test_zmm_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -26,12 +26,15 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
|
|||||||
*************************************************************************************/
|
*************************************************************************************/
|
||||||
/* END LEGAL */
|
/* END LEGAL */
|
||||||
#include <Grid/Grid.h>
|
#include <Grid/Grid.h>
|
||||||
#include <PerfCount.h>
|
#include <Grid/PerfCount.h>
|
||||||
|
|
||||||
|
#ifdef TEST_ZMM
|
||||||
|
|
||||||
int main(int argc,char **argv)
|
int main(int argc,char **argv)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
#include <simd/Intel512wilson.h>
|
#include <simd/Intel512wilson.h>
|
||||||
using namespace Grid;
|
using namespace Grid;
|
||||||
@ -481,5 +484,12 @@ void WilsonDslashAvx512F(void *ptr1,void *ptr2,void *ptr3)
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
std::cerr << "error: no ZMM test for the selected architecture" << std::endl;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gp_rect_force Test_gpdwf_force Test_gpwilson_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
|
|
||||||
|
|
||||||
|
|
||||||
Test_contfrac_force_SOURCES=Test_contfrac_force.cc
|
|
||||||
Test_contfrac_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_force_SOURCES=Test_dwf_force.cc
|
|
||||||
Test_dwf_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_gpforce_SOURCES=Test_dwf_gpforce.cc
|
|
||||||
Test_dwf_gpforce_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
|
|
||||||
Test_gp_rect_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
|
|
||||||
Test_gpdwf_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_gpwilson_force_SOURCES=Test_gpwilson_force.cc
|
|
||||||
Test_gpwilson_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_partfrac_force_SOURCES=Test_partfrac_force.cc
|
|
||||||
Test_partfrac_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rect_force_SOURCES=Test_rect_force.cc
|
|
||||||
Test_rect_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_force_SOURCES=Test_wilson_force.cc
|
|
||||||
Test_wilson_force_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_force_phiMdagMphi_SOURCES=Test_wilson_force_phiMdagMphi.cc
|
|
||||||
Test_wilson_force_phiMdagMphi_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_force_phiMphi_SOURCES=Test_wilson_force_phiMphi.cc
|
|
||||||
Test_wilson_force_phiMphi_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
|
|
||||||
Test_hmc_EODWFRatio_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_EODWFRatio_Gparity_SOURCES=Test_hmc_EODWFRatio_Gparity.cc
|
|
||||||
Test_hmc_EODWFRatio_Gparity_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_EOWilsonFermionGauge_SOURCES=Test_hmc_EOWilsonFermionGauge.cc
|
|
||||||
Test_hmc_EOWilsonFermionGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_EOWilsonRatio_SOURCES=Test_hmc_EOWilsonRatio.cc
|
|
||||||
Test_hmc_EOWilsonRatio_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_GparityIwasakiGauge_SOURCES=Test_hmc_GparityIwasakiGauge.cc
|
|
||||||
Test_hmc_GparityIwasakiGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_GparityWilsonGauge_SOURCES=Test_hmc_GparityWilsonGauge.cc
|
|
||||||
Test_hmc_GparityWilsonGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_IwasakiGauge_SOURCES=Test_hmc_IwasakiGauge.cc
|
|
||||||
Test_hmc_IwasakiGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
|
|
||||||
Test_hmc_RectGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
|
|
||||||
Test_hmc_WilsonFermionGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
|
|
||||||
Test_hmc_WilsonGauge_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
|
|
||||||
Test_hmc_WilsonRatio_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
|
|
||||||
Test_multishift_sqrt_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_remez_SOURCES=Test_remez.cc
|
|
||||||
Test_remez_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rhmc_EOWilson1p1_SOURCES=Test_rhmc_EOWilson1p1.cc
|
|
||||||
Test_rhmc_EOWilson1p1_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rhmc_EOWilsonRatio_SOURCES=Test_rhmc_EOWilsonRatio.cc
|
|
||||||
Test_rhmc_EOWilsonRatio_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rhmc_Wilson1p1_SOURCES=Test_rhmc_Wilson1p1.cc
|
|
||||||
Test_rhmc_Wilson1p1_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_rhmc_WilsonRatio_SOURCES=Test_rhmc_WilsonRatio.cc
|
|
||||||
Test_rhmc_WilsonRatio_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_qdpxx_loops_staples Test_qdpxx_munprec
|
|
||||||
|
|
||||||
|
|
||||||
Test_qdpxx_loops_staples_SOURCES=Test_qdpxx_loops_staples.cc
|
|
||||||
Test_qdpxx_loops_staples_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_qdpxx_munprec_SOURCES=Test_qdpxx_munprec.cc
|
|
||||||
Test_qdpxx_munprec_LDADD=-lGrid
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include `chroma-config --cxxflags`
|
AM_CXXFLAGS = `chroma-config --cxxflags`
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
|
AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
|
||||||
bin_PROGRAMS=
|
|
||||||
include Make.inc
|
include Make.inc
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
|
|
||||||
bin_PROGRAMS += Test_cf_cr_unprec Test_contfrac_cg Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_fpgcr Test_dwf_hdcr Test_dwf_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec
|
|
||||||
|
|
||||||
|
|
||||||
Test_cf_cr_unprec_SOURCES=Test_cf_cr_unprec.cc
|
|
||||||
Test_cf_cr_unprec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_contfrac_cg_SOURCES=Test_contfrac_cg.cc
|
|
||||||
Test_contfrac_cg_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_cg_prec_SOURCES=Test_dwf_cg_prec.cc
|
|
||||||
Test_dwf_cg_prec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_cg_schur_SOURCES=Test_dwf_cg_schur.cc
|
|
||||||
Test_dwf_cg_schur_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_cg_unprec_SOURCES=Test_dwf_cg_unprec.cc
|
|
||||||
Test_dwf_cg_unprec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_cr_unprec_SOURCES=Test_dwf_cr_unprec.cc
|
|
||||||
Test_dwf_cr_unprec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_fpgcr_SOURCES=Test_dwf_fpgcr.cc
|
|
||||||
Test_dwf_fpgcr_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_hdcr_SOURCES=Test_dwf_hdcr.cc
|
|
||||||
Test_dwf_hdcr_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_dwf_lanczos_SOURCES=Test_dwf_lanczos.cc
|
|
||||||
Test_dwf_lanczos_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_cg_prec_SOURCES=Test_wilson_cg_prec.cc
|
|
||||||
Test_wilson_cg_prec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_cg_schur_SOURCES=Test_wilson_cg_schur.cc
|
|
||||||
Test_wilson_cg_schur_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_cg_unprec_SOURCES=Test_wilson_cg_unprec.cc
|
|
||||||
Test_wilson_cg_unprec_LDADD=-lGrid
|
|
||||||
|
|
||||||
|
|
||||||
Test_wilson_cr_unprec_SOURCES=Test_wilson_cr_unprec.cc
|
|
||||||
Test_wilson_cr_unprec_LDADD=-lGrid
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
# additional include paths necessary to compile the C++ library
|
# additional include paths necessary to compile the C++ library
|
||||||
|
|
||||||
bin_PROGRAMS =
|
|
||||||
SUBDIRS =
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -I$(top_srcdir)/include
|
|
||||||
AM_LDFLAGS = -L$(top_builddir)/lib
|
AM_LDFLAGS = -L$(top_builddir)/lib
|
||||||
|
|
||||||
if USE_LAPACK
|
if USE_LAPACK
|
||||||
|
Loading…
Reference in New Issue
Block a user