diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2010-10-06 09:17:40 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2010-10-06 09:17:40 +0000 |
commit | 665a161f4e3bfe5d6bbad7c240f3d7a8fba04e65 (patch) | |
tree | 85fe898039774c54c46c5ae058051fb044c8fd7b | |
parent | Add KDE SC 4.5.2 =) (diff) | |
download | gentoo-2-665a161f4e3bfe5d6bbad7c240f3d7a8fba04e65.tar.gz gentoo-2-665a161f4e3bfe5d6bbad7c240f3d7a8fba04e65.tar.bz2 gentoo-2-665a161f4e3bfe5d6bbad7c240f3d7a8fba04e65.zip |
2.8 version bump
(Portage version: 2.2_rc88/cvs/Linux x86_64)
-rw-r--r-- | sys-devel/llvm-gcc/ChangeLog | 8 | ||||
-rw-r--r-- | sys-devel/llvm-gcc/llvm-gcc-2.6.ebuild | 72 | ||||
-rw-r--r-- | sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild | 139 |
3 files changed, 146 insertions, 73 deletions
diff --git a/sys-devel/llvm-gcc/ChangeLog b/sys-devel/llvm-gcc/ChangeLog index 7ddd7315ee0c..bf94606f1056 100644 --- a/sys-devel/llvm-gcc/ChangeLog +++ b/sys-devel/llvm-gcc/ChangeLog @@ -1,6 +1,12 @@ # 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.8 2010/08/26 07:04:40 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v 1.9 2010/10/06 09:17:40 voyageur Exp $ + +*llvm-gcc-2.8 (06 Oct 2010) + + 06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-gcc-2.6.ebuild, + +llvm-gcc-2.8.ebuild: + 2.8 version bump 26 Aug 2010; Fabian Groffen <grobian@gentoo.org> llvm-gcc-2.7-r1.ebuild, llvm-gcc-9999.ebuild: diff --git a/sys-devel/llvm-gcc/llvm-gcc-2.6.ebuild b/sys-devel/llvm-gcc/llvm-gcc-2.6.ebuild deleted file mode 100644 index 6a7aabe29f86..000000000000 --- a/sys-devel/llvm-gcc/llvm-gcc-2.6.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# 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-2.6.ebuild,v 1.3 2010/01/05 10:19:26 voyageur Exp $ - -EAPI=2 -inherit multilib - -LLVM_GCC_VERSION=4.2 -MY_PV=${LLVM_GCC_VERSION}-${PV/_pre*} - -DESCRIPTION="LLVM C front-end" -HOMEPAGE="http://llvm.org" -SRC_URI="http://llvm.org/releases/${PV}/${PN}-${MY_PV}.source.tar.gz" - -LICENSE="GPL-2" -SLOT=0 -KEYWORDS="~amd64 ~ppc ~x86" -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 )" - -S=${WORKDIR}/llvm-gcc${MY_PV}.source/obj - -src_prepare() { - #we keep the directory structure suggested by README.LLVM, - mkdir -p "${S}" -} - -src_configure() { - # Target options are handled by econf - - EXTRALANGS="" - use fortran && EXTRALANGS="${EXTRALANGS},fortran" - use objc && EXTRALANGS="${EXTRALANGS},objc" - use objc++ && EXTRALANGS="${EXTRALANGS},obj-c++" - - ECONF_SOURCE="${WORKDIR}"/llvm-gcc${MY_PV}.source 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() { - BUILDOPTIONS="LLVM_VERSION_INFO=${MY_PV}" - use bootstrap && BUILDOPTIONS="${BUILDOPTIONS} bootstrap" - emake ${BUILDOPTIONS} || die "emake failed" -} - -src_install() { - 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 -} diff --git a/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild b/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild new file mode 100644 index 000000000000..3b95f3ddcb89 --- /dev/null +++ b/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild @@ -0,0 +1,139 @@ +# 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-2.8.ebuild,v 1.1 2010/10/06 09:17:40 voyageur Exp $ + +EAPI=3 +inherit 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="http://llvm.org/releases/${PV}/${PN}-${MY_PV}.source.tgz" + +LICENSE="GPL-2" +SLOT=0 +KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos" +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/binutils-apple-3.2.3 ) + >=sys-devel/bison-1.875 + test? ( dev-util/dejagnu + sys-devel/autogen )" + +S=${WORKDIR}/llvm-gcc-${MY_PV}.source + +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="${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV} \ + $(use_enable multilib) \ + --program-prefix=${PN}-${MY_PV}- \ + --enable-llvm="${EPREFIX}"/usr --enable-languages=c,c++${EXTRALANGS} \ + $(use prefix && echo "--with-local-prefix=${EPREFIX}/usr") \ + || 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 "${ED}"/usr/share/man/man7 + if ! use nls; then + einfo "nls USE flag disabled, not installing locale files" + rm -rf "${ED}"/usr/share/locale + fi + + # Add some symlinks + dodir /usr/bin + cd "${ED}/usr/bin" + for X in c++ g++ cpp gcc gcov gccbug ; do + ln -s "${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-${X} llvm-${X} + done + use fortran && \ + ln -s "${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-gfortran llvm-gfortran + + # Fix install_names on Darwin. The build system is too complicated + # to just fix this, so we correct it post-install + if [[ ${CHOST} == *-darwin* ]] ; then + local f=$(echo "${ED}"usr/$(get_libdir)/${PN}-${MY_PV}/lib/gcc/${CHOST}/${LLVM_GCC_VERSION}*/libstdc++.dylib) + install_name_tool -id "/${f#${D}}" "${f}" + fi +} + +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=*' +} |