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 ```
cargo install llvmenv
You can swtich LLVM/Clang builds automatically using zsh precmd-hook. Please add a line into your .zshrc
:
source <(llvmenv zsh)
If $LLVMENV_RUST_BINDING
environmental value is non-zero, llvmenv exports LLVM_SYS_60_PREFIX=$(llvmenv prefix)
in addition to $PATH
.
export LLVMENV_RUST_BINDING=1
source <(llvmenv zsh)
This is usuful for llvm-sys.rs users. Be sure that this env value will not be unset by llvmenv, only overwrite.
"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)
llvmenv build-entry
, and placed at $XDG_DATA_HOME/llvmenv
(usually $HOME/.local/share/llvmenv
).llvmenv prefix
returns the path of the current build (e.g. $XDG_DATA_HOME/llvmenv/llvm-dev
, or /usr
for system build).llvmenv global [name]
sets default build, and llvmenv local [name]
sets directory-local build by creating .llvmenv
text file..llvmenv
sets the current prefix by llvmenv prefix -v
.