mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
sys-libs/llvm-libunwind: Remove 12.0.0 RCs
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -2,8 +2,4 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
|
||||
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
|
||||
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
|
||||
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
|
||||
DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
|
||||
DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
|
||||
DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846
|
||||
DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16
|
||||
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit cmake-multilib llvm llvm.org python-any-r1
|
||||
|
||||
DESCRIPTION="C++ runtime stack unwinder from LLVM"
|
||||
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="!sys-libs/libunwind"
|
||||
# llvm-6 for new lit options
|
||||
DEPEND="
|
||||
>=sys-devel/llvm-6"
|
||||
BDEPEND="
|
||||
test? ( >=sys-devel/clang-3.9.0
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)"
|
||||
|
||||
LLVM_COMPONENTS=( libunwind libcxx llvm/cmake/modules )
|
||||
LLVM_TEST_COMPONENTS=( libcxxabi )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local libdir=$(get_libdir)
|
||||
|
||||
local mycmakeargs=(
|
||||
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
|
||||
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
|
||||
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
|
||||
-DLLVM_INCLUDE_TESTS=$(usex test)
|
||||
|
||||
# support non-native unwinding; given it's small enough,
|
||||
# enable it unconditionally
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
|
||||
)
|
||||
if use test; then
|
||||
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
|
||||
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
|
||||
|
||||
mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
|
||||
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
build_libcxxabi() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxxabi
|
||||
local mycmakeargs=(
|
||||
-DLIBCXXABI_LIBDIR_SUFFIX=
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||
-DLIBCXXABI_ENABLE_STATIC=ONF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXXABI_INCLUDE_TESTS=OFF
|
||||
|
||||
-DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
|
||||
-DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
build_libcxx() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxx
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxx
|
||||
local mycmakeargs=(
|
||||
-DLIBCXX_LIBDIR_SUFFIX=
|
||||
-DLIBCXX_ENABLE_SHARED=OFF
|
||||
-DLIBCXX_ENABLE_STATIC=ON
|
||||
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXX_CXX_ABI=libcxxabi
|
||||
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
|
||||
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
|
||||
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
|
||||
-DLIBCXX_HAS_GCC_S_LIB=OFF
|
||||
-DLIBCXX_INCLUDE_TESTS=OFF
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# build local copies of libc++ & libc++abi for testing to avoid
|
||||
# circular deps
|
||||
build_libcxxabi
|
||||
build_libcxx
|
||||
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
|
||||
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check-unwind
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# install headers like sys-libs/libunwind
|
||||
doheader "${S}"/include/*.h
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit cmake-multilib llvm llvm.org python-any-r1
|
||||
|
||||
DESCRIPTION="C++ runtime stack unwinder from LLVM"
|
||||
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="!sys-libs/libunwind"
|
||||
# llvm-6 for new lit options
|
||||
DEPEND="
|
||||
>=sys-devel/llvm-6"
|
||||
BDEPEND="
|
||||
test? ( >=sys-devel/clang-3.9.0
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)"
|
||||
|
||||
LLVM_COMPONENTS=( libunwind libcxx llvm/cmake/modules )
|
||||
LLVM_TEST_COMPONENTS=( libcxxabi )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local libdir=$(get_libdir)
|
||||
|
||||
local mycmakeargs=(
|
||||
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
|
||||
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
|
||||
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
|
||||
-DLLVM_INCLUDE_TESTS=$(usex test)
|
||||
|
||||
# support non-native unwinding; given it's small enough,
|
||||
# enable it unconditionally
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
|
||||
)
|
||||
if use test; then
|
||||
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
|
||||
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
|
||||
|
||||
mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
|
||||
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
build_libcxxabi() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxxabi
|
||||
local mycmakeargs=(
|
||||
-DLIBCXXABI_LIBDIR_SUFFIX=
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||
-DLIBCXXABI_ENABLE_STATIC=ONF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXXABI_INCLUDE_TESTS=OFF
|
||||
|
||||
-DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
|
||||
-DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
build_libcxx() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxx
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxx
|
||||
local mycmakeargs=(
|
||||
-DLIBCXX_LIBDIR_SUFFIX=
|
||||
-DLIBCXX_ENABLE_SHARED=OFF
|
||||
-DLIBCXX_ENABLE_STATIC=ON
|
||||
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXX_CXX_ABI=libcxxabi
|
||||
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
|
||||
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
|
||||
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
|
||||
-DLIBCXX_HAS_GCC_S_LIB=OFF
|
||||
-DLIBCXX_INCLUDE_TESTS=OFF
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# build local copies of libc++ & libc++abi for testing to avoid
|
||||
# circular deps
|
||||
build_libcxxabi
|
||||
build_libcxx
|
||||
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
|
||||
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check-unwind
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# install headers like sys-libs/libunwind
|
||||
doheader "${S}"/include/*.h
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit cmake-multilib llvm llvm.org python-any-r1
|
||||
|
||||
DESCRIPTION="C++ runtime stack unwinder from LLVM"
|
||||
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="!sys-libs/libunwind"
|
||||
# llvm-6 for new lit options
|
||||
DEPEND="
|
||||
>=sys-devel/llvm-6"
|
||||
BDEPEND="
|
||||
test? ( >=sys-devel/clang-3.9.0
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)"
|
||||
|
||||
LLVM_COMPONENTS=( libunwind libcxx llvm/cmake/modules )
|
||||
LLVM_TEST_COMPONENTS=( libcxxabi )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local libdir=$(get_libdir)
|
||||
|
||||
local mycmakeargs=(
|
||||
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
|
||||
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
|
||||
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
|
||||
-DLLVM_INCLUDE_TESTS=$(usex test)
|
||||
|
||||
# support non-native unwinding; given it's small enough,
|
||||
# enable it unconditionally
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
|
||||
)
|
||||
if use test; then
|
||||
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
|
||||
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
|
||||
|
||||
mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
|
||||
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
build_libcxxabi() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxxabi
|
||||
local mycmakeargs=(
|
||||
-DLIBCXXABI_LIBDIR_SUFFIX=
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||
-DLIBCXXABI_ENABLE_STATIC=ONF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXXABI_INCLUDE_TESTS=OFF
|
||||
|
||||
-DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
|
||||
-DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
build_libcxx() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxx
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxx
|
||||
local mycmakeargs=(
|
||||
-DLIBCXX_LIBDIR_SUFFIX=
|
||||
-DLIBCXX_ENABLE_SHARED=OFF
|
||||
-DLIBCXX_ENABLE_STATIC=ON
|
||||
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXX_CXX_ABI=libcxxabi
|
||||
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
|
||||
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
|
||||
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
|
||||
-DLIBCXX_HAS_GCC_S_LIB=OFF
|
||||
-DLIBCXX_INCLUDE_TESTS=OFF
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# build local copies of libc++ & libc++abi for testing to avoid
|
||||
# circular deps
|
||||
build_libcxxabi
|
||||
build_libcxx
|
||||
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
|
||||
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check-unwind
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# install headers like sys-libs/libunwind
|
||||
doheader "${S}"/include/*.h
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit cmake-multilib llvm llvm.org python-any-r1
|
||||
|
||||
DESCRIPTION="C++ runtime stack unwinder from LLVM"
|
||||
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="!sys-libs/libunwind"
|
||||
# llvm-6 for new lit options
|
||||
DEPEND="
|
||||
>=sys-devel/llvm-6"
|
||||
BDEPEND="
|
||||
test? ( >=sys-devel/clang-3.9.0
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)"
|
||||
|
||||
LLVM_COMPONENTS=( libunwind libcxx llvm/cmake/modules )
|
||||
LLVM_TEST_COMPONENTS=( libcxxabi )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local libdir=$(get_libdir)
|
||||
|
||||
local mycmakeargs=(
|
||||
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
|
||||
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
|
||||
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
|
||||
-DLLVM_INCLUDE_TESTS=$(usex test)
|
||||
|
||||
# support non-native unwinding; given it's small enough,
|
||||
# enable it unconditionally
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
|
||||
)
|
||||
if use test; then
|
||||
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
|
||||
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
|
||||
|
||||
mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
|
||||
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
build_libcxxabi() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxxabi
|
||||
local mycmakeargs=(
|
||||
-DLIBCXXABI_LIBDIR_SUFFIX=
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||
-DLIBCXXABI_ENABLE_STATIC=ONF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXXABI_INCLUDE_TESTS=OFF
|
||||
|
||||
-DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
|
||||
-DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
build_libcxx() {
|
||||
local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
|
||||
local CMAKE_USE_DIR=${WORKDIR}/libcxx
|
||||
local BUILD_DIR=${BUILD_DIR}/libcxx
|
||||
local mycmakeargs=(
|
||||
-DLIBCXX_LIBDIR_SUFFIX=
|
||||
-DLIBCXX_ENABLE_SHARED=OFF
|
||||
-DLIBCXX_ENABLE_STATIC=ON
|
||||
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
-DLIBCXX_CXX_ABI=libcxxabi
|
||||
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
|
||||
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
|
||||
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
|
||||
-DLIBCXX_HAS_GCC_S_LIB=OFF
|
||||
-DLIBCXX_INCLUDE_TESTS=OFF
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# build local copies of libc++ & libc++abi for testing to avoid
|
||||
# circular deps
|
||||
build_libcxxabi
|
||||
build_libcxx
|
||||
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
|
||||
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check-unwind
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# install headers like sys-libs/libunwind
|
||||
doheader "${S}"/include/*.h
|
||||
}
|
||||
Reference in New Issue
Block a user