summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2011-04-15 17:28:55 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2011-04-15 17:28:55 +0000
commite97d326c5d42e27ba6547775bdb8db64d5d4e7e2 (patch)
treeb96c5d8745f51959039efb34f8d3cdfe9f6ac11f /sys-devel
parentRevision bump: port to EAPI=4, drop prepalldocs, add static-libs USE flag, dr... (diff)
downloadgentoo-2-e97d326c5d42e27ba6547775bdb8db64d5d4e7e2.tar.gz
gentoo-2-e97d326c5d42e27ba6547775bdb8db64d5d4e7e2.tar.bz2
gentoo-2-e97d326c5d42e27ba6547775bdb8db64d5d4e7e2.zip
Also update 2.8 branch with libffi/debug changes
(Portage version: 2.2.0_alpha30/cvs/Linux x86_64)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/llvm/ChangeLog8
-rw-r--r--sys-devel/llvm/llvm-2.8-r4.ebuild (renamed from sys-devel/llvm/llvm-2.8-r3.ebuild)28
-rw-r--r--sys-devel/llvm/llvm-2.9.ebuild183
3 files changed, 20 insertions, 199 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index d40a63d1e1f2..b2ffeae494c6 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.38 2011/04/15 16:02:59 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.39 2011/04/15 17:28:55 voyageur Exp $
+
+*llvm-2.8-r4 (15 Apr 2011)
+
+ 15 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8-r3.ebuild,
+ +llvm-2.8-r4.ebuild, -llvm-2.9.ebuild:
+ Also update 2.8 branch with libffi/debug changes
*llvm-2.9-r1 (15 Apr 2011)
diff --git a/sys-devel/llvm/llvm-2.8-r3.ebuild b/sys-devel/llvm/llvm-2.8-r4.ebuild
index d1f7a5e781c3..22e9e5e23a62 100644
--- a/sys-devel/llvm/llvm-2.8-r3.ebuild
+++ b/sys-devel/llvm/llvm-2.8-r4.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r3.ebuild,v 1.1 2011/03/28 14:02:53 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r4.ebuild,v 1.1 2011/04/15 17:28:55 voyageur Exp $
EAPI="3"
-inherit eutils multilib toolchain-funcs
+inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
@@ -24,11 +24,13 @@ DEPEND="dev-lang/perl
!~sys-devel/bison-1.875
|| ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 )
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
- libffi? ( virtual/libffi )
+ libffi? ( dev-util/pkgconfig
+ virtual/libffi )
ocaml? ( dev-lang/ocaml )
udis86? ( amd64? ( dev-libs/udis86[pic] )
!amd64? ( dev-libs/udis86 ) )"
RDEPEND="dev-lang/perl
+ libffi? ( virtual/libffi )
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
S=${WORKDIR}/${PN}-${PV/_pre*}
@@ -90,18 +92,10 @@ src_prepare() {
}
src_configure() {
- local CONF_FLAGS="--enable-shared"
-
- if use debug; then
- CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
- einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
- # ...and you probably shouldn't use tmpfs, unless it can hold 900MB
- else
- CONF_FLAGS="${CONF_FLAGS} \
- --enable-optimized \
- --disable-assertions \
- --disable-expensive-checks"
- fi
+ local CONF_FLAGS="--enable-shared
+ $(use_enable !debug optimized)
+ $(use_enable debug assertions)
+ $(use_enable debug expensive-checks)"
if use alltargets; then
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
@@ -148,6 +142,10 @@ src_configure() {
if use udis86; then
CONF_FLAGS="${CONF_FLAGS} --with-udis86"
fi
+
+ if use libffi; then
+ append-cppflags "$(pkg-config --cflags libffi)"
+ fi
CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
econf ${CONF_FLAGS} || die "econf failed"
}
diff --git a/sys-devel/llvm/llvm-2.9.ebuild b/sys-devel/llvm/llvm-2.9.ebuild
deleted file mode 100644
index 3a4b4adae80a..000000000000
--- a/sys-devel/llvm/llvm-2.9.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.9.ebuild,v 1.1 2011/04/07 09:29:31 voyageur Exp $
-
-EAPI="3"
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="http://llvm.org/releases/${PV}/${P}.tgz"
-
-LICENSE="UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="alltargets debug +libffi llvm-gcc ocaml test udis86 vim-syntax"
-
-DEPEND="dev-lang/perl
- >=sys-devel/make-3.79
- >=sys-devel/flex-2.5.4
- >=sys-devel/bison-1.28
- !~sys-devel/bison-1.85
- !~sys-devel/bison-1.875
- || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 )
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
- libffi? ( virtual/libffi )
- ocaml? ( dev-lang/ocaml )
- udis86? ( amd64? ( dev-libs/udis86[pic] )
- !amd64? ( dev-libs/udis86 ) )"
-RDEPEND="dev-lang/perl
- vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
-
-S=${WORKDIR}/${PN}-${PV/_pre*}
-
-pkg_setup() {
- # need to check if the active compiler is ok
-
- broken_gcc=" 3.2.2 3.2.3 3.3.2 4.1.1 "
- broken_gcc_x86=" 3.4.0 3.4.2 "
- broken_gcc_amd64=" 3.4.6 "
-
- gcc_vers=$(gcc-fullversion)
-
- if [[ ${broken_gcc} == *" ${version} "* ]] ; then
- elog "Your version of gcc is known to miscompile llvm."
- elog "Check http://www.llvm.org/docs/GettingStarted.html for"
- elog "possible solutions."
- die "Your currently active version of gcc is known to miscompile llvm"
- fi
-
- if [[ ${CHOST} == i*86-* && ${broken_gcc_x86} == *" ${version} "* ]] ; then
- elog "Your version of gcc is known to miscompile llvm on x86"
- elog "architectures. Check"
- elog "http://www.llvm.org/docs/GettingStarted.html for possible"
- elog "solutions."
- die "Your currently active version of gcc is known to miscompile llvm"
- fi
-
- if [[ ${CHOST} == x86_64-* && ${broken_gcc_amd64} == *" ${version} "* ]];
- then
- elog "Your version of gcc is known to miscompile llvm in amd64"
- elog "architectures. Check"
- elog "http://www.llvm.org/docs/GettingStarted.html for possible"
- elog "solutions."
- die "Your currently active version of gcc is known to miscompile llvm"
- fi
-}
-
-src_prepare() {
- # unfortunately ./configure won't listen to --mandir and the-like, so take
- # care of this.
- einfo "Fixing install dirs"
- sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
- -e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
- -e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/${PN}, \
- -i Makefile.config.in || die "Makefile.config sed failed"
- sed -e 's,$ABS_RUN_DIR/lib,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
- -i tools/llvm-config/llvm-config.in.in || die "llvm-config sed failed"
-
- einfo "Fixing rpath"
- sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
- -i Makefile.rules || die "rpath sed failed"
-
- epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
- epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
-}
-
-src_configure() {
- local CONF_FLAGS="--enable-shared"
-
- if use debug; then
- CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
- einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
- # ...and you probably shouldn't use tmpfs, unless it can hold 900MB
- else
- CONF_FLAGS="${CONF_FLAGS} \
- --enable-optimized \
- --disable-assertions \
- --disable-expensive-checks"
- fi
-
- if use alltargets; then
- CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
- else
- CONF_FLAGS="${CONF_FLAGS} --enable-targets=host-only"
- fi
-
- if use amd64; then
- CONF_FLAGS="${CONF_FLAGS} --enable-pic"
- fi
-
- # things would be built differently depending on whether llvm-gcc is
- # used or not.
- local LLVM_GCC_DIR=/dev/null
- local LLVM_GCC_DRIVER=nope ; local LLVM_GPP_DRIVER=nope
- if use llvm-gcc ; then
- if has_version sys-devel/llvm-gcc; then
- LLVM_GCC_DIR=$(ls -d ${EROOT}/usr/$(get_libdir)/llvm-gcc* 2> /dev/null)
- LLVM_GCC_DRIVER=$(find ${LLVM_GCC_DIR} -name 'llvm*-gcc' 2> /dev/null)
- if [[ -z ${LLVM_GCC_DRIVER} ]] ; then
- die "failed to find installed llvm-gcc, LLVM_GCC_DIR=${LLVM_GCC_DIR}"
- fi
- einfo "Using $LLVM_GCC_DRIVER"
- LLVM_GPP_DRIVER=${LLVM_GCC_DRIVER/%-gcc/-g++}
- else
- eerror "llvm-gcc USE flag enabled, but sys-devel/llvm-gcc was not found"
- eerror "Building with standard gcc, re-merge this package after installing"
- eerror "llvm-gcc to build with it"
- eerror "This is normal behavior on first LLVM merge"
- fi
- fi
-
- CONF_FLAGS="${CONF_FLAGS} \
- --with-llvmgccdir=${LLVM_GCC_DIR} \
- --with-llvmgcc=${LLVM_GCC_DRIVER} \
- --with-llvmgxx=${LLVM_GPP_DRIVER}"
-
- if use ocaml; then
- CONF_FLAGS="${CONF_FLAGS} --enable-bindings=ocaml"
- else
- CONF_FLAGS="${CONF_FLAGS} --enable-bindings=none"
- fi
-
- if use udis86; then
- CONF_FLAGS="${CONF_FLAGS} --with-udis86"
- fi
- CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
- econf ${CONF_FLAGS} || die "econf failed"
-}
-
-src_compile() {
- emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 || die "emake failed"
-}
-
-src_install() {
- emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
-
- if use vim-syntax; then
- insinto /usr/share/vim/vimfiles/syntax
- doins utils/vim/*.vim
- fi
-
- # 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
- for lib in lib{EnhancedDisassembly,LLVM-${PV},BugpointPasses,LLVMHello,LTO,profile_rt}.dylib ; do
- # libEnhancedDisassembly is Darwin10 only, so non-fatal
- [[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
- ebegin "fixing install_name of $lib"
- install_name_tool \
- -id "${EPREFIX}"/usr/lib/${PN}/${lib} \
- "${ED}"/usr/lib/${PN}/${lib}
- eend $?
- done
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
- ebegin "fixing install_name reference to libLLVM-${PV}.dylib of ${f##*/}"
- install_name_tool \
- -change "${S}"/Release/lib/libLLVM-${PV}.dylib \
- "${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
- "${f}"
- eend $?
- done
- fi
-}