add new files
This commit is contained in:
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