From b6d1796be78b1156d835f8a81efbf8cc24750520 Mon Sep 17 00:00:00 2001 From: Determinant Date: Fri, 6 Dec 2019 09:45:54 -0500 Subject: improve build scripts --- scripts/Makefile | 26 ++++++++++++++++++++++++++ scripts/build.sh | 23 +++++++++++++++++++++++ scripts/clean.sh | 6 ++++++ scripts/env.sh | 14 ++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 scripts/Makefile create mode 100755 scripts/build.sh create mode 100755 scripts/clean.sh create mode 100644 scripts/env.sh (limited to 'scripts') diff --git a/scripts/Makefile b/scripts/Makefile new file mode 100644 index 0000000..6cabb03 --- /dev/null +++ b/scripts/Makefile @@ -0,0 +1,26 @@ +# NOTE: do NOT use the Makefile directly, please run `./build.sh` instead + +.PHONY: all clean + +all: build/test_msgnet build/test_p2p_stress build/test_msgnet_tls build/bench_network + +build/libsalticidae.a: build + rm -f $@ + ln -sv "${GOPATH}/src/github.com/Determinant/salticidae-go/salticidae/libsalticidae.a" $@ + +build: + mkdir -p build + +build/test_msgnet: build/libsalticidae.a test_msgnet/main.go + go build -o $@ github.com/Determinant/salticidae-go/test_msgnet +build/test_msgnet_tls: build/libsalticidae.a test_msgnet_tls/main.go + go build -o $@ github.com/Determinant/salticidae-go/test_msgnet_tls +build/test_p2p_stress: build/libsalticidae.a test_p2p_stress/main.go + go build -o $@ github.com/Determinant/salticidae-go/test_p2p_stress +build/bench_network: build/libsalticidae.a bench_network/main.go + go build -o $@ github.com/Determinant/salticidae-go/bench_network + +clean: + rm -rf build/ + cd salticidae/; make clean + rm salticidae/CMakeCache.txt diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..1cf1488 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash -e + +prefix="$(pwd)/build" +SRC_DIR="$(dirname "${BASH_SOURCE[0]}")" + +source "${SRC_DIR}/env.sh" + +if [[ "$OSTYPE" == "linux-gnu" ]]; then + go get -d "github.com/$SALTICIDAE_ORG/salticidae-go" + cd "$SALTICIDAE_PATH" + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$SALTICIDAE_PATH/build" . + make -j4 + make install + cd - +elif [[ "$OSTYPE" == "darwin"* ]]; then + brew install Determinant/salticidae/salticidae +else + echo "Your system is not supported yet." + exit 1 +fi + +rm -f "$prefix/libsalticidae.a" +ln -sv "$GOPATH/src/github.com/$SALTICIDAE_ORG/salticidae-go/salticidae/libsalticidae.a" "$prefix/libsalticidae.a" diff --git a/scripts/clean.sh b/scripts/clean.sh new file mode 100755 index 0000000..450b874 --- /dev/null +++ b/scripts/clean.sh @@ -0,0 +1,6 @@ +#!/bin/bash +SRC_DIR="$(dirname "${BASH_SOURCE[0]}")" + +source "$SRC_DIR/env.sh" +cd "$SALTICIDAE_PATH" +make clean diff --git a/scripts/env.sh b/scripts/env.sh new file mode 100644 index 0000000..318c483 --- /dev/null +++ b/scripts/env.sh @@ -0,0 +1,14 @@ +export GOPATH="$(go env GOPATH)" +export SALTICIDAE_ORG="Determinant" + +if [[ "$OSTYPE" == "linux-gnu" ]]; then + export SALTICIDAE_PATH="$GOPATH/src/github.com/$SALTICIDAE_ORG/salticidae-go/salticidae" + export CGO_CFLAGS="-I$SALTICIDAE_PATH/build/include/" + export CGO_LDFLAGS="-L$SALTICIDAE_PATH/build/lib/ -lsalticidae -luv -lssl -lcrypto -lstdc++" +elif [[ "$OSTYPE" == "darwin"* ]]; then + export CGO_CFLAGS="-I/usr/local/opt/openssl/include" + export CGO_LDFLAGS="-L/usr/local/opt/openssl/lib/ -lsalticidae -luv -lssl -lcrypto" +else + echo "Your system is not supported yet." + exit 1 +fi -- cgit v1.2.3-70-g09d2