OpenMandriva仍然是少数几个使用LLVM Clang编译器的Linux发行版之一。虽然有时维护这种组合很困难,但是他们仍然能够成功地使用Clang作为默认编译器。

导读 OpenMandriva开发人员Bernhard Rosenkranzer在本月的EuroLLVM会议上介绍了他们在默认情况下使用LLVM Clang的情况,其中几乎所有Linux发行版都保留GNU编译器集合(GCC)。

他们在GCC上使用Clang最主要的原因是为了更好的编译时间、更流畅的交叉编译体验、得益于围绕LLVM/Clang构建的sanitizers和其他工具,以及(可以说)生成了更可读的代码。OpenMandriva开发人员还发现,即使在使用最新编译器状态的快照时,使用LLVM/Clang也不会造成太大的破坏,他们在了解LLVM 6个月的发布周期后,往往会在开发周期的早期切换到最新编译器状态。

但是在EuroLLVM 2019期间共享的痛点是LLVM/Clang仍然缺少RISC-V架构支持,所以他们依赖GCC。他们还遇到了许多项目的问题,这些项目没有针对GCC以外的任何东西进行测试,有些项目甚至对使用Clang构建怀有敌意。当预处理宏严格按照GNU路由运行时,也有可能错过优化。

在两万多个OpenMandriva包中,目前只有139个包有与clang相关的补丁,而327个包必须依赖GCC。

如果有兴趣了解更多关于OpenMandriva使用LLVM/Clang作为默认系统编译器的信息,可以通过EuroLLVM的这个PDF幻灯片来了解,同时我们还在等待今年的视频记录。

原文来自:https://www.linuxidc.com/Linux/2019-04/158364.htm

本文地址:https://www.linuxprobe.com/openmandriva-llvm.html编辑:向金平,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/