-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathconfigure.ac
107 lines (82 loc) · 3.56 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
AC_INIT([speedex], [0])
AM_INIT_AUTOMAKE([subdir-objects])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
OPT_FLAGS="-march=native -O3 -flto=auto"
DEBUG_FLAGS="-ggdb -O0"
CXXFLAGS="-std=gnu++2a -fwrapv $OPT_FLAGS $DEFINES"
CXX="g++"
AC_PROG_CXX
AC_LANG(C++)
dnl AX_CXX_COMPILE_STDCXX(17,,mandatory)
AX_APPEND_COMPILE_FLAGS([-pthread])
AS_IF([test -z "${WFLAGS+set}"], AX_APPEND_COMPILE_FLAGS([-Wall], WFLAGS))
CXXFLAGS="$CXXFLAGS $WFLAGS"
PKG_PROG_PKG_CONFIG
PKG_CHECK_MODULES([libsodium], [libsodium])
PKG_CHECK_MODULES([lmdb], [lmdb])
PKG_CHECK_MODULES([tbb], [tbb])
PKG_CHECK_MODULES([Catch2], [catch2])
PKG_CHECK_MODULES(LEMON, [lemon], HAVE_LEMON=1, HAVE_LEMON=0)
AC_DEFINE_UNQUOTED([HAVE_LEMON], [$HAVE_LEMON], [Define to 1 if you have lemon available])
PKG_CHECK_MODULES(LIBFYAML, [ libfyaml ], HAVE_LIBFYAML=1, HAVE_LIBFYAML=0)
if test "x$HAVE_LIBFYAML" != "x1" ; then
AC_MSG_ERROR([failed to find libfyaml])
fi
AC_SUBST(HAVE_LIBFYAML)
AC_SUBST(LIBFYAML_CFLAGS)
AC_SUBST(LIBFYAML_LIBS)
AC_DEFINE_UNQUOTED([HAVE_LIBFYAML], [$HAVE_LIBFYAML], [Define to 1 if you have libfyaml available])
AM_CONDITIONAL([HAVE_LIBFYAML], [ test x$HAVE_LIBFYAML = x1 ])
AS_IF([test -z "${ROOT_DB_DIRECTORY}"], [ROOT_DB_DIRECTORY="databases/"])
AS_IF([test -z "${ACCOUNT_DB}"], [ACCOUNT_DB="account_database/"])
AS_IF([test -z "${OFFER_DB}"], [OFFER_DB="offer_database/"])
AS_IF([test -z "${HEADER_HASH_DB}"], [HEADER_HASH_DB="header_hash_database/"])
AS_IF([test -z "${TX_BLOCK_DB}"], [TX_BLOCK_DB="tx_block_database/"])
AS_IF([test -z "${HEADER_DB}"], [HEADER_DB="header_database/"])
AS_IF([test -z "${LOG_DIR}"], [LOG_DIR="logs/"])
AC_DEFINE_UNQUOTED([ROOT_DB_DIRECTORY], ["$ROOT_DB_DIRECTORY"], [Root directory for storing lmdbs + txs])
AC_DEFINE_UNQUOTED([ACCOUNT_DB], ["$ACCOUNT_DB"], [Subdirectory of ROOT_DB_DIRECTORY for account lmdb])
AC_DEFINE_UNQUOTED([OFFER_DB], ["$OFFER_DB"], [Subdirectory of ROOT_DB_DIRECTORY for workunit lmdbs])
AC_DEFINE_UNQUOTED([HEADER_HASH_DB], ["$HEADER_HASH_DB"], [Subdirectory of ROOT_DB_DIRECTORY for header hash lmdb])
AC_DEFINE_UNQUOTED([TX_BLOCK_DB], ["$TX_BLOCK_DB"], [Subdirectory of ROOT_DB_DIRECTORY for transaction block lists])
AC_DEFINE_UNQUOTED([HEADER_DB], ["$HEADER_DB"], [Subdirectory of ROOT_DB_DIRECTORY for block headers])
AC_DEFINE_UNQUOTED([LOG_DIR], ["$LOG_DIR"], [Subdirectory of ROOT_DB_DIRECTORY for logs])
AS_MKDIR_P([$ROOT_DB_DIRECTORY$ACCOUNT_DB])
AS_MKDIR_P([$ROOT_DB_DIRECTORY$OFFER_DB])
AS_MKDIR_P([$ROOT_DB_DIRECTORY$HEADER_HASH_DB])
AS_MKDIR_P([$ROOT_DB_DIRECTORY$TX_BLOCK_DB])
AS_MKDIR_P([$ROOT_DB_DIRECTORY$HEADER_DB])
AS_MKDIR_P(["experiment_data/"])
AS_MKDIR_P(["experiment_results/"])
export CXXFLAGS
dnl AC_CONFIG_SUBDIRS([xdrpp])
dnl AX_PKGCONFIG_SUBDIR(lib/utility)
AX_PKGCONFIG_SUBDIR(lib/xdrpp)
AC_MSG_CHECKING(for xdrc)
AS_IF([test -n "$XDRC"],,
[test -n "$xdrpp_INTERNAL" -a x"$cross_compiling" != xyes],
[XDRC='$(abs_top_builddir)/lib/xdrpp/xdrc/xdrc$(EXEEXT)'],
[AC_PATH_PROG(XDRC, [xdrc])])
if test -z "$XDRC"; then
AC_MSG_ERROR(Cannot find xdrc)
fi
AC_MSG_RESULT($XDRC)
AC_SUBST(XDRC)
ABS_TOP_BUILDDIR=$ac_pwd
ABS_TOP_SRCDIR=$ac_pwd
export ABS_TOP_BUILDDIR
export ABS_TOP_SRCDIR
export xdrpp_INTERNAL
global_XDRC=$XDRC
export global_XDRC
export xdrpp_CFLAGS
export xdrpp_LIBS
dnl export utility_INTERNAL
dnl export utility_CFLAGS
dnl export utility_LIBS
dnl AX_PKGCONFIG_SUBDIR(lib/hotstuff)
dnl AX_PKGCONFIG_SUBDIR(lib/merkle_trie_toolkit)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT