diff options
| author | Mike Pall <mike> | 2023-09-17 10:44:04 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2023-09-17 10:44:04 +0200 |
| commit | e897c5743f97a6b05c59852709092e7da4119914 (patch) | |
| tree | 53e74687899e4c8d1aa0cef79c797260189bc918 /src | |
| parent | 7a2b83a0c5d980bf3db0aeda33c79e7bb4b3da01 (diff) | |
| download | luajit-e897c5743f97a6b05c59852709092e7da4119914.tar.gz luajit-e897c5743f97a6b05c59852709092e7da4119914.tar.bz2 luajit-e897c5743f97a6b05c59852709092e7da4119914.zip | |
Windows/ARM64: Add MSVC cross-build support for x64 to ARM64.
Thanks to invertego. #1081
Diffstat (limited to 'src')
| -rw-r--r-- | src/msvcbuild.bat | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat index 2cfcf26e..cd25beee 100644 --- a/src/msvcbuild.bat +++ b/src/msvcbuild.bat | |||
| @@ -27,12 +27,15 @@ | |||
| 27 | @set BUILDTYPE=release | 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 | 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 | 29 | ||
| 30 | @setlocal | ||
| 31 | @call :SETHOSTVARS | ||
| 30 | %LJCOMPILE% host\minilua.c | 32 | %LJCOMPILE% host\minilua.c |
| 31 | @if errorlevel 1 goto :BAD | 33 | @if errorlevel 1 goto :BAD |
| 32 | %LJLINK% /out:minilua.exe minilua.obj | 34 | %LJLINK% /out:minilua.exe minilua.obj |
| 33 | @if errorlevel 1 goto :BAD | 35 | @if errorlevel 1 goto :BAD |
| 34 | if exist minilua.exe.manifest^ | 36 | if exist minilua.exe.manifest^ |
| 35 | %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe | 37 | %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe |
| 38 | @endlocal | ||
| 36 | 39 | ||
| 37 | @set DASMFLAGS=-D WIN -D JIT -D FFI -D ENDIAN_LE -D FPU -D P64 | 40 | @set DASMFLAGS=-D WIN -D JIT -D FFI -D ENDIAN_LE -D FPU -D P64 |
| 38 | @set LJARCH=x64 | 41 | @set LJARCH=x64 |
| @@ -46,6 +49,7 @@ if exist minilua.exe.manifest^ | |||
| 46 | :NO32 | 49 | :NO32 |
| 47 | @if "%VSCMD_ARG_TGT_ARCH%" neq "arm64" goto :X64 | 50 | @if "%VSCMD_ARG_TGT_ARCH%" neq "arm64" goto :X64 |
| 48 | @set DASC=vm_arm64.dasc | 51 | @set DASC=vm_arm64.dasc |
| 52 | @set DASMTARGET=-D LUAJIT_TARGET=LUAJIT_ARCH_ARM64 | ||
| 49 | @set LJARCH=arm64 | 53 | @set LJARCH=arm64 |
| 50 | @goto :DA | 54 | @goto :DA |
| 51 | :X64 | 55 | :X64 |
| @@ -60,12 +64,15 @@ minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h %DASC% | |||
| 60 | if exist ..\.git ( git show -s --format=%%ct >luajit_relver.txt ) else ( type ..\.relver >luajit_relver.txt ) | 64 | if exist ..\.git ( git show -s --format=%%ct >luajit_relver.txt ) else ( type ..\.relver >luajit_relver.txt ) |
| 61 | minilua host\genversion.lua | 65 | minilua host\genversion.lua |
| 62 | 66 | ||
| 63 | %LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c | 67 | @setlocal |
| 68 | @call :SETHOSTVARS | ||
| 69 | %LJCOMPILE% /I "." /I %DASMDIR% %DASMTARGET% host\buildvm*.c | ||
| 64 | @if errorlevel 1 goto :BAD | 70 | @if errorlevel 1 goto :BAD |
| 65 | %LJLINK% /out:buildvm.exe buildvm*.obj | 71 | %LJLINK% /out:buildvm.exe buildvm*.obj |
| 66 | @if errorlevel 1 goto :BAD | 72 | @if errorlevel 1 goto :BAD |
| 67 | if exist buildvm.exe.manifest^ | 73 | if exist buildvm.exe.manifest^ |
| 68 | %LJMT% -manifest buildvm.exe.manifest -outputresource:buildvm.exe | 74 | %LJMT% -manifest buildvm.exe.manifest -outputresource:buildvm.exe |
| 75 | @endlocal | ||
| 69 | 76 | ||
| 70 | buildvm -m peobj -o lj_vm.obj | 77 | buildvm -m peobj -o lj_vm.obj |
| 71 | @if errorlevel 1 goto :BAD | 78 | @if errorlevel 1 goto :BAD |
| @@ -125,6 +132,12 @@ if exist luajit.exe.manifest^ | |||
| 125 | @echo === Successfully built LuaJIT for Windows/%LJARCH% === | 132 | @echo === Successfully built LuaJIT for Windows/%LJARCH% === |
| 126 | 133 | ||
| 127 | @goto :END | 134 | @goto :END |
| 135 | :SETHOSTVARS | ||
| 136 | @if "%VSCMD_ARG_HOST_ARCH%_%VSCMD_ARG_TGT_ARCH%" equ "x64_arm64" ( | ||
| 137 | call "%VSINSTALLDIR%Common7\Tools\VsDevCmd.bat" -arch=%VSCMD_ARG_HOST_ARCH% -no_logo | ||
| 138 | echo on | ||
| 139 | ) | ||
| 140 | @goto :END | ||
| 128 | :BAD | 141 | :BAD |
| 129 | @echo. | 142 | @echo. |
| 130 | @echo ******************************************************* | 143 | @echo ******************************************************* |
