llvmenv

crate CircleCI

Manage multiple LLVM/Clang build

``` llvmenv 0.1.6 Manage multiple LLVM/Clang builds

USAGE: llvmenv

FLAGS: -h, --help Prints help information -V, --version Prints version information

SUBCOMMANDS: build-entry Build LLVM/Clang builds List usable build current Show the name of current build entries List entries to be built global Set the build to use (global) help Prints this message or the help of the given subcommand(s) init Initialize llvmenv local Set the build to use (local) prefix Show the prefix of the current build zsh Setup Zsh integration ```

Install

  1. Install Rust using rustup
  2. cargo install llvmenv

zsh integration

You can swtich LLVM/Clang builds automatically using zsh precmd-hook. Please add a line into your .zshrc:

source <(llvmenv zsh)

Concepts

entry

"entry" descrives how to compile LLVM/Clang, and set by entry.toml at $XDG_CONFIG_HOME/llvmenv (usually $HOME/.config/llvmenv). llvmenv init generates default setting:

toml [llvm-dev] llvm_git = "https://github.com/llvm-mirror/llvm" clang_git = "https://github.com/llvm-mirror/clang" target = ["X86"] build = "Release" example = 0 document = 0

There is also pre-defined entries corresponding to the LLVM/Clang releases:

$ llvmenv entries 6.0.0 5.0.2 5.0.1 5.0.0 4.0.1 4.0.0 3.9.1 3.9.0 ... (your entries)

build

global/local/prefix