2018-02-19 16:02:37 +01:00
|
|
|
packageName = "ethash"
|
2018-02-15 11:23:42 +01:00
|
|
|
version = "0.0.1"
|
|
|
|
author = "Status Research & Development GmbH"
|
|
|
|
description = "A reimplementation in pure Nim of ethash, the ethereum proof-of-work algorithm"
|
|
|
|
license = "Apachev2"
|
|
|
|
srcDir = "src"
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
2018-02-27 13:55:00 +01:00
|
|
|
requires "nim >= 0.17.2", "keccak_tiny >= 0.1.0", "ttmath > 0.2.0" # ttmath with exposed table field is required for mining only
|
2018-02-19 15:17:41 +01:00
|
|
|
|
2018-02-19 16:02:37 +01:00
|
|
|
proc test(name: string, lang: string = "c") =
|
2018-02-19 15:17:41 +01:00
|
|
|
if not dirExists "build":
|
|
|
|
mkDir "build"
|
|
|
|
if not dirExists "nimcache":
|
|
|
|
mkDir "nimcache"
|
|
|
|
--run
|
|
|
|
--nimcache: "nimcache"
|
|
|
|
switch("out", ("./build/" & name))
|
|
|
|
setCommand lang, "tests/" & name & ".nim"
|
|
|
|
|
2018-02-27 11:29:46 +01:00
|
|
|
task test, "Run Proof-of-Work tests (without mining)":
|
|
|
|
test "all_tests"
|
|
|
|
|
|
|
|
task test_mining, "Run Proof-of-Work and mining tests (test in release mode)":
|
|
|
|
switch("define", "release")
|
|
|
|
switch("define", "ethash_mining")
|
|
|
|
test "all_tests", "cpp"
|