aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-09-18 13:07:38 +0800
committerGitHub <noreply@github.com>2018-09-18 13:07:38 +0800
commit476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73 (patch)
tree3f9ac28632072fa8083c22347fb45cbf94da4831
parent81cf96477127a2da8843d544802027c7061a9c06 (diff)
downloaddexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar.gz
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar.bz2
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar.lz
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar.xz
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.tar.zst
dexon-consensus-476c759f5e2ea3949cf3aaf4e60ccc7e0439ee73.zip
bin: allow non-root homebrew install to work (#113)
In order for non-root homebrew install to work, we need to setup some custom CFLAGS and LDFLAGS variables, we also need to patch the mcl library so we are able to build. A PR is sent to the mcl upstream, the local patch will be removed once the upstream PR is merged.
-rw-r--r--bin/env.sh11
-rwxr-xr-xbin/install_dkg_dep.sh5
-rw-r--r--bin/patches/0001-common.mk-remove-hard-coded-CFLAGS-and-LDFLAGS.patch25
3 files changed, 41 insertions, 0 deletions
diff --git a/bin/env.sh b/bin/env.sh
new file mode 100644
index 0000000..ca884b4
--- /dev/null
+++ b/bin/env.sh
@@ -0,0 +1,11 @@
+# Environment variables for the project.
+
+# Setup custom build flags for non-root homebrew installation.
+if [ "$(uname -o)" = "Darwin" ] && [ "$(brew --prefix)" != "/usr/local" ]; then
+ export BLS256_SLIB_LDFLAGS="-L$(brew --prefix gmp)/lib"
+ export BLS384_SLIB_LDFLAGS="-L$(brew --prefix gmp)/lib"
+
+ export CFLAGS="-I$(brew --prefix gmp)/include -I$(brew --prefix openssl)/include $CFLAGS"
+ export LDFLAGS="-L$(brew --prefix gmp)/lib $LDFLAGS -L$(brew --prefix openssl)/lib $LDFLAGS"
+ export CGO_LDFLAGS=$LDFLAGS
+fi
diff --git a/bin/install_dkg_dep.sh b/bin/install_dkg_dep.sh
index 7b6463f..9120941 100755
--- a/bin/install_dkg_dep.sh
+++ b/bin/install_dkg_dep.sh
@@ -13,6 +13,11 @@ if [ ! -d .dep/dkg ]; then
git clone --depth 1 git://github.com/herumi/bls.git &
git clone --depth 1 git://github.com/herumi/mcl.git &
wait
+ if [ "$(uname -o)" = "Darwin" ] && [ "$(brew --prefix)" != "/usr/local" ]; then
+ cd mcl
+ git am ../../../bin/patches/0001-common.mk-remove-hard-coded-CFLAGS-and-LDFLAGS.patch
+ cd ..
+ fi
cd bls
make test_go -j
cd ../../../
diff --git a/bin/patches/0001-common.mk-remove-hard-coded-CFLAGS-and-LDFLAGS.patch b/bin/patches/0001-common.mk-remove-hard-coded-CFLAGS-and-LDFLAGS.patch
new file mode 100644
index 0000000..56e10c6
--- /dev/null
+++ b/bin/patches/0001-common.mk-remove-hard-coded-CFLAGS-and-LDFLAGS.patch
@@ -0,0 +1,25 @@
+From 3601ad3d9104fa1d6e24e4bfeaa9467e1a5259ce Mon Sep 17 00:00:00 2001
+From: Wei-Ning Huang <w@cobinhood.com>
+Date: Tue, 18 Sep 2018 12:28:15 +0800
+Subject: [PATCH] common.mk: remove hard coded CFLAGS and LDFLAGS
+
+---
+ common.mk | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/common.mk b/common.mk
+index 986e88f..9b42060 100644
+--- a/common.mk
++++ b/common.mk
+@@ -14,8 +14,6 @@ ifeq ($(UNAME_S),Darwin)
+ OS=mac
+ ARCH=x86_64
+ LIB_SUF=dylib
+- CFLAGS+=-I/usr/local/opt/openssl/include
+- LDFLAGS+=-L/usr/local/opt/openssl/lib
+ else
+ LIB_SUF=so
+ endif
+--
+2.15.2 (Apple Git-101.1)
+