lld-8.0.1.ebuild (1839B)
1 # Copyright 1999-2019 Gentoo Authors 2 # Distributed under the terms of the GNU General Public License v2 3 4 EAPI=6 5 6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} 7 # (needed due to CMAKE_BUILD_TYPE != Gentoo) 8 CMAKE_MIN_VERSION=3.7.0-r1 9 PYTHON_COMPAT=( python2_7 ) 10 11 inherit cmake-utils llvm multiprocessing python-any-r1 12 13 MY_P=${P/_/}.src 14 LLVM_P=llvm-${PV/_/}.src 15 16 DESCRIPTION="The LLVM linker (link editor)" 17 HOMEPAGE="https://llvm.org/" 18 SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz 19 test? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LLVM_P}.tar.xz )" 20 21 LICENSE="UoI-NCSA" 22 SLOT="0" 23 KEYWORDS="amd64 arm arm64 ppc64 x86" 24 IUSE="test" 25 RESTRICT="!test? ( test )" 26 27 RDEPEND="~sys-devel/llvm-${PV}" 28 DEPEND="${RDEPEND} 29 test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )" 30 31 PATCHES=( 32 "${FILESDIR}/lld-8.0-u3.patch" 33 ) 34 35 S=${WORKDIR}/${MY_P} 36 37 # least intrusive of all 38 CMAKE_BUILD_TYPE=RelWithDebInfo 39 40 python_check_deps() { 41 has_version "dev-python/lit[${PYTHON_USEDEP}]" 42 } 43 44 pkg_setup() { 45 LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup 46 use test && python-any-r1_pkg_setup 47 } 48 49 src_unpack() { 50 einfo "Unpacking ${MY_P}.tar.xz ..." 51 tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die 52 53 if use test; then 54 einfo "Unpacking parts of ${LLVM_P}.tar.xz ..." 55 tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \ 56 "${LLVM_P}"/utils/{lit,unittest} || die 57 mv "${LLVM_P}" llvm || die 58 fi 59 } 60 61 src_configure() { 62 local mycmakeargs=( 63 -DBUILD_SHARED_LIBS=ON 64 65 -DLLVM_INCLUDE_TESTS=$(usex test) 66 ) 67 use test && mycmakeargs+=( 68 -DLLVM_BUILD_TESTS=ON 69 -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" 70 -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" 71 -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" 72 ) 73 74 cmake-utils_src_configure 75 } 76 77 src_test() { 78 cmake-utils_src_make check-lld 79 }