相关疑难解决方法(0)

如何为 Apple M1 构建 LLVM (clang,clang++)?

我正在尝试构建 LLVM 编译器,以便我可以在 Apple M1 上启用 OpenMP。我正在使用 LLVM 开发树,(因为我最近看到一些 OpenMP 运行时对此进行了处理)。

我已经结束了这个脚本来调用 cmake:

# Xcode, Ninja
BUILD_SYSTEM=Ninja
BUILD_TAG=Ninja

cmake ../llvm \
      -G$BUILD_SYSTEM -B ${BUILD_TAG}_build \
      -DCMAKE_OSX_ARCHITECTURES='arm64' \
      -DCMAKE_C_COMPILER=`which clang` \
      -DCMAKE_CXX_COMPILER=`which clang++` \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
      -DCMAKE_INSTALL_PREFIX=$HOME/software/clang-12.0.0/arm64 \
      -DLLVM_ENABLE_WERROR=FALSE \
      -DLLVM_TARGETS_TO_BUILD='AArch64' \
      -DLLVM_ENABLE_PROJECTS='clang;openmp,polly' \
      -DLLVM_DEFAULT_TARGET_TRIPLE='aarch64-apple-darwin20.1.0'
Run Code Online (Sandbox Code Playgroud)

这里使用的编译器是

$ /usr/bin/clang --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: arm64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Run Code Online (Sandbox Code Playgroud)

然后 ninja 可以成功构建 clang、clang++ 和 OpenMp 运行时并安装它们。(很简单,针对 Arms64 的 Arm64 图像)

$ file ~/software/clang-12.0.0/arm64/bin/clang
/Users/jcownie/software/clang-12.0.0/arm64/bin/clang: Mach-O 64-bit executable …
Run Code Online (Sandbox Code Playgroud)

llvm clang macos-big-sur apple-silicon

5
推荐指数
2
解决办法
6948
查看次数

标签 统计

apple-silicon ×1

clang ×1

llvm ×1

macos-big-sur ×1