summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2010-10-06 09:17:40 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2010-10-06 09:17:40 +0000
commit665a161f4e3bfe5d6bbad7c240f3d7a8fba04e65 (patch)
tree85fe898039774c54c46c5ae058051fb044c8fd7b /sys-devel/llvm-gcc
parentAdd KDE SC 4.5.2 =) (diff)
downloadgentoo-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)
Diffstat (limited to 'sys-devel/llvm-gcc')
-rw-r--r--sys-devel/llvm-gcc/ChangeLog8
-rw-r--r--sys-devel/llvm-gcc/llvm-gcc-2.6.ebuild72
-rw-r--r--sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild139
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=*'
+}