forked from cerc-io/plugeth
Merge pull request #2037 from fjl/no-libgmp
crypto/secp256k1: remove dependency on libgmp
This commit is contained in:
commit
4dee2000a3
@ -20,10 +20,6 @@ env:
|
|||||||
global:
|
global:
|
||||||
- secure: "U2U1AmkU4NJBgKR/uUAebQY87cNL0+1JHjnLOmmXwxYYyj5ralWb1aSuSH3qSXiT93qLBmtaUkuv9fberHVqrbAeVlztVdUsKAq7JMQH+M99iFkC9UiRMqHmtjWJ0ok4COD1sRYixxi21wb/JrMe3M1iL4QJVS61iltjHhVdM64="
|
- secure: "U2U1AmkU4NJBgKR/uUAebQY87cNL0+1JHjnLOmmXwxYYyj5ralWb1aSuSH3qSXiT93qLBmtaUkuv9fberHVqrbAeVlztVdUsKAq7JMQH+M99iFkC9UiRMqHmtjWJ0ok4COD1sRYixxi21wb/JrMe3M1iL4QJVS61iltjHhVdM64="
|
||||||
sudo: false
|
sudo: false
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libgmp3-dev
|
|
||||||
notifications:
|
notifications:
|
||||||
webhooks:
|
webhooks:
|
||||||
urls:
|
urls:
|
||||||
|
27
Makefile
27
Makefile
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
GOBIN = build/bin
|
GOBIN = build/bin
|
||||||
|
|
||||||
CROSSDEPS = https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
|
|
||||||
MODE ?= default
|
MODE ?= default
|
||||||
GO ?= latest
|
GO ?= latest
|
||||||
|
|
||||||
@ -30,12 +29,12 @@ geth-linux: geth-linux-386 geth-linux-amd64 geth-linux-arm
|
|||||||
@ls -l $(GOBIN)/geth-linux-*
|
@ls -l $(GOBIN)/geth-linux-*
|
||||||
|
|
||||||
geth-linux-386: xgo
|
geth-linux-386: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/386 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/386 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux 386 cross compilation done:"
|
@echo "Linux 386 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep 386
|
@ls -l $(GOBIN)/geth-linux-* | grep 386
|
||||||
|
|
||||||
geth-linux-amd64: xgo
|
geth-linux-amd64: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux amd64 cross compilation done:"
|
@echo "Linux amd64 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep amd64
|
@ls -l $(GOBIN)/geth-linux-* | grep amd64
|
||||||
|
|
||||||
@ -44,22 +43,22 @@ geth-linux-arm: geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-ar
|
|||||||
@ls -l $(GOBIN)/geth-linux-* | grep arm
|
@ls -l $(GOBIN)/geth-linux-* | grep arm
|
||||||
|
|
||||||
geth-linux-arm-5: xgo
|
geth-linux-arm-5: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/arm-5 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/arm-5 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux ARMv5 cross compilation done:"
|
@echo "Linux ARMv5 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep arm-5
|
@ls -l $(GOBIN)/geth-linux-* | grep arm-5
|
||||||
|
|
||||||
geth-linux-arm-6: xgo
|
geth-linux-arm-6: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/arm-6 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/arm-6 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux ARMv6 cross compilation done:"
|
@echo "Linux ARMv6 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep arm-6
|
@ls -l $(GOBIN)/geth-linux-* | grep arm-6
|
||||||
|
|
||||||
geth-linux-arm-7: xgo
|
geth-linux-arm-7: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/arm-7 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/arm-7 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux ARMv7 cross compilation done:"
|
@echo "Linux ARMv7 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep arm-7
|
@ls -l $(GOBIN)/geth-linux-* | grep arm-7
|
||||||
|
|
||||||
geth-linux-arm64: xgo
|
geth-linux-arm64: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/arm64 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=linux/arm64 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Linux ARM64 cross compilation done:"
|
@echo "Linux ARM64 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-linux-* | grep arm64
|
@ls -l $(GOBIN)/geth-linux-* | grep arm64
|
||||||
|
|
||||||
@ -68,12 +67,12 @@ geth-darwin: geth-darwin-386 geth-darwin-amd64
|
|||||||
@ls -l $(GOBIN)/geth-darwin-*
|
@ls -l $(GOBIN)/geth-darwin-*
|
||||||
|
|
||||||
geth-darwin-386: xgo
|
geth-darwin-386: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=darwin/386 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=darwin/386 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Darwin 386 cross compilation done:"
|
@echo "Darwin 386 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-darwin-* | grep 386
|
@ls -l $(GOBIN)/geth-darwin-* | grep 386
|
||||||
|
|
||||||
geth-darwin-amd64: xgo
|
geth-darwin-amd64: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=darwin/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=darwin/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Darwin amd64 cross compilation done:"
|
@echo "Darwin amd64 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-darwin-* | grep amd64
|
@ls -l $(GOBIN)/geth-darwin-* | grep amd64
|
||||||
|
|
||||||
@ -82,17 +81,17 @@ geth-windows: geth-windows-386 geth-windows-amd64
|
|||||||
@ls -l $(GOBIN)/geth-windows-*
|
@ls -l $(GOBIN)/geth-windows-*
|
||||||
|
|
||||||
geth-windows-386: xgo
|
geth-windows-386: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=windows/386 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=windows/386 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Windows 386 cross compilation done:"
|
@echo "Windows 386 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-windows-* | grep 386
|
@ls -l $(GOBIN)/geth-windows-* | grep 386
|
||||||
|
|
||||||
geth-windows-amd64: xgo
|
geth-windows-amd64: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=windows/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=windows/amd64 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Windows amd64 cross compilation done:"
|
@echo "Windows amd64 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-windows-* | grep amd64
|
@ls -l $(GOBIN)/geth-windows-* | grep amd64
|
||||||
|
|
||||||
geth-android: xgo
|
geth-android: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=android/* -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=android/* -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "Android cross compilation done:"
|
@echo "Android cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-android-*
|
@ls -l $(GOBIN)/geth-android-*
|
||||||
|
|
||||||
@ -101,12 +100,12 @@ geth-ios: geth-ios-arm-7 geth-ios-arm64
|
|||||||
@ls -l $(GOBIN)/geth-ios-*
|
@ls -l $(GOBIN)/geth-ios-*
|
||||||
|
|
||||||
geth-ios-arm-7: xgo
|
geth-ios-arm-7: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --depsargs=--disable-assembly --targets=ios/arm-7 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=ios/arm-7 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "iOS ARMv7 cross compilation done:"
|
@echo "iOS ARMv7 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-ios-* | grep arm-7
|
@ls -l $(GOBIN)/geth-ios-* | grep arm-7
|
||||||
|
|
||||||
geth-ios-arm64: xgo
|
geth-ios-arm64: xgo
|
||||||
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --depsargs=--disable-assembly --targets=ios-7.0/arm64 -v $(shell build/flags.sh) ./cmd/geth
|
build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --targets=ios-7.0/arm64 -v $(shell build/flags.sh) ./cmd/geth
|
||||||
@echo "iOS ARM64 cross compilation done:"
|
@echo "iOS ARM64 cross compilation done:"
|
||||||
@ls -l $(GOBIN)/geth-ios-* | grep arm64
|
@ls -l $(GOBIN)/geth-ios-* | grep arm64
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ For prerequisites and detailed build instructions please read the
|
|||||||
[Installation Instructions](https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum)
|
[Installation Instructions](https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum)
|
||||||
on the wiki.
|
on the wiki.
|
||||||
|
|
||||||
Building geth requires two external dependencies, Go and GMP.
|
Building geth requires both a Go and a C compiler.
|
||||||
You can install them using your favourite package manager.
|
You can install them using your favourite package manager.
|
||||||
Once the dependencies are installed, run
|
Once the dependencies are installed, run
|
||||||
|
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
secp256k1-go
|
|
||||||
=======
|
|
||||||
|
|
||||||
golang secp256k1 library
|
|
||||||
|
|
||||||
Implements cryptographic operations for the secp256k1 ECDSA curve used by Bitcoin.
|
|
||||||
|
|
||||||
Installing
|
|
||||||
===
|
|
||||||
|
|
||||||
GMP library headers are required to build. On Debian-based systems, the package is called `libgmp-dev`.
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo apt-get install libgmp-dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Now compiles with cgo!
|
|
||||||
|
|
||||||
Test
|
|
||||||
===
|
|
||||||
|
|
||||||
To run tests do
|
|
||||||
```
|
|
||||||
go tests
|
|
||||||
```
|
|
@ -21,14 +21,7 @@ package secp256k1
|
|||||||
/*
|
/*
|
||||||
#cgo CFLAGS: -I./libsecp256k1
|
#cgo CFLAGS: -I./libsecp256k1
|
||||||
#cgo CFLAGS: -I./libsecp256k1/src/
|
#cgo CFLAGS: -I./libsecp256k1/src/
|
||||||
#cgo darwin CFLAGS: -I/usr/local/include
|
#define USE_NUM_NONE
|
||||||
#cgo freebsd CFLAGS: -I/usr/local/include
|
|
||||||
#cgo linux,arm CFLAGS: -I/usr/local/arm/include
|
|
||||||
#cgo LDFLAGS: -lgmp
|
|
||||||
#cgo darwin LDFLAGS: -L/usr/local/lib
|
|
||||||
#cgo freebsd LDFLAGS: -L/usr/local/lib
|
|
||||||
#cgo linux,arm LDFLAGS: -L/usr/local/arm/lib
|
|
||||||
#define USE_NUM_GMP
|
|
||||||
#define USE_FIELD_10X26
|
#define USE_FIELD_10X26
|
||||||
#define USE_FIELD_INV_BUILTIN
|
#define USE_FIELD_INV_BUILTIN
|
||||||
#define USE_SCALAR_8X32
|
#define USE_SCALAR_8X32
|
||||||
|
Loading…
Reference in New Issue
Block a user