diff options
author | Michał Górny <mgorny@gentoo.org> | 2016-10-06 17:19:42 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2016-10-07 10:41:21 +0200 |
commit | 5d5f3ac1f6d24c6893be04c9f1637a408b62c713 (patch) | |
tree | 73f9b9d3794b8ca6be0893c203c40bffb447db5e /sys-libs | |
parent | sys-process/procps: Added epatch_user (bug #592094). (diff) | |
download | gentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.tar.gz gentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.tar.bz2 gentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.zip |
sys-libs/libcxx: Fix ldscripts to include gcc EH lib for USE=-unwind
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/libcxx/libcxx-3.9.0.ebuild | 7 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-9999.ebuild | 7 |
2 files changed, 4 insertions, 10 deletions
diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild index 656a9799a33d..a92f0f8091ab 100644 --- a/sys-libs/libcxx/libcxx-3.9.0.ebuild +++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild @@ -161,12 +161,10 @@ gen_static_ldscript() { mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die # Generate libc++.a ldscript for inclusion of its dependencies so that # clang++ -stdlib=libc++ -static works out of the box. - local deps="libc++_static.a ${cxxabi_lib}" + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" # On Linux/glibc it does not link without libpthread or libdl. It is # fine on FreeBSD. use elibc_glibc && deps+=" libpthread.a libdl.a" - # unlike libgcc_s, libunwind is not implicitly linked - use libunwind && deps+=" libunwind.a" gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die } @@ -177,8 +175,7 @@ gen_shared_ldscript() { local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die - local deps="libc++_shared.so ${cxxabi_lib}" - use libunwind && deps+=" libunwind.so" + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die } diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild index a5e7c7fc2575..bbc218b36af3 100644 --- a/sys-libs/libcxx/libcxx-9999.ebuild +++ b/sys-libs/libcxx/libcxx-9999.ebuild @@ -158,12 +158,10 @@ gen_static_ldscript() { mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die # Generate libc++.a ldscript for inclusion of its dependencies so that # clang++ -stdlib=libc++ -static works out of the box. - local deps="libc++_static.a ${cxxabi_lib}" + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" # On Linux/glibc it does not link without libpthread or libdl. It is # fine on FreeBSD. use elibc_glibc && deps+=" libpthread.a libdl.a" - # unlike libgcc_s, libunwind is not implicitly linked - use libunwind && deps+=" libunwind.a" gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die } @@ -174,8 +172,7 @@ gen_shared_ldscript() { local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die - local deps="libc++_shared.so ${cxxabi_lib}" - use libunwind && deps+=" libunwind.so" + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die } |