Hi compiler-sig:
当前第一版LLVM/Clang/LLD 15.0.6的SRPM已经通过PR提交到社区, 链接分别是:
https://gitee.com/src-openeuler/llvm-15/pulls/1 https://gitee.com/src-openeuler/clang-15/pulls/1 https://gitee.com/src-openeuler/lld-15/pulls/1 https://gitee.com/src-openeuler/python-lit/pulls/7
烦请各位维护者帮忙审核。
多版本支持的方式如下: 包名: llvm<major>-* clang<major>-* lld<major>-* 例如: clang15 llvm15-devel
安装路径: /usr/lib64/llvm<major> 例如: /usr/lib64/llvm15
/usr/lib64/llvm15/ ├── bin ├── include ├── lib ├── libexec └── share 这样可以同其他版本共存,此路径结构与Ubuntu/fedora相同. /usr/bin目录下存放带-<ver>的可执行文件
lrwxrwxrwx. 1 root root 35 12月 30 15:03 /usr/bin/clang++-15 -> ../..//usr/lib64/llvm15/bin/clang++ lrwxrwxrwx. 1 root root 33 12月 30 15:03 /usr/bin/clang-15 -> ../..//usr/lib64/llvm15/bin/clang 如果要当作系统编译器: 需要安装clang llvm lld等包,这个包的作用是,将clang与clang-15关联起来。 在OBS构建的时候,可以在prj config定义系统编译器的版本,即可以将其对应起来
lrwxrwxrwx. 1 root root 33 12月 30 15:52 /usr/bin/clang -> ../..//usr/lib64/llvm15/bin/clang lrwxrwxrwx. 1 root root 35 12月 30 15:52 /usr/bin/clang++ -> ../..//usr/lib64/llvm15/bin/clang++ 这样就可以完成系统编译器和多版本编译器的支持,使用同一套路径规则和框架即可。 后续支持llvm16,只需要对应创建llvm16的仓库即可。
上文中提到的clang包,目前不确定放在那个SRPM仓库比较合适,我暂时放在了我个人的仓库中。 https://gitee.com/chenxi-mao/clang-binhttps://gitee.com/chenxi-mao/clang-bin/blob/master/clang-bin.spec
OBS验证工程(基于22.03-SP1) https://build.openeuler.openatom.cn/project/show/home:chenxi.mao
Chenxi