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 @@
1+ diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
2+ index d323d8d..6e61150 100644
3+ --- a/src/msvcbuild.bat
4+ +++ b/src/msvcbuild.bat
5+ @@ -15,19 +15,20 @@
66 @setlocal
77 @rem Add more debug flags here, e.g. DEBUGCFLAGS=/DLUA_USE_APICHECK
88 @set DEBUGCFLAGS=
@@ -15,28 +15,45 @@ index aab4ef1..ff9df57 100644
1515- @set DASMDIR=..\dynasm
1616+ @set DASMDIR=%SOURCEDIR%\..\dynasm
1717 @set DASM=%DASMDIR%\dynasm.lua
18- @set DASC=vm_x64.dasc
18+ - @set DASC=vm_x64.dasc
19+ + @set DASC=%SOURCEDIR%\vm_x64.dasc
1920 @set LJDLLNAME=lua51.dll
2021 @set LJLIBNAME=lua51.lib
2122 @set BUILDTYPE=release
2223- @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
24+ + @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
2425
2526- %LJCOMPILE% host\minilua.c
2627+ %LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb
2728 @if errorlevel 1 goto :BAD
2829 %LJLINK% /out:minilua.exe minilua.obj
2930 @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%
31+ @@ -38,20 +39,20 @@ if exist minilua.exe.manifest^
32+ @set LJARCH=x64
33+ @minilua
34+ @if errorlevel 8 goto :X64
35+ - @set DASC=vm_x86.dasc
36+ + @set DASC=%SOURCEDIR%\vm_x86.dasc
37+ @set DASMFLAGS=-D WIN -D JIT -D FFI
38+ @set LJARCH=x86
39+ @set LJCOMPILE=%LJCOMPILE% /arch:SSE2
40+ :X64
41+ @if "%1" neq "nogc64" goto :GC64
42+ @shift
43+ - @set DASC=vm_x86.dasc
44+ + @set DASC=%SOURCEDIR%\vm_x86.dasc
45+ @set LJCOMPILE=%LJCOMPILE% /DLUAJIT_DISABLE_GC64
46+ :GC64
47+ - minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h %DASC%
48+ + minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %DASC%
3249 @if errorlevel 1 goto :BAD
3350
3451- %LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c
3552+ %LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb
3653 @if errorlevel 1 goto :BAD
3754 %LJLINK% /out:buildvm.exe buildvm*.obj
3855 @if errorlevel 1 goto :BAD
39- @@ -60,41 +61,41 @@ if exist buildvm.exe.manifest^
56+ @@ -60,41 +61,44 @@ if exist buildvm.exe.manifest^
4057
4158 buildvm -m peobj -o lj_vm.obj
4259 @if errorlevel 1 goto :BAD
@@ -60,27 +77,30 @@ index aab4ef1..ff9df57 100644
6077 @if errorlevel 1 goto :BAD
6178
6279- @if "%1" neq "debug" goto :NODEBUG
80+ + @if "%2"=="static" set CRT_LINKAGE=/MT
81+ + @if "%2"=="dynamic" set CRT_LINKAGE=/MD
6382+ @set LJLINK=%LJLINK% /debug
64- + @if "%2 " neq "debug" goto :NODEBUG
83+ + @if "%3 " neq "debug" goto :NODEBUG
6584 @shift
6685 @set BUILDTYPE=debug
6786 @set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS%
6887- @set LJLINK=%LJLINK% /opt:ref /opt:icf /incremental:no
88+ + @set CRT_LINKAGE=%CRT_LINKAGE%d
6989 :NODEBUG
7090 @set LJLINK=%LJLINK% /%BUILDTYPE%
7191- @if "%1"=="amalg" goto :AMALGDLL
7292- @if "%1"=="static" goto :STATIC
7393- %LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
74- + @if "%2 "=="amalg" goto :AMALGDLL
75- + @if "%2 "=="static" goto :STATIC
76- + %LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
94+ + @if "%3 "=="amalg" goto :AMALGDLL
95+ + @if "%3 "=="static" goto :STATIC
96+ + %LJCOMPILE% %CRT_LINKAGE% /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
7797 @if errorlevel 1 goto :BAD
7898 %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj
7999 @if errorlevel 1 goto :BAD
80100 @goto :MTDLL
81101 :STATIC
82102- %LJCOMPILE% lj_*.c lib_*.c
83- + %LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
103+ + %LJCOMPILE% %CRT_LINKAGE% % SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
84104 @if errorlevel 1 goto :BAD
85105 %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj
86106 @if errorlevel 1 goto :BAD
@@ -91,16 +111,16 @@ index aab4ef1..ff9df57 100644
91111 @if errorlevel 1 goto :BAD
92112 %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj
93113 @if errorlevel 1 goto :BAD
94- @@ -102,7 +103 ,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
114+ @@ -102,7 +106 ,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
95115 if exist %LJDLLNAME%.manifest^
96116 %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2
97117
98118- %LJCOMPILE% luajit.c
99- + %LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb
119+ + %LJCOMPILE% %CRT_LINKAGE% % SOURCEDIR%\luajit.c /Fdluajit.pdb
100120 @if errorlevel 1 goto :BAD
101121 %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME%
102122 @if errorlevel 1 goto :BAD
103- @@ -110,8 +111 ,8 @@ if exist luajit.exe.manifest^
123+ @@ -110,8 +114 ,8 @@ if exist luajit.exe.manifest^
104124 %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe
105125
106126 @del *.obj *.manifest minilua.exe buildvm.exe
@@ -111,7 +131,7 @@ index aab4ef1..ff9df57 100644
111131 @echo.
112132 @echo === Successfully built LuaJIT for Windows/%LJARCH% ===
113133
114- @@ -124,4 +125 ,5 @@ if exist luajit.exe.manifest^
134+ @@ -124,4 +128 ,5 @@ if exist luajit.exe.manifest^
115135 @goto :END
116136 :FAIL
117137 @echo You must open a "Visual Studio Command Prompt" to run this script
0 commit comments