Gentoo LLVM_TARGETS not Working?
+
+Recently, I would like to test switching from gcc
to clang
on my Gentoo VM.
+Because if so, I can install Rust
and Zig
from source
+without worrying about adding the HUGE clang
dependency that won't be used by other packages.
+Later I will remove gcc
:)
+
1. problem
+
+First I want to make LLVM not targeting too many platform, but changing LLVM_TARGETS
don't work
+
[ebuild N ] sys-devel/llvm-15.0.3:15::gentoo USE="binutils-plugin libffi +ncurses -debug -doc -exegesis -libedit -test -verify-sig -xar -xml -z3 -zstd" +LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) +(Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE) (WebAssembly) (X86) +(XCore) (-ARC) (-CSKY) (-DirectX) (-LoongArch) (-M68k) (-SPIRV)" 241 KiB ++
2. and I found [solved] LLVM_TARGETS not respected?(Mar 2022) on gentoo forum
+
+It seems that global LLVM_TARGETS
setting is not respected,
+and flags such as llvm_targets_AArch64
, llvm_targets_ARM
, are no longer there.
+They're now forced by default as a precaution.
+
3. solution
+3.1. add something like */* -llvm_targets_AArch64
into /etc/portage/profile/package.use.force
+
+I excluded all targets exept for X86, but still 3 left: AMDGPU, BPF, NVPTX
+
3.2. so I also add sys-devel/llvm -llvm_targets_AMDGPU -llvm_targets_BPF -llvm_targets_NVPTX
in /etc/portage/package.use/
+3.3. and don't forget to add that three excluder to clang or other compiler that uses llvm
+4. finally I got this:
+[ebuild N ] sys-devel/llvm-15.0.3:15::gentoo USE="binutils-plugin libffi +ncurses -debug -doc -exegesis -libedit -test -verify-sig -xar -xml -z3 -zstd" +LLVM_TARGETS="(X86) -AArch64 -AMDGPU (-ARC) -ARM -AVR -BPF (-CSKY) (-DirectX) +-Hexagon -Lanai (-LoongArch) (-M68k) -MSP430 -Mips -NVPTX -PowerPC -RISCV +(-SPIRV) -Sparc -SystemZ -VE -WebAssembly -XCore" 241 KiB ++
+in the end, Gentoo cheatsheet and Gentoo Wiki: Clang could be useful.
+