Merge msys_compile.bat into compile.bat
This commit is contained in:
12
compile.bat
12
compile.bat
@@ -1,19 +1,13 @@
|
|||||||
@echo off
|
@echo off
|
||||||
cd /d %~dp0
|
cd /d %~dp0
|
||||||
|
|
||||||
rem ensure build directory exists
|
set "PATH=C:\msys64\mingw32\bin;%PATH%"
|
||||||
|
|
||||||
if not exist build mkdir build
|
if not exist build mkdir build
|
||||||
|
|
||||||
set buildargs=-Wall -Werror -m32 -shared -Isrc -Iinc/tsfuncs -Iinc/lua -lpsapi -L. -llua5.1 -static-libgcc -static-libstdc++
|
set buildargs=-Wall -Werror -m32 -shared -Isrc -Iinc/tsfuncs -Iinc/lua -lpsapi -L. -llua5.1 -static-libgcc -static-libstdc++
|
||||||
|
|
||||||
echo on
|
echo on
|
||||||
|
|
||||||
g++ src/bllua4.cpp %buildargs% -o build\BlockLua.dll
|
g++ src/bllua4.cpp %buildargs% -o build\BlockLua.dll
|
||||||
@rem g++ -DBLLUA_UNSAFE src/bllua4.cpp %buildargs% -o BlockLua-Unsafe.dll
|
g++ -DBLLUA_UNSAFE src/bllua4.cpp %buildargs% -o build\BlockLua-Unsafe.dll
|
||||||
|
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
rem objdump -d build\BlockLua.dll > build\BlockLua.dll.dump.txt
|
|
||||||
rem objdump -d build\BlockLua-Unsafe.dll > build\BlockLua-Unsafe.dll.dump.txt
|
|
||||||
|
|
||||||
pause
|
|
||||||
|
|||||||
104
compiling.md
104
compiling.md
@@ -1,52 +1,52 @@
|
|||||||
## Compiling on Windows with MSYS2 (32-bit)
|
## Compiling on Windows with MSYS2 (32-bit)
|
||||||
|
|
||||||
Follow these steps to build `BlockLua.dll` for 32-bit Windows using MSYS2's MinGW-w64 i686 toolchain.
|
Follow these steps to build `BlockLua.dll` for 32-bit Windows using MSYS2's MinGW-w64 i686 toolchain.
|
||||||
|
|
||||||
### 1) Install MSYS2
|
### 1) Install MSYS2
|
||||||
|
|
||||||
- Download and install MSYS2 from `https://www.msys2.org/`.
|
- Download and install MSYS2 from `https://www.msys2.org/`.
|
||||||
- After installing, open the "MSYS2 MSYS" terminal once and update the package database if prompted.
|
- After installing, open the "MSYS2 MSYS" terminal once and update the package database if prompted.
|
||||||
|
|
||||||
### 2) Install required packages (i686 / 32-bit)
|
### 2) Install required packages (i686 / 32-bit)
|
||||||
|
|
||||||
Run this in the "MSYS2 MSYS" or "MSYS2 MinGW 32-bit" terminal:
|
Run this in the "MSYS2 MSYS" or "MSYS2 MinGW 32-bit" terminal:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pacman -Sy --needed mingw-w64-i686-toolchain mingw-w64-i686-binutils mingw-w64-i686-lua51
|
pacman -Sy --needed mingw-w64-i686-toolchain mingw-w64-i686-binutils mingw-w64-i686-lua51
|
||||||
```
|
```
|
||||||
|
|
||||||
What these packages are for:
|
What these packages are for:
|
||||||
|
|
||||||
- mingw-w64-i686-toolchain: 32-bit C/C++ compiler suite (g++, libstdc++, runtime libs) to build Windows binaries.
|
- mingw-w64-i686-toolchain: 32-bit C/C++ compiler suite (g++, libstdc++, runtime libs) to build Windows binaries.
|
||||||
- mingw-w64-i686-binutils: Linker and binary utilities (ld, as, objdump) used by the compiler and for optional inspection.
|
- mingw-w64-i686-binutils: Linker and binary utilities (ld, as, objdump) used by the compiler and for optional inspection.
|
||||||
- mingw-w64-i686-lua51: Lua 5.1 development files for 32-bit (import library). We use its import library to link; at runtime you can use the provided `lua5.1.dll`.
|
- mingw-w64-i686-lua51: Lua 5.1 development files for 32-bit (import library). We use its import library to link; at runtime you can use the provided `lua5.1.dll`.
|
||||||
|
|
||||||
### 3) Build (PowerShell, recommended)
|
### 3) Build (PowerShell, recommended)
|
||||||
|
|
||||||
- Open PowerShell in the repo root.
|
- Open PowerShell in the repo root.
|
||||||
- Run the script:
|
- Run the script:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
msys_compile.bat
|
compile.bat
|
||||||
```
|
```
|
||||||
|
|
||||||
What the script does:
|
What the script does:
|
||||||
|
|
||||||
- Temporarily prepends `C:\\msys64\\mingw32\\bin` to PATH so the 32-bit toolchain is used.
|
- Temporarily prepends `C:\\msys64\\mingw32\\bin` to PATH so the 32-bit toolchain is used.
|
||||||
- Compiles the project with `-m32` and links against `lua5.1`.
|
- Compiles the project with `-m32` and links against `lua5.1`.
|
||||||
- Produces `build\BlockLua.dll` and `build\BlockLua-Unsafe.dll`.
|
- Produces `build\BlockLua.dll` and `build\BlockLua-Unsafe.dll`.
|
||||||
|
|
||||||
### 4) Optional: Verify 32-bit output
|
### 4) Optional: Verify 32-bit output
|
||||||
|
|
||||||
If you installed binutils, you can check the architecture:
|
If you installed binutils, you can check the architecture:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
objdump -f build\BlockLua.dll | Select-String i386
|
objdump -f build\BlockLua.dll | Select-String i386
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see `architecture: i386` in the output.
|
You should see `architecture: i386` in the output.
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
- Ensure you installed the i686 (32-bit) variants of the packages; x86_64 packages won’t work for a 32-bit build.
|
- Ensure you installed the i686 (32-bit) variants of the packages; x86_64 packages won’t work for a 32-bit build.
|
||||||
- If the linker cannot find `-llua5.1`, confirm `mingw-w64-i686-lua51` is installed and you are using the `mingw32` toolchain (not `x86_64`).
|
- If the linker cannot find `-llua5.1`, confirm `mingw-w64-i686-lua51` is installed and you are using the `mingw32` toolchain (not `x86_64`).
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
@echo off
|
|
||||||
cd /d %~dp0
|
|
||||||
|
|
||||||
set "PATH=C:\msys64\mingw32\bin;%PATH%"
|
|
||||||
|
|
||||||
if not exist build mkdir build
|
|
||||||
|
|
||||||
set buildargs=-Wall -Werror -m32 -shared -Isrc -Iinc/tsfuncs -Iinc/lua -lpsapi -L. -llua5.1 -static-libgcc -static-libstdc++
|
|
||||||
|
|
||||||
echo on
|
|
||||||
g++ src/bllua4.cpp %buildargs% -o build\BlockLua.dll
|
|
||||||
g++ -DBLLUA_UNSAFE src/bllua4.cpp %buildargs% -o build\BlockLua-Unsafe.dll
|
|
||||||
@echo off
|
|
||||||
Reference in New Issue
Block a user