22 个版本

0.3.2 2021 年 10 月 9 日
0.3.1 2020 年 12 月 4 日
0.3.0 2020 年 5 月 15 日
0.2.2-alpha.12018 年 12 月 25 日
0.1.8 2018 年 6 月 8 日

构建工具 中排名第 206

Download history 45/week @ 2024-03-11 40/week @ 2024-03-18 27/week @ 2024-03-25 69/week @ 2024-04-01 36/week @ 2024-04-08 48/week @ 2024-04-15 42/week @ 2024-04-22 26/week @ 2024-04-29 14/week @ 2024-05-06 30/week @ 2024-05-13 38/week @ 2024-05-20 24/week @ 2024-05-27 38/week @ 2024-06-03 31/week @ 2024-06-10 42/week @ 2024-06-17 24/week @ 2024-06-24

每月下载量 136

MIT 许可证

60KB
1.5K SLoC

🆘 由于活跃维护者数量较少,此项目仅部分活跃。如果您想参与,请参阅 #72

llvmenv

crate docs.rs

管理多个 LLVM/Clang 构建

安装

  1. 安装 cmake、构建器(make/ninja)和 C++ 编译器(g++/clang++)
  2. 使用 rustup 或其他方法安装 Rust。目前最低支持的 Rust 版本是 1.48.0
  3. cargo安装 llvmenv

基本用法

在完成上述安装步骤后,要安装特定版本的 LLVM,请运行以下 shell 命令("10.0.0" 可以替换为使用 llvmenv entries 找到的任何其他版本)

llvmenv init
llvmenv entries
llvmenv build-entry 10.0.0

zsh 集成

您可以使用 zsh precmd-hook 自动切换 LLVM/Clang 构建。请将一行添加到您的 .zshrc

source <(llvmenv zsh)

如果环境变量 $LLVMENV_RUST_BINDING 的值非零,则 llvmenv 除了 $PATH 之外,还会导出 LLVM_SYS_60_PREFIX=$(llvmenv prefix)

export LLVMENV_RUST_BINDING=1
source <(llvmenv zsh)

这对于 llvm-sys.rs 用户很有用。请确保此环境值不会被 llvmenv 取消设置,只会被覆盖。

概念

条目

  • 条目 描述了如何编译 LLVM/Clang
  • 两种类型的条目
    • 远程:从 Git/SVN 仓库或 Tar 存档下载 LLVM,然后进行构建
    • 本地:构建本地克隆的 LLVM 源代码
  • 有关详细信息,请参阅 模块文档

构建

  • 构建 是编译后的可执行文件(例如 clang)和库的安装目录。
  • 它们由 llvmenv build-entry 编译,并放置在 $XDG_DATA_HOME/llvmenv (通常是 $HOME/.local/share/llvmenv)。
  • 存在一个特殊的构建,"系统",它使用系统的可执行文件。

全局/局部前缀

  • llvmenv prefix 返回当前构建的路径(例如 $XDG_DATA_HOME/llvmenv/llvm-dev,或系统构建的 /usr)。
  • llvmenv global [name] 设置默认构建,而 llvmenv local [name] 通过创建 .llvmenv 文本文件来设置目录本地构建。
  • 您可以通过 llvmenv prefix -v 确认哪个 .llvmenv 设置了当前前缀。

依赖项

~17–32MB
~516K SLoC