add new files

This commit is contained in:
Mario Fetka
2011-12-03 12:15:17 +01:00
parent a7bc5860a5
commit 85fe320de5
32 changed files with 2274 additions and 212 deletions

251
sys-devel/llvm/ChangeLog Normal file
View File

@@ -0,0 +1,251 @@
# 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.54 2011/11/28 23:35:29 chainsaw Exp $
28 Nov 2011; Tony Vroon <chainsaw@gentoo.org> llvm-2.9-r2.ebuild:
Marked stable on AMD64 based on arch testing by Michael Orlitzky, Agostino
"ago" Sarubbo & Elijah "Armageddon" El Lazkani in bug #384709.
*llvm-3.0_rc4 (28 Nov 2011)
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0_rc3.ebuild,
+llvm-3.0_rc4.ebuild:
Final rc bump
24 Nov 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r2.ebuild,
llvm-9999.ebuild, llvm-2.9-r2.ebuild, llvm-3.0_rc3.ebuild:
Fix install_name pointer to libLLVM-x.y.dylib in a more flexible way to avoid
bugs like #391763
22 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0_rc3.ebuild,
metadata.xml:
Add support for gold plugin, thanks Matthias Maier in bug #371951
17 Nov 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> llvm-2.9-r2.ebuild:
x86 stable wrt bug #384709
*llvm-3.0_rc3 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0_rc1.ebuild,
+llvm-3.0_rc3.ebuild:
Update rc, some more ebuild cleanups
*llvm-3.0_rc1 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.0_rc1.ebuild,
llvm-9999.ebuild:
Add rc release to prepare for 3.0, remove llvm-gcc detection code (not used
in configure anymore)
04 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8-r2.ebuild,
-llvm-2.8-r4.ebuild, llvm-2.9-r2.ebuild, llvm-9999.ebuild:
Fix forced -O3 -fomit-frame-pointer CFLAGS again, bug #385543
03 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8-r1.ebuild,
llvm-2.8-r2.ebuild, llvm-2.8-r4.ebuild, -llvm-2.9-r1.ebuild,
llvm-2.9-r2.ebuild, llvm-9999.ebuild, metadata.xml:
Rename alltargets USE flag to multitarget, bug #382307. Clean bison
dependency, depending only on new enough one. Drop some versions
28 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> metadata.xml:
USE="libffi" is now global USE flag.
15 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> llvm-2.8-r2.ebuild:
ppc stable wrt #360553
06 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
Update live ebuild to sync latest ebuild changes (vim-syntax, libffi, ...)
*llvm-2.9-r2 (23 May 2011)
23 May 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9-r2.ebuild,
+files/llvm-2.9-Operator.h-c++0x.patch:
Fix header for gcc 4.6, bug #365925
21 Apr 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.9-r1.ebuild,
llvm-9999.ebuild:
Fix broken reference that I missed yesterday
20 Apr 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.9-r1.ebuild,
llvm-9999.ebuild:
Fix install_name_tooling
*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)
15 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9-r1.ebuild:
Fix libffi include search path and debug flags, bugs #363595 and #362567
10 Apr 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> llvm-2.8-r2.ebuild:
x86 stable wrt bug #360553
*llvm-2.9 (07 Apr 2011)
07 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9.ebuild:
Version bump
28 Mar 2011; Christoph Mende <angelos@gentoo.org> llvm-2.8-r2.ebuild:
Stable on amd64 wrt bug #360553
*llvm-2.8-r3 (28 Mar 2011)
28 Mar 2011; Bernard Cafarelli <voyageur@gentoo.org>
-files/llvm-2.6-nodoctargz.patch, -llvm-2.7.ebuild, -llvm-2.7-r2.ebuild,
+llvm-2.8-r3.ebuild:
Install vim syntax files with USE=vim-syntax, bug #360147. Also drop 2.7
versions
14 Mar 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r2.ebuild:
Marked ~x86-linux
28 Feb 2011; Bernard Cafarelli <voyageur@gentoo.org>
+files/llvm-2.9-nodoctargz.patch, llvm-9999.ebuild:
Fix depend on live ebuild, and finally update nodoc patch, bug #348701
14 Feb 2011; Kacper Kowalik <xarthisius@gentoo.org> llvm-2.8-r1.ebuild:
ppc stable wrt #336371
*llvm-2.8-r2 (19 Dec 2010)
19 Dec 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.8-r2.ebuild,
+files/llvm-2.8-alignof.patch:
Backport to rename alignof, fixes C++'0x compilers support
11 Nov 2010; Markos Chandras <hwoarang@gentoo.org> llvm-2.8-r1.ebuild:
Stable on amd64 wrt bug #336371
09 Nov 2010; Thomas Kahle <tomka@gentoo.org> llvm-2.8-r1.ebuild:
x86 stable per bug 336371
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r1.ebuild,
llvm-9999.ebuild:
Update reference fixing for Darwin for newer more strict versions of
Portage
23 Oct 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r1.ebuild,
+files/llvm-2.8-darwin8.patch, llvm-9999.ebuild:
Fix compilation on Mac OS X Tiger (10.4, Darwin 8), fix install_names for
new libs also, bug #342289
*llvm-2.8-r1 (08 Oct 2010)
08 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8.ebuild,
+llvm-2.8-r1.ebuild:
SRC_URI arrow workaround to fetch updated tarball with correct package
version, thanks Alexey Charkov <alchark@gmail.com> in bug #340106 for
spotting it
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8.ebuild,
llvm-9999.ebuild:
Tests now use an internal framework, dejagnu not needed anymore
*llvm-2.8 (06 Oct 2010)
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.8.ebuild:
2.8 version bump
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
Also fix live ebuild
*llvm-2.7-r2 (21 Sep 2010)
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.7-r1.ebuild,
+llvm-2.7-r2.ebuild:
Fix the rpath sed so llvm-* binaries actually find the llvm shared library
20 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.7-r1.ebuild:
udis86 needs pic on amd64, bug #337969
*llvm-2.7-r1 (17 Sep 2010)
17 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.7-r1.ebuild,
llvm-9999.ebuild:
Enable shared library, move libs and plugins to fix bug #337467
04 Sep 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild:
Also fix libEnhancedDisassembly, which is only built on Darwin 10 (Mac OS
X Snow Leopard)
03 Sep 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild:
Marked ~amd64-linux
26 Aug 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild,
llvm-9999.ebuild:
Bump to EAPI=3, make Prefix aware, add support for Darwin platforms,
bug #333387
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6-r2.ebuild,
-files/llvm-2.6-cflags.patch:
Drop 2.6 version
*llvm-9999 (01 Jun 2010)
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-9999.ebuild:
Add live version, bug #320919
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6-r2.ebuild,
llvm-2.7.ebuild:
Really fix bug #293382, llvm-gcc was still in DEPEND
*llvm-2.7 (27 Apr 2010)
27 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6-r1.ebuild,
+llvm-2.7.ebuild, +files/llvm-2.7-nodoctargz.patch:
2.7 official release version bump
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6-r2.ebuild:
--without-udis86 is broken in configure script
*llvm-2.6-r2 (26 Apr 2010)
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.6-r2.ebuild,
metadata.xml:
Add udis86 support, thanks to chithanh in bug #317151
*llvm-2.6-r1 (18 Mar 2010)
18 Mar 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6.ebuild,
+llvm-2.6-r1.ebuild, +files/llvm-2.6-cflags.patch:
Remove forced -O3 -fomit-frame-pointer CFLAGS, bug #308145
17 Nov 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild:
Drop llvm-gcc depend, as it triggers circular dependency on first install
(warn the user if it is not found instead), bug #293382
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
files/llvm-2.6-commandguide-nops.patch:
Fix the patch, after test by flameeyes
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild,
+files/llvm-2.6-commandguide-nops.patch:
Disable .ps doc generation, these are just the man pages. Bug #290581
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild,
metadata.xml:
Fix libffi automagic dependency, bug #289933
*llvm-2.6 (25 Oct 2009)
25 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
-llvm-2.6_pre2.ebuild, +llvm-2.6.ebuild:
Bump to final 2.6 release
07 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6_pre2.ebuild,
+files/llvm-2.6-nodoctargz.patch, -files/llvm-2.6-nohtmltargz.patch:
Add USE flag for ocaml bindings, complete doc patch to fix ocmal doc
failure, see bug #186279
07 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6_pre2.ebuild:
Fix llvm-gcc location, work with ${ROOT}
*llvm-2.6_pre2 (05 Oct 2009)
05 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
+llvm-2.6_pre2.ebuild, +files/llvm-2.6-nohtmltargz.patch, +metadata.xml:
Initial commit, thanks everyone in bug #186279 and others

6
sys-devel/llvm/Manifest Normal file
View File

@@ -0,0 +1,6 @@
AUX llvm-2.6-commandguide-nops.patch 975 RMD160 1178c27a8845c2c86d6d381ba3d95b4b9b627f1e SHA1 41b9d8c3ae0ed1023ec72bf629c53fa8981e0264 SHA256 0e36fb43e020fa380230a8c6f2a79b9a19e12e857e833ef856e2b41aaa283649
AUX llvm-2.9-nodoctargz.patch 1569 RMD160 6589aa0a41f47e915ce93fe6dcf68dd601c3bcdc SHA1 19795ec9c34e6ec5539ec6a77944ceb51abdef72 SHA256 62f1b080364d94e528bb34f0063562d16a59395aa7f97277bba88fbd93e00b84
DIST llvm-3.0.tar.gz 10350539 RMD160 85211cafbed1c5d838ac54669017b5298613f975 SHA1 b683e7294fcf69887c0d709025d4640f5dca755b SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477
EBUILD llvm-3.0.ebuild 5373 RMD160 ab0ed5585d60212c26fa00363733584fe090a761 SHA1 e3b20ae08c5befbb96d1f1ac9d0de40fcd663bfd SHA256 f2a8f89dc15b3f78715462b12fb0c0e1dec1384839869fc552ec4ebd21a0b85e
MISC ChangeLog 9075 RMD160 7f8572387663eab6fc364b1fa61cf9df5d2ba9ff SHA1 3251911aa15ec053dd0ba300b981b6e036ab2a54 SHA256 e1a3c513d560373e2350a7aa3f11399d84ecade6979be90ae0967b569b38e318
MISC metadata.xml 2290 RMD160 3c36b274b863158d4a53be2c99ea5f42ede2bb80 SHA1 d608d42b2a831a4b9025fa1d2fd68fb11996293b SHA256 fd3cd6846072dbcacb0a3461a3d1a47bb09b858562df26fb9fc0769f0a292bf4

View File

@@ -0,0 +1,30 @@
--- docs/CommandGuide/Makefile.orig 2009-10-26 16:54:33.000000000 +0100
+++ docs/CommandGuide/Makefile 2009-10-26 17:32:03.000000000 +0100
@@ -19,7 +19,7 @@
DST_PS_DIR=ps/
# If we are in BUILD_FOR_WEBSITE mode, default to the all target.
-all:: html man ps
+all:: html man
clean:
rm -f pod2htm*.*~~ $(HTML) $(MAN) $(PS)
@@ -81,7 +81,7 @@
MAN_DIR := $(PROJ_mandir)/man1
PS_DIR := $(PROJ_docsdir)/ps
-install-local:: $(HTML) $(INSTALL_MANS) $(PS)
+install-local:: $(HTML) $(INSTALL_MANS)
$(Echo) Installing HTML CommandGuide Documentation
$(Verb) $(MKDIR) $(HTML_DIR)
$(Verb) $(DataInstall) $(HTML) $(HTML_DIR)
@@ -90,9 +90,6 @@
$(Echo) Installing MAN CommandGuide Documentation
$(Verb) $(MKDIR) $(MAN_DIR)
$(Verb) $(DataInstall) $(INSTALL_MANS) $(MAN_DIR)
- $(Echo) Installing PS CommandGuide Documentation
- $(Verb) $(MKDIR) $(PS_DIR)
- $(Verb) $(DataInstall) $(PS) $(PS_DIR)
uninstall-local::
$(Echo) Uninstalling CommandGuide Documentation

View File

@@ -0,0 +1,39 @@
--- docs/Makefile.orig 2011-02-28 21:30:46.000000000 +0100
+++ docs/Makefile 2011-02-28 21:35:22.000000000 +0100
@@ -53,13 +53,12 @@
# 'make generated BUILD_FOR_WEBSITE=1'
generated:: $(generated_targets)
-install-html: $(PROJ_OBJ_DIR)/html.tar.gz
+install-html:
$(Echo) Installing HTML documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/img
$(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(DataInstall) $(IMAGES) $(DESTDIR)$(PROJ_docsdir)/html/img
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
$(Echo) Packaging HTML documentation
@@ -71,12 +70,11 @@
install-doxygen: doxygen
$(Echo) Installing doxygen documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \;
-doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz
+doxygen: regendoc
regendoc:
$(Echo) Building doxygen documentation
@@ -102,7 +100,6 @@
install-ocamldoc: ocamldoc
$(Echo) Installing ocamldoc documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html \;

View File

@@ -0,0 +1,165 @@
# 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-3.0_rc4.ebuild,v 1.1 2011/11/28 10:54:12 voyageur Exp $
EAPI="3"
inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
SRC_URI="http://llvm.org/releases/${PV}/${P}.tar.gz"
LICENSE="UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug gold +libffi multitarget ocaml test udis86 vim-syntax"
DEPEND="dev-lang/perl
>=sys-devel/make-3.79
>=sys-devel/flex-2.5.4
>=sys-devel/bison-1.875d
|| ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 )
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
gold? ( >=sys-devel/binutils-2.22 )
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}/${P}.src
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 and CFLAGS"
sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
-e '/OmitFramePointer/s/-fomit-frame-pointer//' \
-i Makefile.rules || die "rpath sed failed"
if use gold; then
sed -e 's,\$(SharedLibDir),'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
-i tools/gold/Makefile || die "gold rpath sed failed"
fi
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
}
src_configure() {
local CONF_FLAGS="--enable-shared
--with-optimize-option=
$(use_enable !debug optimized)
$(use_enable debug assertions)
$(use_enable debug expensive-checks)"
if use multitarget; 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
if use gold; then
CONF_FLAGS="${CONF_FLAGS} --with-binutils-include=${EPREFIX}/usr/include/"
fi
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
if use libffi; then
append-cppflags "$(pkg-config --cflags libffi)"
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
local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},LTO}.dylib {BugpointPasses,LLVMHello,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
odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
-change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?
done
fi
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
<longdescription>Low Level Virtual Machine (LLVM) is:
1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
<use>
<flag name='gold'>Build the gold linker plugin</flag>
<flag name='llvm-gcc'>Build LLVM with <pkg>sys-devel/llvm-gcc</pkg></flag>
<flag name='multitarget'>Build all host targets (default: host only)</flag>
<flag name='udis86'>Enable support for <pkg>dev-libs/udis86</pkg> disassembler library</flag>
</use>
</pkgmetadata>