惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
B
Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
Jina AI
Jina AI
Vercel News
Vercel News
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The Cloudflare Blog
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
腾讯CDC

Cocoa

Untitled | Cocoa PicoBf: A brainf**k lang REPL environment for Pico Pi My Virtualization Setup | Cocoa Doodles | Cocoa Hardware UART communication between Raspberry Pi 4 and Arduino Micro The first amazing thing in 2021 OK Google, set Telegram as my YouTube music player! Record YouTube Live Stream | Cocoa 可能隨時咕咕咕掉的 NLP 項目(1)—— 抓取 YouTube Live Chat NextDest | Cocoa macOS version of Twitter Image Saver Rust Learning from Zero (26) —— Save Twitter Images Notes on Differential Equations (4) —— Step Function $H(t)$ and Delta Function $\delta(t)$ Notes on Differential Equations (3) —— $\frac{dy}{dt}=ay+q(t)$
Compile LLVM with OpenMP on macOS and Linux
Cocoa · 2021-01-28 · via Cocoa

This post is just supposed to be my personal note. But I will be happy if this can help you in some way!

Prerequisites

# macOS
brew install libomp cmake

# Ubuntu/Debian
sudo apt-get install -y libomp-dev cmake

Download LLVM source code

# You can check the latest LLVM verison at llvm.org 
export LLVM_VER=11.0.0
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/llvm-${LLVM_VER}.src.tar.xz" -O "llvm-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/clang-${LLVM_VER}.src.tar.xz" -O "clang-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/compiler-rt-${LLVM_VER}.src.tar.xz" -O "compiler-rt-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/libcxx-${LLVM_VER}.src.tar.xz" -O "libcxx-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/libcxxabi-${LLVM_VER}.src.tar.xz" -O "libcxxabi-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/lld-${LLVM_VER}.src.tar.xz" -O "lld-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/lldb-${LLVM_VER}.src.tar.xz" -O "lldb-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/openmp-${LLVM_VER}.src.tar.xz" -O "openmp-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/polly-${LLVM_VER}.src.tar.xz" -O "polly-${LLVM_VER}.src.tar.xz"
wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/clang-tools-extra-${LLVM_VER}.src.tar.xz" -O "clang-tools-extra-${LLVM_VER}.src.tar.xz"

tar xf "llvm-${LLVM_VER}.src.tar.xz"
tar xf "clang-${LLVM_VER}.src.tar.xz" && mv "clang-${LLVM_VER}.src" clang
tar xf "compiler-rt-${LLVM_VER}.src.tar.xz" && mv "compiler-rt-${LLVM_VER}.src" compiler-rt
tar xf "libcxx-${LLVM_VER}.src.tar.xz" && mv "libcxx-${LLVM_VER}.src" libcxx
tar xf "libcxxabi-${LLVM_VER}.src.tar.xz" && mv "libcxxabi-${LLVM_VER}.src" libcxxabi
tar xf "lld-${LLVM_VER}.src.tar.xz" && mv "lld-${LLVM_VER}.src" lld
tar xf "lldb-${LLVM_VER}.src.tar.xz" && mv "lldb-${LLVM_VER}.src" lldb
tar xf "openmp-${LLVM_VER}.src.tar.xz" && mv "openmp-${LLVM_VER}.src" openmp
tar xf "polly-${LLVM_VER}.src.tar.xz" && mv "polly-${LLVM_VER}.src" polly
tar xf "clang-tools-extra-${LLVM_VER}.src.tar.xz" && mv "clang-tools-extra-${LLVM_VER}.src" clang-tools-extra

export LLVM_SRC="`pwd`/llvm-${LLVM_VER}.src"
cd "${LLVM_SRC}" && mkdir -p build && cd build

Configure and compile

# macOS WITH Xcode toolchain enabled
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_FFI=ON \
    -DLLVM_CREATE_XCODE_TOOLCHAIN=ON \
    -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxx;libcxxabi;lld;lldb;openmp;polly;clang-tools-extra;" \
    ..

# macOS WITHOUT Xcode toolchain
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_FFI=ON \
    -DLLVM_CREATE_XCODE_TOOLCHAIN=OFF \
    -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxx;libcxxabi;lld;lldb;openmp;polly;clang-tools-extra;" \
    ..

# Linux
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_FFI=ON \
    -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxx;libcxxabi;lld;lldb;openmp;polly;clang-tools-extra;" \
    ..

# Compile
ninja

Install

# macOS WITH Xcode toolchain enabled
sudo mkdir -p /usr/local/Toolchains
sudo chmod a+w /usr/local/Toolchains
ninja install-xcode-toolchain
sudo ln -s /usr/local/Toolchains/LLVM${LLVM_VER}.xctoolchain /Applications/Xcode.app/Contents/Developer/Toolchains
# copy arc related libraries from default toolchain to ours
sudo cp -rf /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc /Applications/Xcode.app/Contents/Developer/Toolchains/LLVM${LLVM_VER}.xctoolchain/usr/lib/

# macOS WITHOUT Xcode toolchain
# and Linux
sudo ninja install

Test

いまが最高!