summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh83
1 files changed, 52 insertions, 31 deletions
diff --git a/build.sh b/build.sh
index ff704c9a..8def6203 100755
--- a/build.sh
+++ b/build.sh
@@ -11,40 +11,61 @@ LDFLAGS="$LDFLAGS -X github.com/spiral/roadrunner/cmd/rr/cmd.BuildTime=$(date +%
# remove debug info from binary as well as string and symbol tables
LDFLAGS="$LDFLAGS -s"
-build(){
- echo Packaging "$1" Build
- bdir=roadrunner-${RR_VERSION}-$2-$3
- rm -rf builds/"$bdir" && mkdir -p builds/"$bdir"
- GOOS=$2 GOARCH=$3 ./build.sh
-
- if [ "$2" == "windows" ]; then
- mv rr builds/"$bdir"/rr.exe
- else
- mv rr builds/"$bdir"
- fi
-
- cp README.md builds/"$bdir"
- cp CHANGELOG.md builds/"$bdir"
- cp LICENSE builds/"$bdir"
- cd builds
-
- if [ "$2" == "linux" ]; then
- tar -zcf "$bdir".tar.gz "$bdir"
- else
- zip -r -q "$bdir".zip "$bdir"
- fi
-
- rm -rf "$bdir"
- cd ..
+build() {
+ echo Packaging "$1" Build
+ bdir=roadrunner-${RR_VERSION}-$2-$3
+ rm -rf builds/"$bdir" && mkdir -p builds/"$bdir"
+ GOOS=$2 GOARCH=$3 ./build.sh
+
+ if [ "$2" == "windows" ]; then
+ mv rr builds/"$bdir"/rr.exe
+ else
+ mv rr builds/"$bdir"
+ fi
+
+ cp README.md builds/"$bdir"
+ cp CHANGELOG.md builds/"$bdir"
+ cp LICENSE builds/"$bdir"
+ cd builds
+
+ if [ "$2" == "linux" ]; then
+ tar -zcf "$bdir".tar.gz "$bdir"
+ else
+ zip -r -q "$bdir".zip "$bdir"
+ fi
+
+ rm -rf "$bdir"
+ cd ..
+}
+
+# For musl build you should have musl-gcc installed. If not, please, use:
+# go build -a -ldflags "-linkmode external -extldflags '-static' -s"
+build_musl() {
+ echo Packaging "$2" Build
+ bdir=roadrunner-${RR_VERSION}-$1-$2-$3
+ rm -rf builds/"$bdir" && mkdir -p builds/"$bdir"
+ CC=musl-gcc GOARCH=amd64 go build -ldflags "$LDFLAGS" -o "$OD/rr" cmd/rr/main.go
+
+ mv rr builds/"$bdir"
+
+ cp README.md builds/"$bdir"
+ cp CHANGELOG.md builds/"$bdir"
+ cp LICENSE builds/"$bdir"
+ cd builds
+ zip -r -q "$bdir".zip "$bdir"
+
+ rm -rf "$bdir"
+ cd ..
}
if [ "$1" == "all" ]; then
- rm -rf builds/
- build "Windows" "windows" "amd64"
- build "Mac" "darwin" "amd64"
- build "Linux" "linux" "amd64"
- build "FreeBSD" "freebsd" "amd64"
- exit
+ rm -rf builds/
+ build "Windows" "windows" "amd64"
+ build "Mac" "darwin" "amd64"
+ build "Linux" "linux" "amd64"
+ build "FreeBSD" "freebsd" "amd64"
+ build_musl "unknown" "musl" "amd64"
+ exit
fi
go build -ldflags "$LDFLAGS" -o "$OD/rr" cmd/rr/main.go