|
| 1 | +diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat |
| 2 | +index aab4ef1..ff9df57 100644 |
| 3 | +--- a/src/msvcbuild.bat |
| 4 | ++++ b/src/msvcbuild.bat |
| 5 | +@@ -15,19 +15,20 @@ |
| 6 | + @setlocal |
| 7 | + @rem Add more debug flags here, e.g. DEBUGCFLAGS=/DLUA_USE_APICHECK |
| 8 | + @set DEBUGCFLAGS= |
| 9 | +-@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline |
| 10 | ++@set SOURCEDIR=%1 |
| 11 | ++@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /I%SOURCEDIR% |
| 12 | + @set LJLINK=link /nologo |
| 13 | + @set LJMT=mt /nologo |
| 14 | + @set LJLIB=lib /nologo /nodefaultlib |
| 15 | +-@set DASMDIR=..\dynasm |
| 16 | ++@set DASMDIR=%SOURCEDIR%\..\dynasm |
| 17 | + @set DASM=%DASMDIR%\dynasm.lua |
| 18 | + @set DASC=vm_x64.dasc |
| 19 | + @set LJDLLNAME=lua51.dll |
| 20 | + @set LJLIBNAME=lua51.lib |
| 21 | + @set BUILDTYPE=release |
| 22 | +-@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 |
| 23 | ++@set ALL_LIB=%SOURCEDIR%\lib_base.c %SOURCEDIR%\lib_math.c %SOURCEDIR%\lib_bit.c %SOURCEDIR%\lib_string.c %SOURCEDIR%\lib_table.c %SOURCEDIR%\lib_io.c %SOURCEDIR%\lib_os.c %SOURCEDIR%\lib_package.c %SOURCEDIR%\lib_debug.c %SOURCEDIR%\lib_jit.c %SOURCEDIR%\lib_ffi.c %SOURCEDIR%\lib_buffer.c |
| 24 | + |
| 25 | +-%LJCOMPILE% host\minilua.c |
| 26 | ++%LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb |
| 27 | + @if errorlevel 1 goto :BAD |
| 28 | + %LJLINK% /out:minilua.exe minilua.obj |
| 29 | + @if errorlevel 1 goto :BAD |
| 30 | +@@ -51,7 +52,7 @@ if exist minilua.exe.manifest^ |
| 31 | +-minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h %DASC% |
| 32 | ++minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %SOURCEDIR%\%DASC% |
| 33 | + @if errorlevel 1 goto :BAD |
| 34 | + |
| 35 | +-%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c |
| 36 | ++%LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb |
| 37 | + @if errorlevel 1 goto :BAD |
| 38 | + %LJLINK% /out:buildvm.exe buildvm*.obj |
| 39 | + @if errorlevel 1 goto :BAD |
| 40 | +@@ -60,41 +61,41 @@ if exist buildvm.exe.manifest^ |
| 41 | + |
| 42 | + buildvm -m peobj -o lj_vm.obj |
| 43 | + @if errorlevel 1 goto :BAD |
| 44 | +-buildvm -m bcdef -o lj_bcdef.h %ALL_LIB% |
| 45 | ++buildvm -m bcdef -o %SOURCEDIR%\lj_bcdef.h %ALL_LIB% |
| 46 | + @if errorlevel 1 goto :BAD |
| 47 | +-buildvm -m ffdef -o lj_ffdef.h %ALL_LIB% |
| 48 | ++buildvm -m ffdef -o %SOURCEDIR%\lj_ffdef.h %ALL_LIB% |
| 49 | + @if errorlevel 1 goto :BAD |
| 50 | +-buildvm -m libdef -o lj_libdef.h %ALL_LIB% |
| 51 | ++buildvm -m libdef -o %SOURCEDIR%\lj_libdef.h %ALL_LIB% |
| 52 | + @if errorlevel 1 goto :BAD |
| 53 | +-buildvm -m recdef -o lj_recdef.h %ALL_LIB% |
| 54 | ++buildvm -m recdef -o %SOURCEDIR%\lj_recdef.h %ALL_LIB% |
| 55 | + @if errorlevel 1 goto :BAD |
| 56 | +-buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB% |
| 57 | ++buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB% |
| 58 | + @if errorlevel 1 goto :BAD |
| 59 | +-buildvm -m folddef -o lj_folddef.h lj_opt_fold.c |
| 60 | ++buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c |
| 61 | + @if errorlevel 1 goto :BAD |
| 62 | + |
| 63 | +-@if "%1" neq "debug" goto :NODEBUG |
| 64 | ++@set LJLINK=%LJLINK% /debug |
| 65 | ++@if "%2" neq "debug" goto :NODEBUG |
| 66 | + @shift |
| 67 | + @set BUILDTYPE=debug |
| 68 | + @set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS% |
| 69 | +-@set LJLINK=%LJLINK% /opt:ref /opt:icf /incremental:no |
| 70 | + :NODEBUG |
| 71 | + @set LJLINK=%LJLINK% /%BUILDTYPE% |
| 72 | +-@if "%1"=="amalg" goto :AMALGDLL |
| 73 | +-@if "%1"=="static" goto :STATIC |
| 74 | +-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c |
| 75 | ++@if "%2"=="amalg" goto :AMALGDLL |
| 76 | ++@if "%2"=="static" goto :STATIC |
| 77 | ++%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb |
| 78 | + @if errorlevel 1 goto :BAD |
| 79 | + %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj |
| 80 | + @if errorlevel 1 goto :BAD |
| 81 | + @goto :MTDLL |
| 82 | + :STATIC |
| 83 | +-%LJCOMPILE% lj_*.c lib_*.c |
| 84 | ++%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb |
| 85 | + @if errorlevel 1 goto :BAD |
| 86 | + %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj |
| 87 | + @if errorlevel 1 goto :BAD |
| 88 | + @goto :MTDLL |
| 89 | + :AMALGDLL |
| 90 | +-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c |
| 91 | ++%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\ljamalg.c |
| 92 | + @if errorlevel 1 goto :BAD |
| 93 | + %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj |
| 94 | + @if errorlevel 1 goto :BAD |
| 95 | +@@ -102,7 +103,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c |
| 96 | + if exist %LJDLLNAME%.manifest^ |
| 97 | + %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 |
| 98 | + |
| 99 | +-%LJCOMPILE% luajit.c |
| 100 | ++%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb |
| 101 | + @if errorlevel 1 goto :BAD |
| 102 | + %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% |
| 103 | + @if errorlevel 1 goto :BAD |
| 104 | +@@ -110,8 +111,8 @@ if exist luajit.exe.manifest^ |
| 105 | + %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe |
| 106 | + |
| 107 | + @del *.obj *.manifest minilua.exe buildvm.exe |
| 108 | +-@del host\buildvm_arch.h |
| 109 | +-@del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h |
| 110 | ++@del %SOURCEDIR%\host\buildvm_arch.h |
| 111 | ++@del %SOURCEDIR%\lj_bcdef.h %SOURCEDIR%\lj_ffdef.h %SOURCEDIR%\lj_libdef.h %SOURCEDIR%\lj_recdef.h %SOURCEDIR%\lj_folddef.h |
| 112 | + @echo. |
| 113 | + @echo === Successfully built LuaJIT for Windows/%LJARCH% === |
| 114 | + |
| 115 | +@@ -124,4 +125,5 @@ if exist luajit.exe.manifest^ |
| 116 | + @goto :END |
| 117 | + :FAIL |
| 118 | + @echo You must open a "Visual Studio Command Prompt" to run this script |
| 119 | ++exit 1 |
| 120 | + :END |
0 commit comments