diff --git a/build.sh b/build.sh index 18e5dd0..f5c8808 100755 --- a/build.sh +++ b/build.sh @@ -35,13 +35,26 @@ build_binary() { output_name="dist/${output_name}" - echo "Building for ${os}/${arch} -> ${output_name}" + # Dynamic Linking + echo "Building dynamically linked for ${os}/${arch} -> ${output_name}" GOOS=${os} GOARCH=${arch} go build -o ${output_name} main.go 2>build_logs/${os}_${arch}_build.log if [ $? -eq 0 ]; then echo "Successfully built ${output_name}" else echo "Failed to build ${output_name}. Check build_logs/${os}_${arch}_build.log for errors." fi + + # Static Linking + if [[ "$os" == "linux" ]]; then # Typically, static linking is most relevant for Linux environments + static_output_name="${output_name}_static" + echo "Building statically linked for ${os}/${arch} -> ${static_output_name}" + CGO_ENABLED=0 GOOS=${os} GOARCH=${arch} go build -a -ldflags '-extldflags "-static"' -o ${static_output_name} main.go 2>build_logs/${os}_${arch}_static_build.log + if [ $? -eq 0 ]; then + echo "Successfully built ${static_output_name}" + else + echo "Failed to build ${static_output_name}. Check build_logs/${os}_${arch}_static_build.log for errors." + fi + fi } # Main Build Process diff --git a/build_logs/linux_amd64_static_build.log b/build_logs/linux_amd64_static_build.log new file mode 100644 index 0000000..e69de29 diff --git a/build_logs/linux_arm64_static_build.log b/build_logs/linux_arm64_static_build.log new file mode 100644 index 0000000..e69de29 diff --git a/build_logs/linux_arm_static_build.log b/build_logs/linux_arm_static_build.log new file mode 100644 index 0000000..e69de29 diff --git a/dist/haste-it_linux_arm64_static b/dist/haste-it_linux_arm64_static new file mode 100755 index 0000000..c4f4588 Binary files /dev/null and b/dist/haste-it_linux_arm64_static differ diff --git a/dist/haste-it_linux_arm_static b/dist/haste-it_linux_arm_static new file mode 100755 index 0000000..e5527a1 Binary files /dev/null and b/dist/haste-it_linux_arm_static differ diff --git a/dist/haste-it_static b/dist/haste-it_static new file mode 100755 index 0000000..b8c28ce Binary files /dev/null and b/dist/haste-it_static differ