GOSTcoin support for ccminer CUDA miner project, compatible with most nvidia cards
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
4.1 KiB

AC_INIT([ccminer], [2014.09.06])
AC_PREREQ([2.59c])
AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR([cpu-miner.c])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AC_CONFIG_HEADERS([cpuminer-config.h])
dnl Make sure anyone changing configure.ac/Makefile.am has a clue
AM_MAINTAINER_MODE
dnl Checks for programs
AC_PROG_CC_C99
AC_PROG_GCC_TRADITIONAL
AM_PROG_CC_C_O
AM_PROG_AS
AC_PROG_RANLIB
AC_PROG_CXX
AC_OPENMP
dnl Checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS([sys/endian.h sys/param.h syslog.h])
# sys/sysctl.h requires sys/types.h on FreeBSD
# sys/sysctl.h requires sys/param.h on OpenBSD
AC_CHECK_HEADERS([sys/sysctl.h], [], [],
[#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
])
AC_CHECK_DECLS([be32dec, le32dec, be32enc, le32enc], [], [],
[AC_INCLUDES_DEFAULT
#ifdef HAVE_SYS_ENDIAN_H
#include <sys/endian.h>
#endif
])
AC_FUNC_ALLOCA
AC_CHECK_FUNCS([getopt_long])
case $target in
i*86-*-*)
have_x86=true
;;
x86_64-*-*)
have_x86=true
have_x86_64=true
;;
amd64-*-*)
have_x86=true
have_x86_64=true
;;
esac
PTHREAD_FLAGS="-pthread"
WS2_LIBS=""
case $target in
*-*-mingw*)
have_win32=true
PTHREAD_FLAGS=""
WS2_LIBS="-lws2_32"
;;
esac
if test x$have_x86 = xtrue
then
AC_MSG_CHECKING(whether we can compile AVX code)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vmovdqa %ymm0, %ymm1");])],
AC_DEFINE(USE_AVX, 1, [Define to 1 if AVX assembly is available.])
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(whether we can compile XOP code)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vprotd \$7, %xmm0, %xmm1");])],
AC_DEFINE(USE_XOP, 1, [Define to 1 if XOP assembly is available.])
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the XOP instruction set.])
)
AC_MSG_CHECKING(whether we can compile AVX2 code)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[asm ("vpaddd %ymm0, %ymm1, %ymm2");])],
AC_DEFINE(USE_AVX2, 1, [Define to 1 if AVX2 assembly is available.])
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the AVX2 instruction set.])
)
,
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the AVX instruction set.])
)
fi
AC_CHECK_LIB(jansson, json_loads, request_jansson=false, request_jansson=true)
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS="-lpthread",
AC_CHECK_LIB([pthreadGC2], [pthread_create], PTHREAD_LIBS="-lpthreadGC2",
AC_CHECK_LIB([pthreadGC1], [pthread_create], PTHREAD_LIBS="-lpthreadGC1",
AC_CHECK_LIB([pthreadGC], [pthread_create], PTHREAD_LIBS="-lpthreadGC"
))))
AC_CHECK_LIB([ssl],[SSL_library_init], [], [AC_MSG_ERROR([OpenSSL library required])])
AC_CHECK_LIB([crypto],[EVP_DigestFinal_ex], [], [AC_MSG_ERROR([OpenSSL library required])])
AM_CONDITIONAL([WANT_JANSSON], [test x$request_jansson = xtrue])
AM_CONDITIONAL([HAVE_WINDOWS], [test x$have_win32 = xtrue])
AM_CONDITIONAL([ARCH_x86], [test x$have_x86 = xtrue])
AM_CONDITIONAL([ARCH_x86_64], [test x$have_x86_64 = xtrue])
if test x$request_jansson = xtrue
then
JANSSON_LIBS="compat/jansson/libjansson.a"
else
JANSSON_LIBS=-ljansson
fi
LIBCURL_CHECK_CONFIG(, 7.15.2, ,
[AC_MSG_ERROR([Missing required libcurl >= 7.15.2])])
AC_SUBST(JANSSON_LIBS)
AC_SUBST(PTHREAD_FLAGS)
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(WS2_LIBS)
AC_CONFIG_FILES([
Makefile
compat/Makefile
compat/jansson/Makefile
])
dnl find out what version we are running
ARCH=`uname -m`
if [[ $ARCH == "x86_64" ]];
then
SUFFIX="64"
else
SUFFIX=""
fi
dnl Setup CUDA paths
AC_ARG_WITH([cuda],
[ --with-cuda=PATH prefix where cuda is installed [default=/usr/local/cuda]])
if test -n "$with_cuda"
then
Release v1.4 with blake (NEOS) Blake256: squashed commit... Squashed commit of the following: commit c370208bc92ef16557f66e5391faf2b1ad47726f Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 13:53:01 2014 +0200 hashlog: prepare store of scanned range commit e2cf49a5e956f03deafd266d1a0dd087a2041c99 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 12:54:13 2014 +0200 stratum: store server time offset in context commit 1a4391d7ff21397a128abf031f92733a8ac47437 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 12:40:52 2014 +0200 hashlog: prevent double computing on jobs already done commit 049e57730116685755bd3ff214f0793cce7c773b Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 09:49:14 2014 +0200 tmp blake log commit 43d3e93e1a97e569ead2437f759c6b8423d30c0a Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 09:29:51 2014 +0200 blake: set a max throughput commit 7e595a36ea69027c8a28023399540a761e7686c3 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 21:13:37 2014 +0200 blake: cleanup, remove d_hash buf, not in a chain host: only bencode if gpu hash was found commit de80c7e9d1448f15541d08c5dbbf372d5bfeba48 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 12:40:44 2014 +0200 blake: remove unused parameter and fix index in d_hash that reduce the speed to 92MH/s but the next commit give us 30 more so, todo: merge the whole checkhash proc in gpu_hash and remove this d_hash buffer... commit 2d42ae6de586a6ae8cbfd01806a273fd5cc4b262 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 05:09:31 2014 +0200 stratum: handle a small cache of submitted jobs Prevent to send duplicated shares on some pools like hashharder.. This cache keeps submitted job/nounces of the last 15 minutes so, remove exit on repeated duplicate shares, the submitted cache now handles this problem. Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com> commit 1b8c3c12fa5bb83afbb02f9d5f60586939f36d86 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 03:38:57 2014 +0200 debug: a new boolean to log or not json rpc data commit 1f99aae0ff621f4f85f119d811a3f1a8d2204f60 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 18:49:23 2014 +0200 exit on repeated duplicate shares (to enhance) create a new function proper_exit() to do common stuff on exit... commit 530732458add6c4c3836606d028930f3581c0a5f Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 12:22:51 2014 +0200 blake: use a constant for threads, reduce mallocated d_hash size and clean a bit more... commit 0aeac878ef60840f3123354037cd56a89d2e94e6 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 06:12:55 2014 +0200 blake: tune up and cleanup, ~100 MH/s on a normal 750Ti tested on linux and windows (x86 binary)... but there is a high number of duplicated shares... weird commit 4a52d0553b0076b984be480725fa67689c544647 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 10:22:32 2014 +0200 debug: show json methods, hide hash/target if ok commit 1fb9becc1f2b6a15d8ccea4d8314df9ddf0af4ed Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 08:44:19 2014 +0200 cpu-miner: sort algos by name, show reject reason commit bfe96c49b0bf321ed0776cb1cf31c4fe8a0a8b8d Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Aug 25 11:21:06 2014 +0200 release 1.4, update README... commit c17d11e37758c37762a7664a731fda6e9a5454b1 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Sun Aug 31 08:57:48 2014 +0200 add "blake" 256, 14 rounds (for NEOS blake, not BlakeCoin) also remove "missing" file, its old and not compatible with ubuntu 14.04 to test on windows blake: clean and optimize Release v1.4 with blake (NEOS)
10 years ago
CUDA_CFLAGS="-I$with_cuda/include $CUDA_CFLAGS"
CUDA_LIBS="-lcudart"
CUDA_LDFLAGS="-L$with_cuda/lib$SUFFIX"
NVCC="$with_cuda/bin/nvcc"
else
Release v1.4 with blake (NEOS) Blake256: squashed commit... Squashed commit of the following: commit c370208bc92ef16557f66e5391faf2b1ad47726f Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 13:53:01 2014 +0200 hashlog: prepare store of scanned range commit e2cf49a5e956f03deafd266d1a0dd087a2041c99 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 12:54:13 2014 +0200 stratum: store server time offset in context commit 1a4391d7ff21397a128abf031f92733a8ac47437 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 12:40:52 2014 +0200 hashlog: prevent double computing on jobs already done commit 049e57730116685755bd3ff214f0793cce7c773b Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 09:49:14 2014 +0200 tmp blake log commit 43d3e93e1a97e569ead2437f759c6b8423d30c0a Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Wed Sep 3 09:29:51 2014 +0200 blake: set a max throughput commit 7e595a36ea69027c8a28023399540a761e7686c3 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 21:13:37 2014 +0200 blake: cleanup, remove d_hash buf, not in a chain host: only bencode if gpu hash was found commit de80c7e9d1448f15541d08c5dbbf372d5bfeba48 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 12:40:44 2014 +0200 blake: remove unused parameter and fix index in d_hash that reduce the speed to 92MH/s but the next commit give us 30 more so, todo: merge the whole checkhash proc in gpu_hash and remove this d_hash buffer... commit 2d42ae6de586a6ae8cbfd01806a273fd5cc4b262 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 05:09:31 2014 +0200 stratum: handle a small cache of submitted jobs Prevent to send duplicated shares on some pools like hashharder.. This cache keeps submitted job/nounces of the last 15 minutes so, remove exit on repeated duplicate shares, the submitted cache now handles this problem. Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com> commit 1b8c3c12fa5bb83afbb02f9d5f60586939f36d86 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Tue Sep 2 03:38:57 2014 +0200 debug: a new boolean to log or not json rpc data commit 1f99aae0ff621f4f85f119d811a3f1a8d2204f60 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 18:49:23 2014 +0200 exit on repeated duplicate shares (to enhance) create a new function proper_exit() to do common stuff on exit... commit 530732458add6c4c3836606d028930f3581c0a5f Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 12:22:51 2014 +0200 blake: use a constant for threads, reduce mallocated d_hash size and clean a bit more... commit 0aeac878ef60840f3123354037cd56a89d2e94e6 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 06:12:55 2014 +0200 blake: tune up and cleanup, ~100 MH/s on a normal 750Ti tested on linux and windows (x86 binary)... but there is a high number of duplicated shares... weird commit 4a52d0553b0076b984be480725fa67689c544647 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 10:22:32 2014 +0200 debug: show json methods, hide hash/target if ok commit 1fb9becc1f2b6a15d8ccea4d8314df9ddf0af4ed Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Sep 1 08:44:19 2014 +0200 cpu-miner: sort algos by name, show reject reason commit bfe96c49b0bf321ed0776cb1cf31c4fe8a0a8b8d Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Mon Aug 25 11:21:06 2014 +0200 release 1.4, update README... commit c17d11e37758c37762a7664a731fda6e9a5454b1 Author: Tanguy Pruvot <tanguy.pruvot@gmail.com> Date: Sun Aug 31 08:57:48 2014 +0200 add "blake" 256, 14 rounds (for NEOS blake, not BlakeCoin) also remove "missing" file, its old and not compatible with ubuntu 14.04 to test on windows blake: clean and optimize Release v1.4 with blake (NEOS)
10 years ago
CUDA_CFLAGS="-I/usr/local/cuda/include $CUDA_CFLAGS"
CUDA_LIBS="-lcudart -static-libstdc++"
CUDA_LDFLAGS="-L/usr/local/cuda/lib$SUFFIX"
NVCC="nvcc"
fi
AC_SUBST(CUDA_CFLAGS)
AC_SUBST(CUDA_LIBS)
AC_SUBST(CUDA_LDFLAGS)
AC_SUBST(NVCC)
AC_SUBST(OPENMP_CFLAGS)
AC_OUTPUT