diff options
author | Alexis Ballier <aballier@gentoo.org> | 2013-07-03 21:17:24 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2013-07-03 21:17:24 +0000 |
commit | 719ec7b2c007b82d430a1eeb3581b344cf506329 (patch) | |
tree | 434a3bc4eddcceb88598a8dedeeae8039d54f509 /sys-libs | |
parent | Fix indenting (diff) | |
download | historical-719ec7b2c007b82d430a1eeb3581b344cf506329.tar.gz historical-719ec7b2c007b82d430a1eeb3581b344cf506329.tar.bz2 historical-719ec7b2c007b82d430a1eeb3581b344cf506329.zip |
Use a simple Makefile instead of cmake for building it and drop our patches. It no longer needs to be built with clang.
Package-Manager: portage-2.2.0_alpha186/cvs/Linux x86_64
Manifest-Sign-Key: 0x160F534A
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/libcxx/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/libcxx/Manifest | 11 | ||||
-rw-r--r-- | sys-libs/libcxx/files/Makefile | 38 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-9999.ebuild | 66 |
4 files changed, 78 insertions, 44 deletions
diff --git a/sys-libs/libcxx/ChangeLog b/sys-libs/libcxx/ChangeLog index def2890458e7..cd8612ec5d53 100644 --- a/sys-libs/libcxx/ChangeLog +++ b/sys-libs/libcxx/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-libs/libcxx # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.22 2013/07/03 18:38:26 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.23 2013/07/03 21:17:16 aballier Exp $ + + 03 Jul 2013; Alexis Ballier <aballier@gentoo.org> libcxx-9999.ebuild, + +files/Makefile: + Use a simple Makefile instead of cmake for building it and drop our patches. + It no longer needs to be built with clang. 03 Jul 2013; Alexis Ballier <aballier@gentoo.org> libcxx-9999.ebuild: inherit base before subversion to get a correct src_unpack, bug #475598 by diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 82b1f714993b..24bea406aeff 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -1,6 +1,7 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX Makefile 874 SHA256 ba99d3b7b98ed88a64f8370ba2d90e245f8e5ea9bfe302382ef8eeded0ec00b4 SHA512 96eef2e897075bc7d9fc799ce6c54f6a33ee917efd5666376ac578cb16e15d965205630dbd076f92a3a7091d58ecc235e37bc327c211bf3594244981f089135f WHIRLPOOL 0680b69fdc46c0d6fac01fc2fa0b93ff62d167a03b3ce1cc80fbe57ff04356f5ab4e71f0daec517e629697d5e34f295b66e8263f7506eaa347a500b27442933d AUX cxxrt.patch 1018 SHA256 4792b8c7079c00fef105ff1209591d8ade274cf258b87ac21fad90d57af7a7f1 SHA512 6b8b0860b6e8e226982854f1d74b0d12c7199d32f53c9ba93ded77a12c3922553611d81ff226cddcf72f31634c69d5457ef10f88a8eb064e2c2f7fd156644652 WHIRLPOOL 2dfc5a586501b13f00fcea4717057e513590bc856d79ceeff05cb5ff476f4957508ea230cc731afdd3ad263331e4392d90e4b97762074a0c388d1b5f43228a2c AUX multilib.patch 452 SHA256 16a64b3f0d81da0fc99dcb71cf5f7f75f7bb08c827cd329a1251e21363449d14 SHA512 eb8a023589321e13e24e95a1595578a6f63431f24c67b24ffe49a486ecd05323b6b587dec7c8a822693d618ef1da440432d36cc4d8ed4d8ab31c2288d501b8da WHIRLPOOL 2b522432086ebef6e48745d775dacacf3ed6adb5ec6e572f68b1e70963740b992a020ece95b2801dbbebb2632f297beb06df4eb70840a76615a61380627cf384 AUX prepare_snapshot.sh 427 SHA256 9ebf22257a2e296dee41a56b0a721cd1ba459c620009ca8422ba812515ff726f SHA512 ebac2a467f8b1dfb68f1dc46a35f8294d1cf74b70be2a008217fa13b3366ddf4a9f2ebbe611cd63824f42305c5c0304aac2f46386b2956c9e07d82d5d984b435 WHIRLPOOL 232a60d6a22f50c424ec9cf6f325bbb4e8e96815ba9dffdad0a5b1b872b19d20126d316ced71956978eb5ce098f72584d21104c14e232330b3893a73e4c3c358 @@ -9,13 +10,13 @@ DIST libcxx-0.0_p20130531.tar.xz 804716 SHA256 41c3d40d37378f4d3f065f884df6b3e0c EBUILD libcxx-0.0_p20130218.ebuild 1762 SHA256 73ec38dcc52bb2e35172dcb99ae667a976ade6a672b6c6e0e3e503460866b3ae SHA512 57abd59e833f5594b19505363e492efaef70872d0e8e31d8fca1667380f21fe67d266b6b7dab1a6b3aeb906039d93e51081da85b0c43e1f4e1c4f65b3d4d75f7 WHIRLPOOL 94de3f70ba4083e95b85a81d3518c5d0af5655547f389cc87ed917e424b22e671850191efaf3bafc997b8d24c569ec6b39b6d72886c9e75c570d86e451264de8 EBUILD libcxx-0.0_p20130531-r1.ebuild 4125 SHA256 bf5a4d84369351c86aaf51d9ba4f530eac8427106db936456fbb0517c9ae7372 SHA512 f6e7c455280a3bf30fc9378299b10dbcde89f7d85850c7644632be9052d3e3bfac167f47a2a1c67e647783152b3d68c3d30f8aface2a1eaa5e330f17d9a56a7f WHIRLPOOL bda77f7a7365f887257d3f6e09f537b469baddbdd77a03763d49da750f0ec43450d2bc4aff4f39b80188a26ac587710db604c346d78967ca591674714598d7e5 EBUILD libcxx-0.0_p20130531.ebuild 2872 SHA256 46ec7affff2212776a32ee9c4879016f8b07cf942f55f45e374c5594ae48d5e4 SHA512 63808230eff4b71bec89e003c89987da83429bdaf5975b257860ed0a48dc0a6b7c9de409e5783a0c87d2b67b9e112cc9d90e74cba46629fbb35960b5e98234db WHIRLPOOL b9497c69346d2e3f4220bdb545373f2a9012bc6e7da8c23a97e4ac8fb54d482c0e0d7d898c53e0e10fdb907d7a44552d1f5fd166c02c7111044ceced747edad2 -EBUILD libcxx-9999.ebuild 4114 SHA256 d248ab826b69827e31460da978f4de3392a372c811f59cc706ebfbff017cab7b SHA512 693f722eb91a7ff03e26b1dc2e45a8858d79cbb3847a81441b932328c576de0429ade3fe06f213da6e0d90d505770831b15c2f5ee21283ff3e474f0687067fd2 WHIRLPOOL 72bfbbd4d02992ec0078ca6a089f9c1e485faad02eb31e815b3426b9e6f0e8f5c92aafa22e656373f4826b677cb6aacf705c3461747b971dd987fe35f64d4549 -MISC ChangeLog 3630 SHA256 42f66f836f3a7c52029f41948625eb0d7efc66965d98ad289249553fa327447b SHA512 14faddf34908cc5f3627bf74cb9d2215117f4607d9a9fff5fb864948a08a04f1ad31edaa1f6b4070f4b3e03ef324d829d13c5eb20d6a4f137f95938da1fc0eb9 WHIRLPOOL 80a91d73f50be796c334e4beefaac828e198a1d512fbafd0cbe50e5fdf314a238e1ca511f0334acc1b3fa38bdb442df4e81afe58dd2de512c5ad46d8ed3dda5c +EBUILD libcxx-9999.ebuild 3632 SHA256 cc14faa77638d0c5faa888d3ad3268dcc6eb22413752828206651c73b4801229 SHA512 2a45779275385a8afad8f99c57c039c4861cd521dd372c4bf8fce02ae7f60a3fa54501049b89044b0129fe58987171e8aef55a09241328b1a39de6db4f6b6bd1 WHIRLPOOL 1d5ce9d0bb80bdd23e5416141f5212841e69d22c0192f91ba46f63a5e38d46727551a9c9c70cff1c3456fe23cfe2de46eba88a58ccab0980a6ce32891e9623fd +MISC ChangeLog 3846 SHA256 446daad24a90d71304d3d4a34e970fb844e5709d5b7a584950164b81bf7645f4 SHA512 87a0ad57d50c4ea004d8286b93362daf0e6381446463278291fe67aeeae3f52a26f7fba17d94d6afc1a94f70453649acc2ff2f9cfc4e970dd512a914049f5605 WHIRLPOOL cfc7d286d61a56d2d478704d0e0e7e8be3ee36b5ddbbd27a3363d1a29dfced1738368cd5e5fb6def3db541f455fffda18d52ef8c76eeb44ceb58f2d6ce3c7398 MISC metadata.xml 558 SHA256 c9fe7077a8c7f767d7cdbe154d85dd344fb86ea246b16613242c70a40f3e1ef2 SHA512 3f324c4959a7c9f2613b29928957fd010b35c6e9c1601f0296e7e8b7c8d59a3c27c5c04fef87ac825f2f7bb07553bc617c4405e1e22847dc8db3e7a1ebb21f50 WHIRLPOOL 3ade5e3852afcd533c89ce0aeead55101f23d1b31825718bfccd60fac485961df617c93962be4c60333a21335dcd6bb5630c8002fe06f456c4e177c14d434455 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) -iEYEAREIAAYFAlHUb6MACgkQvFcC4BYPU0oVTACfXqfsDcsEdTWeTzT1t/zWTupZ -yqAAn2gOAc19bPMLDHq0r33plJf2PS10 -=VOJv +iEYEAREIAAYFAlHUlN4ACgkQvFcC4BYPU0q4UQCfbYayirEJaIWdkaOTNPweC1EF +QZoAnA1WKu+pCK1sO8gY4z1cMCWIwwRJ +=Qkni -----END PGP SIGNATURE----- diff --git a/sys-libs/libcxx/files/Makefile b/sys-libs/libcxx/files/Makefile new file mode 100644 index 000000000000..029e7295b889 --- /dev/null +++ b/sys-libs/libcxx/files/Makefile @@ -0,0 +1,38 @@ +CXXFLAGS+=-std=c++11 -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion \ + -Wpadded -Wstrict-aliasing=2 -Wstrict-overflow=4 + +SRCDIR=.. +LIB=libc++ +STATIC=libc++.a +MAJOR=1 +MINOR=0 +SHEXT?=.so +SHLIB=$(LIB)$(SHEXT).$(MAJOR).$(MINOR) +SONAME=$(LIB)$(SHEXT).$(MAJOR) + +SRC=$(wildcard $(SRCDIR)/src/*.cpp) +OBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.o) +SOBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.So) + + +%.So: $(SRCDIR)/src/%.cpp + $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -fPIC -nostdinc++ -c $< -o $@ + +%.o: $(SRCDIR)/src/%.cpp + $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -nostdinc++ -c $< -o $@ + +$(STATIC): $(OBJ) + $(AR) cr $@ $^ + +static: $(STATIC) + +$(SHLIB): $(SOBJ) + $(CXX) -fPIC -nodefaultlibs $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LIBS) + +$(SONAME): $(SHLIB) + ln -s $< $@ + +$(LIB)$(SHEXT): $(SONAME) + ln -s $< $@ + +shared: $(SHLIB) $(SONAME) $(LIB)$(SHEXT) diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild index 853b7863c625..2b448f475f12 100644 --- a/sys-libs/libcxx/libcxx-9999.ebuild +++ b/sys-libs/libcxx/libcxx-9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 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.14 2013/07/03 18:38:26 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/libcxx-9999.ebuild,v 1.15 2013/07/03 21:17:16 aballier Exp $ EAPI=5 @@ -8,7 +8,7 @@ ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk" [ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM="" -inherit cmake-utils base ${SCM} flag-o-matic toolchain-funcs multilib +inherit ${SCM} flag-o-matic toolchain-funcs multilib DESCRIPTION="New implementation of the C++ standard library, targeting C++11" HOMEPAGE="http://libcxx.llvm.org/" @@ -25,64 +25,47 @@ if [ "${PV%9999}" = "${PV}" ] ; then else KEYWORDS="" fi -IUSE="elibc_glibc +libcxxrt static-libs" +IUSE="elibc_glibc +libcxxrt static-libs test" RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130530[static-libs?] ) !libcxxrt? ( sys-devel/gcc[cxx] )" DEPEND="${RDEPEND} - sys-devel/clang + test? ( sys-devel/clang ) app-arch/xz-utils" -PATCHES=( "${FILESDIR}/multilib.patch" ) -DOCS=( "CREDITS.TXT" ) - src_prepare() { - use libcxxrt && PATCHES+=( "${FILESDIR}/cxxrt.patch" ) - base_src_prepare + cp -f "${FILESDIR}/Makefile" lib/ || die } -src_configure() { - local mycmakeargs_base=( ) +src_compile() { + export LIBS="-lpthread -lrt -lc -lgcc_s" if use libcxxrt ; then - mycmakeargs_base=( - -DLIBCXX_CXX_ABI=libcxxrt - -DLIBCXX_LIBCXXRT_INCLUDE_PATHS="/usr/include/libcxxrt/" - ) + append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/" + LIBS="-lcxxrt ${LIBS}" else # Very hackish, see $HOMEPAGE # If someone has a clever idea, please share it! - local includes="$(echo | "$(tc-getCXX)" -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ';' | tr -d ' ')" - mycmakeargs_base=( - -DLIBCXX_CXX_ABI=libsupc++ - -DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="${includes}" - ) + local includes="$(echo | "$(tc-getCXX)" -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')" + append-cppflags -D__GLIBCXX__ ${includes} + LIBS="-lsupc++ ${LIBS}" fi - # Needs to be built with clang. gcc-4.6.3 fails at least. - # TODO: cross-compile ? - export CC="clang" - export CXX="clang++" + tc-export AR CC CXX - if use static-libs ; then - local mycmakeargs=( "${mycmakeargs_base[@]}" "-DLIBCXX_ENABLE_SHARED=OFF" ) - BUILD_DIR="${S}_static" cmake-utils_src_configure - fi - local mycmakeargs=( "${mycmakeargs_base[@]}" ) - BUILD_DIR="${S}_shared" cmake-utils_src_configure -} + append-ldflags "-Wl,-z,defs" # make sure we are not underlinked -src_compile() { - use static-libs && BUILD_DIR="${S}_static" cmake-utils_src_compile - BUILD_DIR="${S}_shared" cmake-utils_src_compile + cd "${S}/lib" || die + emake shared + use static-libs && emake static } # Tests fail for now, if anybody is able to fix them, help is very welcome. src_test() { cd "${S}/test" - LD_LIBRARY_PATH="${S}_shared/lib:${LD_LIBRARY_PATH}" \ + LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \ CC="clang++" \ HEADER_INCLUDE="-I${S}/include" \ - SOURCE_LIB="-L${S}_shared/lib" \ + SOURCE_LIB="-L${S}/lib" \ LIBS="-lm" \ ./testit || die } @@ -117,11 +100,18 @@ END_LDSCRIPT } src_install() { + cd "${S}/lib" if use static-libs ; then - BUILD_DIR="${S}_static" cmake-utils_src_install + dolib.a libc++.a gen_static_ldscript fi - BUILD_DIR="${S}_shared" cmake-utils_src_install + dolib.so libc++.so* + + cd "${S}" + insinto /usr/include/c++/v1 + doins -r include/* + + dodoc CREDITS.TXT } pkg_postinst() { |