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>
|
||||
Reference in New Issue
Block a user