From ececb928a77e97d9c0fd6695c6c556d77716d727 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 25 May 2021 11:05:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9C=A8Mac=20OS=E4=B8=8A?= =?UTF-8?q?=E7=9A=84=E7=BC=96=E8=AF=91=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/build.sh | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/build/build.sh b/build/build.sh index 3daa224..4dd3813 100755 --- a/build/build.sh +++ b/build/build.sh @@ -48,7 +48,38 @@ function build() { fi echo "building ..." - env GOOS=${OS} GOARCH=${ARCH} go build -o $DIST/bin/${NAME} -ldflags="-s -w" $ROOT/../cmd/edge-node/main.go + + MUSL_DIR="/usr/local/opt/musl-cross/bin" + CC_PATH="" + CXX_PATH="" + if [[ `uname -a` == *"Darwin"* && "${OS}" == "linux" ]]; then + # /usr/local/opt/musl-cross/bin/ + if [ "${ARCH}" == "amd64" ]; then + CC_PATH="x86_64-linux-musl-gcc" + CXX_PATH="x86_64-linux-musl-g++" + fi + if [ "${ARCH}" == "386" ]; then + CC_PATH="i486-linux-musl-gcc" + CXX_PATH="i486-linux-musl-g++" + fi + if [ "${ARCH}" == "arm64" ]; then + CC_PATH="aarch64-linux-musl-gcc" + CXX_PATH="aarch64-linux-musl-g++" + fi + if [ "${ARCH}" == "mips64" ]; then + CC_PATH="mips64-linux-musl-gcc" + CXX_PATH="mips64-linux-musl-g++" + fi + if [ "${ARCH}" == "mips64le" ]; then + CC_PATH="mips64el-linux-musl-gcc" + CXX_PATH="mips64el-linux-musl-g++" + fi + fi + if [ ! -z $CC_PATH ]; then + env CC=$MUSL_DIR/$CC_PATH CXX=$MUSL_DIR/$CXX_PATH GOOS=${OS} GOARCH=${ARCH} CGO_ENABLED=1 go build -o $DIST/bin/${NAME} -ldflags "-linkmode external -extldflags -static" $ROOT/../cmd/edge-node/main.go + else + env GOOS=${OS} GOARCH=${ARCH} CGO_ENABLED=1 go build -o $DIST/bin/${NAME} -ldflags="-s -w" $ROOT/../cmd/edge-node/main.go + fi # delete hidden files find $DIST -name ".DS_Store" -delete