From 8e76308baf9db7e35d23ecac901e1452ddc91cca Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Sun, 23 Apr 2023 10:36:03 +0100 Subject: [PATCH] Fix the toolchain package to build mlir as well --- packages/libcxx/conanfile.py | 2 +- packages/sources/llvm/conanfile.py | 4 ++-- packages/toolchain/conanfile.py | 22 +++++++++++++++++----- profiles/stage0 | 4 ++++ profiles/stage1 | 5 +++++ 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/packages/libcxx/conanfile.py b/packages/libcxx/conanfile.py index 9bbbc1c..88e645a 100644 --- a/packages/libcxx/conanfile.py +++ b/packages/libcxx/conanfile.py @@ -60,7 +60,7 @@ CMAKE_OPTIONS = { "LLVM_ENABLE_LTO": "THIN", "CMAKE_POSITION_INDEPENDENT_CODE": "ON", "LLVM_ENABLE_LIBCXX": "ON", - "LLVM_THINLTO_CACHE_PATH": "/tmp/llvm-build-lto", + "LLVM_THINLTO_CACHE_PATH": "/tmp/llvm-build-lto-libcxx", "LLVM_ENABLE_PROJECTS": ";".join(PROJECTS), "LIBCXX_HAS_MUSL_LIBC": "ON", "LLVM_DEFAULT_TARGET_TRIPLE": os.environ["TARGET"], diff --git a/packages/sources/llvm/conanfile.py b/packages/sources/llvm/conanfile.py index 3a3fbad..df5a236 100644 --- a/packages/sources/llvm/conanfile.py +++ b/packages/sources/llvm/conanfile.py @@ -17,12 +17,12 @@ from conan import ConanFile from conan.tools.files import get -from conf.versions import * +from conf.utils import * class LLVM(ConanFile): name = "llvm-source" - version = LLVM_VERSION + version = get_version("llvm") settings = "os", "arch" def build(self): diff --git a/packages/toolchain/conanfile.py b/packages/toolchain/conanfile.py index 41fdbe9..f1529b1 100644 --- a/packages/toolchain/conanfile.py +++ b/packages/toolchain/conanfile.py @@ -67,12 +67,20 @@ TOOLCHAIN_TARGETS = [ "LTO", "builtins", "llvm-libraries", + "mlir-libraries", + "mlir-tblgen", + "mlir-opt", + "mlir-lsp-server", + "mlir-reduce", + # "lldb-server", + # "lldb", + "llvm-jitlink", # lldb, "compiler-rt", "runtimes", ] -PROJECTS = ["clang-tools-extra", "clang", "lld", "llvm"] +PROJECTS = ["clang-tools-extra", "clang", "lld", "llvm", "mlir"] RUNTIME_TARGETS = [ "compiler-rt", "libcxx", @@ -158,10 +166,14 @@ class LLVM(ConanFile): opts["CMAKE_CXX_COMPILER_TARGET"] = target opts["CMAKE_SYSROOT"] = str(tc_dir) - opts["CMAKE_EXE_LINKER_FLAGS"] = f"-Wl,-rpath,{str(tc_dir)}/lib/{target}" - opts["CMAKE_SHARED_LINKER_FLAGS"] = f"-Wl,-rpath,{str(tc_dir)}/lib/{target}" - opts["CMAKE_C_FLAGS"] = "-static" - opts["CMAKE_CXX_FLAGS"] = "-static" + opts[ + "CMAKE_EXE_LINKER_FLAGS" + ] = f"-Wl,-rpath,{str(tc_dir)}/lib/{target} -static -Wl,-static" + opts[ + "CMAKE_SHARED_LINKER_FLAGS" + ] = f"-Wl,-rpath,$ORIGIN/../lib/{target} -Wl,-rpath,$ORIGIN/../lib/" + # opts["CMAKE_C_FLAGS"] = "-static" -Wl,-rpath,{str(tc_dir)}/lib/{target} + # opts["CMAKE_CXX_FLAGS"] = "-static" def add_runtimes_and_builtins(self, opts): builtin_targets = [] diff --git a/profiles/stage0 b/profiles/stage0 index f1e55cb..4358414 100644 --- a/profiles/stage0 +++ b/profiles/stage0 @@ -12,5 +12,9 @@ compiler.libcxx=libstdc++ [buildenv] LD=lld +[options] +cmake/*:libc=glibc +ninja/*:libc=glibc + [conf] tools.cmake.cmaketoolchain:generator=Ninja \ No newline at end of file diff --git a/profiles/stage1 b/profiles/stage1 index 9dd90cf..22deb51 100644 --- a/profiles/stage1 +++ b/profiles/stage1 @@ -18,5 +18,10 @@ CC=clang CXX=clang++ LD=lld +[options] +*/*:stage=1 +cmake/*:libc=glibc +ninja/*:libc=glibc + [conf] tools.cmake.cmaketoolchain:generator=Ninja \ No newline at end of file