各位TC委员好:
我是赵川峰,这个邮件我讨论一下社区LLVM的版本选型及规划,也期望涉及LLVM编译器的相关委员提提诉求。
下图是LLVM上游社区的版本发布历史和计划,版本节奏是2个大版本/年,大版本发布后每2周发布一个小版本(计划内发布5个小版本,按需继续发布)。
[cid:image002.jpg@01D97947.536A3AD0]
可以看出上游社区版本发布比较频繁,这与openEuler LTS版本对软件包的稳定性有些冲突,所以就有了支持LLVM多版本的诉求。
Compiler SIG计划支持两个版本:LTS版本(系统默认)和latest版本,rpm源码仓库创建如下:
LTS版本:
src-openeuler/clang: 包含clang,clang-tools-extra
src-openeuler/llvm: 包含llvm,compiler-rt、libcxx、libcxxabi、llvm-libunwind、mlir、libc
src-openeuler/lld: 包含lld
src-openeuler/llvm-bolt: 包含bolt
latest版本:
src-openeuler/clang-latest
src-openeuler/llvm-latest
src-openeuler/lld-latest
src-openeuler/llvm-bolt-latest
原则&方案:
(1) LTS版本跟随openEuler LTS版本升级,在openEuler LTS前一个创新版本Ready,后续SPX上版本保持不变。
(2) latest版本跟随所有openEuler版本(LTS和创新版本)升级,取上游社区当时最新版本。
(3) 如果有其他版本需要支持(需要有充分理由),可以创建llvm-<major>相关的源码仓,支持方案与llvm-latest雷同。
基于以上原则,后续openEuler版本上LLVM编译器的版本选型将是:
[cid:image004.jpg@01D97947.536A3AD0]
欢迎大家给出宝贵意见,谢谢!
Best Regards
赵川峰(Steve)