Update for LLVM 21.1.0
LLVM 21.1.0-rc1 was published a few days ago and the final 21.1.0 release will follow in around 6 weeks.
For new LLVM major versions:
-
Diff llvm/include/llvm-c/ between previous and current release. This requires a local repo that's in sync with the remote, and tags will be needed. A bare repository is fine, however. ``` git clone --mirror https://github.com/llvm/llvm-project.git git diff llvmorg-9.0.0 llvmorg-10.0.0 -- llvm/include/llvm-c/ ``` Apply matching changes to Rust bindings. -
Update linkskey in Cargo.toml for new LLVM version -
Update usage example in README.md for new crate version -
Update CI to refer to new version -
That includes an update of RUSTC_COMMITvariable to reference a commit in github.com/rust-lang/rust providing the new LLVM version. It can be determined using./scripts/rustc-commit.sh. If preferred, it can be also checked in a local Rust repository clone:``` git clone --mirror https://github.com/rust-lang/rust.git git log --oneline --grep=LLVM --grep=$LLVM_VERSION main -- .gitmodules ```
-
For all versions:
-
Update versionkey in Cargo.toml for new crate version -
Commit changes -
Tag new version; git tag v100.1.0 -
Update latest branch to follow master: git branch -f llvm-10.0 master -
Test and publish -
Push changes and tags; git push --all && git push --tags
Edited by Peter Marheine