aboutsummaryrefslogtreecommitdiff
path: root/install.bat
diff options
context:
space:
mode:
authorAndre Alves Garzia <andre@andregarzia.com>2019-12-31 01:34:59 +0000
committerHisham Muhammad <hisham@gobolinux.org>2020-01-06 14:00:01 -0300
commitd2867542c34f1779be323c3e195216cd9301c9db (patch)
tree145a07c1656c3ee9e0e46b7b398ee9062d24d0fd /install.bat
parent914b831271099e0f25cd9c1af66d354c5ee64ed2 (diff)
downloadluarocks-d2867542c34f1779be323c3e195216cd9301c9db.tar.gz
luarocks-d2867542c34f1779be323c3e195216cd9301c9db.tar.bz2
luarocks-d2867542c34f1779be323c3e195216cd9301c9db.zip
install.bat: initial support for Windows on ARM
Diffstat (limited to 'install.bat')
-rw-r--r--install.bat14
1 files changed, 10 insertions, 4 deletions
diff --git a/install.bat b/install.bat
index f0305ab4..b92b9fd8 100644
--- a/install.bat
+++ b/install.bat
@@ -415,9 +415,12 @@ local function get_architecture()
415 if not proc then 415 if not proc then
416 die("Could not detect processor architecture used in "..vars.LUA_INTERPRETER) 416 die("Could not detect processor architecture used in "..vars.LUA_INTERPRETER)
417 end 417 end
418 print("arch: " .. proc .. " -> " .. pe.const.Machine[proc])
418 proc = pe.const.Machine[proc] -- collect name from constant value 419 proc = pe.const.Machine[proc] -- collect name from constant value
419 if proc == "IMAGE_FILE_MACHINE_I386" then 420 if proc == "IMAGE_FILE_MACHINE_I386" then
420 proc = "x86" 421 proc = "x86"
422 elseif proc == "IMAGE_FILE_MACHINE_ARM64" then
423 proc = "arm64"
421 else 424 else
422 proc = "x86_64" 425 proc = "x86_64"
423 end 426 end
@@ -554,8 +557,8 @@ local function get_msvc_env_setup_cmd()
554 if vsdir then 557 if vsdir then
555 local vcvarsall = vsdir .. '\\VC\\Auxiliary\\Build\\vcvarsall.bat' 558 local vcvarsall = vsdir .. '\\VC\\Auxiliary\\Build\\vcvarsall.bat'
556 if exists(vcvarsall) then 559 if exists(vcvarsall) then
557 local vcvarsall_args = { x86 = "", x86_64 = " x64" } 560 local vcvarsall_args = { x86 = "", x86_64 = " x64", arm64 = " x86_arm64" }
558 assert(vcvarsall_args[vars.UNAME_M], "vars.UNAME_M: only x86 and x86_64 are supported") 561 assert(vcvarsall_args[vars.UNAME_M], "vars.UNAME_M: only x86, x86_64 and arm64 are supported")
559 return ('call "%s"%s'):format(vcvarsall, vcvarsall_args[vars.UNAME_M]) 562 return ('call "%s"%s'):format(vcvarsall, vcvarsall_args[vars.UNAME_M])
560 end 563 end
561 end 564 end
@@ -571,9 +574,12 @@ local function get_msvc_env_setup_cmd()
571 x86_64 = { 574 x86_64 = {
572 "bin\\amd64\\vcvars64.bat", -- prefers native compiler 575 "bin\\amd64\\vcvars64.bat", -- prefers native compiler
573 "bin\\x86_amd64\\vcvarsx86_amd64.bat" -- then cross compiler 576 "bin\\x86_amd64\\vcvarsx86_amd64.bat" -- then cross compiler
577 },
578 arm64 = {
579 "bin\\x86_arm64\\vcvarsx86_arm64.bat" -- need to use cross compiler"
574 } 580 }
575 } 581 }
576 assert(vcvars_bats[vars.UNAME_M], "vars.UNAME_M: only x86 and x86_64 are supported") 582 assert(vcvars_bats[vars.UNAME_M], "vars.UNAME_M: only x86, arm64 and x86_64 are supported")
577 for _, bat in ipairs(vcvars_bats[vars.UNAME_M]) do 583 for _, bat in ipairs(vcvars_bats[vars.UNAME_M]) do
578 local full_path = vcdir .. bat 584 local full_path = vcdir .. bat
579 if exists(full_path) then 585 if exists(full_path) then
@@ -585,7 +591,7 @@ local function get_msvc_env_setup_cmd()
585 -- but this way we don't know if specified compiler is installed... 591 -- but this way we don't know if specified compiler is installed...
586 local vcvarsall = vcdir .. 'vcvarsall.bat' 592 local vcvarsall = vcdir .. 'vcvarsall.bat'
587 if exists(vcvarsall) then 593 if exists(vcvarsall) then
588 local vcvarsall_args = { x86 = "", x86_64 = " amd64" } 594 local vcvarsall_args = { x86 = "", x86_64 = " amd64", arm64 = " x86_arm64" }
589 return ('call "%s"%s'):format(vcvarsall, vcvarsall_args[vars.UNAME_M]) 595 return ('call "%s"%s'):format(vcvarsall, vcvarsall_args[vars.UNAME_M])
590 end 596 end
591 end 597 end