Add ethash linux & windows build fixes

This commit is contained in:
Gustav Simonsson 2015-05-06 17:38:28 +02:00
parent f4341c7b7f
commit 054947def7
5 changed files with 11 additions and 10 deletions

4
Godeps/Godeps.json generated
View File

@ -17,8 +17,8 @@
}, },
{ {
"ImportPath": "github.com/ethereum/ethash", "ImportPath": "github.com/ethereum/ethash",
"Comment": "v23.1-192-g4faa4cb", "Comment": "v23.1-195-g4d50db9",
"Rev": "4faa4cb42ae7f0ea6b4aa2c90cb9170fdcbb915a" "Rev": "4d50db90d8bb5f2fae357570366cb8c657a4ddfc"
}, },
{ {
"ImportPath": "github.com/howeyc/fsnotify", "ImportPath": "github.com/howeyc/fsnotify",

View File

@ -127,12 +127,12 @@ func (l *Light) Verify(block pow.Block) bool {
return h256ToHash(ret.result).Big().Cmp(target) <= 0 return h256ToHash(ret.result).Big().Cmp(target) <= 0
} }
func h256ToHash(in C.struct_ethash_h256) common.Hash { func h256ToHash(in C.ethash_h256_t) common.Hash {
return *(*common.Hash)(unsafe.Pointer(&in.b)) return *(*common.Hash)(unsafe.Pointer(&in.b))
} }
func hashToH256(in common.Hash) C.struct_ethash_h256 { func hashToH256(in common.Hash) C.ethash_h256_t {
return C.struct_ethash_h256{b: *(*[32]C.uint8_t)(unsafe.Pointer(&in[0]))} return C.ethash_h256_t{b: *(*[32]C.uint8_t)(unsafe.Pointer(&in[0]))}
} }
func (l *Light) getCache(blockNum uint64) *cache { func (l *Light) getCache(blockNum uint64) *cache {

View File

@ -2,6 +2,7 @@ package ethash
/* /*
#cgo CFLAGS: -std=gnu99 -Wall #cgo CFLAGS: -std=gnu99 -Wall
#cgo windows CFLAGS: -mno-stack-arg-probe
#cgo LDFLAGS: -lm #cgo LDFLAGS: -lm
#include "src/libethash/internal.c" #include "src/libethash/internal.c"

View File

@ -49,7 +49,7 @@ enum ethash_io_rc {
// small hack for windows. I don't feel I should use va_args and forward just // small hack for windows. I don't feel I should use va_args and forward just
// to have this one function properly cross-platform abstracted // to have this one function properly cross-platform abstracted
#if defined(_WIN32) #if defined(_WIN32) && !defined(__GNUC__)
#define snprintf(...) sprintf_s(__VA_ARGS__) #define snprintf(...) sprintf_s(__VA_ARGS__)
#endif #endif

View File

@ -26,11 +26,11 @@
extern "C" { extern "C" {
#endif #endif
#ifdef _MSC_VER //#ifdef _MSC_VER
void debugf(char const* str, ...); void debugf(char const* str, ...);
#else //#else
#define debugf printf //#define debugf printf
#endif //#endif
static inline uint32_t min_u32(uint32_t a, uint32_t b) static inline uint32_t min_u32(uint32_t a, uint32_t b)
{ {