From b8057f3419ae50cac41c1b8fb8bcce89ca4d6794 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Sat, 1 Apr 2023 16:39:10 -0400 Subject: [PATCH] Don't hardcode LLVM version number (#49051) --- base/Makefile | 4 ++++ base/binaryplatforms.jl | 2 +- stdlib/libLLVM_jll/src/libLLVM_jll.jl | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/base/Makefile b/base/Makefile index 0ea0359c8cc8e..493302af78b02 100644 --- a/base/Makefile +++ b/base/Makefile @@ -3,6 +3,9 @@ BUILDDIR := . JULIAHOME := $(abspath $(SRCDIR)/..) include $(JULIAHOME)/Make.inc +# import LLVM_SHARED_LIB_NAME +include $(JULIAHOME)/deps/llvm-ver.make + TAGGED_RELEASE_BANNER := "" all: $(addprefix $(BUILDDIR)/,pcre_h.jl errno_h.jl build_h.jl.phony features_h.jl file_constants.jl uv_constants.jl version_git.jl.phony) @@ -57,6 +60,7 @@ else @echo "const USE_GPL_LIBS = false" >> $@ endif @echo "const libllvm_version_string = \"$$($(LLVM_CONFIG_HOST) --version)\"" >> $@ + @echo "const libllvm_name = \"$(LLVM_SHARED_LIB_NAME)\"" >> $@ @echo "const VERSION_STRING = \"$(JULIA_VERSION)\"" >> $@ @echo "const TAGGED_RELEASE_BANNER = \"$(TAGGED_RELEASE_BANNER)\"" >> $@ ifeq ($(OS),WINNT) diff --git a/base/binaryplatforms.jl b/base/binaryplatforms.jl index fb9feba41c636..39348891c83a6 100644 --- a/base/binaryplatforms.jl +++ b/base/binaryplatforms.jl @@ -904,7 +904,7 @@ function detect_cxxstring_abi() end function open_libllvm(f::Function) - for lib_name in ("libLLVM-14jl", "libLLVM", "LLVM", "libLLVMSupport") + for lib_name in (Base.libllvm_name, "libLLVM", "LLVM", "libLLVMSupport") hdl = Libdl.dlopen_e(lib_name) if hdl != C_NULL try diff --git a/stdlib/libLLVM_jll/src/libLLVM_jll.jl b/stdlib/libLLVM_jll/src/libLLVM_jll.jl index 331600eab6523..bd92890acb7c3 100644 --- a/stdlib/libLLVM_jll/src/libLLVM_jll.jl +++ b/stdlib/libLLVM_jll/src/libLLVM_jll.jl @@ -19,11 +19,11 @@ libLLVM_handle = C_NULL libLLVM_path = "" if Sys.iswindows() - const libLLVM = "libLLVM-14jl.dll" + const libLLVM = "$(Base.libllvm_name).dll" elseif Sys.isapple() const libLLVM = "@rpath/libLLVM.dylib" else - const libLLVM = "libLLVM-14jl.so" + const libLLVM = "$(Base.libllvm_name).so" end function __init__()