luajitos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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"