Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New version Monero cryptonight V8 #107

Open
wants to merge 271 commits into
base: cryptonight_debug
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
f4ccad0
add --cputest param to debug sha params (X11/X15)
tpruvot Aug 12, 2014
e576d07
Update README for the v1.0.5
tpruvot Aug 4, 2014
967738a
Check for negative extranonce2_size
pooler Aug 8, 2014
45792c1
fresh: add hash function to cpu tests
tpruvot Aug 19, 2014
112f76b
util: add other algos in cputest, in color
tpruvot Aug 26, 2014
324afb5
blake: fix rounds for blake256
tpruvot Aug 31, 2014
14f0acf
x11: sizeof fix, break was hiding the bug
tpruvot Aug 31, 2014
9e74d1d
remove extra memset in hash functions
tpruvot Aug 31, 2014
df0c0ad
hash funcs: do some cleanup...
tpruvot Aug 31, 2014
e9dce85
[BUGFIX] Fix stale share display bug
tpruvot Sep 26, 2014
df27be4
fix last warnings
tpruvot Sep 26, 2014
d213fe9
rpc: use the user agent constant
tpruvot Oct 17, 2014
15f243e
NeoScrypt Support (simplified)
tpruvot Oct 27, 2014
50f955b
neoscrypt: use official blake2s
tpruvot Oct 27, 2014
588f5d9
Add support for windows (VC2013)
tpruvot Oct 29, 2014
3967e06
windows: fix build with mingw64
Oct 30, 2014
ccccf3b
version: add compiler and pthreads version
Oct 31, 2014
756db9e
update README for v1.0.5
Oct 31, 2014
322e5b6
add curl and crypto to travis dependencies
tpruvot Oct 31, 2014
f27cba6
scrypt: fix segfault related to neoscrypt nfactor
tpruvot Oct 31, 2014
f34c567
vc2013: more fixes playing with defines
tpruvot Oct 31, 2014
f64adb3
fix for single core cpus
tpruvot Oct 31, 2014
5751a49
build.sh: compat with gcc 4.4
tpruvot Oct 31, 2014
2cf78c9
add gcc flags to MinGW64 build script
tpruvot Oct 31, 2014
070ff29
debug: add -f option to test with reduced diff
tpruvot Oct 31, 2014
98a5c87
Add S3 algo
tpruvot Oct 31, 2014
4406425
mingw64: gcc 4.9 doesnt like every obscure cflags
tpruvot Oct 31, 2014
3bf8615
mingw: fix neoscrypt bug (related to cflags)
tpruvot Nov 1, 2014
9f3083c
Add Qubit and Nist5 algos
tpruvot Nov 2, 2014
7e4b0ea
stratum: show url and height on new blocks
tpruvot Nov 2, 2014
d0a018a
Fix for non-rpc2 solo mining
tpruvot Nov 2, 2014
f5b2e50
solo: switch to getwork on unhandled gbt versions
tpruvot Nov 2, 2014
cb38b41
blake: full rewrite with a midstate cache
tpruvot Nov 2, 2014
06a8774
update curl to 7.38.0, add vc libs (x64 only)
tpruvot Nov 4, 2014
4af22b9
linux: fix neoscrypt compile without asm
tpruvot Nov 6, 2014
0bf0026
blake: small cleanup
tpruvot Nov 4, 2014
1720eb8
Add simplified monitoring api
tpruvot Nov 15, 2014
1a2f549
sensors: fix segfault if sysfs not found
tpruvot Nov 15, 2014
dfe8478
update api sample
tpruvot Nov 15, 2014
5c86a49
Enhance config values support (int/real/bool)
tpruvot Nov 15, 2014
c65b167
Release v1.0.8
tpruvot Nov 15, 2014
06d925c
prepare 1.0.9 line
tpruvot Nov 22, 2014
369d873
stratum: handle optional mining.set_extranonce
tpruvot Nov 22, 2014
adcec82
stratum: handle standard method if extranonce is ignored
tpruvot Nov 23, 2014
bc5aa05
Upgrade jansson to 2.6 (windows)
tpruvot Nov 23, 2014
a39511f
vstudio: some warning fixes
tpruvot Nov 23, 2014
d8f5d93
add lyra2 algo (for 16 december vertcoin hard fork)
tpruvot Dec 7, 2014
b40e72f
rpc: use id 4 for all kind of nonce submits
tpruvot Dec 7, 2014
e7670e8
switch application prefix from minerd to cpuminer
tpruvot Dec 7, 2014
6873569
Change debug color on linux + some warning fixes
tpruvot Dec 9, 2014
fc1653b
api: allow -b <ip>, and set bind retry to 20sec
tpruvot Dec 18, 2014
fd9a9c1
Update makefile and strip binary
tpruvot Dec 18, 2014
961843c
api: add support for websocket calls
tpruvot Dec 18, 2014
6089aff
Small changes for arm compat
tpruvot Jan 12, 2015
783e6c7
update visual studio project
tpruvot Jan 24, 2015
233126d
move compat defines in compat.h
tpruvot Jan 24, 2015
ba2fbc7
Prepare v1.1.x versions..
tpruvot Jan 24, 2015
f4351eb
Add myriad groestl algo too
tpruvot Jan 24, 2015
7b5ee76
Add blakecoin algo (blake256 variant)
tpruvot Jan 24, 2015
8f52f40
various warning fixes on win x64
tpruvot Jan 30, 2015
347c9f3
Some applog changes for version 1.1
tpruvot Jan 30, 2015
1515e1c
Use all cpu cores by default
tpruvot Jan 30, 2015
5c22a0a
windows: add icon and version informations
tpruvot Feb 1, 2015
a06765a
Add windows setup script (nsis 3)
tpruvot Feb 2, 2015
a0c7376
x11: simplify the code
tpruvot Feb 6, 2015
26192b5
Allow a default json config in user folder
tpruvot Feb 7, 2015
eafc7b3
enhance windows installer script
tpruvot Feb 6, 2015
8e1246b
linux: fixes for config file function
tpruvot Feb 8, 2015
6e51671
Add --cpu-affinity and --cpu-priority options
tpruvot Feb 9, 2015
592b155
cmdline: allow -t 0 (auto)
tpruvot Feb 9, 2015
6d8bd7f
update default config
tpruvot Feb 8, 2015
826bf04
update NEWS and README
tpruvot Feb 9, 2015
4deffc5
linux: move affinity function position
tpruvot Feb 9, 2015
13529dd
windows: implement background option (-B)
tpruvot Feb 12, 2015
99d6dfb
dirname: fix visual studio version
tpruvot Feb 12, 2015
44a8b98
Add basic API remote control
tpruvot Feb 12, 2015
9de3ec6
api: fix stratum seturl and trailing pipe
tpruvot Feb 13, 2015
0766081
Fix qubit diff for yaamp
tpruvot Feb 13, 2015
2ccf91c
Add pluck algo (Supcoin)
tpruvot Feb 20, 2015
3654f1f
pluck: small sse2 enhancement on vstudio x64
tpruvot Feb 21, 2015
f1d7024
basic ZR5 algo, without PoK "encryption" support
tpruvot Mar 2, 2015
937678a
longpoll: strdup fix for linux
tpruvot Mar 4, 2015
580d68e
pluck: optimize
tpruvot Feb 22, 2015
ffa395e
pluck: earlz based volatile sha2 func
tpruvot Feb 22, 2015
991916d
bestcpu_feature basic function
tpruvot Feb 25, 2015
d113be2
rc: add pragma codepage, dont use utf-16
tpruvot Mar 5, 2015
d5b6dd5
skein: cleanup
tpruvot Mar 5, 2015
0eccce9
api: fix port > 32768
tpruvot Mar 5, 2015
6dc12f7
Add double skein (skein2) algo for Woodcoin
tpruvot Mar 5, 2015
5265b28
multithreaded build
tpruvot Mar 7, 2015
0ce4a42
cputest: dont share mem of buf and scratchpad
tpruvot Mar 9, 2015
afb4db7
build: disable most extra cflags
tpruvot Mar 9, 2015
e78414a
anime algo and fix solo mining (broken since zr5)
tpruvot Mar 10, 2015
0cfdc68
cleanup: remove extern, sort cputest + lowercase
tpruvot Mar 11, 2015
7e9fc08
solo: show network hashrate, if available
tpruvot Mar 11, 2015
1ef62af
cryptonight: warning fixes
tpruvot Mar 11, 2015
c498af8
neoscrypt: use same variable names
tpruvot Mar 11, 2015
497280d
zr5: clean the algo, add stratum support
tpruvot Mar 13, 2015
0a62feb
Add --time-limit option
tpruvot May 11, 2015
ec805d2
time-limit: allow automated benchmarks
tpruvot Jun 5, 2015
f280934
conditional mining, limited conditions
tpruvot Jun 5, 2015
56b7051
sysinfos: prefer coretemp data if present
tpruvot Jun 5, 2015
f28c0fe
Fix for conditional mining messages
tpruvot Jun 5, 2015
57729da
bound checks and some changes from ccminer
tpruvot Jun 5, 2015
397441d
Extend the --timeout option to stratum pools
tpruvot Jun 5, 2015
a6b682c
stratum: add --diff-multiplier option (-m)
tpruvot Jun 25, 2015
2fb5365
Add missing luffa algo
tpruvot Jun 25, 2015
a4f51bd
Add dropcoin algo
tpruvot Jun 28, 2015
15205b4
Add c11 algo (chaincoin/flaxscript)
tpruvot Jun 29, 2015
c08d103
bmw algo for midnight MDT
tpruvot Jul 10, 2015
c4c15b8
bmw hash
tpruvot Jul 14, 2015
c6cd77c
cryptonight: handle rpc 2.0 pools and clean the crypto-rpc-code
tpruvot Jul 15, 2015
ad7d583
Make extranonce support optional
tpruvot Jul 15, 2015
9b7974b
rpc2: fix some warnings seen with gcc 4.9
tpruvot Jul 15, 2015
a7deef2
quark: test and cleanup
tpruvot Jul 15, 2015
ddd5a4e
cryptonight: reduce noise with the quiet option
tpruvot Jul 16, 2015
f795795
affinity: do not default to win32
tpruvot Jul 25, 2015
7b17c5a
axiom algo
tpruvot Jul 26, 2015
099a8df
axiom: vstudio fix (memory problem)
tpruvot Jul 27, 2015
4cf87e9
axiom: remove useless loop
tpruvot Jul 27, 2015
66a85d0
add randomize option (for very slow algos)
tpruvot Jul 27, 2015
36cf7af
update help and readme
tpruvot Jul 29, 2015
0c74eb8
axiom: cputest entry
tpruvot Jul 29, 2015
545c3a1
cpuminer-multi 1.1 release
tpruvot Jul 29, 2015
f9bae6b
fix included jansson version number (v2.6)
tpruvot Aug 2, 2015
4f99e0e
fix for x86 and arm (bionic) builds
tpruvot Aug 1, 2015
cbce236
cryptonight warning fix
tpruvot Aug 4, 2015
8e32088
add cryptonight-light algo
tpruvot Aug 6, 2015
bd6e439
lyra2REv2 algo for the upcoming Vertcoin hard fork
tpruvot Aug 6, 2015
459ce75
lyra: fix sign warnings
tpruvot Aug 6, 2015
b733e2e
attempt to recover lost speed in previous lyra2
tpruvot Aug 6, 2015
17689f8
lyra: fix conversion problems, use int64
tpruvot Aug 6, 2015
c63508d
lyra2: vstudio improvements
tpruvot Aug 6, 2015
df62b9d
lyra2: reduce a bit memory operations
tpruvot Aug 6, 2015
944b493
affinity: allow more than 8 cores values (and hexa)
tpruvot Aug 6, 2015
3daeb1d
shut up gcc
tpruvot Aug 6, 2015
e288c11
lyra2rev2: new stratum default diff
tpruvot Aug 12, 2015
322d153
lyra2: handle both lyra2/lyra2re aliases
tpruvot Aug 13, 2015
72c4c5e
algo: case insensitive match + readme
tpruvot Aug 13, 2015
1305ed9
Allow to load remote config with curl
tpruvot Aug 24, 2015
a14850e
Drop anime algo (dead coin)
tpruvot Aug 24, 2015
88d567d
applog: Use reentrant localtime(), avoid a lock
tpruvot Aug 24, 2015
78a3ef9
Add sib algo and start the work on diff (part 1)
tpruvot Oct 1, 2015
2a5ea59
windows: update vstudio project + mingw64 vars
tpruvot Oct 2, 2015
6bd1af0
clang: fix nomacro.pl path and chmod
tpruvot Nov 21, 2015
bb017a3
bastion algo
tpruvot Nov 7, 2015
e67ae95
yescrypt algo (basic and simd)
tpruvot Dec 5, 2015
3513ed8
Scrypt-Jane algorithm from nicehash
Oct 17, 2015
3e415dd
rename scrypt-jane algo like ccminer
tpruvot Dec 7, 2015
df19a20
cputest: add new scrypt algos tests
tpruvot Dec 7, 2015
d6c5d6b
scrypt-jane: gcc and vstudio warnings fixes
tpruvot Dec 7, 2015
24f996f
yescrypt: disable some extra/cleanup memset
tpruvot Dec 7, 2015
69cfc00
mingw: build statically for msys/mingw compat
tpruvot Dec 7, 2015
8631093
update readme, list debian/ubuntu required packages
tpruvot Dec 8, 2015
6f91327
linux: build with native arch if the cpu supports avx
tpruvot Dec 8, 2015
f7c584d
diff: prepare all algos for diff report (part 2)
tpruvot Dec 28, 2015
fb13736
diff: show share diff and solved blocs + api
tpruvot Dec 28, 2015
a6fe95c
stratum: show real target diff for all algos
tpruvot Jan 6, 2016
a14fd15
1.2 release
tpruvot Jan 24, 2016
2712075
vanilla algo (Blake256 8 rounds - double sha256)
xCoreDev Jan 27, 2016
2220b21
Some other hwmon paths may be present
g1itch Jan 30, 2016
7971b9a
blake: some cleanup
tpruvot Feb 6, 2016
9b2b537
decred: longpoll/getwork modes
tpruvot Feb 5, 2016
ff37776
decred: randomize all scans
tpruvot Feb 6, 2016
a2cba7b
decred simplified stratum (getwork over stratum)
tpruvot Feb 21, 2016
b693a9a
blake2s midstate, +10%
tpruvot Mar 10, 2016
fdeb220
stratum: pool benchmark + new methods
tpruvot May 20, 2016
af6d562
update sample config, default to decred on yiimp
tpruvot May 21, 2016
ebbc7e9
stats: add cores count to the cpu vid
tpruvot May 21, 2016
0daba68
fix a few vstudio warnings
tpruvot May 21, 2016
9180670
windows: get the proper cpu name like linux
tpruvot May 21, 2016
b971285
small changes in --version output
tpruvot May 22, 2016
22dd788
add x11evo algo
tpruvot May 31, 2016
f9345a5
lbry sha/ripemd algo
tpruvot Jul 10, 2016
83fb939
blake2b component algo for later use, not enough for sia
tpruvot Jul 29, 2016
147eaf4
sia stratum (suprnova version)
tpruvot Jul 29, 2016
5b0f7a8
Added needed packages for Ubuntu
jeteon Aug 1, 2016
4003132
veltor algo
tpruvot Aug 23, 2016
f64d370
Update readme
tpruvot Oct 2, 2016
1001676
Add missing x17 algo
tpruvot Oct 16, 2016
31ae68c
prepare xevan algo (default stratum factor 256)
tpruvot Oct 16, 2016
51bde21
vstudio: add missing project files
tpruvot Nov 1, 2016
8441f0b
show diff by default, like ccminer
tpruvot Nov 3, 2016
2c4214a
release v1.3
tpruvot Nov 3, 2016
bda8844
Update docker file
tpruvot Nov 19, 2016
e867845
small change for cputest
tpruvot Jan 6, 2017
87a2e10
Timetravel hash function from Machinecoin project
madzebra Jan 4, 2017
f6639ac
prepare next version
tpruvot Jan 23, 2017
18cf11a
limit per-core hashrate logs to 5 sec intervals
tpruvot Jan 26, 2017
9fff60e
timetravel: huge optimisation (up to 250x :p)
tpruvot Jan 26, 2017
cce747e
release
tpruvot Jan 26, 2017
3477cb1
README update
Mar 9, 2017
6ce3172
Use unsigned long format string for unsigned long value
agx Mar 25, 2017
3ec9095
cputest: fix memset typo
tpruvot Mar 25, 2017
e195764
timetravel: fix for g++ buggy linker
tpruvot Mar 29, 2017
052fd5b
bitcore timetravel-10 algo
tpruvot Apr 30, 2017
4123f4c
add the JHA algo
tpruvot May 8, 2017
7495361
handle a new tribus algo
tpruvot Jun 15, 2017
29d94e8
Fixed compilation on Pi64
Mahallon Oct 12, 2017
af7bef8
Update README.md
AXKuhta Oct 12, 2017
477b5fa
arm64: fix wrong ifdef
tpruvot Oct 12, 2017
5e66806
autoconf: restore ssl lib checks
tpruvot Nov 20, 2017
4073fd4
x16r algo: beware, this algo hashrate is not constant
tpruvot Jan 12, 2018
0e43298
handle keccakc variant (refreshed keccak stratum) #21
tpruvot Jan 28, 2018
3ccb8e4
Fix construction of BIP34 coinbase.
domob1812 Feb 21, 2018
c9bb06d
fix for ARM support (#24)
caiotoledo Feb 27, 2018
574aefb
add x16s algo (PigeonCoin) (#26)
rst00 Mar 29, 2018
971469b
x16s warning fix + readme + vcxproj
tpruvot Mar 29, 2018
c3d7772
x12 algo
tpruvot Mar 29, 2018
582e576
v1.3.4
tpruvot Mar 29, 2018
289d9de
allium algo, with proper pool diff ratio 256
tpruvot May 6, 2018
aec3826
phi and phi2 algos
tpruvot May 10, 2018
a261925
phi2: handle new 144-bytes header, if needed
tpruvot Jun 18, 2018
2b08c23
add also sonoa algo
tpruvot Jun 24, 2018
224b4b4
handle new cryptolight variant
tpruvot Jun 24, 2018
428c9ca
handle new monero algo, hardcoded
tpruvot Jun 24, 2018
b57797c
cputest: add missing entries
tpruvot Jun 24, 2018
41da2b4
small cleanup, reduce warnings with gcc 7.3
tpruvot Jul 13, 2018
f5d50a7
add rainforest algo (#29)
MikeMurdo Oct 10, 2018
b262a2b
rainforest: vstudio fixes
tpruvot Oct 11, 2018
ee9f642
cpuid: fix for intel compiler (#31)
dallemon Nov 2, 2018
ac6e408
x20r algo with saphir panama and radiogatun (#33)
hashfaster Dec 2, 2018
e734d7f
x20r: secure the algo, dont hash random data
tpruvot Dec 3, 2018
bee7ca8
blake2b algo
tpruvot Nov 25, 2018
6a51875
lyra2v3 algo for incoming VTC fork
tpruvot Jan 30, 2019
605ff82
vstudio: fix typo
tpruvot Jan 30, 2019
ce2991d
build: add a build file for linux on ARM boards
wtarreau Mar 11, 2019
8cbca8d
rainforest: do not emit rf_crc32_table if not needed
wtarreau Mar 9, 2019
d37dae5
rainforest: optimize rf_rambox()
wtarreau Mar 9, 2019
3ab1167
rainforest: optimize rf_ctx organization for better cache locality
wtarreau Mar 9, 2019
a9a6056
rainforest: avoid closing the hash when it doesn't match
wtarreau Mar 9, 2019
906c96f
rainforest: avoid the slow memcpy() operation to reset the state
wtarreau Mar 10, 2019
8719995
rainforest: fix compilation for windows (#37)
yuzi-co Mar 16, 2019
6aa43ad
rainforest: add missing entry in cputest
tpruvot Mar 16, 2019
6d51b16
Add geek algo (#35)
tpruvot Mar 16, 2019
0d7a97a
fix os x build with asm (#14)
orangejuicy Mar 16, 2019
39fff9e
restore build.sh code
tpruvot Mar 16, 2019
c207355
phi2: avoid possible memory overflow
tpruvot May 17, 2019
a79da32
Force __arm__ define on aarch64
tpruvot Aug 8, 2019
7be0721
X16Rv2 Algorithm (for RVN and clones)
jsheng08 Sep 22, 2019
4cbcd00
X16Rv2: pad zeros with 32-bits integers at once
tpruvot Sep 24, 2019
bde0223
readme: add zlib1g-dev dep on deb-based Linux (#41)
lesinigo Sep 24, 2019
1d6d48a
README markdown quotes (#40)
ParaplegicRacehorse Sep 24, 2019
04666ea
increase version to 1.3.7
tpruvot Sep 24, 2019
8ccbb81
ifdef fix for armv7 (PR #50)
tpruvot Apr 12, 2021
7411020
Fix compile error with GCC 11
0x9fff00 May 26, 2021
e1dedc1
yescrypt: add support for yescryptr8, yescryptr16 and yescryptr32.
cognet May 31, 2018
a7df963
yescrypt variants cputest
tpruvot Jun 20, 2021
9b94adc
Check for cpu temperature in thermal class
divaprabhu May 23, 2020
d2927ed
update Readme
tpruvot Jun 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@

minerd
minerd.exe
minerd*
cpuminer
*.exe
*.o
*.d
gmon.out

autom4te.cache
.deps
Expand Down Expand Up @@ -29,3 +31,21 @@ mingw32-config.cache
*/.dirstamp

*.iml

*.vcxproj.user
*.opensdf
*.sdf
*.suo
Release/
Debug/
x64/Release/
x64/Debug/
*.pdb/

installer/
res/cpuminer.aps
res/RC*
sign/
sign.sh

compat/curl-for-windows/
9 changes: 7 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@ language: c
compiler:
- gcc

before_install:
- sudo apt-get update -qq
- sudo apt-get install libcurl4-openssl-dev

before_script:
- ./autogen.sh

script:
- ./configure
- make
- ./configure --with-crypto --with-curl
- make
- ./cpuminer --cputest
2 changes: 2 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Neisklar
prettyhatemachine

LucasJones

tpruvot@github
77 changes: 77 additions & 0 deletions Android.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
################################################################
# Sample Android repo Makefile, used to test arm on the Tegra K1
################################################################

cpuminer-src := $(call my-dir)

LOCAL_PATH := $(cpuminer-src)
include $(CLEAR_VARS)

LOCAL_MODULE=cpuminer-jansson
LOCAL_MODULE_TAGS=optional

define all-c-files-under
$(patsubst ./%,%, \
$(shell cd $(LOCAL_PATH) ; \
find -L $(1) -name "*.c" -and -not -name ".*") \
)
endef

LOCAL_SRC_FILES := $(call all-c-files-under,compat/jansson)
LOCAL_C_INCLUDES := $(cpuminer-src)/compat/jansson

include $(BUILD_STATIC_LIBRARY)

################################################################


LOCAL_PATH := $(cpuminer-src)
include $(CLEAR_VARS)

LOCAL_MODULE=cpuminer
LOCAL_MODULE_TAGS=optional
LOCAL_MODULE_CLASS := UTILITY_EXECUTABLES
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/utilities
LOCAL_MODULE_STEM := $(LOCAL_MODULE)

LOCAL_C_INCLUDES := $(cpuminer-src)/compat/bionic \
$(cpuminer-src)/compat/jansson \
$(TARGET_OUT_INTERMEDIATES)/include/libcurl \
external/openssl/include \

LOCAL_CFLAGS := -std=c99 -Wno-pointer-sign -Wno-missing-field-initializers \
-Wno-unused-parameter #-DNOASM
LOCAL_CFLAGS += -DVERSION=\"1.3\"

sph_files:=$(call all-c-files-under,sha3)

LOCAL_SRC_FILES=\
cpu-miner.c util.c \
api.c sysinfos.c \
$(call all-c-files-under,algo) \
$(filter-out sha3/md_helper.c,$(sph_files)) \
$(call all-c-files-under,crypto) \
$(call all-c-files-under,lyra2) \
asm/sha2-$(TARGET_ARCH).S \
asm/scrypt-$(TARGET_ARCH).S \
asm/neoscrypt_asm.S

LOCAL_STATIC_LIBRARIES := libm cpuminer-jansson
LOCAL_STATIC_LIBRARIES += libz libcrypto_static
LOCAL_STATIC_LIBRARIES += libssl_static

# Require curl config changes and an addional
# module definition in external/curl(_static?)
#LOCAL_FORCE_STATIC_EXECUTABLE := true

ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
LOCAL_CFLAGS += -DCURL_STATICLIB # -DHTTP_ONLY
LOCAL_STATIC_LIBRARIES += libcurl_static libc
else
LOCAL_SHARED_LIBRARIES := libssl libcrypto
LOCAL_SHARED_LIBRARIES += libcurl
#LOCAL_STATIC_LIBRARIES += libcurl_static
endif

include $(BUILD_EXECUTABLE)

27 changes: 9 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,25 +1,16 @@
#
# Dockerfile for cpuminer
# usage: docker run creack/cpuminer --url xxxx --user xxxx --pass xxxx
# ex: docker run creack/cpuminer --url stratum+tcp://ltc.pool.com:80 --user creack.worker1 --pass abcdef
#
#
# Usage: docker build .
# Usage: docker run tpruvot/cpuminer-multi -a xevan --url=stratum+tcp://yiimp.ccminer.org:3739 --user=iGadPnKrdpW3pcdVC3aA77Ku4anrzJyaLG --pass=x

FROM ubuntu:12.10
MAINTAINER Guillaume J. Charmes <[email protected]>
FROM ubuntu:14.04
MAINTAINER Tanguy Pruvot <[email protected]>

RUN apt-get update -qq

RUN apt-get install -qqy automake
RUN apt-get install -qqy libcurl4-openssl-dev
RUN apt-get install -qqy git
RUN apt-get install -qqy make
RUN apt-get install -qy automake autoconf pkg-config libcurl4-openssl-dev libssl-dev libjansson-dev libgmp-dev make g++ git

RUN git clone https://github.com/pooler/cpuminer
RUN git clone https://github.com/tpruvot/cpuminer-multi -b linux

RUN cd cpuminer && ./autogen.sh
RUN cd cpuminer && ./configure CFLAGS="-O3"
RUN cd cpuminer && make
RUN cd cpuminer-multi && ./build.sh

WORKDIR /cpuminer
ENTRYPOINT ["./minerd"]
WORKDIR /cpuminer-multi
ENTRYPOINT ["./cpuminer"]
206 changes: 149 additions & 57 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -9,72 +9,164 @@ EXTRA_DIST = example-cfg.json nomacro.pl

SUBDIRS = compat

INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES)

bin_PROGRAMS = minerd

dist_man_MANS = minerd.1

minerd_SOURCES = elist.h \
miner.h \
compat.h \
cpu-miner.c \
util.c \
sha2.c \
scrypt.c \
keccak.c \
heavy.c \
quark.c \
skein.c \
ink.c \
blake.c \
cryptonight.c \
fresh.c \
x11.c \
x13.c \
x14.c \
x15.c \
sha3/sph_keccak.c \
sha3/sph_hefty1.c \
sha3/sph_groestl.c \
sha3/sph_skein.c \
sha3/sph_bmw.c \
sha3/sph_jh.c \
sha3/sph_shavite.c \
sha3/sph_blake.c \
sha3/sph_luffa.c \
sha3/sph_cubehash.c \
sha3/sph_simd.c \
sha3/sph_echo.c \
sha3/sph_hamsi.c \
sha3/sph_fugue.c \
sha3/sph_shabal.c \
sha3/sph_whirlpool.c \
crypto/oaes_lib.c \
crypto/c_keccak.c \
crypto/c_groestl.c \
crypto/c_blake256.c \
crypto/c_jh.c \
crypto/c_skein.c \
crypto/hash.c \
crypto/aesb.c
ALL_INCLUDES = @PTHREAD_FLAGS@ -fno-strict-aliasing $(JANSSON_INCLUDES) -I.

bin_PROGRAMS = cpuminer

dist_man_MANS = cpuminer.1

cpuminer_SOURCES = \
cpu-miner.c util.c \
api.c sysinfos.c \
uint256.cpp \
sha3/sph_keccak.c \
sha3/sph_hefty1.c \
sha3/sph_groestl.c \
sha3/sph_skein.c \
sha3/sph_bmw.c \
sha3/sph_jh.c \
sha3/sph_shavite.c \
sha3/sph_blake.c \
sha3/mod_blakecoin.c \
sha3/sph_luffa.c \
sha3/sph_cubehash.c \
sha3/sph_simd.c \
sha3/sph_echo.c \
sha3/sph_fugue.c \
sha3/sph_hamsi.c \
sha3/sph_haval.c \
sha3/sph_panama.c \
sha3/sph_radiogatun.c \
sha3/sph_ripemd.c \
sha3/sph_sha2.c \
sha3/sph_sha2big.c \
sha3/sph_shabal.c \
sha3/sph_whirlpool.c \
sha3/sph_tiger.c \
sha3/gost_streebog.c \
crypto/blake2s.c \
crypto/blake2b.c \
crypto/oaes_lib.c \
crypto/c_keccak.c \
crypto/c_groestl.c \
crypto/c_blake256.c \
crypto/c_jh.c \
crypto/c_skein.c \
crypto/hash.c \
crypto/aesb.c \
lyra2/Lyra2.c lyra2/Sponge.c \
yescrypt/yescrypt-common.c yescrypt/yescrypt-best.c \
yescrypt/sha256_Y.c \
algo/allium.c \
algo/axiom.c \
algo/bastion.c \
algo/blake.c \
algo/blakecoin.c \
algo/blake2.c \
algo/bmw256.c \
algo/c11.c \
algo/cryptonight.c \
algo/cryptolight.c \
algo/decred.c \
algo/drop.c \
algo/fresh.c \
algo/geek.c \
algo/groestl.c \
algo/heavy.c \
algo/ink.c \
algo/jha.c \
algo/lbry.c \
algo/luffa.c \
algo/lyra2re.c \
algo/lyra2rev2.c \
algo/lyra2v3.c \
algo/myr-groestl.c \
algo/keccak.c \
algo/pentablake.c \
algo/phi1612.c \
algo/phi2.c \
algo/quark.c \
algo/neoscrypt.c \
algo/nist5.c \
algo/pluck.c \
algo/qubit.c \
algo/rainforest.c \
algo/scrypt.c \
algo/scrypt-jane.c \
algo/sha2.c \
algo/sia.c \
algo/sibcoin.c \
algo/skein.c \
algo/skein2.c \
algo/sonoa.c \
algo/s3.c \
algo/bitcore.c \
algo/timetravel.c \
algo/tribus.c \
algo/veltor.c \
algo/x11evo.c \
algo/x11.c \
algo/x12.c \
algo/x13.c \
algo/x14.c \
algo/x15.c \
algo/x16r.c \
algo/x16rv2.c \
algo/x16s.c \
algo/x20r.c \
algo/x17.c \
algo/xevan.c \
algo/yescrypt.c \
algo/zr5.c

disable_flags =

if USE_ASM
cpuminer_SOURCES += asm/neoscrypt_asm.S
if ARCH_x86
minerd_SOURCES += sha2-x86.S scrypt-x86.S aesb-x86.S crypto/aesb-x86-impl.c
cpuminer_SOURCES += asm/sha2-x86.S asm/scrypt-x86.S asm/aesb-x86.S
endif
if ARCH_x86_64
minerd_SOURCES += sha2-x64.S scrypt-x64.S aesb-x64.S
cpuminer_SOURCES += asm/sha2-x64.S asm/scrypt-x64.S asm/aesb-x64.S
endif
if ARCH_ARM
minerd_SOURCES += sha2-arm.S scrypt-arm.S
cpuminer_SOURCES += asm/sha2-arm.S asm/scrypt-arm.S
endif
else
disable_flags += -DNOASM
endif

minerd_LDFLAGS = $(PTHREAD_FLAGS)
minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@
minerd_CPPFLAGS = @LIBCURL_CPPFLAGS@
minerd_CFLAGS = -Ofast -flto -fuse-linker-plugin
if HAVE_WINDOWS
cpuminer_SOURCES += compat/winansi.c
endif

cpuminer_LDFLAGS = @LDFLAGS@
cpuminer_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@
cpuminer_CPPFLAGS = @LIBCURL_CPPFLAGS@ $(ALL_INCLUDES)
cpuminer_CFLAGS = -Wno-pointer-sign -Wno-pointer-to-int-cast $(disable_flags)

if HAVE_WINDOWS
minerd_CFLAGS += -Wl,--stack,10485760
cpuminer_CFLAGS += -Wl,--stack,10485760
cpuminer_LDADD += -lcrypt32 -lgdi32 -lgcc -lgcc_eh
endif

if ARCH_ARM
cpuminer_CFLAGS += -D__arm__
endif

if HAVE_WINDOWS
# use to profile an object
# gprof_cflags = -pg -g3
# cpuminer_LDFLAGS += -pg
# cpuminer_CFLAGS += -fno-inline-functions -static

# copy/paste from generated Makefile
common_ccflags = $(DEFS) $(ALL_INCLUDES) $(cpuminer_CPPFLAGS) $(CPPFLAGS) $(cpuminer_CFLAGS) $(CFLAGS)

# special CFLAGS (if you find a simpler way to do that tell me ;)
cpuminer-neoscrypt.o: neoscrypt.c
@echo "CUSTOM ${@}: ${filter %.o,${^}} ${filter %.c,${^}}"
$(CC) $(common_ccflags) -g -O3 $(gprof_cflags) -MT $@ -MD -MP -c -o $@ $<


endif
Loading