The main Windows development environment for this tree is MSYS2. The Windows
build scripts handle the details that are easy to get wrong by hand: shell path
conversion, package naming, compiler architecture, installer layout, and NSIS
lookup.
Native Windows builds
Use the MSYS2 scripts for repeatable package builds:
(sh)
./build_scripts/msys2-build-freebasic.sh
./build_scripts/msys2-test-freebasic.sh
The tree has support for the usual Win32 and Win64 x86 targets and for Windows
ARM64 work where the required toolchain is installed.
Cross-target Windows packages
Several non-Windows targets are packaged from Windows because the required tools
are easiest to stage there or because the release artifact is a Windows-hosted
compiler for another platform. Examples include Android, JavaScript, Wii, and
Xbox package scripts.
(sh)
./build_scripts/msys2-build-freebasic-android.sh
./build_scripts/msys2-build-freebasic-js.sh
./build_scripts/msys2-build-freebasic-wii.sh
./build_scripts/msys2-build-freebasic-xbox.sh
Keep MSYS2, Cygwin, and plain Windows command prompts separate when debugging a
build. Many Windows failures come from crossing those path and shell models in
one command line.