$ conda create -n llvm-dev cmake python ninja ccache lld
$ conda activate llvm-dev
$ cmake -GNinja -Bbuild -Hllvm \
-DLLVM_ENABLE_PROJECTS="clang" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=true \
-DLLVM_CCACHE_BUILD=true \
-DLLVM_ENABLE_LLD=On \
-DLLVM_PARALLEL_COMPILE_JOBS=6 \
-DLLVM_PARALLEL_LINK_JOBS=1
$ cmake -GNinja -S llvm -B build \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD=Native \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_PARALLEL_COMPILE_JOBS=10 \
-DLLVM_PARALLEL_LINK_JOBS=1
$ # Build LLVM
$ ninja -Cbuild
$ # to run tests
$ ninja -Cbuild check-llvm
Created
April 29, 2025 16:55
-
-
Save gxyd/ea46bf72bdee94d8f0b253b2e1b6be68 to your computer and use it in GitHub Desktop.
Author
Author
Author
$ cmake -G Ninja -S llvm -B build \
-DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt;clang-tools-extra" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_PARALLEL_COMPILE_JOBS=10 \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_ENABLE_LIBCXX=ON \
-DLLVM_ENABLE_LTO=OFF
$ ninja -CbuildTrying the above set of command for clang related issues.
Author
Build with the following commands to try to fix the issue: llvm/llvm-project#121952
$ pwd
/Users/gxyd/OpenSource/llvm-project/build
$ cmake -G Ninja -S ../llvm \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_USE_SANITIZER=Address \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_PARALLEL_COMPILE_JOBS=10 \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
$ ninja clang clang-fuzzer
Author
Point VSCode to the compile database:
through command palette:
C/C++: Edit Configurations (UI)
→ Compile Commands → set build/compile_commands.json (try full path like `/Users/gxyd/OpenSource/llvm-project/build/compile_commands.json` if needed)
Author
Latest commands used to build LLVM:
$ cmake -G Ninja -S ../llvm \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_USE_SANITIZER=Address \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_PARALLEL_COMPILE_JOBS=10 \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++I now need to list whether these build commands worked or not?
and confirm whether the clang-fuzzer version can be confirmed or not?
(llvm-dev) *[main][~/OpenSource/llvm-project]$ ./build/bin/clang-fuzzer --version
*** This tool was not linked to libFuzzer.
*** No fuzzing will be performed.the above is what I got a little earlier.
I need to check what happens with the below set of commands:
# Reconfigure to remove compiler-rt and add ASan
$ cmake -G Ninja -S ../llvm \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_USE_SANITIZER=Address \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_PARALLEL_COMPILE_JOBS=10 \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
$ ninja clang clang-fuzzer
Author
I'm now trying to fix the issue: llvm/llvm-project#55026, for which I'm building LLVM with the below commands:
(llvm-dev) [main][~/OpenSource/llvm-project]$ mkdir build
(llvm-dev) [main][~/OpenSource/llvm-project]$ cd build
(llvm-dev) [main][~/OpenSource/llvm-project/build]$ cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
../llvm
(llvm-dev) [main][~/OpenSource/llvm-project/build]$ ninja clang-tidy
[306/3089] Configuring NATIVE LLVM...
Author
I'm now trying to fix the issue: llvm/llvm-project#55026, for which I'm building LLVM with the below commands:
(llvm-dev) [main][~/OpenSource/llvm-project]$ mkdir build
(llvm-dev) [main][~/OpenSource/llvm-project]$ cd build
(llvm-dev) [main][~/OpenSource/llvm-project/build]$ cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
-DLLVM_TARGETS_TO_BUILD="AArch64" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
../llvm
(llvm-dev) [main][~/OpenSource/llvm-project/build]$ ninja clang-tidy
[306/3089] Configuring NATIVE LLVM...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

To work on the issue: llvm/llvm-project#129401, I've used the below build commands for llvm-project