diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2010-06-02 15:54:07 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2010-06-02 15:54:07 +0000 |
commit | ba05aa2d51dfae43f7f9425ad953ba3e0f56f520 (patch) | |
tree | e652dd5e4a019153dde4182c03672565d4918968 /sys-devel | |
parent | Delete calls to deprecated python_version(). (diff) | |
download | historical-ba05aa2d51dfae43f7f9425ad953ba3e0f56f520.tar.gz historical-ba05aa2d51dfae43f7f9425ad953ba3e0f56f520.tar.bz2 historical-ba05aa2d51dfae43f7f9425ad953ba3e0f56f520.zip |
Add live version, by Anders Bach Madsen <abachn@daimi.au.dk> in bug #320919
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/llvm-gcc/ChangeLog | 9 | ||||
-rw-r--r-- | sys-devel/llvm-gcc/Manifest | 3 | ||||
-rw-r--r-- | sys-devel/llvm-gcc/llvm-gcc-9999.ebuild | 130 |
3 files changed, 140 insertions, 2 deletions
diff --git a/sys-devel/llvm-gcc/ChangeLog b/sys-devel/llvm-gcc/ChangeLog index aa79f5aa5ab9..aa903e241528 100644 --- a/sys-devel/llvm-gcc/ChangeLog +++ b/sys-devel/llvm-gcc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-devel/llvm-gcc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v 1.6 2010/05/20 12:57:26 voyageur Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v 1.7 2010/06/02 15:54:07 voyageur Exp $ + +*llvm-gcc-9999 (02 Jun 2010) + + 02 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> + +llvm-gcc-9999.ebuild: + Add live version, by Anders Bach Madsen <abachn@daimi.au.dk> in bug + #320919 *llvm-gcc-2.7-r1 (20 May 2010) diff --git a/sys-devel/llvm-gcc/Manifest b/sys-devel/llvm-gcc/Manifest index 316f63e85fc4..011b8a737f49 100644 --- a/sys-devel/llvm-gcc/Manifest +++ b/sys-devel/llvm-gcc/Manifest @@ -4,5 +4,6 @@ DIST llvm-gcc-4.2-2.7.source.tgz 55699337 RMD160 523edd94ece00caaaa3ff2399f3c0b0 EBUILD llvm-gcc-2.6.ebuild 2019 RMD160 d613455439fe1bba7cc12b2d36473bf83b28978f SHA1 fdac8e473cbce552efa6c6fd0c81116f2944da76 SHA256 8b650918956ee6c4f9ef869342fcf47ca5f314f334438a3060bb7437d7ad5ab5 EBUILD llvm-gcc-2.7-r1.ebuild 3549 RMD160 8f271cda1200640526c92104f6f2bb89824e9241 SHA1 5a8e3688d9f88763d2130d66fbecb6aaa83b3eba SHA256 b3631854953101ff5b0934aa42c507fd14516c70406715ee7074b356cb51af66 EBUILD llvm-gcc-2.7.ebuild 2018 RMD160 c36660533b53fae7f64eb5d16c742c1a8626ca75 SHA1 be69e5c41844481919467aacbf0d8474c97400c3 SHA256 8a4b589e0660a15c235cf3fbdd919ff53cd97237f6035f18cad357bdd3feac49 -MISC ChangeLog 1306 RMD160 2795d6a08d52fc8aec6c98f9d1145f63aba0b3d2 SHA1 0550ac450e1dc7c494c4a85f05bd827da5651d1c SHA256 e20397573491aac39354c05580c5727249072e5706c0ef506efc70ac1ae983c3 +EBUILD llvm-gcc-9999.ebuild 3515 RMD160 7fa3621bacf956834b3ba6431acea1fa102777b0 SHA1 cf618403b0326d6bb64449124767314f2cf43afb SHA256 d42194098f5bd2f8ca0a08630a13715f63aa2edc89f87fa30ff43567b8fdf409 +MISC ChangeLog 1497 RMD160 5a55662d07709adf54d91f7bad63812789a89049 SHA1 d27f9a5190a07200ddf5448accf23794a24147d8 SHA256 e09fcbb0f0fc852d1f9851894c91b079598326c9d068c2a19ebdd78e9165ebfd MISC metadata.xml 1210 RMD160 452adfc54714ef433d1029368d731d2ba232443a SHA1 00c2795c89050749d088beb5202877fa6bf7a01d SHA256 9d192d1f60fc67d6bee5d6669fe84adc94a097d42f70a6f20e4f708d094b5d7c diff --git a/sys-devel/llvm-gcc/llvm-gcc-9999.ebuild b/sys-devel/llvm-gcc/llvm-gcc-9999.ebuild new file mode 100644 index 000000000000..f7c80c07d484 --- /dev/null +++ b/sys-devel/llvm-gcc/llvm-gcc-9999.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/llvm-gcc-9999.ebuild,v 1.1 2010/06/02 15:54:07 voyageur Exp $ + +EAPI=2 +inherit subversion libtool flag-o-matic gnuconfig multilib + +LLVM_GCC_VERSION=4.2 +MY_PV=${LLVM_GCC_VERSION}-${PV/_pre*} + +DESCRIPTION="LLVM C front-end" +HOMEPAGE="http://llvm.org" +SRC_URI="" +ESVN_REPO_URI="http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk" + +LICENSE="GPL-2" +SLOT=0 +KEYWORDS="" +IUSE="bootstrap fortran multilib nls objc objc++ test" + +RDEPEND=">=sys-devel/llvm-$PV" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-4.2-r4 + >=sys-devel/binutils-2.18 + >=sys-devel/bison-1.875 + test? ( dev-util/dejagnu + sys-devel/autogen )" + +src_prepare() { + #we keep the directory structure suggested by README.LLVM, + mkdir -p "${S}"/obj + + # From toolchain eclass + elibtoolize --portage --shallow --no-uclibc + gnuconfig_update + + # update configure files + local f + for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do + #ebegin " Updating ${f/${S}\/} [LANG]" + ebegin " Updating \"${f/${S}\/}\" [LANG]" + patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + sed -i 's|A-Za-z0-9|[:alnum:]|g' gcc/*.awk #215828 + + if [[ -x contrib/gcc_update ]] ; then + einfo "Touching generated files" + ./contrib/gcc_update --touch | \ + while read f ; do + einfo " ${f%%...}" + done + fi +} + +src_configure() { + gcc_do_filter_flags + # Target options are handled by econf + + cd "${S}"/obj + EXTRALANGS="" + use fortran && EXTRALANGS="${EXTRALANGS},fortran" + use objc && EXTRALANGS="${EXTRALANGS},objc" + use objc++ && EXTRALANGS="${EXTRALANGS},obj-c++" + + ECONF_SOURCE="${S}" econf --prefix=/usr/$(get_libdir)/${PN}-${MY_PV} \ + $(use_enable multilib) \ + --program-prefix=${PN}-${MY_PV}- \ + --enable-llvm=/usr --enable-languages=c,c++${EXTRALANGS} \ + || die "configure failed" +} + +src_compile() { + gcc_do_filter_flags + cd "${S}"/obj + BUILDOPTIONS="LLVM_VERSION_INFO=${MY_PV}" + use bootstrap && BUILDOPTIONS="${BUILDOPTIONS} bootstrap" + emake ${BUILDOPTIONS} || die "emake failed" +} + +src_test() { + cd "${S}"/obj + emake -j1 -k check || ewarn "check failed and that sucks :(" +} + +src_install() { + cd "${S}"/obj + + # Do allow symlinks in private gcc include dir as this can break the build + find gcc/include*/ -type l -print0 | xargs -0 rm -f + # Remove generated headers, as they can cause things to break + # (ncurses, openssl, etc). + for x in $(find gcc/include*/ -name '*.h') ; do + grep -q 'It has been auto-edited by fixincludes from' "${x}" \ + && rm -f "${x}" + done + + emake DESTDIR="${D}" install || die "installation failed" + rm -rf "${D}"/usr/share/man/man7 + if ! use nls; then + einfo "nls USE flag disabled, not installing locale files" + rm -rf "${D}"/usr/share/locale + fi + + # Add some symlinks + dodir /usr/bin + cd "${D}/usr/bin" + for X in c++ g++ cpp gcc gcov gccbug ; do + ln -s /usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-${X} llvm-${X} + done + use fortran && \ + ln -s /usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-gfortran llvm-gfortran +} + +gcc_do_filter_flags() { + strip-flags + + # In general gcc does not like optimization, and add -O2 where + # it is safe. This is especially true for gcc 3.3 + 3.4 + replace-flags -O? -O2 + + # ... sure, why not? + strip-unsupported-flags + + # dont want to funk ourselves + filter-flags '-mabi*' -m31 -m32 -m64 + + filter-flags '-mcpu=*' +} |