Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcxx/
Date: Fri, 07 Oct 2016 08:41:38
Message-Id: 1475829681.5d5f3ac1f6d24c6893be04c9f1637a408b62c713.mgorny@gentoo
1 commit: 5d5f3ac1f6d24c6893be04c9f1637a408b62c713
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Thu Oct 6 15:19:42 2016 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri Oct 7 08:41:21 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d5f3ac1
7
8 sys-libs/libcxx: Fix ldscripts to include gcc EH lib for USE=-unwind
9
10 sys-libs/libcxx/libcxx-3.9.0.ebuild | 7 ++-----
11 sys-libs/libcxx/libcxx-9999.ebuild | 7 ++-----
12 2 files changed, 4 insertions(+), 10 deletions(-)
13
14 diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
15 index 656a979..a92f0f8 100644
16 --- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
17 +++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
18 @@ -161,12 +161,10 @@ gen_static_ldscript() {
19 mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
20 # Generate libc++.a ldscript for inclusion of its dependencies so that
21 # clang++ -stdlib=libc++ -static works out of the box.
22 - local deps="libc++_static.a ${cxxabi_lib}"
23 + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
24 # On Linux/glibc it does not link without libpthread or libdl. It is
25 # fine on FreeBSD.
26 use elibc_glibc && deps+=" libpthread.a libdl.a"
27 - # unlike libgcc_s, libunwind is not implicitly linked
28 - use libunwind && deps+=" libunwind.a"
29
30 gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
31 }
32 @@ -177,8 +175,7 @@ gen_shared_ldscript() {
33 local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
34
35 mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
36 - local deps="libc++_shared.so ${cxxabi_lib}"
37 - use libunwind && deps+=" libunwind.so"
38 + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
39
40 gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
41 }
42
43 diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
44 index a5e7c7f..bbc218b 100644
45 --- a/sys-libs/libcxx/libcxx-9999.ebuild
46 +++ b/sys-libs/libcxx/libcxx-9999.ebuild
47 @@ -158,12 +158,10 @@ gen_static_ldscript() {
48 mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
49 # Generate libc++.a ldscript for inclusion of its dependencies so that
50 # clang++ -stdlib=libc++ -static works out of the box.
51 - local deps="libc++_static.a ${cxxabi_lib}"
52 + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
53 # On Linux/glibc it does not link without libpthread or libdl. It is
54 # fine on FreeBSD.
55 use elibc_glibc && deps+=" libpthread.a libdl.a"
56 - # unlike libgcc_s, libunwind is not implicitly linked
57 - use libunwind && deps+=" libunwind.a"
58
59 gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
60 }
61 @@ -174,8 +172,7 @@ gen_shared_ldscript() {
62 local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
63
64 mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
65 - local deps="libc++_shared.so ${cxxabi_lib}"
66 - use libunwind && deps+=" libunwind.so"
67 + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
68
69 gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
70 }