add new files
This commit is contained in:
240
sys-devel/clang/ChangeLog
Normal file
240
sys-devel/clang/ChangeLog
Normal file
@@ -0,0 +1,240 @@
|
||||
# ChangeLog for sys-devel/clang
|
||||
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.48 2011/11/28 10:56:02 voyageur Exp $
|
||||
|
||||
*clang-3.0_rc4 (28 Nov 2011)
|
||||
|
||||
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0_rc3.ebuild,
|
||||
+clang-3.0_rc4.ebuild:
|
||||
Final rc bump
|
||||
|
||||
14 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
|
||||
clang-2.9-r1.ebuild, clang-3.0_rc3.ebuild, clang-9999.ebuild:
|
||||
gcc-config 1.5 dropped the -X option, thanks Leonid Volnitsky
|
||||
<leonid@volnitsky.com> in bug #388621
|
||||
|
||||
10 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-3.0_rc3.ebuild:
|
||||
Fix tests (needs full compilation of llvm, remove broken test)
|
||||
|
||||
*clang-3.0_rc3 (09 Nov 2011)
|
||||
|
||||
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0_rc1.ebuild,
|
||||
+clang-3.0_rc3.ebuild, files/clang-3.0-fix_cxx_include_root.patch,
|
||||
clang-9999.ebuild:
|
||||
Update rc ebuild and cxx_include_root patch, some more ebuild cleanups
|
||||
|
||||
*clang-3.0_rc1 (09 Nov 2011)
|
||||
|
||||
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> +clang-3.0_rc1.ebuild,
|
||||
+files/clang-3.0-fix_cxx_include_root.patch, clang-9999.ebuild:
|
||||
Add rc release to prepare for 3.0, remove llvm-gcc detection code (not used
|
||||
in configure anymore). Also fix bug #387309, thanks to Stephan Wezel
|
||||
<s.wezel@web.de> for the patch
|
||||
|
||||
04 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
|
||||
clang-2.9-r1.ebuild, clang-9999.ebuild:
|
||||
Fix forced -O3 -fomit-frame-pointer CFLAGS again, bug #385543
|
||||
|
||||
03 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
|
||||
-clang-2.9.ebuild, clang-2.9-r1.ebuild, clang-9999.ebuild, metadata.xml:
|
||||
Rename alltargets USE flag to multitarget, bug #382307. Drop some versions
|
||||
|
||||
*clang-2.9-r1 (16 Aug 2011)
|
||||
|
||||
16 Aug 2011; Diego E. Pettenò <flameeyes@gentoo.org> +clang-2.9-r1.ebuild,
|
||||
+files/clang-2.9-gccversions.patch:
|
||||
Add patch to check for a few more GCC versions; thanks to Amir Aupov, Richard
|
||||
and Josh in bug #377949.
|
||||
|
||||
08 Jul 2011; Samuli Suominen <ssuominen@gentoo.org> clang-2.8-r3.ebuild,
|
||||
clang-2.9.ebuild, clang-9999.ebuild:
|
||||
Convert from "hasq" to "has".
|
||||
|
||||
13 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
Also use same USE-defaults for live ebuild, spotted by mgorny
|
||||
|
||||
06 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
Update live ebuild to sync latest ebuild changes, fixes bug #369027
|
||||
|
||||
21 Apr 2011; Fabian Groffen <grobian@gentoo.org> clang-2.9.ebuild:
|
||||
Update install_name reference to libLLVM
|
||||
|
||||
*clang-2.9 (07 Apr 2011)
|
||||
|
||||
07 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.9.ebuild,
|
||||
+files/clang-2.9-darwin-prefix.patch:
|
||||
Version bump, enable system-cxx-headers by default
|
||||
|
||||
28 Mar 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r4.ebuild,
|
||||
-files/clang-2.7-darwin-prefix.patch:
|
||||
Drop 2.7 versions
|
||||
|
||||
14 Mar 2011; Fabian Groffen <grobian@gentoo.org> clang-2.8-r3.ebuild:
|
||||
Marked ~x86-linux
|
||||
|
||||
26 Jan 2011; Fabian Groffen <grobian@gentoo.org> clang-2.7-r4.ebuild,
|
||||
clang-2.8-r3.ebuild, clang-9999.ebuild:
|
||||
Make scan-build utility Prefix-compatible, by Lionel Orry, bug #352809
|
||||
|
||||
*clang-2.8-r3 (19 Dec 2010)
|
||||
|
||||
19 Dec 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.8-r1.ebuild,
|
||||
-clang-2.8-r2.ebuild, +clang-2.8-r3.ebuild, +files/clang-2.8-alignof.patch,
|
||||
+files/clang-2.8-gcc-4.4.4.patch:
|
||||
Backport to rename alignof, fixes C++'0x compilers support. Also adds gcc
|
||||
4.4.4 headers support by default, thanks to Bertjan Broeksema
|
||||
<broeksema@kde.org> in bug #345683
|
||||
|
||||
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> clang-2.8-r2.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Update reference fixing for Darwin for newer more strict versions of
|
||||
Portage
|
||||
|
||||
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> clang-2.8-r2.ebuild,
|
||||
+files/clang-2.8-darwin-prefix.patch:
|
||||
Fix compilation on Darwin, fixes bug #342373, adds back necessary bits for
|
||||
bug #339922
|
||||
|
||||
*clang-2.8-r2 (21 Oct 2010)
|
||||
|
||||
21 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r2.ebuild,
|
||||
-clang-2.8.ebuild, +clang-2.8-r2.ebuild:
|
||||
Also set GCC C headers path with USE=system-cxx-headers, reported by
|
||||
Guillaume Chatelet <chatelet.guillaume@gmail.com>, bug #341891, tested
|
||||
with boost compilation. Clean some versions
|
||||
|
||||
*clang-2.8-r1 (12 Oct 2010)
|
||||
|
||||
12 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.8-r1.ebuild,
|
||||
metadata.xml:
|
||||
Re-enable shared lib, it works now with alltargets USE flag (in sync with
|
||||
llvm one)
|
||||
|
||||
08 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8.ebuild:
|
||||
Use new llvm 2.8 tarball, just in case
|
||||
|
||||
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Tests now use an internal framework, dejagnu not needed anymore
|
||||
|
||||
*clang-2.8 (06 Oct 2010)
|
||||
|
||||
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.8.ebuild,
|
||||
clang-9999.ebuild:
|
||||
2.8 version bump, drop old 2.6, fix one install line in live ebuild
|
||||
|
||||
*clang-2.7-r4 (21 Sep 2010)
|
||||
|
||||
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r3.ebuild,
|
||||
+clang-2.7-r4.ebuild, clang-9999.ebuild:
|
||||
Fix rpath sed and disable shared library use, thanks Nick Bowler
|
||||
<nbowler@draconx.ca> in bug #338231
|
||||
|
||||
*clang-2.7-r3 (17 Sep 2010)
|
||||
|
||||
17 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7.ebuild,
|
||||
+clang-2.7-r3.ebuild:
|
||||
Enable shared library, move libs and plugins to fix bug #337467
|
||||
|
||||
08 Sep 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild,
|
||||
+files/clang-2.7-darwin-prefix.patch:
|
||||
Fix configurations for (newer) Darwin configurations, thanks Heiko Przybyl
|
||||
|
||||
03 Sep 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild:
|
||||
Marked ~amd64-linux
|
||||
|
||||
26 Aug 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Bump to EAPI=3, make Prefix aware, add support for Darwin platforms, bug
|
||||
#332605
|
||||
|
||||
19 Aug 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
system-cxx-headers was missing in -9999 IUSE, spotted by Jack Lloyd
|
||||
<lloyd@randombit.net> in bug #331679
|
||||
|
||||
*clang-2.7-r2 (27 Jul 2010)
|
||||
|
||||
27 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r1.ebuild,
|
||||
+clang-2.7-r2.ebuild, clang-9999.ebuild, metadata.xml:
|
||||
Add a USE-flag for system CXX headers, fix for x86. llvm-gcc users should
|
||||
leave the flag off
|
||||
|
||||
*clang-2.7-r1 (20 Jul 2010)
|
||||
|
||||
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.7-r1.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Get C++ headers from active gcc version, bug #327575
|
||||
|
||||
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r3.ebuild,
|
||||
-files/llvm-2.6-cflags.patch, -files/clang-2.6-fixdoc.patch,
|
||||
-files/clang-2.6-gcc45.patch:
|
||||
Drop 2.6 version
|
||||
|
||||
02 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
Set ESVN_REPO_URI to fix subversion_pkg_preinst
|
||||
|
||||
*clang-9999 (01 Jun 2010)
|
||||
|
||||
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-9999.ebuild:
|
||||
Add live version, bug #320919
|
||||
|
||||
28 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r3.ebuild,
|
||||
+files/clang-2.6-gcc45.patch:
|
||||
GCC 4.5 support for 2.6, bug #317467
|
||||
|
||||
*clang-2.7 (27 Apr 2010)
|
||||
|
||||
27 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r2.ebuild,
|
||||
+clang-2.7.ebuild, +files/clang-2.7-fixdoc.patch:
|
||||
2.7 official release version bump
|
||||
|
||||
*clang-2.6-r3 (26 Apr 2010)
|
||||
|
||||
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.6-r3.ebuild:
|
||||
python support enhancements, grabbed from my in-progress 2.7_pre2 ebuild
|
||||
|
||||
*clang-2.6-r2 (18 Mar 2010)
|
||||
|
||||
18 Mar 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r1.ebuild,
|
||||
+clang-2.6-r2.ebuild, +files/llvm-2.6-cflags.patch:
|
||||
Remove forced -O3 -fomit-frame-pointer CFLAGS, bug #308145
|
||||
|
||||
28 Jan 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
|
||||
vecho -> echo, spotted by tove
|
||||
|
||||
07 Dec 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
|
||||
Remove faulty test for 2.6, bug #294689
|
||||
|
||||
07 Dec 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
|
||||
Fix multilib-strict sed, it broke tests on amd64
|
||||
|
||||
30 Nov 2009; Torsten Veller <tove@gentoo.org> clang-2.6-r1.ebuild:
|
||||
Add missing die: || "die..." -> || die "..."
|
||||
|
||||
*clang-2.6-r1 (27 Oct 2009)
|
||||
|
||||
27 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6.ebuild,
|
||||
+clang-2.6-r1.ebuild:
|
||||
Install missing files for static analyzer, bug #290697
|
||||
|
||||
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6.ebuild:
|
||||
Add some comments, fix running tests. Now about 50 of them fail not
|
||||
finding their headers, still looking why
|
||||
|
||||
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6.ebuild,
|
||||
+files/clang-2.6-fixdoc.patch:
|
||||
Fix documentation Makefile in the same way as llvm
|
||||
|
||||
*clang-2.6 (25 Oct 2009)
|
||||
|
||||
25 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
-clang-2.6_pre2.ebuild, +clang-2.6.ebuild:
|
||||
Bump to final 2.6 release
|
||||
|
||||
*clang-2.6_pre2 (05 Oct 2009)
|
||||
|
||||
05 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
+clang-2.6_pre2.ebuild, +metadata.xml:
|
||||
Initial commit, based on ebuild by Ravi Pinjala <ravi@p-static.net> in bug
|
||||
#269651
|
||||
|
||||
7
sys-devel/clang/Manifest
Normal file
7
sys-devel/clang/Manifest
Normal file
@@ -0,0 +1,7 @@
|
||||
AUX clang-2.7-fixdoc.patch 1977 RMD160 62f52e5580baa396d93c56735c0039c8691b43b6 SHA1 351c1d2cf86b6da75a6ed19083d7a857333f007c SHA256 36c2214e575ed3fd78938279739e82c4f750f8726f8387e1414c18532501314a
|
||||
AUX clang-3.0-fix_cxx_include_root.patch 1132 RMD160 40f5c11045111212d15ae9e462464360cdf4d1b6 SHA1 8ae4759100e6c7233733a89ae577043ed2d0ee15 SHA256 260f8e36650384304fd0c21f8d742a4b361db4b3a0411c9c74375df95f174898
|
||||
DIST clang-3.0.tar.gz 7240578 RMD160 640b309116db4357627c0b81ebba5dab824d9eeb SHA1 1fa11f07f957bd9c9de003d1b5a7a9ba1e0055e4 SHA256 b64e72da356d7c3428cfd7ac620d49ec042c84eaee13c26024879f555f4e126d
|
||||
DIST llvm-3.0.tar.gz 10350539 RMD160 85211cafbed1c5d838ac54669017b5298613f975 SHA1 b683e7294fcf69887c0d709025d4640f5dca755b SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477
|
||||
EBUILD clang-3.0.ebuild 6130 RMD160 5d9fb2eb75d5d6fa5994911e9243a90fb9367dd7 SHA1 ce8e24de670fc05dcd1dadc0c1eaf26578bb1385 SHA256 7d8dbd0b2711092fb048c487bbb13ff74343f6569101a98bd4382d8249bbca7c
|
||||
MISC ChangeLog 9104 RMD160 505082137be9c74d70c60ad518c5743c71e89d3d SHA1 2075c38dd2a82e78408a6759c76fec71e51c0ea0 SHA256 50294dd68ba24cbb083ced9d23222662c0873765f1e03555ab87b6f9dee53ac8
|
||||
MISC metadata.xml 1339 RMD160 5f8b76cda96fc95f67fd8ff7f977c116a4f0f28a SHA1 034f922ae098216b179e9d5c78246f9caa95b9d6 SHA256 0ef2f9bcc4f3293dcb69b2c882b93737b9be496e6f8789efa69df6adb2c1edf8
|
||||
190
sys-devel/clang/clang-3.0.ebuild
Normal file
190
sys-devel/clang/clang-3.0.ebuild
Normal file
@@ -0,0 +1,190 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.0_rc4.ebuild,v 1.1 2011/11/28 10:56:02 voyageur Exp $
|
||||
|
||||
EAPI=3
|
||||
|
||||
RESTRICT_PYTHON_ABIS="3.*"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
|
||||
inherit eutils multilib python
|
||||
|
||||
DESCRIPTION="C language family frontend for LLVM"
|
||||
HOMEPAGE="http://clang.llvm.org/"
|
||||
# Fetching LLVM as well: see http://llvm.org/bugs/show_bug.cgi?id=4840
|
||||
SRC_URI="http://llvm.org/releases/${PV}/llvm-${PV}.tar.gz
|
||||
http://llvm.org/releases/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="debug multitarget +static-analyzer +system-cxx-headers test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[multitarget=]"
|
||||
|
||||
S=${WORKDIR}/llvm-${PV}.src
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/clang-${PV}.src "${S}"/tools/clang || die "clang source directory move failed"
|
||||
|
||||
# Same as llvm doc patches
|
||||
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
|
||||
|
||||
# multilib-strict
|
||||
sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/lib/Headers/Makefile \
|
||||
|| die "clang Makefile failed"
|
||||
# Fix cxx_include_root path for Gentoo
|
||||
epatch "${FILESDIR}"/${P/_*}-fix_cxx_include_root.patch
|
||||
# fix the static analyzer for in-tree install
|
||||
sed -e 's/import ScanView/from clang \0/' \
|
||||
-i tools/clang/tools/scan-view/scan-view \
|
||||
|| die "scan-view sed failed"
|
||||
sed -e "/scanview.css\|sorttable.js/s#\$RealBin#${EPREFIX}/usr/share/${PN}#" \
|
||||
-i tools/clang/tools/scan-build/scan-build \
|
||||
|| die "scan-build sed failed"
|
||||
# Specify python version
|
||||
python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
|
||||
|
||||
# From llvm src_prepare
|
||||
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)/llvm, \
|
||||
-i Makefile.config.in || die "Makefile.config sed failed"
|
||||
|
||||
einfo "Fixing rpath and CFLAGS"
|
||||
sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/llvm, \
|
||||
-e '/OmitFramePointer/s/-fomit-frame-pointer//' \
|
||||
-i Makefile.rules || die "rpath sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local CONF_FLAGS="--enable-shared
|
||||
--with-optimize-option=
|
||||
$(use_enable !debug optimized)
|
||||
$(use_enable debug assertions)
|
||||
$(use_enable debug expensive-checks)"
|
||||
|
||||
# Setup the search path to include the Prefix includes
|
||||
if use prefix ; then
|
||||
CONF_FLAGS="${CONF_FLAGS} \
|
||||
--with-c-include-dirs=${EPREFIX}/usr/include:/usr/include"
|
||||
fi
|
||||
|
||||
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 system-cxx-headers; then
|
||||
# Try to get current gcc headers path
|
||||
local CXX_PATH=$(gcc-config -L| cut -d: -f1)
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-c-include-dirs=/usr/include:${CXX_PATH}/include"
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-root=${CXX_PATH}/include/g++-v4"
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-arch=$CHOST"
|
||||
if has_multilib_profile; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-32bit-dir=32"
|
||||
fi
|
||||
fi
|
||||
|
||||
econf ${CONF_FLAGS} || die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local COMPILE_TARGET
|
||||
if use test; then
|
||||
COMPILE_TARGET="all"
|
||||
else
|
||||
COMPILE_TARGET="clang-only"
|
||||
fi
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 \
|
||||
${COMPILE_TARGET} || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/test || die "cd failed"
|
||||
emake site.exp || die "updating llvm site.exp failed"
|
||||
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
|
||||
# Broken test always assuming i386 host with multilib gcc 4.6.0
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=11094
|
||||
rm -f test/Driver/linux-ld.c
|
||||
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
if ! emake -j1 VERBOSE=1 test; then
|
||||
has test $FEATURES && die "Make test failed. See above for details."
|
||||
has test $FEATURES || eerror "Make test failed. See above for details."
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
|
||||
|
||||
if use static-analyzer ; then
|
||||
dobin tools/scan-build/ccc-analyzer
|
||||
dosym ccc-analyzer /usr/bin/c++-analyzer
|
||||
dobin tools/scan-build/scan-build
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins tools/scan-build/scanview.css
|
||||
doins tools/scan-build/sorttable.js
|
||||
|
||||
cd tools/scan-view || die "cd scan-view failed"
|
||||
dobin scan-view
|
||||
install-scan-view() {
|
||||
insinto "$(python_get_sitedir)"/clang
|
||||
doins Reporter.py Resources ScanView.py startfile.py
|
||||
touch "${ED}"/"$(python_get_sitedir)"/clang/__init__.py
|
||||
}
|
||||
python_execute_function install-scan-view
|
||||
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 libclang.dylib ; do
|
||||
ebegin "fixing install_name of $lib"
|
||||
install_name_tool -id "${EPREFIX}"/usr/lib/llvm/${lib} \
|
||||
"${ED}"/usr/lib/llvm/${lib}
|
||||
eend $?
|
||||
done
|
||||
for f in usr/bin/{c-index-test,clang} usr/lib/llvm/libclang.dylib ; do
|
||||
ebegin "fixing references in ${f##*/}"
|
||||
install_name_tool \
|
||||
-change "@rpath/libclang.dylib" \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
-change "@executable_path/../lib/libLLVM-${PV}.dylib" \
|
||||
"${EPREFIX}"/usr/lib/llvm/libLLVM-${PV}.dylib \
|
||||
-change "${S}"/Release/lib/libclang.dylib \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
"${ED}"/$f
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
python_mod_optimize clang
|
||||
if use system-cxx-headers; then
|
||||
elog "C++ headers search path is hardcoded to the active gcc profile one"
|
||||
elog "If you change the active gcc profile, or update gcc to a new version,"
|
||||
elog "you will have to remerge this package to update the search path"
|
||||
else
|
||||
elog "If clang++ fails to find C++ headers on your system,"
|
||||
elog "you can remerge clang with USE=system-cxx-headers to use C++ headers"
|
||||
elog "from the active gcc profile"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
python_mod_cleanup clang
|
||||
}
|
||||
53
sys-devel/clang/files/clang-2.7-fixdoc.patch
Normal file
53
sys-devel/clang/files/clang-2.7-fixdoc.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
diff -Naur llvm-2.7.orig//tools/clang/docs/Makefile llvm-2.7/tools/clang/docs/Makefile
|
||||
--- llvm-2.7.orig//tools/clang/docs/Makefile 2010-04-26 18:38:45.000000000 +0200
|
||||
+++ llvm-2.7/tools/clang/docs/Makefile 2010-04-26 18:41:08.000000000 +0200
|
||||
@@ -46,13 +46,12 @@
|
||||
# 'make generated BUILD_FOR_WEBSITE=1'
|
||||
generated:: doxygen
|
||||
|
||||
-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
|
||||
@@ -64,12 +63,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
|
||||
diff -Naur llvm-2.7.orig//tools/clang/docs/tools/Makefile llvm-2.7/tools/clang/docs/tools/Makefile
|
||||
--- llvm-2.7.orig//tools/clang/docs/tools/Makefile 2010-04-26 18:38:45.000000000 +0200
|
||||
+++ llvm-2.7/tools/clang/docs/tools/Makefile 2010-04-26 18:41:29.000000000 +0200
|
||||
@@ -24,7 +24,7 @@
|
||||
CLANG_VERSION := trunk
|
||||
|
||||
# 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)
|
||||
@@ -58,7 +58,7 @@
|
||||
ifdef ONLY_MAN_DOCS
|
||||
INSTALL_TARGETS := install-man
|
||||
else
|
||||
-INSTALL_TARGETS := install-html install-man install-ps
|
||||
+INSTALL_TARGETS := install-html install-man
|
||||
endif
|
||||
|
||||
.SUFFIXES:
|
||||
21
sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch
Normal file
21
sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
Bug #387309
|
||||
|
||||
--- llvm/tools/clang/lib/Driver/ToolChains.cpp.orig 2011-11-09 23:10:04.000000000 +0100
|
||||
+++ llvm/tools/clang/lib/Driver/ToolChains.cpp 2011-11-09 23:11:04.000000000 +0100
|
||||
@@ -1586,12 +1586,13 @@
|
||||
// This is of the form /foo/bar/include/c++/4.5.2/
|
||||
if (CxxIncludeRoot.back() == '/')
|
||||
llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the /
|
||||
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the g++-v4
|
||||
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
|
||||
StringRef Version = llvm::sys::path::filename(CxxIncludeRoot);
|
||||
llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the version
|
||||
- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the c++
|
||||
- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
|
||||
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the ARCH
|
||||
GccInstallPath = CxxIncludeRoot.str();
|
||||
- GccInstallPath.append("/lib/gcc/");
|
||||
+ GccInstallPath.append("/");
|
||||
GccInstallPath.append(CXX_INCLUDE_ARCH);
|
||||
GccInstallPath.append("/");
|
||||
GccInstallPath.append(Version);
|
||||
35
sys-devel/clang/metadata.xml
Normal file
35
sys-devel/clang/metadata.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?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>The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler.
|
||||
|
||||
Features and Goals
|
||||
|
||||
Some of the goals for the project include the following:
|
||||
|
||||
End-User Features:
|
||||
Fast compiles and low memory use
|
||||
Expressive diagnostics
|
||||
GCC compatibility
|
||||
Utility and Applications:
|
||||
|
||||
Modular library based architecture
|
||||
Support diverse clients (refactoring, static analysis, code generation, etc)
|
||||
Allow tight integration with IDEs
|
||||
Use the LLVM BSD License
|
||||
Internal Design and Implementation:
|
||||
|
||||
A real-world, production quality compiler
|
||||
A simple and hackable code base
|
||||
A single unified parser for C, Objective C, C++, and Objective C++
|
||||
Conformance with C/C++/ObjC and their variants</longdescription>
|
||||
<use>
|
||||
<flag name='multitarget'>Build all host targets (default: host only)</flag>
|
||||
<flag name='static-analyzer'>Install the Clang static analyzer</flag>
|
||||
<flag name='system-cxx-headers'>By default, clang++ searchs for C++ headers in a series of hardcoded paths. Enabling this flag will force it to use the active gcc profile ones</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
20
sys-devel/dragonegg/ChangeLog
Normal file
20
sys-devel/dragonegg/ChangeLog
Normal file
@@ -0,0 +1,20 @@
|
||||
# ChangeLog for sys-devel/dragonegg
|
||||
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/ChangeLog,v 1.3 2011/11/30 10:35:01 voyageur Exp $
|
||||
|
||||
30 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
dragonegg-3.0_rc4.ebuild:
|
||||
gcc-4.6 has lto by default (and no USE flag), thanks alexxy, bug #392483
|
||||
|
||||
*dragonegg-3.0_rc4 (28 Nov 2011)
|
||||
|
||||
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
-dragonegg-3.0_rc3.ebuild, +dragonegg-3.0_rc4.ebuild:
|
||||
Final rc bump
|
||||
|
||||
*dragonegg-3.0_rc3 (10 Nov 2011)
|
||||
|
||||
10 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
+dragonegg-3.0_rc3.ebuild, +metadata.xml:
|
||||
Initial commit
|
||||
|
||||
4
sys-devel/dragonegg/Manifest
Normal file
4
sys-devel/dragonegg/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
DIST dragonegg-3.0.tar.gz 435536 RMD160 93aa8a463b6b5e1fb9cc1ee0a7c4d310a78ea64f SHA1 9be8f055df814e56ea3585156da8c7e457f2cd7b SHA256 72df1fd2e901b254ab8d1b5e7b93c7104751a613aca531f1483f9a637a5f6827
|
||||
EBUILD dragonegg-3.0.ebuild 1290 RMD160 cc485d6873cc812cd7d572cda495739e256a033e SHA1 e0751456850ddab4f169ee5bb92f449aa456491e SHA256 a8bc6351c712193891099f79f6d6d488935846ee80453a7b712af445c28f54c9
|
||||
MISC ChangeLog 685 RMD160 53a1b2e6e566a4229279dd093fa27d87e77d6d1b SHA1 5c7dae79e1d80e9922e61c6c52fa2f0bc22f4ec0 SHA256 f7a00c78534b25158202120f399ee5603ad43339b5ea2b929bdf64fc33d35e44
|
||||
MISC metadata.xml 492 RMD160 7eb430a13ec4ba40fcf67fdde74cf86b5e17028e SHA1 7a0c44e7aeed6d57d509d8b0260f655940281e81 SHA256 30b11ba6c1fb003706253651ad24ef789018d994e3e1d452e6639133a5a0b6f2
|
||||
48
sys-devel/dragonegg/dragonegg-3.0.ebuild
Normal file
48
sys-devel/dragonegg/dragonegg-3.0.ebuild
Normal file
@@ -0,0 +1,48 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/dragonegg-3.0_rc4.ebuild,v 1.2 2011/11/30 10:35:01 voyageur Exp $
|
||||
|
||||
EAPI=4
|
||||
inherit multilib
|
||||
|
||||
DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation"
|
||||
HOMEPAGE="http://dragonegg.llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="|| ( sys-devel/gcc:4.5[lto]
|
||||
>=sys-devel/gcc-4.6 )
|
||||
~sys-devel/llvm-${PV}"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
src_prepare() {
|
||||
# Remove in final 3.0
|
||||
sed -e "s/\(^REVISION:=\).*/\1${P}/" \
|
||||
-i Makefile || die "Setting revision failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# GCC: compiler to use plugin with
|
||||
emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Install plugin in llvm lib directory
|
||||
exeinto /usr/$(get_libdir)/llvm
|
||||
doexe dragonegg.so
|
||||
|
||||
dodoc README
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "To use dragonegg, run gcc as usual, with an extra command line argument:"
|
||||
elog " -fplugin=/usr/$(get_libdir)/llvm/dragonegg.so"
|
||||
elog "If you change the active gcc profile, or update gcc to a new version,"
|
||||
elog "you will have to remerge this package to update the plugin"
|
||||
}
|
||||
9
sys-devel/dragonegg/metadata.xml
Normal file
9
sys-devel/dragonegg/metadata.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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>DragonEgg is a <pkg>sys-devel/gcc</pkg> plugin (dragonegg.so) that replaces gcc's optimizers and code generators with those from the LLVM project. It is a reimplementation of llvm-gcc that works with gcc-4.5 or later.</longdescription>
|
||||
</pkgmetadata>
|
||||
251
sys-devel/llvm/ChangeLog
Normal file
251
sys-devel/llvm/ChangeLog
Normal 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
6
sys-devel/llvm/Manifest
Normal 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
|
||||
30
sys-devel/llvm/files/llvm-2.6-commandguide-nops.patch
Normal file
30
sys-devel/llvm/files/llvm-2.6-commandguide-nops.patch
Normal 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
|
||||
39
sys-devel/llvm/files/llvm-2.9-nodoctargz.patch
Normal file
39
sys-devel/llvm/files/llvm-2.9-nodoctargz.patch
Normal 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 \;
|
||||
165
sys-devel/llvm/llvm-3.0.ebuild
Normal file
165
sys-devel/llvm/llvm-3.0.ebuild
Normal 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
|
||||
}
|
||||
19
sys-devel/llvm/metadata.xml
Normal file
19
sys-devel/llvm/metadata.xml
Normal 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>
|
||||
Reference in New Issue
Block a user