parent
06b50ff573
commit
551d99578b
@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROJECT='gophi.gemini'
|
||||
VERSION="$(cat 'core/server.go' | grep -E '^\s*Version' | sed -e 's|\s*Version = \"||' -e 's|\"\s*$||')"
|
||||
LOGFILE='build.log'
|
||||
OUTDIR="build-gemini-${VERSION}"
|
||||
|
||||
GOROOT="${HOME}/Projects/github.com/grufwub/go"
|
||||
PATH="${GOROOT}/bin:${PATH}"
|
||||
|
||||
build_for() {
|
||||
local archname="$1" toolchain="$2" os="$3" arch="$4"
|
||||
shift 4
|
||||
if [ "$arch" = 'arm' ]; then
|
||||
local armversion="$1"
|
||||
shift 1
|
||||
fi
|
||||
|
||||
echo "Building for ${os} ${archname} with ${toolchain}..."
|
||||
local filename="${OUTDIR}/${PROJECT}_${os}_${archname}"
|
||||
CC="${toolchain}-gcc" CGO_ENABLED=0 GOOS="$os" GOARCH="$arch" GOARM="$armversion" go build -trimpath -o "$filename" "$@" 'cmd/gemini/main.go' >> "$LOGFILE" 2>&1
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "Failed!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo "PLEASE BE WARNED THIS SCRIPT IS WRITTEN FOR A VOID LINUX (MUSL) BUILD ENVIRONMENT"
|
||||
echo "YOUR CC TOOLCHAIN LOCATIONS MAY DIFFER"
|
||||
echo "IF THE SCRIPT FAILS, CHECK THE OUTPUT OF: ${LOGFILE}"
|
||||
echo ""
|
||||
|
||||
# Clean logfile
|
||||
rm -f "$LOGFILE"
|
||||
|
||||
# Clean and recreate directory
|
||||
rm -rf "$OUTDIR"
|
||||
mkdir -p "$OUTDIR"
|
||||
|
||||
# Build time :)
|
||||
|
||||
# Linux
|
||||
build_for 'arm64' 'aarch64-linux-musl' 'linux' 'arm64' -buildmode 'pie' -a -tags 'netgo osusergo static_build' -ldflags '-s -w -extldflags "-static"'
|
@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROJECT='gophi.gopher'
|
||||
VERSION="$(cat 'core/server.go' | grep -E '^\s*Version' | sed -e 's|\s*Version = \"||' -e 's|\"\s*$||')"
|
||||
LOGFILE='build.log'
|
||||
OUTDIR="build-gopher-${VERSION}"
|
||||
|
||||
GOROOT="${HOME}/Projects/github.com/grufwub/go"
|
||||
PATH="${GOROOT}/bin:${PATH}"
|
||||
|
||||
build_for() {
|
||||
local archname="$1" toolchain="$2" os="$3" arch="$4"
|
||||
shift 4
|
||||
if [ "$arch" = 'arm' ]; then
|
||||
local armversion="$1"
|
||||
shift 1
|
||||
fi
|
||||
|
||||
echo "Building for ${os} ${archname} with ${toolchain}..."
|
||||
local filename="${OUTDIR}/${PROJECT}_${os}_${archname}"
|
||||
CC="${toolchain}-gcc" CGO_ENABLED=0 GOOS="$os" GOARCH="$arch" GOARM="$armversion" go build -trimpath -o "$filename" "$@" 'cmd/gopher/main.go' >> "$LOGFILE" 2>&1
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "Failed!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo "PLEASE BE WARNED THIS SCRIPT IS WRITTEN FOR A VOID LINUX (MUSL) BUILD ENVIRONMENT"
|
||||
echo "YOUR CC TOOLCHAIN LOCATIONS MAY DIFFER"
|
||||
echo "IF THE SCRIPT FAILS, CHECK THE OUTPUT OF: ${LOGFILE}"
|
||||
echo ""
|
||||
|
||||
# Clean logfile
|
||||
rm -f "$LOGFILE"
|
||||
|
||||
# Clean and recreate directory
|
||||
rm -rf "$OUTDIR"
|
||||
mkdir -p "$OUTDIR"
|
||||
|
||||
# Build time :)
|
||||
|
||||
# Linux
|
||||
build_for 'arm64' 'aarch64-linux-musl' 'linux' 'arm64' -buildmode 'pie' -a -tags 'netgo osusergo static_build' -ldflags '-s -w -extldflags "-static"'
|
Loading…
Reference in New Issue