diff --git a/README.md b/README.md
index 8f20043c..e7f27c4a 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ You can also find instructions here in [README.release.md](./post_build/README.r
It is adviseable to always checkout submodules every now and then, to make sure they're up to date
```shell
- git submodule update --recursive --remote
+ git submodule update --init --recursive --remote
```
### For Windows:
@@ -71,20 +71,25 @@ You can also find instructions here in [README.release.md](./post_build/README.r
* Select the Workload `Desktop development with C++`
* In the `Individual componenets` scroll to the buttom and select the **latest** version of `Windows XX SDK (XX.X...)`
For example `Windows 11 SDK (10.0.22621.0)`
-* Using `MSYS2` (very limited support): https://www.msys2.org/
- * To build 64-bit binaries use either the [environment](https://www.msys2.org/docs/environments/) `UCRT64` or `MINGW64` then install the GCC toolchain
- `UCRT64`
- ```shell
- pacman -S mingw-w64-ucrt-x86_64-gcc
- ```
- `MINGW64`
- ```shell
- pacman -S mingw-w64-i686-gcc
- ```
- * To build 32-bit binaries use the environment `MINGW32` then install the GCC toolchain
- ```shell
- pacman -S mingw-w64-i686-gcc
- ```
+* Using `MSYS2` **this is currently experimental and will not work due to ABI differences**: https://www.msys2.org/
+
+ steps
+
+ * To build 64-bit binaries use either the [environment](https://www.msys2.org/docs/environments/) `UCRT64` or `MINGW64` then install the GCC toolchain
+ `UCRT64`
+ ```shell
+ pacman -S mingw-w64-ucrt-x86_64-gcc
+ ```
+ `MINGW64`
+ ```shell
+ pacman -S mingw-w64-i686-gcc
+ ```
+ * To build 32-bit binaries use the environment `MINGW32` then install the GCC toolchain
+ ```shell
+ pacman -S mingw-w64-i686-gcc
+ ```
+
+
* Python 3.10 or above: https://www.python.org/downloads/windows/
After installation, make sure it works
```batch
@@ -131,26 +136,31 @@ The only times you'll need to rebuild them is either when their separete build f
#### On Windows:
Open CMD in the repo folder, then run the following
* To build using `Visual Studio`
-```batch
-set "CMAKE_GENERATOR=Visual Studio 17 2022"
-third-party\common\win\premake\premake5.exe --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --verbose --os=windows vs2022
-```
-* To build using `MSYS2`
- *(Optional)* In both cases below, you can use `Clang` compiler instead of `GCC` by running these 2 commands in the same terminal instance
- ```shell
- export CC="clang"
- export CXX="clang++"
- ```
- * To build 64-bit binaries (`UCRT64` or `MINGW64`)
- ```shell
- export CMAKE_GENERATOR="MSYS Makefiles"
- ./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --64-build --all-ext --all-build --verbose --os=windows gmake2
- ```
- * To build 32-bit binaries (`MINGW32`)
- ```shell
- export CMAKE_GENERATOR="MSYS Makefiles"
- ./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --32-build --all-ext --all-build --verbose --os=windows gmake2
+ ```batch
+ set "CMAKE_GENERATOR=Visual Studio 17 2022"
+ third-party\common\win\premake\premake5.exe --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --verbose --os=windows vs2022
```
+* To build using `MSYS2` **this is currently experimental and will not work due to ABI differences**
+
+ steps
+
+ *(Optional)* In both cases below, you can use `Clang` compiler instead of `GCC` by running these 2 commands in the same terminal instance
+ ```shell
+ export CC="clang"
+ export CXX="clang++"
+ ```
+ * To build 64-bit binaries (`UCRT64` or `MINGW64`)
+ ```shell
+ export CMAKE_GENERATOR="MSYS Makefiles"
+ ./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --64-build --all-ext --all-build --verbose --os=windows gmake2
+ ```
+ * To build 32-bit binaries (`MINGW32`)
+ ```shell
+ export CMAKE_GENERATOR="MSYS Makefiles"
+ ./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --32-build --all-ext --all-build --verbose --os=windows gmake2
+ ```
+
+
This will:
* Extract all third party dependencies from the folder `third-party` into the folder `build\deps\win`
@@ -177,29 +187,6 @@ This will:
## **Building the emu**
### On Windows:
Open CMD in the repo folder, then run the following
-* For `MSYS2`
- ```shell
- ./third-party/common/win/premake/premake5.exe --file=premake5.lua --genproto --os=windows gmake2
-
- cd ./build/project/gmake2/win
- ```
- *(Optional)* You can use `Clang` compiler instead of `GCC` by running these 2 commands in the current terminal instance
- ```shell
- export CC="clang"
- export CXX="clang++"
- ```
- * 64-bit build (`UCRT64` or `MINGW64`)
- ```shell
- make config=release_x64 -j 8 all
- ```
- * 32-bit build (`MINGW32`)
- ```shell
- make config=release_x32 -j 8 all
- ```
- To see all possible build targets
- ```shell
- make help
- ```
* For `Visual Studio 2022`
```batch
third-party\common\win\premake\premake5.exe --file=premake5.lua --genproto --os=windows vs2022
@@ -212,6 +199,34 @@ Open CMD in the repo folder, then run the following
msbuild /nologo /v:n /p:Configuration=release,Platform=x64 gbe.sln
```
+* For `MSYS2` **this is currently experimental and will not work due to ABI differences**
+
+ steps
+
+ ```shell
+ ./third-party/common/win/premake/premake5.exe --file=premake5.lua --genproto --os=windows gmake2
+
+ cd ./build/project/gmake2/win
+ ```
+ *(Optional)* You can use `Clang` compiler instead of `GCC` by running these 2 commands in the current terminal instance
+ ```shell
+ export CC="clang"
+ export CXX="clang++"
+ ```
+ * 64-bit build (`UCRT64` or `MINGW64`)
+ ```shell
+ make config=release_x64 -j 8 all
+ ```
+ * 32-bit build (`MINGW32`)
+ ```shell
+ make config=release_x32 -j 8 all
+ ```
+ To see all possible build targets
+ ```shell
+ make help
+ ```
+
+
This will build a release version of the emu in the folder `build\win\\release`
An example script `build_win_premake.bat` is available, check it out