sys-devel/llvm: Use LLVM_TARGETS flags
authorMichał Górny <mgorny@gentoo.org>
Sat, 24 Sep 2016 19:37:11 +0000 (21:37 +0200)
committerMichał Górny <mgorny@gentoo.org>
Thu, 29 Sep 2016 14:12:57 +0000 (16:12 +0200)
sys-devel/llvm/llvm-9999.ebuild

index 4c8d6da5ab84d56914e20f38212cd8a8c259a7a4..526f2530464f8d6ef7dfe2ea5959b5b6ee60f5ba 100644 (file)
@@ -18,11 +18,16 @@ SRC_URI=""
 EGIT_REPO_URI="http://llvm.org/git/llvm.git
        https://github.com/llvm-mirror/llvm.git"
 
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+       NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
 LICENSE="UoI-NCSA"
 SLOT="0/${PV%.*}"
 KEYWORDS=""
 IUSE="debug +doc gold libedit +libffi multitarget ncurses ocaml test
-       video_cards_radeon elibc_musl kernel_Darwin"
+       elibc_musl kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
 
 RDEPEND="
        sys-libs/zlib:0=
@@ -49,7 +54,9 @@ DEPEND="${RDEPEND}
        !!<dev-python/configparser-3.3.0.2
        ${PYTHON_DEPS}"
 
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+       || ( ${ALL_LLVM_TARGETS[*]} )
+       multitarget? ( ${ALL_LLVM_TARGETS[*]} )"
 
 pkg_pretend() {
        # in megs
@@ -121,14 +128,6 @@ src_prepare() {
 }
 
 multilib_src_configure() {
-       local targets
-       if use multitarget; then
-               targets=all
-       else
-               targets='host;BPF'
-               use video_cards_radeon && targets+=';AMDGPU'
-       fi
-
        local ffi_cflags ffi_ldflags
        if use libffi; then
                ffi_cflags=$(pkg-config --cflags-only-I libffi)
@@ -140,7 +139,7 @@ multilib_src_configure() {
                -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
 
                -DBUILD_SHARED_LIBS=ON
-               -DLLVM_TARGETS_TO_BUILD="${targets}"
+               -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
                -DLLVM_BUILD_TESTS=$(usex test)
 
                -DLLVM_ENABLE_FFI=$(usex libffi)