feat(build): add Windows platform support to Makefile#2055
Open
H-H1 wants to merge 1 commit intosipeed:mainfrom
Open
feat(build): add Windows platform support to Makefile#2055H-H1 wants to merge 1 commit intosipeed:mainfrom
H-H1 wants to merge 1 commit intosipeed:mainfrom
Conversation
- Add Windows detection for Git Bash, MSYS2, and Cygwin environments - Introduce EXE variable for platform-specific executable extensions (.exe on Windows) - Update build targets to conditionally set GOOS=windows GOARCH=amd64 for Windows builds - Replace symlinks with file copies for Windows compatibility in build and build-launcher targets - Update binary path references throughout Makefile to include EXE extension - Ensure install and uninstall targets handle Windows executable extensions correctly - Improve cross-platform build consistency and Windows developer experience
Collaborator
Review SummaryThanks for the contribution! This PR addresses the Windows build issue well. Strengths
Issues Found
Related PRThere's another PR #2051 that addresses the same issue (#2050) with:
Suggestion: Please coordinate with @Alix-007 (author of #2051) to merge both PRs' strengths into one complete solution. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Description
make buildandmake build-launcherfail on Windows (Git Bash / MSYS2) becauseuname -sreturnsMINGW64_NT-*instead ofLinuxorDarwin, causing the Makefileto fall into the
elsebranch with no.exesuffix and noGOOS=windowsset.Changes:
findstring MINGW/MSYS/CYGWINinuname -s, setIS_WINDOWS=yesEXE=.exeon Windows, empty on other platformsGOOS=windows GOARCH=amd64explicitly inbuildandbuild-launchertargetscpinstead ofln -sffor the alias binary on Windows (symlinks require admin privileges)🗣️ Type of Change
🤖 AI Code Generation
🔗 Related Issue
Closes #2050
📚 Technical Context (Skip for Docs)
MINGW64_NT-10.0-19045foruname -s. The originalMakefile only handled
LinuxandDarwin, so Windows builds produced binaries without.exesuffix.FindPicoclawBinary()inweb/backend/utils/runtime.golooks forpicoclaw.exeon Windows, which didn't exist, causing gateway start to fail.🧪 Test Environment
☑️ Checklist
📸 Screenshots