summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/ChangeLog6
-rw-r--r--sys-libs/libcxx/files/cxxrt.patch26
-rw-r--r--sys-libs/libcxx/libcxx-9999.ebuild10
3 files changed, 37 insertions, 5 deletions
diff --git a/sys-libs/libcxx/ChangeLog b/sys-libs/libcxx/ChangeLog
index d6d185a39a16..4b1f7a0a6c3a 100644
--- a/sys-libs/libcxx/ChangeLog
+++ b/sys-libs/libcxx/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-libs/libcxx
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.1 2012/05/24 03:01:42 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.2 2012/05/28 13:59:52 aballier Exp $
+
+ 28 May 2012; Alexis Ballier <aballier@gentoo.org> libcxx-9999.ebuild,
+ +files/cxxrt.patch:
+ build it on top of libcxxrt as done in FreeBSD
*libcxx-9999 (24 May 2012)
*libcxx-0.0_p20120523 (24 May 2012)
diff --git a/sys-libs/libcxx/files/cxxrt.patch b/sys-libs/libcxx/files/cxxrt.patch
new file mode 100644
index 000000000000..c64d8b3b35d7
--- /dev/null
+++ b/sys-libs/libcxx/files/cxxrt.patch
@@ -0,0 +1,26 @@
+Index: lib/CMakeLists.txt
+===================================================================
+--- lib/CMakeLists.txt (revision 157576)
++++ lib/CMakeLists.txt (working copy)
+@@ -36,7 +36,7 @@
+ append_if(libraries LIBCXX_HAS_C_LIB c)
+ append_if(libraries LIBCXX_HAS_M_LIB m)
+ append_if(libraries LIBCXX_HAS_RT_LIB rt)
+-append_if(libraries LIBCXX_HAS_GCC_S_LIB gcc_s)
++append_if(libraries LIBCXX_HAS_LIBCXXRT cxxrt)
+
+ target_link_libraries(cxx ${libraries})
+
+Index: cmake/config-ix.cmake
+===================================================================
+--- cmake/config-ix.cmake (revision 157576)
++++ cmake/config-ix.cmake (working copy)
+@@ -26,7 +26,7 @@
+ check_library_exists(c printf "" LIBCXX_HAS_C_LIB)
+ check_library_exists(m ccos "" LIBCXX_HAS_M_LIB)
+ check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB)
+-check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXX_HAS_GCC_S_LIB)
++check_library_exists(cxxrt __cxa_get_globals "" LIBCXX_HAS_LIBCXXRT)
+
+ # Check C++0x features
+ if (LIBCXX_ENABLE_CXX0X)
diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index f2e52dae7c11..d4fa34224b51 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/libcxx-9999.ebuild,v 1.1 2012/05/24 03:01:42 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/libcxx-9999.ebuild,v 1.2 2012/05/28 13:59:52 aballier Exp $
EAPI=4
@@ -8,7 +8,7 @@ ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-inherit cmake-utils ${SCM} base
+inherit cmake-utils ${SCM} base flag-o-matic
DESCRIPTION="New implementation of the C++ standard library, targeting C++0X"
HOMEPAGE="http://libcxx.llvm.org/"
@@ -27,12 +27,13 @@ else
fi
IUSE=""
-RDEPEND=""
+RDEPEND="sys-libs/libcxxrt"
DEPEND="${RDEPEND}
sys-devel/clang
app-arch/xz-utils"
-PATCHES=( "${FILESDIR}/multilib.patch" )
+PATCHES=( "${FILESDIR}/multilib.patch"
+ "${FILESDIR}/cxxrt.patch" )
DOCS=( "CREDITS.TXT" )
src_prepare() {
@@ -40,6 +41,7 @@ src_prepare() {
}
src_configure() {
+ append-cppflags "-I/usr/include/libcxxrt -DLIBCXXRT"
# Needs to be built with clang. gcc-4.6.3 fails at least.
# TODO: cross-compile ?
export CC=clang