diff --git a/build.sh b/build.sh index b2bb172bde9..bf380a8cefd 100644 --- a/build.sh +++ b/build.sh @@ -41,8 +41,20 @@ FetchWebRelease() { rm -rf dist.tar.gz } +BuildWinArm64() { + curl -L -o llvm-mingw-aarch64.tar.xz https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-ubuntu-18.04-aarch64.tar.xz + sudo tar -xf llvm-mingw-aarch64.tar.xz --strip-components 1 -C /usr/local + echo building for windows-arm64 + export GOOS=windows + export GOARCH=arm64 + export CC=aarch64-w64-mingw32-gcc + export CGO_ENABLED=1 + go build -o "$1" -ldflags="$ldflags" -tags=jsoniter . +} + BuildDev() { rm -rf .git/ + BuildWinArm64 ./alist-windows-arm64.exe xgo -targets=linux/amd64,windows/amd64,darwin/amd64 -out "$appName" -ldflags="$ldflags" -tags=jsoniter . mkdir -p "dist" mv alist-* dist @@ -80,6 +92,7 @@ BuildRelease() { export CGO_ENABLED=1 go build -o ./build/$appName-$os_arch -ldflags="$muslflags" -tags=jsoniter . done + BuildWinArm64 ./build/alist-windows-arm64.exe xgo -out "$appName" -ldflags="$ldflags" -tags=jsoniter . # why? Because some target platforms seem to have issues with upx compression upx -9 ./alist-linux-amd64