Browse Source

Resolve "Error finding an LLVM build" (#1831)

Pass through Visual Studio version from build.sh into build/LLVM.lua, so that
the downloaded version is consistent with build.sh's view rather than the host
command prompt's view.
pull/1832/head
Corey McNeish 1 year ago
parent
commit
1e6ee09b99
  1. 7
      build/LLVM.lua
  2. 8
      build/build.sh
  3. 4
      build/llvm/LLVM.lua

7
build/LLVM.lua

@ -9,6 +9,11 @@ local LLVMRootDirRelease = ""
require "llvm/LLVM" require "llvm/LLVM"
newoption {
trigger = "vs",
description = "Override Visual Studio version with particular version"
}
function SearchLLVM() function SearchLLVM()
LLVMRootDirDebug = builddir .. "/llvm/" .. get_llvm_package_name(nil, "Debug") LLVMRootDirDebug = builddir .. "/llvm/" .. get_llvm_package_name(nil, "Debug")
LLVMRootDirRelease = builddir .. "/llvm/" .. get_llvm_package_name() LLVMRootDirRelease = builddir .. "/llvm/" .. get_llvm_package_name()
@ -20,7 +25,7 @@ function SearchLLVM()
elseif os.isdir(LLVMRootDir) then elseif os.isdir(LLVMRootDir) then
print("Using LLVM build: " .. LLVMRootDir) print("Using LLVM build: " .. LLVMRootDir)
else else
error("Error finding an LLVM build") error("Error finding an LLVM build. Tried: " .. LLVMRootDirDebug .. " and " .. LLVMRootDirRelease)
end end
end end

8
build/build.sh

@ -129,22 +129,22 @@ download_premake()
download_llvm() download_llvm()
{ {
"$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" download_llvm --os=$os --arch=$platform --configuration=$configuration "$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" download_llvm --vs=$vs --os=$os --arch=$platform --configuration=$configuration
} }
clone_llvm() clone_llvm()
{ {
"$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" clone_llvm --os=$os --arch=$platform --configuration=$configuration "$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" clone_llvm --vs=$vs --os=$os --arch=$platform --configuration=$configuration
} }
build_llvm() build_llvm()
{ {
"$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" build_llvm --os=$os --arch=$platform --configuration=$configuration "$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" build_llvm --vs=$vs --os=$os --arch=$platform --configuration=$configuration
} }
package_llvm() package_llvm()
{ {
"$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" package_llvm --os=$os --arch=$platform --configuration=$configuration "$builddir/premake.sh" --file="$builddir/llvm/LLVM.lua" package_llvm --vs=$vs --os=$os --arch=$platform --configuration=$configuration
} }
detect_os() detect_os()

4
build/llvm/LLVM.lua

@ -52,6 +52,10 @@ function clone_llvm()
end end
function get_vs_version() function get_vs_version()
if _OPTIONS["vs"] then
return _OPTIONS["vs"]
end
local function map_msvc_to_vs_version(major, minor) local function map_msvc_to_vs_version(major, minor)
if major == "19" and minor >= "30" then return "vs2022" if major == "19" and minor >= "30" then return "vs2022"
elseif major == "19" and minor >= "20" then return "vs2019" elseif major == "19" and minor >= "20" then return "vs2019"

Loading…
Cancel
Save