From 0a333110f7c7228a2e2d4f57814979392df192c3 Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Fri, 26 Nov 2010 16:28:12 -0500 Subject: [PATCH] Build on Windows using mingw32. --- .gitignore | 3 +++ Makefile.am | 4 ++-- compat.h | 10 ++++++++++ compat/jansson/.gitignore | 3 +++ configure.ac | 13 +++++++++++++ cpu-miner.c | 7 +++++-- 6 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 compat/jansson/.gitignore diff --git a/.gitignore b/.gitignore index 4e55d78..be4faad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ minerd +minerd.exe *.o autom4te.cache @@ -19,3 +20,5 @@ compile config.log config.status +mingw32-config.cache + diff --git a/Makefile.am b/Makefile.am index 299787e..a7b09fa 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,13 +7,13 @@ endif SUBDIRS = compat -INCLUDES = -pthread -fno-strict-aliasing $(JANSSON_INCLUDES) +INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES) bin_PROGRAMS = minerd EXTRA_DIST = sha256_generic.c minerd_SOURCES = util.c cpu-miner.c miner.h compat.h -minerd_LDFLAGS = -pthread +minerd_LDFLAGS = $(PTHREAD_FLAGS) minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ diff --git a/compat.h b/compat.h index a318991..1fdf6d1 100644 --- a/compat.h +++ b/compat.h @@ -10,6 +10,16 @@ static inline void sleep(int secs) Sleep(secs * 1000); } +enum { + PRIO_PROCESS = 0, +}; + +static inline int setpriority(int which, int who, int prio) +{ + /* FIXME - actually do something */ + return 0; +} + #endif /* WIN32 */ #endif /* __COMPAT_H__ */ diff --git a/compat/jansson/.gitignore b/compat/jansson/.gitignore new file mode 100644 index 0000000..173737b --- /dev/null +++ b/compat/jansson/.gitignore @@ -0,0 +1,3 @@ + +libjansson.a + diff --git a/configure.ac b/configure.ac index b60fbfb..2543ae3 100644 --- a/configure.ac +++ b/configure.ac @@ -17,6 +17,18 @@ AC_PROG_RANLIB dnl Checks for header files. AC_HEADER_STDC +case $host in + *-*-mingw*) + have_win32=true + PTHREAD_FLAGS="" + ;; + *) + have_win32=false + PTHREAD_FLAGS="-pthread" + ;; +esac + + AC_CHECK_LIB(jansson, json_loads, request_jansson=false, request_jansson=true) AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIBS=-lpthread) @@ -35,6 +47,7 @@ LIBCURL_CHECK_CONFIG(, 7.10.1, , [AC_MSG_ERROR([Missing required libcurl >= 7.10.1])]) AC_SUBST(JANSSON_LIBS) +AC_SUBST(PTHREAD_FLAGS) AC_SUBST(PTHREAD_LIBS) AC_CONFIG_FILES([ diff --git a/cpu-miner.c b/cpu-miner.c index f1eacf7..45e4e55 100644 --- a/cpu-miner.c +++ b/cpu-miner.c @@ -16,7 +16,9 @@ #include #include #include +#ifndef WIN32 #include +#endif #include #include #include @@ -352,7 +354,7 @@ static void parse_cmdline(int argc, char *argv[]) static void calc_stats(void) { uint64_t hashes; - long double hd, sd; + double hd, sd; pthread_mutex_lock(&stats_mutex); @@ -366,7 +368,8 @@ static void calc_stats(void) hd = hashes; sd = STAT_SLEEP_INTERVAL; - fprintf(stderr, "wildly inaccurate HashMeter: %.2Lf khash/sec\n", hd / sd); + fprintf(stderr, "wildly inaccurate HashMeter: %.2f khash/sec\n", + hd / sd); } int main (int argc, char *argv[])