From 7d37bd9f8b67d5287857f1c4c8a33bd1ece42c60 Mon Sep 17 00:00:00 2001 From: Alejandro Gallo Date: Tue, 15 Mar 2022 23:38:02 +0100 Subject: [PATCH] Update configurations with BLAS_LIBS and so on --- bench/Makefile.am | 4 +-- bench/test_main.cxx | 7 +---- configure.ac | 66 ++++++++++++++++++++++++++++++++------------- etc/make/ctf.mk | 8 +++++- src/Makefile.am | 2 +- 5 files changed, 57 insertions(+), 30 deletions(-) diff --git a/bench/Makefile.am b/bench/Makefile.am index 94cc72e..88575a5 100644 --- a/bench/Makefile.am +++ b/bench/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/atrip.mk AM_CPPFLAGS = -I$(top_srcdir)/include/ $(CTF_CPPFLAGS) -AM_LDFLAGS = -lgomp +AM_LDFLAGS = @LAPACK_LIBS@ @BLAS_LIBS@ bin_PROGRAMS = test_main test_main_SOURCES = test_main.cxx test_main_LDADD = \ - -lopenblas \ - -lscalapack \ $(top_builddir)/src/libatrip.a if WITH_BUILD_CTF diff --git a/bench/test_main.cxx b/bench/test_main.cxx index 5d12234..ea13004 100644 --- a/bench/test_main.cxx +++ b/bench/test_main.cxx @@ -1,12 +1,7 @@ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wvla" -#pragma GCC diagnostic ignored "-Wint-in-bool-context" -#include -#pragma GCC diagnostic pop - #include #include #include +#include #include #define _print_size(what, size) \ diff --git a/configure.ac b/configure.ac index 6fd4617..3fe97f5 100644 --- a/configure.ac +++ b/configure.ac @@ -4,11 +4,10 @@ dnl autoconf dnl in the directory containing this script. dnl -AC_INIT([atrip],[0.0.0],[]) -AC_CONFIG_SRCDIR([.]) +AC_INIT([atrip],[0.0.0],[https://gihtub.com/alejandrogallo/atrip]) +AC_CONFIG_SRCDIR([configure.ac]) AC_PREREQ(2.69) -AC_LANG([C++]) -AC_CONFIG_MACRO_DIR([./etc/m4]) +AC_CONFIG_MACRO_DIRS([./etc/m4]) AC_CONFIG_AUX_DIR([./etc/autotools]) AM_INIT_AUTOMAKE([foreign -Wall]) @@ -54,23 +53,35 @@ AC_ARG_WITH(dgemm, dnl ----------------------------------------------------------------------- -dnl Installation directories -dnl AC_ARG_VAR([ecldir], [the directory where *.fas files are installed]) ATRIP_LDFLAGS="-L$PWD/src -latrip" AC_SUBST(ATRIP_LDFLAGS) +dnl ----------------------------------------------------------------------- AM_CONDITIONAL([WITH_BUILD_CTF], [test x${BUILD_CTF} = xYES]) AC_SUBST(LIBCTF_PATH) AC_SUBST(LIBCTF_CPATH) AC_SUBST(LIBCTF_LD_LIBRARY_PATH) dnl ----------------------------------------------------------------------- -dnl Guess operating system of host. +AC_MSG_NOTICE([ + + CHECKING YOUR OVERALL SYSTEM ... + + ]) AC_CANONICAL_BUILD 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 AC_PROG_CPP dnl sets variable CPP 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_RANLIB dnl set variable RANLIB AC_CHECK_TOOL([AR],[ar]) dnl set variable AR to appropriate `ar' program + +dnl ----------------------------------------------------------------------- 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 -AC_FUNC_MALLOC - - +dnl ----------------------------------------------------------------------- AX_BLAS([], [AC_MSG_FAILURE([Could not find BLAS library.])]) AX_LAPACK([], [AC_MSG_FAILURE([Could not find LAPACK library.])]) +dnl ----------------------------------------------------------------------- +dnl CXX checks +dnl AX_CXX_STATIC_CAST AX_CXX_TEMPLATES 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]) +AC_TYPE_SIZE_T -dnl ---------- CHECK CTF +dnl ----------------------------------------------------------------------- +dnl CHECK CTF if test xYES = x${BUILD_CTF}; then AC_MSG_WARN([Sorry, building CTF not supported yet provide a build path with --with-libctf-prefix=path]) @@ -110,12 +124,21 @@ else [AC_MSG_ERROR([no ctf.hpp])]) fi +dnl ----------------------------------------------------------------------- +dnl Docs if test x${build_docs} = xYES; then AC_CHECK_PROGS([DOXYGEN], [doxygen]) 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 + +dnl ----------------------------------------------------------------------- AC_CONFIG_FILES([Makefile src/Makefile bench/Makefile @@ -125,14 +148,19 @@ AC_CONFIG_FILES([Makefile ]) AC_CONFIG_HEADERS([config.h]) + AC_MSG_RESULT([ AUTOMATIC CONFIGURATION ----------------------- + Vendor = $ax_cv_cxx_compiler_vendor CXX = $CXX + MPICXX = $MPICXX CXXFLAGS = $CXXFLAGS CPPFLAGS = $CPPFLAGS LDFLAGS = $LDFLAGS ATRIP_LDFLAGS = $ATRIP_LDFLAGS + BLAS = ${BLAS_LIBS} + LIBS = ${LIBS} ]) AC_OUTPUT diff --git a/etc/make/ctf.mk b/etc/make/ctf.mk index 7595ceb..fe94175 100644 --- a/etc/make/ctf.mk +++ b/etc/make/ctf.mk @@ -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_SHARED_LIB = $(CTF_BUILD_PATH)/lib/libctf.so CTF_GIT_REPOSITORY ?= https://github.com/cyclops-community/ctf diff --git a/src/Makefile.am b/src/Makefile.am index 0ce98d1..468c05a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ AUTOMAKE_OPTIONS = subdir-objects include $(top_srcdir)/atrip.mk -AM_CXXFLAGS = -Wall --pedantic $(CTF_CPPFLAGS) +AM_CXXFLAGS = $(CTF_CPPFLAGS) lib_LIBRARIES = libatrip.a