1
0
mirror of https://github.com/p2r3/bareiron.git synced 2025-10-01 23:25:09 +02:00

support 32-bit compilation on windows

* Add support for 32 bit cross compile in mingw64 and windows 98 support

* add check to error out on linux

* update text

* add instructions for 32-bit compilation on windows

---------

Co-authored-by: p2r3 <41925384+p2r3@users.noreply.github.com>
This commit is contained in:
jcfb
2025-09-14 16:56:17 +01:00
committed by GitHub
parent 26f068bc09
commit 6a65b8acba
2 changed files with 22 additions and 3 deletions

View File

@@ -19,8 +19,9 @@ Before compiling, you'll need to dump registry data from a vanilla Minecraft ser
- To compile on Linux, install `gcc` and run `./build.sh`. - To compile on Linux, install `gcc` and run `./build.sh`.
- For compiling on Windows, there are a few options: - For compiling on Windows, there are a few options:
- To compile a native Windows binary: install [MSYS2](https://www.msys2.org/) and open the "MSYS2 MINGW64" shell. From there, run `pacman -Sy mingw-w64-x86_64-gcc`, navigate to this project's directory, and run `./build.sh`. - To compile a native Windows binary: install [MSYS2](https://www.msys2.org/) and open the "MSYS2 MINGW64" shell. From there, run `pacman -Sy mingw-w64-x86_64-gcc`, navigate to this project's directory, and run `./build.sh`.
- To compile a MSYS2-linked binary: install [MSYS2](https://www.msys2.org/), and open the "MSYS2 MSYS" shell. From there, install `gcc` (run `pacman -Sy gcc`), navigate to this project's directory and run `./build.sh`. - To compile a native 32-bit binary (compatible with Windows 95/98, but why would you ever want that), use the same steps above, except with `pacman -Sy mingw-w64-cross-gcc` and `./build.sh --9x`.
- To compile a MSYS2-linked binary: install [MSYS2](https://www.msys2.org/), and open the "MSYS2 MSYS" shell. From there, install `gcc` (run `pacman -Sy gcc`), navigate to this project's directory and run `./build.sh`.
- To compile and run a Linux binary from Windows: install WSL, and from there install `gcc` and run `./build.sh` in this project's directory. - To compile and run a Linux binary from Windows: install WSL, and from there install `gcc` and run `./build.sh` in this project's directory.
- To target an ESP variant, set up a PlatformIO project (select the ESP-IDF framework, **not Arduino**) and clone this repository on top of it. See **Configuration** below for further steps. For better performance, consider changing the clock speed and enabling compiler optimizations. If you don't know how to do this, there are plenty of resources online. - To target an ESP variant, set up a PlatformIO project (select the ESP-IDF framework, **not Arduino**) and clone this repository on top of it. See **Configuration** below for further steps. For better performance, consider changing the clock speed and enabling compiler optimizations. If you don't know how to do this, there are plenty of resources online.

View File

@@ -22,6 +22,24 @@ case "$unameOut" in
;; ;;
esac esac
# Default compiler
compiler="gcc"
# Handle arguments for windows 9x build
for arg in "$@"; do
case $arg in
--9x)
if [[ "$unameOut" == MINGW64_NT* ]]; then
compiler="/opt/bin/i686-w64-mingw32-gcc"
windows_linker="$windows_linker -Wl,--subsystem,console:4"
else
echo "Error: Compiling for Windows 9x is only supported when running under the MinGW64 shell."
exit 1
fi
;;
esac
done
rm -f "bareiron$exe" rm -f "bareiron$exe"
gcc src/*.c -O3 -Iinclude -o "bareiron$exe" $windows_linker $compiler src/*.c -O3 -Iinclude -o "bareiron$exe" $windows_linker
"./bareiron$exe" "./bareiron$exe"