aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-04-19 05:21:45 +0800
committerFelix Lange <fjl@twurst.com>2015-04-19 06:42:34 +0800
commit48f23746f0f92887b6a76055e8f16c28176bc181 (patch)
tree3343f31bd2ea9fefa1b2db2f791da6af0bd08bf4 /build
parent84f1af6413b172c7c88d567e8b9033197196b5bd (diff)
downloaddexon-48f23746f0f92887b6a76055e8f16c28176bc181.tar.gz
dexon-48f23746f0f92887b6a76055e8f16c28176bc181.tar.zst
dexon-48f23746f0f92887b6a76055e8f16c28176bc181.zip
Makefile: for non-gophers
Many people need or want to build go-ethereum from the git repository, mostly to stay up to date with recent changes. We cannot expect that people without Go experience grok the Go workspace concept. With the Makefile, building from github requires only three steps (provided that a Go toolchain is installed): - git clone https://github.com/ethereum/go-ethereum - ... install C libraries (libgmp, etc.) ... - make
Diffstat (limited to 'build')
-rwxr-xr-xbuild/env.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/build/env.sh b/build/env.sh
new file mode 100755
index 000000000..b28ad6259
--- /dev/null
+++ b/build/env.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+if [ ! -f "build/env.sh" ]; then
+ echo "$0 must be run from the root of the repository."
+ exit 2
+fi
+
+# Create fake Go workspace if it doesn't exist yet.
+workspace="$PWD/build/_workspace"
+root="$PWD"
+ethdir="$workspace/src/github.com/ethereum"
+if [ ! -L "$ethdir/go-ethereum" ]; then
+ mkdir -p "$ethdir"
+ cd "$ethdir"
+ ln -s ../../../../../. go-ethereum
+ cd "$root"
+fi
+
+# Set up the environment to use the workspace.
+# Also add Godeps workspace so we build using canned dependencies.
+GOPATH="$ethdir/go-ethereum/Godeps/_workspace:$workspace"
+GOBIN="$PWD/build/bin"
+export GOPATH GOBIN
+
+# Launch the arguments with the configured environment.
+exec $@