Update configurations with BLAS_LIBS and so on

This commit is contained in:
Alejandro Gallo 2022-03-15 23:38:02 +01:00
parent b54cdc0573
commit 7d37bd9f8b
5 changed files with 57 additions and 30 deletions

View File

@ -1,15 +1,13 @@
include $(top_srcdir)/atrip.mk include $(top_srcdir)/atrip.mk
AM_CPPFLAGS = -I$(top_srcdir)/include/ $(CTF_CPPFLAGS) AM_CPPFLAGS = -I$(top_srcdir)/include/ $(CTF_CPPFLAGS)
AM_LDFLAGS = -lgomp AM_LDFLAGS = @LAPACK_LIBS@ @BLAS_LIBS@
bin_PROGRAMS = test_main bin_PROGRAMS = test_main
test_main_SOURCES = test_main.cxx test_main_SOURCES = test_main.cxx
test_main_LDADD = \ test_main_LDADD = \
-lopenblas \
-lscalapack \
$(top_builddir)/src/libatrip.a $(top_builddir)/src/libatrip.a
if WITH_BUILD_CTF if WITH_BUILD_CTF

View File

@ -1,12 +1,7 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wvla"
#pragma GCC diagnostic ignored "-Wint-in-bool-context"
#include <ctf.hpp>
#pragma GCC diagnostic pop
#include <iostream> #include <iostream>
#include <atrip.hpp> #include <atrip.hpp>
#include <atrip/Debug.hpp> #include <atrip/Debug.hpp>
#include <atrip/Utils.hpp>
#include <CLI11.hpp> #include <CLI11.hpp>
#define _print_size(what, size) \ #define _print_size(what, size) \

View File

@ -4,11 +4,10 @@ dnl autoconf
dnl in the directory containing this script. dnl in the directory containing this script.
dnl dnl
AC_INIT([atrip],[0.0.0],[]) AC_INIT([atrip],[0.0.0],[https://gihtub.com/alejandrogallo/atrip])
AC_CONFIG_SRCDIR([.]) AC_CONFIG_SRCDIR([configure.ac])
AC_PREREQ(2.69) AC_PREREQ(2.69)
AC_LANG([C++]) AC_CONFIG_MACRO_DIRS([./etc/m4])
AC_CONFIG_MACRO_DIR([./etc/m4])
AC_CONFIG_AUX_DIR([./etc/autotools]) AC_CONFIG_AUX_DIR([./etc/autotools])
AM_INIT_AUTOMAKE([foreign -Wall]) AM_INIT_AUTOMAKE([foreign -Wall])
@ -54,23 +53,35 @@ AC_ARG_WITH(dgemm,
dnl ----------------------------------------------------------------------- dnl -----------------------------------------------------------------------
dnl Installation directories
dnl AC_ARG_VAR([ecldir], [the directory where *.fas files are installed])
ATRIP_LDFLAGS="-L$PWD/src -latrip" ATRIP_LDFLAGS="-L$PWD/src -latrip"
AC_SUBST(ATRIP_LDFLAGS) AC_SUBST(ATRIP_LDFLAGS)
dnl -----------------------------------------------------------------------
AM_CONDITIONAL([WITH_BUILD_CTF], [test x${BUILD_CTF} = xYES]) AM_CONDITIONAL([WITH_BUILD_CTF], [test x${BUILD_CTF} = xYES])
AC_SUBST(LIBCTF_PATH) AC_SUBST(LIBCTF_PATH)
AC_SUBST(LIBCTF_CPATH) AC_SUBST(LIBCTF_CPATH)
AC_SUBST(LIBCTF_LD_LIBRARY_PATH) AC_SUBST(LIBCTF_LD_LIBRARY_PATH)
dnl ----------------------------------------------------------------------- dnl -----------------------------------------------------------------------
dnl Guess operating system of host. AC_MSG_NOTICE([
CHECKING YOUR OVERALL SYSTEM ...
])
AC_CANONICAL_BUILD AC_CANONICAL_BUILD
AC_CANONICAL_HOST AC_CANONICAL_HOST
AC_PROG_CXX dnl sets variable CXX dnl Guess compilers
AC_LANG([C++])
AC_MSG_NOTICE([
CHECKING COMPILERS...
])
AC_PROG_CXX
AX_MPI([], [AC_MSG_FAILURE([No MPI C++ compiler found.])])
AX_COMPILER_VENDOR
CXX="${MPICXX}"
AM_PROG_AR AM_PROG_AR
AC_PROG_CPP dnl sets variable CPP AC_PROG_CPP dnl sets variable CPP
AC_PROG_RANLIB dnl sets variable RANLIB AC_PROG_RANLIB dnl sets variable RANLIB
@ -79,26 +90,29 @@ AC_PROG_LN_S dnl sets variable LN_S
AC_PROG_MAKE_SET dnl set $(MAKE) if needed AC_PROG_MAKE_SET dnl set $(MAKE) if needed
AC_PROG_RANLIB dnl set variable RANLIB AC_PROG_RANLIB dnl set variable RANLIB
AC_CHECK_TOOL([AR],[ar]) dnl set variable AR to appropriate `ar' program AC_CHECK_TOOL([AR],[ar]) dnl set variable AR to appropriate `ar' program
dnl -----------------------------------------------------------------------
AC_OPENMP AC_OPENMP
AX_APPEND_COMPILE_FLAGS([-pedantic -Wall -Wpedantic -Wextra])
AX_APPEND_COMPILE_FLAGS([-pthread])
CXXFLAGS="${CXXFLAGS} ${OPENMP_CXXFLAGS}"
LDFLAGS="${LDFLAGS} ${OPENMP_CXXFLAGS}"
AC_TYPE_SIZE_T dnl -----------------------------------------------------------------------
AC_FUNC_MALLOC
AX_BLAS([], [AC_MSG_FAILURE([Could not find BLAS library.])]) AX_BLAS([], [AC_MSG_FAILURE([Could not find BLAS library.])])
AX_LAPACK([], [AC_MSG_FAILURE([Could not find LAPACK library.])]) AX_LAPACK([], [AC_MSG_FAILURE([Could not find LAPACK library.])])
dnl -----------------------------------------------------------------------
dnl CXX checks
dnl
AX_CXX_STATIC_CAST AX_CXX_STATIC_CAST
AX_CXX_TEMPLATES AX_CXX_TEMPLATES
AX_CXX_TYPENAME AX_CXX_TYPENAME
AX_MPI([],
[AC_MSG_ERROR([You don not have an MPI Implementation!])])
AX_PROG_CXX_MPI
CXX=${MPICXX}
AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
AC_TYPE_SIZE_T
dnl ---------- CHECK CTF dnl -----------------------------------------------------------------------
dnl CHECK CTF
if test xYES = x${BUILD_CTF}; then if test xYES = x${BUILD_CTF}; then
AC_MSG_WARN([Sorry, building CTF not supported yet provide a build path AC_MSG_WARN([Sorry, building CTF not supported yet provide a build path
with --with-libctf-prefix=path]) with --with-libctf-prefix=path])
@ -110,12 +124,21 @@ else
[AC_MSG_ERROR([no ctf.hpp])]) [AC_MSG_ERROR([no ctf.hpp])])
fi fi
dnl -----------------------------------------------------------------------
dnl Docs
if test x${build_docs} = xYES; then if test x${build_docs} = xYES; then
AC_CHECK_PROGS([DOXYGEN], [doxygen]) AC_CHECK_PROGS([DOXYGEN], [doxygen])
AC_CHECK_PROGS([DOT], [dot]) AC_CHECK_PROGS([DOT], [dot])
AC_CHECK_PROGS([EMACS], [emacs]) AX_PROG_EMACS
AX_ELISP_CHECK_FEATURE([org])
AX_ELISP_CHECK_FBOUNDP([package-initialize], [package])
AX_ELISP_CHECK_FBOUNDP([package-install], [package])
AX_ELISP_CHECK_FBOUNDP([string-join], [subr-x])
AX_ELISP_CHECK_BOUNDP([org-babel-post-tangle-hook], [ob])
fi fi
dnl -----------------------------------------------------------------------
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
src/Makefile src/Makefile
bench/Makefile bench/Makefile
@ -125,14 +148,19 @@ AC_CONFIG_FILES([Makefile
]) ])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_MSG_RESULT([ AC_MSG_RESULT([
AUTOMATIC CONFIGURATION AUTOMATIC CONFIGURATION
----------------------- -----------------------
Vendor = $ax_cv_cxx_compiler_vendor
CXX = $CXX CXX = $CXX
MPICXX = $MPICXX
CXXFLAGS = $CXXFLAGS CXXFLAGS = $CXXFLAGS
CPPFLAGS = $CPPFLAGS CPPFLAGS = $CPPFLAGS
LDFLAGS = $LDFLAGS LDFLAGS = $LDFLAGS
ATRIP_LDFLAGS = $ATRIP_LDFLAGS ATRIP_LDFLAGS = $ATRIP_LDFLAGS
BLAS = ${BLAS_LIBS}
LIBS = ${LIBS}
]) ])
AC_OUTPUT AC_OUTPUT

View File

@ -1,4 +1,10 @@
CTF_CONFIG_FLAGS = CXX="$(CXX)" LIB_PATH="$(LDFLAGS)" CXXFLAGS="$(CXXFLAGS)" --no-dynamic CTF_CONFIG_FLAGS = \
CXX="$(CXX) -lmpi" \
LIB_PATH="$(LDFLAGS)" \
LIBS="-lmpi" \
CXXFLAGS="$(CXXFLAGS)" \
--no-dynamic
CTF_STATIC_LIB = $(CTF_BUILD_PATH)/lib/libctf.a CTF_STATIC_LIB = $(CTF_BUILD_PATH)/lib/libctf.a
CTF_SHARED_LIB = $(CTF_BUILD_PATH)/lib/libctf.so CTF_SHARED_LIB = $(CTF_BUILD_PATH)/lib/libctf.so
CTF_GIT_REPOSITORY ?= https://github.com/cyclops-community/ctf CTF_GIT_REPOSITORY ?= https://github.com/cyclops-community/ctf

View File

@ -1,7 +1,7 @@
AUTOMAKE_OPTIONS = subdir-objects AUTOMAKE_OPTIONS = subdir-objects
include $(top_srcdir)/atrip.mk include $(top_srcdir)/atrip.mk
AM_CXXFLAGS = -Wall --pedantic $(CTF_CPPFLAGS) AM_CXXFLAGS = $(CTF_CPPFLAGS)
lib_LIBRARIES = libatrip.a lib_LIBRARIES = libatrip.a