Proper platform detection. Use target instead of host. Fix compilation for non win32 and non x86_64 platforms.
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
diff --git a/.gitignore b/.gitignore
index be4faad..a1ea5e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,8 @@ cpuminer-config.h*
compile
config.log
config.status
+config.guess
+config.sub
mingw32-config.cache
diff --git a/Makefile.am b/Makefile.am
index 04a45da..4d4f2bb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,8 +20,7 @@ minerd_SOURCES = elist.h miner.h compat.h \
minerd_LDFLAGS = $(PTHREAD_FLAGS)
minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@
-if HAVE_WINDOWS
-else
+if HAVE_x86_64
if HAS_YASM
SUBDIRS += x86_64
minerd_LDADD += x86_64/libx8664.a
diff --git a/configure.ac b/configure.ac
index 692c8b0..3176a1c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,7 @@
AC_INIT([cpuminer], [0.8.1])
AC_PREREQ(2.52)
+AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR([cpu-miner.c])
AM_INIT_AUTOMAKE([gnu])
AC_CONFIG_HEADERS([cpuminer-config.h])
@@ -20,12 +21,19 @@ AC_CHECK_HEADERS(syslog.h)
AC_FUNC_ALLOCA
-case $host in
+case $target in
*-*-mingw*)
+ have_x86_64=false
have_win32=true
PTHREAD_FLAGS=""
;;
+ x86_64-*)
+ have_x86_64=true
+ have_win32=false
+ PTHREAD_FLAGS="-pthread"
+ ;;
*)
+ have_x86_64=false
have_win32=false
PTHREAD_FLAGS="-pthread"
;;
@@ -37,6 +45,7 @@ AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIBS=-lpthread)
AM_CONDITIONAL([WANT_JANSSON], [test x$request_jansson = xtrue])
AM_CONDITIONAL([HAVE_WINDOWS], [test x$have_win32 = xtrue])
+AM_CONDITIONAL([HAVE_x86_64], [test x$have_x86_64 = xtrue])
if test x$request_jansson = xtrue
then