diff options
author | Peter Melnichenko <mpeterval@gmail.com> | 2016-06-11 15:10:56 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-11 15:10:56 +0400 |
commit | db8e6734a1347cde53dfa586b11ffb75fab60752 (patch) | |
tree | 83a88e1a7a1763c24f0ec4e57f3d9b03efa73ceb | |
parent | 305cc93b7194ca0bc546ebd520ab907043334647 (diff) | |
parent | 11b65a6c324359134bd75bad37f102ea98337d3e (diff) | |
download | luarocks-db8e6734a1347cde53dfa586b11ffb75fab60752.tar.gz luarocks-db8e6734a1347cde53dfa586b11ffb75fab60752.tar.bz2 luarocks-db8e6734a1347cde53dfa586b11ffb75fab60752.zip |
Merge pull request #548 from xpol/msvc-cross-compiling
Add cross compiling support for MSVC.
-rw-r--r-- | install.bat | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/install.bat b/install.bat index df058585..dcd132ff 100644 --- a/install.bat +++ b/install.bat | |||
@@ -508,17 +508,30 @@ local function get_msvc_env_setup_cmd() | |||
508 | -- 1. try visual studio command line tools | 508 | -- 1. try visual studio command line tools |
509 | local vcdir = get_visual_studio_directory() | 509 | local vcdir = get_visual_studio_directory() |
510 | if vcdir then | 510 | if vcdir then |
511 | -- 1.1. try vcvarsall.bat | 511 | local vcvars_bats = { |
512 | local vcvarsall = vcdir .. 'vcvarsall.bat' | 512 | x86 = { |
513 | if exists(vcvarsall) then | 513 | "bin\\vcvars32.bat", -- prefers native compiler |
514 | return ('call "%s"%s'):format(vcvarsall, x64 and ' amd64' or '') | 514 | "bin\\amd64_x86\\vcvarsamd64_x86.bat"-- then cross compiler |
515 | }, | ||
516 | x86_64 = { | ||
517 | "bin\\amd64\\vcvars64.bat", -- prefers native compiler | ||
518 | "bin\\x86_amd64\\vcvarsx86_amd64.bat" -- then cross compiler | ||
519 | } | ||
520 | } | ||
521 | assert(vcvars_bats[vars.UNAME_M], "vars.UNAME_M: only x86 and x86_64 are supported") | ||
522 | for _, bat in ipairs(vcvars_bats[vars.UNAME_M]) do | ||
523 | local full_path = vcdir .. bat | ||
524 | if exists(full_path) then | ||
525 | return ('call "%s"'):format(full_path) | ||
526 | end | ||
515 | end | 527 | end |
516 | 528 | ||
517 | -- 1.2. try vcvars32.bat / vcvars64.bat | 529 | -- try vcvarsall.bat in case MS changes the undocumented bat files above. |
518 | local relative_path = x64 and "bin\\amd64\\vcvars64.bat" or "bin\\vcvars32.bat" | 530 | -- but this way we don't konw if specified compiler is installed... |
519 | local full_path = vcdir .. relative_path | 531 | local vcvarsall = vcdir .. 'vcvarsall.bat' |
520 | if exists(full_path) then | 532 | if exists(vcvarsall) then |
521 | return ('call "%s"'):format(full_path) | 533 | local vcvarsall_args = { x86 = "", x86_64 = " amd64" } |
534 | return ('call "%s"%s'):format(vcvarsall, vcvarsall_args[vars.UNAME_M]) | ||
522 | end | 535 | end |
523 | end | 536 | end |
524 | 537 | ||