]> Git Repo - cpuminer-multi.git/blame - configure.ac
bitcore timetravel-10 algo
[cpuminer-multi.git] / configure.ac
CommitLineData
052fd5ba 1AC_INIT([cpuminer-multi], [1.3.2])
b089cc9f
LJ
2
3AC_PREREQ([2.59c])
4AC_CANONICAL_SYSTEM
5AC_CONFIG_SRCDIR([cpu-miner.c])
b089cc9f 6AC_CONFIG_HEADERS([cpuminer-config.h])
3967e063 7AC_CONFIG_MACRO_DIR([m4])
8
9AM_INIT_AUTOMAKE([foreign subdir-objects])
b089cc9f
LJ
10
11dnl Make sure anyone changing configure.ac/Makefile.am has a clue
12AM_MAINTAINER_MODE
13
14dnl Checks for programs
15AC_PROG_CC_C99
16AC_PROG_GCC_TRADITIONAL
17AM_PROG_CC_C_O
18AM_PROG_AS
19AC_PROG_RANLIB
78a3ef92 20AC_PROG_CXX
b089cc9f
LJ
21
22dnl Checks for header files
23AC_HEADER_STDC
24AC_CHECK_HEADERS([sys/endian.h sys/param.h syslog.h])
25# sys/sysctl.h requires sys/types.h on FreeBSD
26# sys/sysctl.h requires sys/param.h on OpenBSD
27AC_CHECK_HEADERS([sys/sysctl.h], [], [],
28[#include <sys/types.h>
29#ifdef HAVE_SYS_PARAM_H
30#include <sys/param.h>
31#endif
32])
33
7e4b0eac 34AC_CHECK_DECLS([be32dec, le32dec, be32enc, le32enc, le16dec, le16enc], [], [],
b089cc9f
LJ
35[AC_INCLUDES_DEFAULT
36#ifdef HAVE_SYS_ENDIAN_H
37#include <sys/endian.h>
38#endif
39])
40
41AC_FUNC_ALLOCA
42AC_CHECK_FUNCS([getopt_long])
43
3967e063 44MINGW_TARGET=`$CC -dumpmachine 2>&1`
45case $MINGW_TARGET in
46 arm*-*-*)
47 have_arm=true
48 ;;
49 i*86-*-mingw*)
b089cc9f 50 have_x86=true
3967e063 51 have_win32=true
52 CFLAGS="-Icompat/pthreads $CFLAGS"
53 PTHREAD_LDFLAGS="-Lcompat/pthreads/x86"
2cf78c99 54 WS2_LIBS="-lws2_32"
b089cc9f 55 ;;
3967e063 56 x86_64-*-mingw*|amd64-*-mingw*)
b089cc9f 57 have_x86_64=true
3967e063 58 have_win32=true
59 CFLAGS="-Icompat/pthreads $CFLAGS"
60 PTHREAD_LDFLAGS="-Lcompat/pthreads/x64"
61 # SHOULD BE AT END! after -lcrypto #
2cf78c99 62 WS2_LIBS="-L/mingw/x86_64-w64-mingw32/lib -lws2_32"
b089cc9f 63 ;;
3967e063 64 i*86-*-*)
65 have_x86=true
b089cc9f 66 ;;
3967e063 67 x86_64-*-*|amd64-*-*)
68 have_x86_64=true
b089cc9f
LJ
69 ;;
70esac
71
c6427bc1 72AC_ARG_ENABLE([assembly],
73 AS_HELP_STRING([--disable-assembly], [disable assembly-language routines]))
74if test x$enable_assembly != xno; then
75 AC_DEFINE([USE_ASM], [1], [Define to 1 if assembly routines are wanted.])
76fi
77
78if test x$enable_assembly != xno -a x$have_x86_64 = xtrue
b089cc9f
LJ
79then
80 AC_MSG_CHECKING(whether we can compile AVX code)
81 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vmovdqa %ymm0, %ymm1");])],
82 AC_DEFINE(USE_AVX, 1, [Define to 1 if AVX assembly is available.])
83 AC_MSG_RESULT(yes)
84 AC_MSG_CHECKING(whether we can compile XOP code)
85 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vprotd \$7, %xmm0, %xmm1");])],
86 AC_DEFINE(USE_XOP, 1, [Define to 1 if XOP assembly is available.])
87 AC_MSG_RESULT(yes)
88 ,
89 AC_MSG_RESULT(no)
90 AC_MSG_WARN([The assembler does not support the XOP instruction set.])
91 )
92 AC_MSG_CHECKING(whether we can compile AVX2 code)
93 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vpaddd %ymm0, %ymm1, %ymm2");])],
94 AC_DEFINE(USE_AVX2, 1, [Define to 1 if AVX2 assembly is available.])
95 AC_MSG_RESULT(yes)
96 ,
97 AC_MSG_RESULT(no)
98 AC_MSG_WARN([The assembler does not support the AVX2 instruction set.])
99 )
100 ,
101 AC_MSG_RESULT(no)
102 AC_MSG_WARN([The assembler does not support the AVX instruction set.])
103 )
104fi
105
106AC_CHECK_LIB(jansson, json_loads, request_jansson=false, request_jansson=true)
b089cc9f 107
3967e063 108# GC2 for GNU static
109if test "x$OS" = "xWindows_NT" ; then
110 # MinGW
111 AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS="-lpthreadGC2",[])
112else
113 AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS="-lpthread",[])
114fi
115
116LDFLAGS="$PTHREAD_LDFLAGS $LDFLAGS"
117# PTHREAD_LIBS="$PTHREAD_LIBS"
fcb039bd 118
9119d7be
LJ
119AC_MSG_CHECKING(whether __uint128_t is supported)
120AC_COMPILE_IFELSE([AC_LANG_PROGRAM([static __uint128_t i = 100;])],
121 AC_DEFINE(USE_INT128, 1, [Define if __uint128_t is available])
122 AC_MSG_RESULT(yes)
123 ,
124 AC_MSG_RESULT(no)
125)
126
3967e063 127# allow if <var> in Makefile.am
b089cc9f
LJ
128AM_CONDITIONAL([WANT_JANSSON], [test x$request_jansson = xtrue])
129AM_CONDITIONAL([HAVE_WINDOWS], [test x$have_win32 = xtrue])
c6427bc1 130AM_CONDITIONAL([USE_ASM], [test x$enable_assembly != xno])
b089cc9f
LJ
131AM_CONDITIONAL([ARCH_x86], [test x$have_x86 = xtrue])
132AM_CONDITIONAL([ARCH_x86_64], [test x$have_x86_64 = xtrue])
133AM_CONDITIONAL([ARCH_ARM], [test x$have_arm = xtrue])
3967e063 134AM_CONDITIONAL([MINGW], [test "x$OS" = "xWindows_NT"])
b089cc9f 135
3967e063 136if test x$request_jansson = xtrue ; then
b089cc9f
LJ
137 JANSSON_LIBS="compat/jansson/libjansson.a"
138else
139 JANSSON_LIBS=-ljansson
140fi
141
3967e063 142# libcurl install path (for mingw : --with-curl=/usr/local)
143AC_ARG_WITH([curl],
144 [ --with-curl=PATH prefix where curl is installed [default=/usr]])
145
146if test -n "$with_curl" ; then
147 LIBCURL_CFLAGS="$LIBCURL_CFLAGS -I$with_curl/include"
2a5ea599 148 LIBCURL_CPPFLAGS="$LIBCURL_CPPFLAGS -I$with_curl/include"
3967e063 149 LIBCURL_LDFLAGS="-L$with_curl/lib $LIBCURL_LDFLAGS"
150 LIBCURL="-lcurl -lz"
151fi
152
153# SSL install path (for mingw : --with-crypto=/usr/local/ssl)
154AC_ARG_WITH([crypto],
155 [ --with-crypto=PATH prefix where openssl crypto is installed [default=/usr]])
156
157if test -n "$with_crypto" ; then
158 LIBCURL_CFLAGS="$LIBCURL_CFLAGS -I$with_crypto/include"
2a5ea599 159 LIBCURL_CPPFLAGS="$LIBCURL_CPPFLAGS -I$with_crypto/include"
3967e063 160 LIBCURL_LDFLAGS="-L$with_crypto/lib $LIBCURL_LDFLAGS"
161 LIBCURL="$LIBCURL -lssl -lcrypto"
162fi
163
164CFLAGS="$CFLAGS $LIBCURL_CFLAGS"
2a5ea599 165CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS"
3967e063 166LDFLAGS="$LDFLAGS $LIBCURL_LDFLAGS"
167
2fb53659 168#AC_CHECK_LIB([z],[gzopen],[],[])
3967e063 169#AC_CHECK_LIB([crypto],[OPENSSL_init], crypto=yes, [AC_MSG_ERROR([OpenSSL crypto library required])])
170#AC_CHECK_LIB([ssl],[SSL_new], ssl=yes, ssl=no)
171
172# AC_CHECK_LIB([curl], [curl_multi_timeout],
173# have_libcurl=yes,
174# have_libcurl=no AC_MSG_ERROR([curl library required])
175# )
176
177# LIBCURL_CHECK_CONFIG([yes], 7.15, curlconfig=yes, curlconfig=no)
178
179AC_SUBST(LIBCURL)
180AC_SUBST(LIBCURL_CFLAGS)
181AC_SUBST(LIBCURL_CPPFLAGS)
182# AC_SUBST(LIBCURL_LDFLAGS)
b089cc9f
LJ
183
184AC_SUBST(JANSSON_LIBS)
185AC_SUBST(PTHREAD_FLAGS)
186AC_SUBST(PTHREAD_LIBS)
187AC_SUBST(WS2_LIBS)
188
189AC_CONFIG_FILES([
190 Makefile
191 compat/Makefile
192 compat/jansson/Makefile
193 ])
194AC_OUTPUT
This page took 0.050522 seconds and 4 git commands to generate.