上周苹果宣布未来 Mac 将会采用基于 ARM 架构的自研芯片后,部分开源项目已经开始为未来支持 ARM64 的 macOS 11 做准备。
虽然首批搭载苹果 64 位 ARM 芯片的 MacBook/Mac 最快也要到年底才会面向消费者提供,并且在这之前苹果只向开发者提供数量有限的开发机,但部分开源项目已经在为 64 位 ARM Mac 的构建做必要的构建系统更改和其他准备工作。
这项工作会从一些假设开始,在为 macOS/Darwin 进行构建时考虑的是 x86_64 架构,但在某些情况下,可以更好地模块化其逻辑,就像苹果用类似的芯片支持 iOS,可据此参考如要支持未来的 Mac 将会包含哪方面的变化。此外还可以围绕二进制文件开始改变,以支持同时支持 x86_64 和 ARM64/AArch64 的 macOS 构建。
苹果已经开始将 ARM / macOS 11 的部分变化提交给上游 LLVM/Clang,后者是该公司的默认编译器工具链。LLVM/Clang 编译器堆栈也合并了苹果的提交,包括 ARM64 macOS 对 Compiler-RT 和其他最近的 commit 的支持。由于 LLVM/Clang 是 macOS 的默认编译器,也为 Xcode 提供支持,苹果会全力推进让所有必要的支持变更快速提交到上游。
LibreOffice 是已经在为支持面向 macOS ARM64 构建而做准备的知名开源项目之一,另一个例子是苹果一直在进行的对 OpenJDK 的修改。
还有许多较小的开源项目,例如 TextStory 和 Game Boy 模拟器 SameBoy 也已经进行了修改,以支持 macOS ARM64 版本。