Update Makefile infrastructure for ctf working build and non-build jobs
This commit is contained in:
parent
22d4beb33c
commit
91f9f54015
15
Makefile.am
15
Makefile.am
@ -1,23 +1,12 @@
|
|||||||
include ./etc/make/emacs.mk
|
include $(top_srcdir)/etc/make/emacs.mk
|
||||||
|
include $(top_srcdir)/atrip.mk
|
||||||
|
|
||||||
SUBDIRS = src bench
|
SUBDIRS = src bench
|
||||||
|
|
||||||
if WITH_BUILD_CTF
|
|
||||||
CTF_COMMIT = 968f8f9eb6aab1d6b67d2fcc1a70c9fc3b98adfa
|
|
||||||
CTF_GIT_REPOSITORY = https://github.com/cc4s/ctf
|
|
||||||
CTF_BUILD_PATH = $(builddir)/extern/build/$(CONFIG)/ctf/$(CTF_COMMIT)
|
|
||||||
CTF_SRC_PATH = $(builddir)/extern/src/$(CONFIG)/ctf/$(CTF_COMMIT)
|
|
||||||
include $(srcdir)/etc/make/ctf.mk
|
|
||||||
src: ctf
|
|
||||||
SUBDIRS += extern/ctf/
|
|
||||||
endif
|
|
||||||
|
|
||||||
_ATRIPSRCS = Sources.mk
|
_ATRIPSRCS = Sources.mk
|
||||||
## include $(_ATRIPSRCS)
|
|
||||||
|
|
||||||
ORG_MAIN = atrip.org
|
ORG_MAIN = atrip.org
|
||||||
ATRIP_SHARED_LIBRARY = lib/$(CONFIG)/libatrip.so
|
|
||||||
ATRIP_STATIC_LIBRARY = lib/$(CONFIG)/libatrip.a
|
|
||||||
|
|
||||||
tangle: $(ORG_MAIN)
|
tangle: $(ORG_MAIN)
|
||||||
$(call tangle,$<)
|
$(call tangle,$<)
|
||||||
|
|||||||
11
atrip.mk
11
atrip.mk
@ -1,8 +1,9 @@
|
|||||||
ATRIP_ROOT := $(abspath $(PWD))
|
|
||||||
CXXFLAGS += -I$(ATRIP_ROOT)/include
|
|
||||||
|
|
||||||
|
if WITH_BUILD_CTF
|
||||||
CTF_COMMIT = 968f8f9eb6aab1d6b67d2fcc1a70c9fc3b98adfa
|
CTF_COMMIT = 968f8f9eb6aab1d6b67d2fcc1a70c9fc3b98adfa
|
||||||
CTF_GIT_REPOSITORY = https://github.com/cc4s/ctf
|
CTF_GIT_REPOSITORY = https://github.com/cc4s/ctf
|
||||||
CTF_BUILD_PATH = $(ATRIP_ROOT)/extern/build/$(CONFIG)/ctf/$(CTF_COMMIT)
|
CTF_BUILD_PATH = $(top_builddir)/extern/build/ctf/$(CTF_COMMIT)
|
||||||
CTF_SRC_PATH = $(ATRIP_ROOT)/extern/src/$(CONFIG)/ctf/$(CTF_COMMIT)
|
CTF_SRC_PATH = $(top_builddir)/extern/src/ctf/$(CTF_COMMIT)
|
||||||
CXXFLAGS += -I$(CTF_BUILD_PATH)/include
|
CTF_CPPFLAGS = -I$(CTF_BUILD_PATH)/include
|
||||||
|
include $(top_srcdir)/etc/make/ctf.mk
|
||||||
|
endif
|
||||||
|
|||||||
@ -1,12 +1,20 @@
|
|||||||
AM_LDFLAGS = -fopenmp
|
include $(top_srcdir)/atrip.mk
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/include/
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include/ $(CTF_CPPFLAGS)
|
||||||
|
AM_LDFLAGS = -lgomp
|
||||||
|
|
||||||
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 \
|
-lopenblas \
|
||||||
-lscalapack \
|
-lscalapack \
|
||||||
@LIBCTF_LD_LIBRARY_PATH@/libctf.a \
|
|
||||||
$(top_builddir)/src/libatrip.a
|
$(top_builddir)/src/libatrip.a
|
||||||
|
|
||||||
|
if WITH_BUILD_CTF
|
||||||
|
test_main_LDADD += $(CTF_BUILD_PATH)/lib/libctf.a
|
||||||
|
else
|
||||||
|
test_main_LDADD += @LIBCTF_LD_LIBRARY_PATH@/libctf.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
|||||||
11
configure.ac
11
configure.ac
@ -26,11 +26,11 @@ dnl LIBGC library options
|
|||||||
AC_ARG_WITH(libctf-prefix,
|
AC_ARG_WITH(libctf-prefix,
|
||||||
AS_HELP_STRING([--with-libctf-prefix=path],
|
AS_HELP_STRING([--with-libctf-prefix=path],
|
||||||
[prefix for CTF includes and libraries] ),
|
[prefix for CTF includes and libraries] ),
|
||||||
[LIBCTF_CPATH="`readlink -f $withval`/include";
|
[LIBCTF_PATH="`readlink -f $withval`";
|
||||||
|
LIBCTF_CPATH="`readlink -f $withval`/include";
|
||||||
LIBCTF_LD_LIBRARY_PATH="`readlink -f $withval`/lib";
|
LIBCTF_LD_LIBRARY_PATH="`readlink -f $withval`/lib";
|
||||||
BUILD_CTF=NO],
|
BUILD_CTF=NO],
|
||||||
[BUILD_CTF=YES])
|
[BUILD_CTF=YES])
|
||||||
AM_CONDITIONAL([WITH_BUILD_CTF], [test x${BUILD_CTF} = xYES])
|
|
||||||
|
|
||||||
AC_ARG_WITH([clang-check],
|
AC_ARG_WITH([clang-check],
|
||||||
[AS_HELP_STRING([--with-clang-check],
|
[AS_HELP_STRING([--with-clang-check],
|
||||||
@ -54,6 +54,8 @@ 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)
|
||||||
|
|
||||||
|
AM_CONDITIONAL([WITH_BUILD_CTF], [test x${BUILD_CTF} = xYES])
|
||||||
|
AC_SUBST(LIBCTF_PATH)
|
||||||
AC_SUBST(LIBCTF_CPATH)
|
AC_SUBST(LIBCTF_CPATH)
|
||||||
AC_SUBST(LIBCTF_LD_LIBRARY_PATH)
|
AC_SUBST(LIBCTF_LD_LIBRARY_PATH)
|
||||||
|
|
||||||
@ -71,10 +73,15 @@ 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
|
||||||
|
AC_OPENMP
|
||||||
|
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_FUNC_MALLOC
|
AC_FUNC_MALLOC
|
||||||
|
|
||||||
|
|
||||||
|
AX_BLAS([], [AC_MSG_FAILURE([Could not find BLAS library.])])
|
||||||
|
AX_LAPACK([], [AC_MSG_FAILURE([Could not find LAPACK library.])])
|
||||||
|
|
||||||
AX_CXX_COMPILE_STDCXX([11])
|
AX_CXX_COMPILE_STDCXX([11])
|
||||||
AX_CXX_STATIC_CAST
|
AX_CXX_STATIC_CAST
|
||||||
AX_CXX_TEMPLATES
|
AX_CXX_TEMPLATES
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
CTF_CONFIG_FLAGS =
|
CTF_CONFIG_FLAGS = CXX="$(CXX)" LIB_PATH="$(LDFLAGS)" 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
|
||||||
@ -10,7 +10,9 @@ $(CTF_SRC_PATH)/configure:
|
|||||||
|
|
||||||
$(CTF_BUILD_PATH)/Makefile: $(CTF_SRC_PATH)/configure
|
$(CTF_BUILD_PATH)/Makefile: $(CTF_SRC_PATH)/configure
|
||||||
mkdir -p $(CTF_BUILD_PATH)
|
mkdir -p $(CTF_BUILD_PATH)
|
||||||
cd $(CTF_BUILD_PATH) && $(abspath $(CTF_SRC_PATH))/configure $(CTF_CONFIG_FLAGS)
|
cd $(CTF_BUILD_PATH) && \
|
||||||
|
$(abspath $(CTF_SRC_PATH))/configure $(CTF_CONFIG_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
$(CTF_STATIC_LIB): $(CTF_BUILD_PATH)/Makefile
|
$(CTF_STATIC_LIB): $(CTF_BUILD_PATH)/Makefile
|
||||||
$(info Compiling $@)
|
$(info Compiling $@)
|
||||||
|
|||||||
39
shell.nix
39
shell.nix
@ -1,4 +1,4 @@
|
|||||||
{ pkgs ? import <nixpkgs> {} , with-clang ? false , with-mkl ? false }:
|
{ compiler, pkgs ? import <nixpkgs> {} , with-mkl ? false }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -10,14 +10,23 @@ let
|
|||||||
|
|
||||||
clang = import ./etc/nix/clang.nix { inherit pkgs; };
|
clang = import ./etc/nix/clang.nix { inherit pkgs; };
|
||||||
|
|
||||||
compiler-configuration
|
|
||||||
= if with-clang
|
|
||||||
then clang.buildInputs
|
|
||||||
else [ pkgs.gcc ];
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
pkgs.mkShell {
|
pkgs.mkShell rec {
|
||||||
|
|
||||||
|
compiler-pkg
|
||||||
|
= if compiler == "gcc11" then pkgs.gcc11
|
||||||
|
else if compiler == "gcc10" then pkgs.gcc10
|
||||||
|
else if compiler == "gcc9" then pkgs.gcc9
|
||||||
|
else if compiler == "gcc8" then pkgs.gcc8
|
||||||
|
else if compiler == "gcc7" then pkgs.gcc7
|
||||||
|
else if compiler == "gcc6" then pkgs.gcc6
|
||||||
|
else if compiler == "clang13" then pkgs.clang_13
|
||||||
|
else if compiler == "clang12" then pkgs.clang_12
|
||||||
|
else if compiler == "clang11" then pkgs.clang_11
|
||||||
|
else if compiler == "clang10" then pkgs.clang_10
|
||||||
|
else if compiler == "clang9" then pkgs.clang_9
|
||||||
|
else pkgs.gcc;
|
||||||
|
|
||||||
buildInputs
|
buildInputs
|
||||||
= with pkgs; [
|
= with pkgs; [
|
||||||
@ -26,6 +35,7 @@ pkgs.mkShell {
|
|||||||
git
|
git
|
||||||
|
|
||||||
openmpi
|
openmpi
|
||||||
|
llvmPackages.openmp
|
||||||
|
|
||||||
binutils
|
binutils
|
||||||
emacs
|
emacs
|
||||||
@ -36,13 +46,22 @@ pkgs.mkShell {
|
|||||||
automake
|
automake
|
||||||
pkg-config
|
pkg-config
|
||||||
]
|
]
|
||||||
++ compiler-configuration
|
|
||||||
++ (if with-mkl then mkl.buildInputs else openblas.buildInputs)
|
++ (if with-mkl then mkl.buildInputs else openblas.buildInputs)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
CXX = "${compiler-pkg}/bin/c++";
|
||||||
|
CC = "${compiler-pkg}/bin/cc";
|
||||||
|
LD = "${compiler-pkg}/bin/ld";
|
||||||
|
|
||||||
shellHook
|
shellHook
|
||||||
= (if with-clang then clang.shellHook else "")
|
= #(if with-mkl then mkl.shellHook else openblas.shellHook)
|
||||||
+ (if with-mkl then mkl.shellHook else openblas.shellHook)
|
''
|
||||||
|
export OMPI_CXX=${CXX}
|
||||||
|
export OMPI_CC=${CC}
|
||||||
|
CXX=${CXX}
|
||||||
|
CC=${CC}
|
||||||
|
LD=${LD}
|
||||||
|
''
|
||||||
;
|
;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
AUTOMAKE_OPTIONS = subdir-objects
|
AUTOMAKE_OPTIONS = subdir-objects
|
||||||
|
include $(top_srcdir)/atrip.mk
|
||||||
|
|
||||||
AM_CXXFLAGS = -Wall --pedantic
|
AM_CXXFLAGS = -Wall --pedantic $(CTF_CPPFLAGS)
|
||||||
|
|
||||||
lib_LIBRARIES = libatrip.a
|
lib_LIBRARIES = libatrip.a
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user