conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
899 stars 1.61k forks source link

[request] recipe for LLVM components #23834

Open jcar87 opened 2 weeks ago

jcar87 commented 2 weeks ago

Package Name/Version

llvm/*

Webpage

https://llvm.org/

Source code

https://llvm.org/

Description of the library/tool

This issue is to gather information about potential use cases of an llvm recipe, or recipe for different llvm components.

jwillikers commented 2 weeks ago

I need LLVM for the Mesa package, several components. The libclang library is also used by Qt for QtTools. Currently a system library is used.

planetmarshall commented 2 weeks ago

My use case is for building clang tooling - ie standalone refactoring tools built on libclang and LLVM, code translation etc.

The llvm-core recipe has been updated for conan-2 and has been ready for review for some time. https://github.com/conan-io/conan-center-index/pull/22997

jusito commented 2 weeks ago

I need llvm, libclang, and compiler-rt for a static analysis framework I want to see in CCI. The analysis is done on llvm-ir. For the generation of llvm-ir files, we need clang, clang++, and opt binary, which must be the same version as the consumed llvm library. As developers and consumers, this will allow us to use a different compiler/compiler version and remove the necessity of installing the same compiler again. We currently need llvm 14 because we relied on a crucial analysis part, which has been removed from llvm 15.

planetmarshall commented 2 weeks ago

I am a little bit confused about what's being asked here - there already is a recipe for LLVM in CCI - llvm-core, and has been for nearly three years. I've updated it for conan2, and additionally tested it with LLVM 18 and a downstream clang recipe that uses it as a dependency, but I can't add PRs for any of this work until #22997 is reviewed.

skipfowler commented 2 weeks ago

I would like a way to deliver via Conan tools such as clang and supporting tools like clangd, clang-format and clang-tidy. The effort is to maintain a consistent developer environment. A working example is that CMake can be delivered consistently via Conan.