Mercurial
comparison third_party/luajit/src/msvcbuild.bat @ 178:94705b5986b3
[ThirdParty] Added WRK and luajit for load testing.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Thu, 22 Jan 2026 20:10:30 -0800 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 177:24fe8ff94056 | 178:94705b5986b3 |
|---|---|
| 1 @rem Script to build LuaJIT with MSVC. | |
| 2 @rem Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h | |
| 3 @rem | |
| 4 @rem Open a "Visual Studio Command Prompt" (either x86 or x64). | |
| 5 @rem Then cd to this directory and run this script. Use the following | |
| 6 @rem options (in order), if needed. The default is a dynamic release build. | |
| 7 @rem | |
| 8 @rem nogc64 disable LJ_GC64 mode for x64 | |
| 9 @rem debug emit debug symbols | |
| 10 @rem amalg amalgamated build | |
| 11 @rem static static linkage | |
| 12 | |
| 13 @if not defined INCLUDE goto :FAIL | |
| 14 | |
| 15 @setlocal | |
| 16 @rem Add more debug flags here, e.g. DEBUGCFLAGS=/DLUA_USE_APICHECK | |
| 17 @set DEBUGCFLAGS= | |
| 18 @set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline | |
| 19 @set LJLINK=link /nologo | |
| 20 @set LJMT=mt /nologo | |
| 21 @set LJLIB=lib /nologo /nodefaultlib | |
| 22 @set DASMDIR=..\dynasm | |
| 23 @set DASM=%DASMDIR%\dynasm.lua | |
| 24 @set DASC=vm_x64.dasc | |
| 25 @set LJDLLNAME=lua51.dll | |
| 26 @set LJLIBNAME=lua51.lib | |
| 27 @set BUILDTYPE=release | |
| 28 @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 lib_buffer.c | |
| 29 | |
| 30 %LJCOMPILE% host\minilua.c | |
| 31 @if errorlevel 1 goto :BAD | |
| 32 %LJLINK% /out:minilua.exe minilua.obj | |
| 33 @if errorlevel 1 goto :BAD | |
| 34 if exist minilua.exe.manifest^ | |
| 35 %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe | |
| 36 | |
| 37 @set DASMFLAGS=-D WIN -D JIT -D FFI -D P64 | |
| 38 @set LJARCH=x64 | |
| 39 @minilua | |
| 40 @if errorlevel 8 goto :X64 | |
| 41 @set DASC=vm_x86.dasc | |
| 42 @set DASMFLAGS=-D WIN -D JIT -D FFI | |
| 43 @set LJARCH=x86 | |
| 44 @set LJCOMPILE=%LJCOMPILE% /arch:SSE2 | |
| 45 :X64 | |
| 46 @if "%1" neq "nogc64" goto :GC64 | |
| 47 @shift | |
| 48 @set DASC=vm_x86.dasc | |
| 49 @set LJCOMPILE=%LJCOMPILE% /DLUAJIT_DISABLE_GC64 | |
| 50 :GC64 | |
| 51 minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h %DASC% | |
| 52 @if errorlevel 1 goto :BAD | |
| 53 | |
| 54 %LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c | |
| 55 @if errorlevel 1 goto :BAD | |
| 56 %LJLINK% /out:buildvm.exe buildvm*.obj | |
| 57 @if errorlevel 1 goto :BAD | |
| 58 if exist buildvm.exe.manifest^ | |
| 59 %LJMT% -manifest buildvm.exe.manifest -outputresource:buildvm.exe | |
| 60 | |
| 61 buildvm -m peobj -o lj_vm.obj | |
| 62 @if errorlevel 1 goto :BAD | |
| 63 buildvm -m bcdef -o lj_bcdef.h %ALL_LIB% | |
| 64 @if errorlevel 1 goto :BAD | |
| 65 buildvm -m ffdef -o lj_ffdef.h %ALL_LIB% | |
| 66 @if errorlevel 1 goto :BAD | |
| 67 buildvm -m libdef -o lj_libdef.h %ALL_LIB% | |
| 68 @if errorlevel 1 goto :BAD | |
| 69 buildvm -m recdef -o lj_recdef.h %ALL_LIB% | |
| 70 @if errorlevel 1 goto :BAD | |
| 71 buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB% | |
| 72 @if errorlevel 1 goto :BAD | |
| 73 buildvm -m folddef -o lj_folddef.h lj_opt_fold.c | |
| 74 @if errorlevel 1 goto :BAD | |
| 75 | |
| 76 @if "%1" neq "debug" goto :NODEBUG | |
| 77 @shift | |
| 78 @set BUILDTYPE=debug | |
| 79 @set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS% | |
| 80 @set LJLINK=%LJLINK% /opt:ref /opt:icf /incremental:no | |
| 81 :NODEBUG | |
| 82 @set LJLINK=%LJLINK% /%BUILDTYPE% | |
| 83 @if "%1"=="amalg" goto :AMALGDLL | |
| 84 @if "%1"=="static" goto :STATIC | |
| 85 %LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c | |
| 86 @if errorlevel 1 goto :BAD | |
| 87 %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj | |
| 88 @if errorlevel 1 goto :BAD | |
| 89 @goto :MTDLL | |
| 90 :STATIC | |
| 91 %LJCOMPILE% lj_*.c lib_*.c | |
| 92 @if errorlevel 1 goto :BAD | |
| 93 %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj | |
| 94 @if errorlevel 1 goto :BAD | |
| 95 @goto :MTDLL | |
| 96 :AMALGDLL | |
| 97 %LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c | |
| 98 @if errorlevel 1 goto :BAD | |
| 99 %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj | |
| 100 @if errorlevel 1 goto :BAD | |
| 101 :MTDLL | |
| 102 if exist %LJDLLNAME%.manifest^ | |
| 103 %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 | |
| 104 | |
| 105 %LJCOMPILE% luajit.c | |
| 106 @if errorlevel 1 goto :BAD | |
| 107 %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% | |
| 108 @if errorlevel 1 goto :BAD | |
| 109 if exist luajit.exe.manifest^ | |
| 110 %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe | |
| 111 | |
| 112 @del *.obj *.manifest minilua.exe buildvm.exe | |
| 113 @del host\buildvm_arch.h | |
| 114 @del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h | |
| 115 @echo. | |
| 116 @echo === Successfully built LuaJIT for Windows/%LJARCH% === | |
| 117 | |
| 118 @goto :END | |
| 119 :BAD | |
| 120 @echo. | |
| 121 @echo ******************************************************* | |
| 122 @echo *** Build FAILED -- Please check the error messages *** | |
| 123 @echo ******************************************************* | |
| 124 @goto :END | |
| 125 :FAIL | |
| 126 @echo You must open a "Visual Studio Command Prompt" to run this script | |
| 127 :END |