mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-07-03 09:56:10 +02:00
Clean configure file
This commit is contained in:
parent
a1e5410dd4
commit
eba2873316
238
configure.ac
238
configure.ac
|
@ -46,22 +46,35 @@ AS_IF([test -d ${srcdir}/.git],
|
||||||
[enable_maintainer_mode="no"]
|
[enable_maintainer_mode="no"]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_WITH(ifort, [AS_HELP_STRING([--with-ifort],[Use Intel Fortran compiler])], with_ifort=$withval, with_ifort=no)
|
# Intel Fortran compiler
|
||||||
AS_IF([test "$with_ifort" == "yes"], [
|
AC_ARG_WITH([ifort],
|
||||||
|
[AS_HELP_STRING([--with-ifort],
|
||||||
|
[Use Intel Fortran compiler])],
|
||||||
|
[with_ifort=$withval],
|
||||||
|
[with_ifort=no])
|
||||||
|
|
||||||
|
AS_IF([test "$with_ifort" = "yes"], [
|
||||||
FC=ifort
|
FC=ifort
|
||||||
FCFLAGS="-march=native -ip -Ofast -ftz -finline -g -mkl=sequential" ])
|
FCFLAGS="-march=native -ip -Ofast -ftz -finline -g -mkl=sequential" ])
|
||||||
|
|
||||||
AC_ARG_WITH(icc, [AS_HELP_STRING([--with-icc],[Use Intel C compiler])], with_icc=$withval, with_icc=no)
|
# Intel C compiler
|
||||||
AS_IF([test "$with_icc" == "yes"], [
|
AC_ARG_WITH([icc],
|
||||||
|
[AS_HELP_STRING([--with-icc],
|
||||||
|
[Use Intel C compiler])],
|
||||||
|
[with_icc=$withval],
|
||||||
|
[with_icc=no])
|
||||||
|
|
||||||
|
AS_IF([test "$with_icc" = "yes"], [
|
||||||
CC=icc
|
CC=icc
|
||||||
CFLAGS="-march=native -ip -Ofast -ftz -finline -g -mkl=sequential" ])
|
CFLAGS="-march=native -ip -Ofast -ftz -finline -g -mkl=sequential" ])
|
||||||
|
|
||||||
AS_IF([test "$with_icc"."$with_ifort" == "yes.yes"], [
|
AS_IF([test "$with_icc"."$with_ifort" = "yes.yes"], [
|
||||||
ax_blas_ok="yes"
|
ax_blas_ok="yes"
|
||||||
ax_lapack_ok="yes"
|
ax_lapack_ok="yes"
|
||||||
BLAS_LIBS=""
|
BLAS_LIBS=""
|
||||||
LAPACK_LIBS=""])
|
LAPACK_LIBS=""])
|
||||||
|
|
||||||
|
# Default Automake variables
|
||||||
AM_PROG_AR
|
AM_PROG_AR
|
||||||
AM_MAINTAINER_MODE()
|
AM_MAINTAINER_MODE()
|
||||||
LT_INIT
|
LT_INIT
|
||||||
|
@ -79,9 +92,7 @@ AC_SUBST([VERSION_MAJOR])
|
||||||
AC_SUBST([VERSION_MINOR])
|
AC_SUBST([VERSION_MINOR])
|
||||||
AC_SUBST([VERSION_PATCH])
|
AC_SUBST([VERSION_PATCH])
|
||||||
|
|
||||||
#AM_SILENT_RULES(yes)
|
AM_SILENT_RULES(yes)
|
||||||
#AC_SUBST(SHARED_VERSION_INFO)
|
|
||||||
#AC_ENABLE_SHARED([no]) dnl shared libs cause too many headaches to be default
|
|
||||||
|
|
||||||
AC_LANG(C)
|
AC_LANG(C)
|
||||||
|
|
||||||
|
@ -99,17 +110,14 @@ AC_PROG_FC_C_O
|
||||||
AC_FC_PP_DEFINE
|
AC_FC_PP_DEFINE
|
||||||
AC_FC_SRCEXT([F90])
|
AC_FC_SRCEXT([F90])
|
||||||
AC_FC_FREEFORM
|
AC_FC_FREEFORM
|
||||||
LT_INIT
|
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
PKG_PROG_PKG_CONFIG([])
|
PKG_PROG_PKG_CONFIG([])
|
||||||
PKG_LIBS=""
|
PKG_LIBS=
|
||||||
PKG_CFLAGS=""
|
PKG_CFLAGS=
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
|
|
||||||
AC_FC_LIBRARY_LDFLAGS
|
AC_FC_LIBRARY_LDFLAGS
|
||||||
|
|
||||||
AC_CHECK_LIB([m], [sqrt])
|
AC_CHECK_LIB([m], [sqrt])
|
||||||
AC_CHECK_HEADERS([assert.h errno.h math.h pthread.h stdbool.h stdint.h stdio.h stdlib.h string.h])
|
AC_CHECK_HEADERS([assert.h errno.h math.h pthread.h stdbool.h stdint.h stdio.h stdlib.h string.h])
|
||||||
|
|
||||||
|
@ -127,93 +135,108 @@ if test "x$with_omp" = xyes; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# CHAMELEON
|
# CHAMELEON
|
||||||
AC_ARG_WITH(chameleon,
|
#AC_ARG_WITH(chameleon,
|
||||||
AS_HELP_STRING([--without-chameleon],
|
# AS_HELP_STRING([--without-chameleon],
|
||||||
[Do not use Chameleon. Default: auto-detect]), [
|
# [Do not use Chameleon. Default: auto-detect]),
|
||||||
case "$with_chameleon" in
|
# [case "$with_chameleon" in
|
||||||
no)
|
# no)
|
||||||
: ;;
|
# : ;;
|
||||||
yes)
|
# yes)
|
||||||
PKG_CHECK_MODULES([LIBCHAMELEON],[chameleon >= 1.0.0],
|
# PKG_CHECK_MODULES([LIBCHAMELEON],[chameleon >= 1.0.0],
|
||||||
[PKG_CFLAGS="$PKG_CFLAGS $LIBCHAMELEON_CFLAGS"
|
# [PKG_CFLAGS="$PKG_CFLAGS $LIBCHAMELEON_CFLAGS"
|
||||||
PKG_LIBS="$PKG_LIBS $LIBCHAMELEON_LIBS"]
|
# PKG_LIBS="$PKG_LIBS $LIBCHAMELEON_LIBS"]
|
||||||
,[
|
# ,[
|
||||||
|
#
|
||||||
## something went wrong.
|
# ## something went wrong.
|
||||||
## try to find the package without pkg-config
|
# ## try to find the package without pkg-config
|
||||||
|
#
|
||||||
## check that the library is actually new enough.
|
# ## check that the library is actually new enough.
|
||||||
## by testing for a 1.0.0+ function which we use
|
# ## by testing for a 1.0.0+ function which we use
|
||||||
AC_CHECK_LIB(chameleon,CHAMELEON_finalize,[LIBCHAMELEON_LIBS="-lchameleon"])
|
# AC_CHECK_LIB(chameleon,CHAMELEON_finalize,[LIBCHAMELEON_LIBS="-lchameleon"])
|
||||||
])
|
# ])
|
||||||
AH_TEMPLATE(HAVE_CHAMELEON,[Chameleon support is available])
|
# AH_TEMPLATE(HAVE_CHAMELEON,[Chameleon support is available])
|
||||||
;;
|
# ;;
|
||||||
*)
|
# *)
|
||||||
if test ! -d "$withval" ; then
|
# if test ! -d "$withval" ; then
|
||||||
AC_MSG_ERROR([--with-chameleon path does not point to a directory])
|
# AC_MSG_ERROR([--with-chameleon argument does not point to a directory])
|
||||||
fi
|
# fi
|
||||||
LIBCHAMELEON_LIBS="-L$with_chameleon/lib -lchameleon -lchameleon_starpu -lhqr -lcoreblas"
|
# LIBCHAMELEON_LIBS="-L$with_chameleon/lib -lchameleon -lchameleon_starpu -lhqr -lcoreblas"
|
||||||
LIBCHAMELEON_CFLAGS="-I$with_chameleon/include $CFLAGS"
|
# LIBCHAMELEON_CFLAGS="-I$with_chameleon/include $CFLAGS"
|
||||||
LIBCHAMELEON_CPPFLAGS="-I$with_chameleon/include $CPPFLAGS"
|
# LIBCHAMELEON_CPPFLAGS="-I$with_chameleon/include $CPPFLAGS"
|
||||||
esac
|
# esac
|
||||||
])
|
# ])
|
||||||
|
#
|
||||||
if test "x$LIBCHAMELEON_LIBS" != "x" ; then
|
#if test "x$LIBCHAMELEON_LIBS" != "x" ; then
|
||||||
LIBS="$LIBS $LIBCHAMELEON_LIBS"
|
# LIBS="$LIBS $LIBCHAMELEON_LIBS"
|
||||||
CFLAGS="$CFLAGS $LIBCHAMELEON_CFLAGS"
|
# CFLAGS="$CFLAGS $LIBCHAMELEON_CFLAGS"
|
||||||
CPPFLAGS="$CPPFLAGS $LIBCHAMELEON_CPPFLAGS"
|
# CPPFLAGS="$CPPFLAGS $LIBCHAMELEON_CPPFLAGS"
|
||||||
AC_CHECK_HEADERS([chameleon.h], [], [AC_MSG_ERROR("chamelon.h not found")])
|
# AC_CHECK_HEADERS([chameleon.h], [], [AC_MSG_ERROR("chamelon.h not found")])
|
||||||
AC_DEFINE_UNQUOTED([HAVE_CHAMELEON],1,[CHAMELEON support is available])
|
# AC_DEFINE_UNQUOTED([HAVE_CHAMELEON],1,[CHAMELEON support is available])
|
||||||
fi
|
#fi
|
||||||
|
#
|
||||||
#AS_IF([test "x$with_chameleon" != "xno"], [
|
#AC_MSG_NOTICE([CHAMELEON library support: ${with_CHAMELEON:=auto} ${LIBCHAMELEON_PATH} ${LIBCHAMELEON_LIBS}])
|
||||||
#])
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([CHAMELEON library support: ${with_CHAMELEON:=auto} ${LIBCHAMELEON_PATH} ${LIBCHAMELEON_LIBS}])
|
|
||||||
|
|
||||||
|
|
||||||
# TREXIO
|
# TREXIO
|
||||||
|
LIBTREXIO=
|
||||||
|
AC_ARG_WITH([trexio],
|
||||||
|
[AS_HELP_STRING([--without-trexio],
|
||||||
|
[disable support for TREXIO])],
|
||||||
|
[with_trexio=$withval],
|
||||||
|
[with_trexio=yes])
|
||||||
|
|
||||||
AC_ARG_WITH(trexio, [AS_HELP_STRING([--without-trexio],[disable support for TREXIO])],
|
case "$with_trexio" in
|
||||||
with_trexio=$withval, with_trexio=yes)
|
no)
|
||||||
|
: ;;
|
||||||
AS_IF([test "x$with_trexio" != xno], [
|
yes)
|
||||||
AC_DEFINE([HAVE_TREXIO], [1], [Define if your have libtrexio])
|
AC_CHECK_LIB([trexio], [trexio_open], [],
|
||||||
ARGS="${ARGS} trexio"
|
|
||||||
AC_CHECK_LIB([trexio], [trexio_open],
|
|
||||||
[],
|
|
||||||
[AS_IF([test "x$with_trexio" != xcheck],
|
|
||||||
[PKG_CHECK_MODULES([TREXIO], [trexio]) ])
|
[PKG_CHECK_MODULES([TREXIO], [trexio]) ])
|
||||||
])
|
AC_CHECK_HEADERS([trexio.h], [],
|
||||||
])
|
[AC_MSG_ERROR("trexio.h not found")])
|
||||||
|
AC_DEFINE([HAVE_TREXIO], [1], [Define if TREXIO support is available])
|
||||||
|
ARGS="${ARGS} trexio"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if test ! -d "$withval" ; then
|
||||||
|
AC_MSG_ERROR([--with-trexio=$withval: argument is not a directory])
|
||||||
|
fi
|
||||||
|
TREXIO_LIBS="-L$with_trexio/lib -ltrexio"
|
||||||
|
TREXIO_CFLAGS="-I$with_trexio/include"
|
||||||
|
AC_CHECK_HEADERS([trexio.h], [],
|
||||||
|
[AC_MSG_ERROR("trexio.h not found")])
|
||||||
|
AC_DEFINE([HAVE_TREXIO], [1], [Define if TREXIO support is available])
|
||||||
|
ARGS="${ARGS} trexio"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
PKG_CFLAGS="$PKG_CFLAGS $TREXIO_CFLAGS"
|
PKG_CFLAGS="$PKG_CFLAGS $TREXIO_CFLAGS"
|
||||||
PKG_LIBS="$PKG_LIBS $TREXIO_LIBS"
|
PKG_LIBS="$PKG_LIBS $TREXIO_LIBS"
|
||||||
|
|
||||||
# QMCKL_DGEMM
|
# QMCKL_DGEMM
|
||||||
|
|
||||||
AC_ARG_WITH(qmckldgemm, [AS_HELP_STRING([--without-qmckldgemm],[disable support for QMCKLDGEMM])],
|
AC_ARG_WITH([qmckldgemm],
|
||||||
with_qmckldgemm=$withval, with_qmckldgemm=no)
|
[AS_HELP_STRING([--with-qmckldgemm],
|
||||||
|
[enable support for the QMCKLDGEMM library])],
|
||||||
|
with_qmckldgemm=$withval,
|
||||||
|
with_qmckldgemm=no)
|
||||||
|
|
||||||
AS_IF([test "x$with_qmckldgemm" != xno], [
|
#AS_IF([test "x$with_qmckldgemm" != xno], [
|
||||||
AC_DEFINE([HAVE_QMCKLDGEMM], [1], [Define if your have libqmckldgemm])
|
# [ARGS="${ARGS} qmckldgemm"
|
||||||
ARGS="${ARGS} qmckldgemm"
|
# AC_CHECK_LIB([qmckldgemm], [qmckl_packed_matrix_create], [],
|
||||||
AC_CHECK_LIB([qmckldgemm], [qmckl_packed_matrix_create],
|
# [AS_IF([test "x$with_qmckldgemm" != xcheck],
|
||||||
[],
|
# [PKG_CHECK_MODULES([QMCKLDGEMM], [qmckldgemm]) ])])],
|
||||||
[AS_IF([test "x$with_qmckldgemm" != xcheck],
|
# [AC_DEFINE([HAVE_QMCKLDGEMM], [1], [Define if QMCKLDGEMM is used])]
|
||||||
[PKG_CHECK_MODULES([QMCKLDGEMM], [qmckldgemm]) ])
|
#)
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
PKG_CFLAGS="$PKG_CFLAGS $QMCKLDGEMM_CFLAGS"
|
#PKG_CFLAGS="$PKG_CFLAGS $QMCKLDGEMM_CFLAGS"
|
||||||
PKG_LIBS="$PKG_LIBS $QMCKLDGEMM_LIBS"
|
#PKG_LIBS="$PKG_LIBS $QMCKLDGEMM_LIBS"
|
||||||
|
|
||||||
## BLAS
|
## BLAS
|
||||||
AX_BLAS([], [AC_MSG_ERROR([BLAS was not found.])])
|
AX_BLAS([], [AC_MSG_ERROR([BLAS was not found.])])
|
||||||
|
|
||||||
## LAPACK
|
## LAPACK
|
||||||
AX_LAPACK([], [AC_MSG_ERROR([LAPACK was not found.])])
|
AX_LAPACK([], [AC_MSG_ERROR([LAPACK was not found.])])
|
||||||
AS_IF([test "$BLAS_LIBS" == "$LAPACK_LIBS"], [BLAS_LIBS=""])
|
AS_IF([test "$BLAS_LIBS" = "$LAPACK_LIBS"], [BLAS_LIBS=""])
|
||||||
|
|
||||||
|
|
||||||
# Specific options required with some compilers
|
# Specific options required with some compilers
|
||||||
|
@ -240,21 +263,31 @@ case $CC in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
# Options.
|
# Options
|
||||||
AC_ARG_ENABLE(hpc, [AS_HELP_STRING([--enable-hpc],[Use HPC-optimized functions])], HAVE_HPC=$enableval, HAVE_HPC=no)
|
AC_ARG_ENABLE([hpc],
|
||||||
AS_IF([test "$HAVE_HPC" = "yes"], [
|
[AS_HELP_STRING([--enable-hpc],
|
||||||
AC_DEFINE([HAVE_HPC], [1], [If defined, activate HPC routines])
|
[Use HPC-optimized functions])],
|
||||||
])
|
[enable_hpc=$enableval],
|
||||||
|
[enable_hpc=no])
|
||||||
|
|
||||||
|
AS_IF([test "x$enable_hpc" = "yes"],
|
||||||
|
[AC_DEFINE([HAVE_HPC], [1], [Activate HPC routines])])
|
||||||
|
|
||||||
|
echo "XXX VFC"
|
||||||
# Enable Verificarlo tests
|
# Enable Verificarlo tests
|
||||||
AC_ARG_ENABLE([vfc_ci],
|
AC_ARG_ENABLE([vfc_ci],
|
||||||
[ --enable-vfc_ci Build the library with vfc_ci support],
|
[AS_HELP_STRING([--enable-vfc_ci],
|
||||||
[case "${enableval}" in
|
[Build the library with vfc_ci support])],
|
||||||
yes) vfc_ci=true && FCFLAGS="-D VFC_CI $FCFLAGS" && CFLAGS="-D VFC_CI $CFLAGS";;
|
[enable_vfc_ci=$enableval],
|
||||||
no) vfc_ci=false ;;
|
[enable_vfc_ci=no])
|
||||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable_vfc_ci]) ;;
|
|
||||||
esac],[vfc_ci=false])
|
vfc_ci="false"
|
||||||
AM_CONDITIONAL([VFC_CI], [test x$vfc_ci = xtrue])
|
AS_IF([test "x$enable_vfc_ci" = "yes"],
|
||||||
|
[vfc_ci="true"
|
||||||
|
FCFLAGS="-D VFC_CI $FCFLAGS"
|
||||||
|
CFLAGS="-D VFC_CI $CFLAGS"])
|
||||||
|
|
||||||
|
AM_CONDITIONAL([VFC_CI], [test "x$vfc_ci" = "xtrue"])
|
||||||
|
|
||||||
if test "$FC" = "verificarlo-f"; then
|
if test "$FC" = "verificarlo-f"; then
|
||||||
AC_MSG_NOTICE(verificarlo-f detected)
|
AC_MSG_NOTICE(verificarlo-f detected)
|
||||||
|
@ -419,7 +452,7 @@ AC_TYPE_UINT64_T
|
||||||
AC_CHECK_FUNCS([memset strerror])
|
AC_CHECK_FUNCS([memset strerror])
|
||||||
|
|
||||||
# Development mode
|
# Development mode
|
||||||
if test "x$enable_maintainer_mode" == "xyes" ; then
|
if test "x$enable_maintainer_mode" = "xyes" ; then
|
||||||
QMCKL_DEVEL=" -- Developer mode"
|
QMCKL_DEVEL=" -- Developer mode"
|
||||||
else
|
else
|
||||||
QMCKL_DEVEL=""
|
QMCKL_DEVEL=""
|
||||||
|
@ -433,18 +466,15 @@ if test "x${QMCKL_DEVEL}" != "x"; then
|
||||||
AM_PATH_PYTHON
|
AM_PATH_PYTHON
|
||||||
|
|
||||||
AC_CHECK_PROGS([EMACS],[emacs26 emacs],[no])
|
AC_CHECK_PROGS([EMACS],[emacs26 emacs],[no])
|
||||||
if test x${EMACS} == xno ; then
|
AS_IF([test "x${EMACS}" = "xno"],
|
||||||
AC_MSG_ERROR([
|
[AC_MSG_ERROR([
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
Error: Emacs is required for org-mode.
|
Error: Emacs is required for org-mode.
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
])
|
])])
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_PROGS([HAS_CPPCHECK],[cppcheck],[no])
|
AC_CHECK_PROGS([HAS_CPPCHECK],[cppcheck],[no])
|
||||||
if test x${HAS_CPPCHECK} != xno ; then
|
AS_IF([test "x${HAS_CPPCHECK}" != "xno"], [HAS_CPPCHECK=1])
|
||||||
HAS_CPPCHECK=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
AX_PKG_SWIG(4.0.0, [], AC_MSG_WARN([SWIG is required to build Python API.]) )
|
AX_PKG_SWIG(4.0.0, [], AC_MSG_WARN([SWIG is required to build Python API.]) )
|
||||||
|
|
||||||
|
@ -483,11 +513,9 @@ FC..............: ${FC}
|
||||||
FCFLAGS.........: ${FCFLAGS}
|
FCFLAGS.........: ${FCFLAGS}
|
||||||
LDFLAGS:........: ${LDFLAGS}
|
LDFLAGS:........: ${LDFLAGS}
|
||||||
LIBS............: ${LIBS}
|
LIBS............: ${LIBS}
|
||||||
USE CHAMELEON...: ${with_chameleon}
|
TREXIO..........: ${with_trexio}
|
||||||
|
QMCKL_DGEMM.....: ${with_qmckldgemm}
|
||||||
HPC version.....: ${HAVE_HPC}
|
HPC version.....: ${HAVE_HPC}
|
||||||
OpenMP offload..: ${HAVE_OPENMP_OFFLOAD}
|
|
||||||
OpenACC offload.: ${HAVE_OPENACC_OFFLOAD}
|
|
||||||
cuBLAS offload..: ${HAVE_CUBLAS_OFFLOAD}
|
|
||||||
|
|
||||||
Package features:
|
Package features:
|
||||||
${ARGS}
|
${ARGS}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user