Skip to content

Instantly share code, notes, and snippets.

@javashin
Created January 3, 2022 13:00
Show Gist options
  • Save javashin/9785c2305d98b2ed7b670fd740923fb3 to your computer and use it in GitHub Desktop.
Save javashin/9785c2305d98b2ed7b670fd740923fb3 to your computer and use it in GitHub Desktop.
git clone https://github.com/llvm/llvm-project.git -b release/13.x llvm_git
mkdir llvm_build && cd llvm_build
export CC="clang-13"
export CXX="clang++-13"
export LD="ld.lld-13"
export AR="llvm-ar-13"
export AS="clang-13"
export NM="llvm-nm-13"
export RANLIB="llvm-ranlib-13"
export STRIP="llvm-strip-13"
export OBJCOPY="llvm-objcopy-13"
export OBJDUMP="llvm-objdump-13"
export HOSTCC="clang-13"
export HOSTLD="ld.lld-13"
export HOSTAR="llvm-ar-13"
export CFLAGS="-march=x86-64 -mtune=generic -falign-functions=32 -flto=thin -fsplit-lto-unit \
-O3 -fno-stack-protector -fomit-frame-pointer -fstrict-aliasing -pipe"
export CXXFLAGS="${CFLAGS}"
export FCFLAGS="${CFLAGS}"
export FFLAGS="${CFLAGS}"
export CPPFLAGS="${CFLAGS}"
export LDFLAGS="-Wl,-O2 -Wl,--as-needed,-z,now -Wl,--thinlto-jobs=1 -Wl,--lto-O2 \
-fuse-ld=lld -Wl,--hash-style=gnu -Wno-all -Wno-extra"
cmake -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=no \
-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON \
-DLLVM_BUILD_RUNTIME=Off -DLLVM_INCLUDE_TESTS=Off -DLLVM_BUILD_TESTS=no \
-DLLVM_OPTIMIZED_TABLEGEN=True -DLLVM_USE_LINKER=lld -DLLVM_ENABLE_LTO=Full \
-DCMAKE_BUILD_TYPE=Release -DLLVM_POLLY_LINK_INTO_TOOLS=ON \
-DCLANG_VENDOR="Blue-Virtual-Dragon" -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON \
-DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly;pstl;flang' \
-DCLANG_DEFAULT_CXX_STDLIB=libc++ -DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_LINKER=lld \
-DCMAKE_CROSSCOMPILING=True -DCLANG_DEFAULT_UNWINDLIB=libunwind -DCLANG_ENABLE_ARCMT=yes \
-DCLANG_ENABLE_STATIC_ANALYZER=yes -DPython3_EXECUTABLE=/usr/bin/python3 \
-DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_EXAMPLES=Off -DLLVM_INCLUDE_BENCHMARKS=Off \
-DLLVM_ENABLE_MODULES=Off -DLLVM_ENABLE_BACKTRACES=Off -DBUILD_SHARED_LIBS=Off -DLLVM_ENABLE_PIC=True \
-DLLVM_TARGETS_TO_BUILD='AArch64;ARM;X86' ../llvm_git/llvm && make -j2
cmake -DCMAKE_INSTALL_PREFIX=/tmp/llvm -P cmake_install.cmake
cp /lib/x86_64-linux-gnu/libtinfo.so.6.2 /tmp/llvm/lib/libtinfo.so.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment