Meson:根据目标更改C编译器



我正在使用Meson构建系统构建一个同时支持32位和64位的操作系统。我刚开始添加对64位的支持,但遇到了一个问题。当我使用64位C编译器时,kernelstage2都会使用该编译器进行编译。这就是问题所在,stage2文件夹必须使用32位C编译器编译,而不是64位编译器。有什么办法可以在介子中实现这一点吗?我应该换成CMake吗?

哪个问题,stage2文件夹,必须使用32位C编译器编译,而不是64位编译器。

两个构建系统都不允许您在单个构建中执行此操作。。。CMake和Meson都有一个根深蒂固的假设,即每种语言1有一个编译器。如果需要使用多个编译器,则需要将构建拆分为多个独立的项目。你如何组织构建它们取决于你。。。对于CMake,我建议使用带有ExternalProject的超级构建。对于Meson,我不确定标准方法是什么。

1。技术上Meson也允许您定义主机/本机编译器(用于编译构建时工具(,但它不适合这种情况,因为主机可能不是任何一个目标,并且您可能最终想要使用三个或更多的编译器(例如ARM(

我应该切换到CMake吗?

可能不会,因为你已经有了与Meson合作的东西。但是,如果您的构建规则变得足够复杂,您可能会发现CMake编写函数和抽象的能力是一个比责任更大的好处。

相关内容

  • 没有找到相关文章

最新更新