build-luajit-32bit.sh (1219B)
1 #!/bin/bash 2 3 set -e 4 5 echo "=== Building 32-bit LuaJIT ===" 6 7 # Check for required 32-bit libraries 8 if ! dpkg -l | grep -q "gcc-multilib"; then 9 echo "Installing 32-bit build dependencies..." 10 sudo apt-get update 11 sudo apt-get install -y gcc-multilib g++-multilib 12 fi 13 14 # Download LuaJIT 15 if [ ! -d "LuaJIT" ]; then 16 echo "Downloading LuaJIT..." 17 git clone https://github.com/LuaJIT/LuaJIT.git 18 fi 19 20 cd LuaJIT 21 22 # Clean previous builds 23 make clean || true 24 25 # Build 32-bit LuaJIT for bare metal 26 # JIT disabled (interpreter mode), FFI enabled, no secure PRNG 27 echo "Building 32-bit LuaJIT (bare metal: interpreter mode with FFI)..." 28 make CC="gcc -m32" CFLAGS="-m32" LDFLAGS="-m32" \ 29 XCFLAGS="-m32 -DLUAJIT_DISABLE_JIT -DLUAJIT_SECURITY_PRNG=0 -fno-pic -fno-stack-protector -mno-sse" \ 30 TARGET_CFLAGS="-m32 -fno-pic -fno-stack-protector -mno-sse" \ 31 TARGET_SYS=Other \ 32 -j$(nproc) 33 34 # Copy the library to our project 35 echo "Copying library..." 36 cp src/libluajit.a ../lib/libluajit-5.1-32bit.a 37 cp src/lua.h src/lualib.h src/lauxlib.h src/luaconf.h src/luajit.h ../include/ 38 39 cd .. 40 41 echo "" 42 echo "=== 32-bit LuaJIT built successfully! ===" 43 echo "Library: lib/libluajit-5.1-32bit.a" 44 echo "Headers: include/*.h"