ljx

FORK: LuaJIT with native 5.2 and 5.3 support
git clone https://git.neptards.moe/neptards/ljx.git
Log | Files | Refs | README

psvitabuild.bat (3108B)


      1 @rem Script to build LuaJIT with the PS Vita SDK.
      2 @rem Donated to the public domain.
      3 @rem
      4 @rem Open a "Visual Studio .NET Command Prompt" (32 bit host compiler)
      5 @rem Then cd to this directory and run this script.
      6 
      7 @if not defined INCLUDE goto :FAIL
      8 @if not defined SCE_PSP2_SDK_DIR goto :FAIL
      9 
     10 @setlocal
     11 @rem ---- Host compiler ----
     12 @set LJCOMPILE=cl /nologo /c /MD /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE
     13 @set LJLINK=link /nologo
     14 @set LJMT=mt /nologo
     15 @set DASMDIR=..\dynasm
     16 @set DASM=%DASMDIR%\dynasm.lua
     17 @set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
     18 
     19 %LJCOMPILE% host\minilua.c
     20 @if errorlevel 1 goto :BAD
     21 %LJLINK% /out:minilua.exe minilua.obj
     22 @if errorlevel 1 goto :BAD
     23 if exist minilua.exe.manifest^
     24   %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe
     25 
     26 @rem Check for 32 bit host compiler.
     27 @minilua
     28 @if errorlevel 8 goto :FAIL
     29 
     30 @set DASMFLAGS=-D FPU -D HFABI
     31 minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_arm.dasc
     32 @if errorlevel 1 goto :BAD
     33 
     34 %LJCOMPILE% /I "." /I %DASMDIR% -DLUAJIT_TARGET=LUAJIT_ARCH_ARM -DLUAJIT_OS=LUAJIT_OS_OTHER -DLUAJIT_DISABLE_JIT -DLUAJIT_DISABLE_FFI -DLJ_TARGET_PSVITA=1 host\buildvm*.c
     35 @if errorlevel 1 goto :BAD
     36 %LJLINK% /out:buildvm.exe buildvm*.obj
     37 @if errorlevel 1 goto :BAD
     38 if exist buildvm.exe.manifest^
     39   %LJMT% -manifest buildvm.exe.manifest -outputresource:buildvm.exe
     40 
     41 buildvm -m elfasm -o lj_vm.s
     42 @if errorlevel 1 goto :BAD
     43 buildvm -m bcdef -o lj_bcdef.h %ALL_LIB%
     44 @if errorlevel 1 goto :BAD
     45 buildvm -m ffdef -o lj_ffdef.h %ALL_LIB%
     46 @if errorlevel 1 goto :BAD
     47 buildvm -m libdef -o lj_libdef.h %ALL_LIB%
     48 @if errorlevel 1 goto :BAD
     49 buildvm -m recdef -o lj_recdef.h %ALL_LIB%
     50 @if errorlevel 1 goto :BAD
     51 buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB%
     52 @if errorlevel 1 goto :BAD
     53 buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
     54 @if errorlevel 1 goto :BAD
     55 
     56 @rem ---- Cross compiler ----
     57 @set LJCOMPILE="%SCE_PSP2_SDK_DIR%\host_tools\build\bin\psp2snc" -c -w -DLUAJIT_DISABLE_FFI -DLUAJIT_USE_SYSMALLOC
     58 @set LJLIB="%SCE_PSP2_SDK_DIR%\host_tools\build\bin\psp2ld32" -r --output=
     59 @set INCLUDE=""
     60 
     61 "%SCE_PSP2_SDK_DIR%\host_tools\build\bin\psp2as" -o lj_vm.o lj_vm.s
     62 
     63 @if "%1" neq "debug" goto :NODEBUG
     64 @shift
     65 @set LJCOMPILE=%LJCOMPILE% -g -O0
     66 @set TARGETLIB=libluajitD.a
     67 goto :BUILD
     68 :NODEBUG
     69 @set LJCOMPILE=%LJCOMPILE% -O2
     70 @set TARGETLIB=libluajit.a
     71 :BUILD
     72 del %TARGETLIB%
     73 
     74 %LJCOMPILE% ljamalg.c
     75 @if errorlevel 1 goto :BAD
     76 %LJLIB%%TARGETLIB% ljamalg.o lj_vm.o
     77 @if errorlevel 1 goto :BAD
     78 
     79 @del *.o *.obj *.manifest minilua.exe buildvm.exe
     80 @echo.
     81 @echo === Successfully built LuaJIT for PS Vita ===
     82 
     83 @goto :END
     84 :BAD
     85 @echo.
     86 @echo *******************************************************
     87 @echo *** Build FAILED -- Please check the error messages ***
     88 @echo *******************************************************
     89 @goto :END
     90 :FAIL
     91 @echo To run this script you must open a "Visual Studio .NET Command Prompt"
     92 @echo (32 bit host compiler). The PS Vita SDK must be installed, too.
     93 :END