Commit 8d698104 authored by Andreas Marek's avatar Andreas Marek
Browse files

ELPA_development_version_qr: Abort in configure step if no kernel set

parent c4e3b88c
...@@ -146,9 +146,9 @@ endif ...@@ -146,9 +146,9 @@ endif
endif endif
if WITH_OPENMP if WITH_OPENMP
libelpa_la_LDFLAGS = -version-info $(ELPA_SO_VERSION)
else
libelpa_mt_la_LDFLAGS = -version-info $(ELPA_SO_VERSION) libelpa_mt_la_LDFLAGS = -version-info $(ELPA_SO_VERSION)
else
libelpa_la_LDFLAGS = -version-info $(ELPA_SO_VERSION)
endif endif
# install any .mod files in the include/ dir # install any .mod files in the include/ dir
......
...@@ -881,8 +881,8 @@ ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 ...@@ -881,8 +881,8 @@ ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
@WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_20) \ @WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_20) \
@WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_22) \ @WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_22) \
@WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_24) @WITH_OPENMP_FALSE@@WITH_QR_TRUE@ $(am__append_24)
@WITH_OPENMP_TRUE@libelpa_la_LDFLAGS = -version-info $(ELPA_SO_VERSION) @WITH_OPENMP_TRUE@libelpa_mt_la_LDFLAGS = -version-info $(ELPA_SO_VERSION)
@WITH_OPENMP_FALSE@libelpa_mt_la_LDFLAGS = -version-info $(ELPA_SO_VERSION) @WITH_OPENMP_FALSE@libelpa_la_LDFLAGS = -version-info $(ELPA_SO_VERSION)
# install any .mod files in the include/ dir # install any .mod files in the include/ dir
elpa_includedir = $(includedir)/elpa elpa_includedir = $(includedir)/elpa
......
...@@ -4931,6 +4931,8 @@ fi ...@@ -4931,6 +4931,8 @@ fi
   
   
   
ELPA_KERNEL_SET=no
   
   
   
...@@ -4958,6 +4960,7 @@ fi ...@@ -4958,6 +4960,7 @@ fi
   
$as_echo "#define WITH_GENERIC 1" >>confdefs.h $as_echo "#define WITH_GENERIC 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_GENERIC], [0], [use generic kernel for all architectures (with some hand-coded optimizations)]) # AC_DEFINE([WITH_GENERIC], [0], [use generic kernel for all architectures (with some hand-coded optimizations)])
fi fi
...@@ -4988,6 +4991,7 @@ fi ...@@ -4988,6 +4991,7 @@ fi
   
$as_echo "#define WITH_GENERIC_SIMPLE 1" >>confdefs.h $as_echo "#define WITH_GENERIC_SIMPLE 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_GENERIC_SIMPLE], [0], [use generic simple kernel for all architectures (without any hand-coded optimizations)]) # AC_DEFINE([WITH_GENERIC_SIMPLE], [0], [use generic simple kernel for all architectures (without any hand-coded optimizations)])
fi fi
...@@ -5018,6 +5022,7 @@ fi ...@@ -5018,6 +5022,7 @@ fi
   
$as_echo "#define WITH_BGP 1" >>confdefs.h $as_echo "#define WITH_BGP 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_BGP], [0], [use optimized kernel for IBM BG/P]) # AC_DEFINE([WITH_BGP], [0], [use optimized kernel for IBM BG/P])
fi fi
...@@ -5048,6 +5053,7 @@ fi ...@@ -5048,6 +5053,7 @@ fi
   
$as_echo "#define WITH_BGQ 1" >>confdefs.h $as_echo "#define WITH_BGQ 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_BGQ], [0], [use optimized kernel for IBM BG/Q]) # AC_DEFINE([WITH_BGQ], [0], [use optimized kernel for IBM BG/Q])
fi fi
...@@ -5078,6 +5084,7 @@ fi ...@@ -5078,6 +5084,7 @@ fi
   
$as_echo "#define WITH_SSE_AS 1" >>confdefs.h $as_echo "#define WITH_SSE_AS 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_SSE_AS], [0], [use kernel tuned for SSE (written in gcc assembler)]) # AC_DEFINE([WITH_SSE_AS], [0], [use kernel tuned for SSE (written in gcc assembler)])
fi fi
...@@ -5108,6 +5115,7 @@ fi ...@@ -5108,6 +5115,7 @@ fi
   
$as_echo "#define WITH_AVX_SANDYBRIDGE 1" >>confdefs.h $as_echo "#define WITH_AVX_SANDYBRIDGE 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_SANDYBRIDGE], [0], [use kernel tuned for AVX on Intel Sandybridge (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_SANDYBRIDGE], [0], [use kernel tuned for AVX on Intel Sandybridge (written in gcc assembler)])
fi fi
...@@ -5138,6 +5146,7 @@ fi ...@@ -5138,6 +5146,7 @@ fi
   
$as_echo "#define WITH_AMD_BULLDOZER 1" >>confdefs.h $as_echo "#define WITH_AMD_BULLDOZER 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AMD_BULLDOZER], [0], [use kernel tuned for AVX on AMD Bulldozer (written in gcc assembler)]) # AC_DEFINE([WITH_AMD_BULLDOZER], [0], [use kernel tuned for AVX on AMD Bulldozer (written in gcc assembler)])
fi fi
...@@ -5168,6 +5177,7 @@ fi ...@@ -5168,6 +5177,7 @@ fi
   
$as_echo "#define WITH_AVX_COMPLEX_BLOCK1 1" >>confdefs.h $as_echo "#define WITH_AVX_COMPLEX_BLOCK1 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_COMPLEX_BLOCK1], [0], [use AVX optimized complex kernel with blocking 1 (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_COMPLEX_BLOCK1], [0], [use AVX optimized complex kernel with blocking 1 (written in gcc assembler)])
fi fi
...@@ -5198,6 +5208,7 @@ fi ...@@ -5198,6 +5208,7 @@ fi
   
$as_echo "#define WITH_AVX_COMPLEX_BLOCK2 1" >>confdefs.h $as_echo "#define WITH_AVX_COMPLEX_BLOCK2 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_COMPLEX_BLOCK2], [0], [use AVX optimized complex kernel with blocking 2 (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_COMPLEX_BLOCK2], [0], [use AVX optimized complex kernel with blocking 2 (written in gcc assembler)])
fi fi
...@@ -5228,6 +5239,7 @@ fi ...@@ -5228,6 +5239,7 @@ fi
   
$as_echo "#define WITH_AVX_REAL_BLOCK2 1" >>confdefs.h $as_echo "#define WITH_AVX_REAL_BLOCK2 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_REAL_BLOCK2], [0], [use AVX optimized real kernel with blocking 2 (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_REAL_BLOCK2], [0], [use AVX optimized real kernel with blocking 2 (written in gcc assembler)])
fi fi
...@@ -5258,6 +5270,7 @@ fi ...@@ -5258,6 +5270,7 @@ fi
   
$as_echo "#define WITH_AVX_REAL_BLOCK4 1" >>confdefs.h $as_echo "#define WITH_AVX_REAL_BLOCK4 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_REAL_BLOCK4], [0], [use AVX optimized real kernel with blocking 4 (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_REAL_BLOCK4], [0], [use AVX optimized real kernel with blocking 4 (written in gcc assembler)])
fi fi
...@@ -5288,11 +5301,20 @@ fi ...@@ -5288,11 +5301,20 @@ fi
   
$as_echo "#define WITH_AVX_REAL_BLOCK6 1" >>confdefs.h $as_echo "#define WITH_AVX_REAL_BLOCK6 1" >>confdefs.h
   
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([WITH_AVX_REAL_BLOCK6], [0], [use AVX optimized real kernel with blocking 6 (written in gcc assembler)]) # AC_DEFINE([WITH_AVX_REAL_BLOCK6], [0], [use AVX optimized real kernel with blocking 6 (written in gcc assembler)])
fi fi
   
   
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the user defined an ELPA kernel" >&5
$as_echo_n "checking whether the user defined an ELPA kernel... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_option}" >&5
$as_echo "${with_option}" >&6; }
if test "x${ELPA_KERNEL_SET}" = xno; then
as_fn_error $? "no ELPA kernel choosen by user! Please look at the manual! Aborting..." "$LINENO" 5
fi
   
if test "x${with_avx_sandybridge}" = xyes; then if test "x${with_avx_sandybridge}" = xyes; then
check_avx_compilation=yes check_avx_compilation=yes
......
...@@ -28,6 +28,9 @@ AM_PROG_AR ...@@ -28,6 +28,9 @@ AM_PROG_AR
AM_PROG_AS AM_PROG_AS
AC_PROG_CXX AC_PROG_CXX
dnl necessary for later checking
ELPA_KERNEL_SET=no
dnl macro for an --with-$2 switch that sets the dnl macro for an --with-$2 switch that sets the
dnl preprocessor define $1, with description $3, default $4, possible values $5 dnl preprocessor define $1, with description $3, default $4, possible values $5
AC_DEFUN([DEFINE_OPTION],[ AC_DEFUN([DEFINE_OPTION],[
...@@ -41,6 +44,7 @@ AC_DEFUN([DEFINE_OPTION],[ ...@@ -41,6 +44,7 @@ AC_DEFUN([DEFINE_OPTION],[
AM_CONDITIONAL([$1],[test x"$with_option" = x"yes"]) AM_CONDITIONAL([$1],[test x"$with_option" = x"yes"])
if test "x${with_option}" = xyes; then if test "x${with_option}" = xyes; then
AC_DEFINE([$1], [1], [$3]) AC_DEFINE([$1], [1], [$3])
ELPA_KERNEL_SET=yes
# elif test "x${with_option}" = xno; then # elif test "x${with_option}" = xno; then
# AC_DEFINE([$1], [0], [$3]) # AC_DEFINE([$1], [0], [$3])
fi fi
...@@ -94,6 +98,13 @@ DEFINE_OPTION([WITH_AVX_REAL_BLOCK6], [avx-real-block6], ...@@ -94,6 +98,13 @@ DEFINE_OPTION([WITH_AVX_REAL_BLOCK6], [avx-real-block6],
[use AVX optimized real kernel with blocking 6 (written in gcc assembler)], [use AVX optimized real kernel with blocking 6 (written in gcc assembler)],
[no],[]) [no],[])
dnl check whether any kernel was specified
AC_MSG_CHECKING(whether the user defined an ELPA kernel)
AC_MSG_RESULT([${with_option}])
if test "x${ELPA_KERNEL_SET}" = xno; then
AC_MSG_ERROR(no ELPA kernel choosen by user! Please look at the manual! Aborting...)
fi
dnl check whether we better check if AVX compilation should work dnl check whether we better check if AVX compilation should work
if test "x${with_avx_sandybridge}" = xyes; then if test "x${with_avx_sandybridge}" = xyes; then
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment