mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 01:16:59 +02:00
Merge pull request #58 from marineam/noclang
clean(sys-devel): Remove clang/llvm
This commit is contained in:
commit
75d67171b1
@ -1,475 +0,0 @@
|
||||
# ChangeLog for sys-devel/clang
|
||||
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.93 2013/07/31 21:51:47 aballier Exp $
|
||||
|
||||
31 Jul 2013; Alexis Ballier <aballier@gentoo.org> clang-3.3-r100.ebuild:
|
||||
remove ppc keywords that were added by mistake
|
||||
|
||||
*clang-3.3-r100 (21 Jul 2013)
|
||||
*clang-9999-r100 (21 Jul 2013)
|
||||
|
||||
21 Jul 2013; Michał Górny <mgorny@gentoo.org> +clang-3.3-r100.ebuild,
|
||||
+clang-9999-r100.ebuild:
|
||||
Add clang meta-package pulling in llvm[clang].
|
||||
|
||||
*clang-3.3 (18 Jun 2013)
|
||||
|
||||
18 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.3_rc3.ebuild,
|
||||
+clang-3.3.ebuild:
|
||||
Remove mask on llvm release candidates
|
||||
|
||||
18 Jun 2013; Alexis Ballier <aballier@gentoo.org> clang-3.3_rc3.ebuild,
|
||||
files/clang-3.1-gentoo-freebsd-fix-lib-path.patch:
|
||||
Drop a FreeBSD specific patch that causes problem with multilib on FreeBSD.
|
||||
|
||||
17 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> clang-3.3_rc3.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Use clang resource dir configuration option, fixes #417595
|
||||
|
||||
13 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> clang-3.3_rc3.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Fix libprofile_rt.a lookup path, bug #471434
|
||||
|
||||
*clang-3.3_rc3 (10 Jun 2013)
|
||||
|
||||
10 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> +clang-3.3_rc3.ebuild:
|
||||
3.3_rc bump
|
||||
|
||||
24 May 2013; Alexis Ballier <aballier@gentoo.org> clang-3.2.ebuild:
|
||||
rekeyword ~amd64-fbsd: c++ include search for gcc ones is broken but works
|
||||
very well when using libcxx.
|
||||
|
||||
04 Feb 2013; Michał Górny <mgorny@gentoo.org> clang-3.2.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Use supported Python implementation during build. Fixes bug #455260.
|
||||
|
||||
02 Feb 2013; Michał Górny <mgorny@gentoo.org> clang-3.2.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Migrate to python-r1.
|
||||
|
||||
15 Jan 2013; Jeroen Roovers <jer@gentoo.org> metadata.xml:
|
||||
Switch to UTF8.
|
||||
|
||||
11 Jan 2013; Richard Yao <ryao@gentoo.org> clang-3.2.ebuild:
|
||||
Drop ~amd64-fbsd ~x64-freebsd keywords due to broken C++ support
|
||||
|
||||
03 Jan 2013; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
|
||||
clang-2.9-r1.ebuild, clang-3.0-r4.ebuild, clang-3.1-r5.ebuild,
|
||||
clang-3.2.ebuild, clang-9999.ebuild:
|
||||
debug USE-flag needs to be in sync with llvm's one, thanks hasufell in bug
|
||||
#448530
|
||||
|
||||
*clang-3.2 (21 Dec 2012)
|
||||
|
||||
21 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.2_rc3.ebuild,
|
||||
+clang-3.2.ebuild:
|
||||
Bump to final version, remove release candidate
|
||||
|
||||
*clang-3.2_rc3 (07 Dec 2012)
|
||||
|
||||
07 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> +clang-3.2_rc3.ebuild,
|
||||
-clang-3.2_rc2.ebuild:
|
||||
RC bump
|
||||
|
||||
*clang-3.2_rc2 (03 Dec 2012)
|
||||
|
||||
03 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.1-r1.ebuild,
|
||||
-clang-3.1-r2.ebuild, -clang-3.1-r4.ebuild,
|
||||
-files/clang-3.1-fix_cxx_include_root.patch,
|
||||
-files/clang-3.1-gentoo-freebsd-fix-cxx-paths.patch,
|
||||
-files/clang-3.1-gentoo-linux-fix-cxx-include.patch,
|
||||
-files/clang-3.1-gentoo-runtime-gcc-detection.patch, +clang-3.2_rc2.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Release candidate bump, sync changes in live ebuild, remove some 3.1
|
||||
versions. Still need to fix the gentoo-freebsd-fix-cxx-paths patch
|
||||
|
||||
30 Aug 2012; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
-files/cl-patches/0001-Add-r600-TargetInfo.patch,
|
||||
+files/cl-patches/clang-0001-Add-r600-TargetInfo.patch,
|
||||
-files/cl-patches/0002-r600-Add-some-target-builtins.patch,
|
||||
+files/cl-patches/llvm-0001-r600-Add-some-intrinsic-definitions.patch,
|
||||
+files/cl-patches/llvm-0002-r600-Add-get_global_size-and-get_local_size-intri
|
||||
nsi.patch, +files/cl-patches/clang-0002-r600-Add-some-target-builtins.patch,
|
||||
+files/cl-patches/clang-0003-r600-Add-read_global_size-and-read_local_size-bu
|
||||
ilti.patch, clang-3.1-r5.ebuild,
|
||||
-files/cl-patches/0003-r600-Add-read_global_size-and-read_local_size-builti.p
|
||||
atch:
|
||||
Also apply llvm r600 patches, should fix bug #427206
|
||||
|
||||
05 Aug 2012; Richard Yao <ryao@gentoo.org> clang-3.1-r4.ebuild:
|
||||
Keyword ~x64-freebsd
|
||||
|
||||
27 Jul 2012; Michał Górny <mgorny@gentoo.org> clang-3.1-r4.ebuild,
|
||||
clang-3.1-r5.ebuild, clang-9999.ebuild:
|
||||
Use tc-export to enforce Gentoo default CC/CXX when $CHOST-clang is available.
|
||||
|
||||
*clang-3.1-r5 (16 Jul 2012)
|
||||
|
||||
16 Jul 2012; Michał Górny <mgorny@gentoo.org> +clang-3.1-r5.ebuild,
|
||||
+files/cl-patches/0001-Add-r600-TargetInfo.patch,
|
||||
+files/cl-patches/0002-r600-Add-some-target-builtins.patch, +files/cl-patches/
|
||||
0003-r600-Add-read_global_size-and-read_local_size-builti.patch:
|
||||
Add OpenCL Radeon patches wrt #425688, and enable cpp target by default wrt
|
||||
#418441.
|
||||
|
||||
22 Jun 2012; Bernard Cafarelli <voyageur@gentoo.org>
|
||||
files/clang-3.1-increase-parser-recursion-limit.patch:
|
||||
Convert patch from DOS to Unix format, to prevent bugs like #422725
|
||||
|
||||
12 Jun 2012; Fabian Groffen <grobian@gentoo.org> clang-3.1-r4.ebuild:
|
||||
Marked ~x64-macos
|
||||
|
||||
08 Jun 2012; Michał Górny <mgorny@gentoo.org> clang-9999.ebuild:
|
||||
Enable cpp target by default wrt #418441.
|
||||
|
||||
*clang-3.1-r4 (07 Jun 2012)
|
||||
|
||||
07 Jun 2012; Richard Yao <ryao@gentoo.org> +clang-3.1-r4.ebuild,
|
||||
+files/clang-3.1-gentoo-freebsd-fix-cxx-paths-v2.patch,
|
||||
+files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch, -clang-3.1-r3.ebuild,
|
||||
-files/clang-3.1-gentoo-runtime-gcc-detection-v2.patch:
|
||||
Fix bug #417913
|
||||
|
||||
*clang-3.1-r3 (05 Jun 2012)
|
||||
|
||||
05 Jun 2012; Richard Yao <ryao@gentoo.org> +clang-3.1-r3.ebuild,
|
||||
+files/clang-3.1-gentoo-runtime-gcc-detection-v2.patch:
|
||||
Generalize GCC version check, which fixes bug #417913 and bug #418141
|
||||
|
||||
05 Jun 2012; Richard Yao <ryao@gentoo.org> metadata.xml:
|
||||
Add self to maintainer list
|
||||
|
||||
02 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
|
||||
clang-3.1-r2.ebuild:
|
||||
Keyword ~arm, bug #320221.
|
||||
|
||||
26 May 2012; Alexis Ballier <aballier@gentoo.org> clang-3.1-r2.ebuild:
|
||||
keyword ~amd64-fbsd
|
||||
|
||||
26 May 2012; Michał Górny <mgorny@gentoo.org> clang-3.1-r2.ebuild:
|
||||
Fix revnumber in patch-related comment.
|
||||
|
||||
*clang-3.1-r2 (26 May 2012)
|
||||
|
||||
26 May 2012; Michał Górny <mgorny@gentoo.org> +clang-3.1-r2.ebuild,
|
||||
+files/clang-3.1-increase-parser-recursion-limit.patch:
|
||||
Include compiler-rt; fixes #417419. Increase parser recursion limit wrt
|
||||
#417545. Also fix BSD include removal.
|
||||
|
||||
*clang-3.1-r1 (26 May 2012)
|
||||
|
||||
26 May 2012; Richard Yao <ryao@gentoo.org> +clang-3.1-r1.ebuild,
|
||||
+files/clang-3.1-gentoo-freebsd-fix-cxx-paths.patch,
|
||||
+files/clang-3.1-gentoo-freebsd-fix-lib-path.patch,
|
||||
+files/clang-3.1-gentoo-linux-fix-cxx-include.patch,
|
||||
+files/clang-3.1-gentoo-runtime-gcc-detection.patch, -clang-3.1.ebuild:
|
||||
Fix bug #406163, bug #409269, bug #417171, bug #417537 and bug #417541 in
|
||||
Clang 3.1
|
||||
|
||||
*clang-3.0-r4 (24 May 2012)
|
||||
|
||||
24 May 2012; Richard Yao <ryao@gentoo.org> +clang-3.0-r4.ebuild,
|
||||
+files/clang-3.0-freebsd-runtime-gcc-detection.patch,
|
||||
+files/clang-3.0-linux-runtime-gcc-detection.patch, -clang-3.0-r3.ebuild:
|
||||
Add runtime detection of active GCC on Linux (bug \#406163) and FreeBSD (bug
|
||||
\#409269). Remove unnecessary headers on FreeBSD, bug \#417171. Run time
|
||||
detection enables Clang to build C++ code without USE=system-cxx-headers, so
|
||||
no longer set it by default
|
||||
|
||||
*clang-3.1 (23 May 2012)
|
||||
|
||||
23 May 2012; Michał Górny <mgorny@gentoo.org> +clang-3.1.ebuild:
|
||||
Version bump.
|
||||
|
||||
02 May 2012; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Add myself as a co-maintainer.
|
||||
|
||||
13 Apr 2012; Bernard Cafarelli <voyageur@gentoo.org> clang-3.0-r3.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Support epatch_user, bug #411447
|
||||
|
||||
13 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> clang-3.0-r3.ebuild,
|
||||
clang-9999.ebuild:
|
||||
Tests require python-2, continuation of bug #407885
|
||||
|
||||
08 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
Add AddressSanitizer (asan) support with compiler-rt, bug #407295
|
||||
|
||||
28 Feb 2012; Fabian Groffen <grobian@gentoo.org> clang-3.0-r3.ebuild,
|
||||
clang-9999.ebuild, files/clang-3.0-gentoo-binutils-apple.patch:
|
||||
Gentoo binutils-apple patch has been applied upstream, so no longer necessary
|
||||
in 9999. Update patch header with upstream commit.
|
||||
|
||||
21 Feb 2012; Fabian Groffen <grobian@gentoo.org> clang-3.0-r3.ebuild,
|
||||
+files/clang-3.0-gentoo-binutils-apple.patch, clang-9999.ebuild:
|
||||
Add patch to fix version detection of Gentoo's binutils-apple, bug #395013
|
||||
|
||||
16 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
|
||||
clang now autodetects C++ header paths, dropping the system-cxx-headers
|
||||
system and fixing bug #402365
|
||||
|
||||
*clang-3.0-r3 (16 Feb 2012)
|
||||
|
||||
16 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0-r2.ebuild,
|
||||
+clang-3.0-r3.ebuild:
|
||||
Fix 32bit include path on multilib, thanks slyfox in bug #404057
|
||||
|
||||
*clang-3.0-r2 (03 Feb 2012)
|
||||
|
||||
03 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0.ebuild,
|
||||
-clang-3.0-r1.ebuild, +clang-3.0-r2.ebuild, clang-9999.ebuild:
|
||||
Fix path to gold plugin, thanks mgorny in bug #397547
|
||||
|
||||
25 Jan 2012; Luca Barbato <lu_zero@gentoo.org>
|
||||
+files/clang-3.1-fix_cxx_include_root.patch, clang-9999.ebuild:
|
||||
Update live ebuild
|
||||
|
||||
*clang-3.0-r1 (13 Jan 2012)
|
||||
|
||||
13 Jan 2012; Bernard Cafarelli <voyageur@gentoo.org> +clang-3.0-r1.ebuild,
|
||||
+files/clang-3.0-recognize-amd-k10-enable-sse4a.patch, clang-9999.ebuild:
|
||||
Allow to run test without rebuilding llvm, bug #397559 by mgorny. Add AMD K10
|
||||
suport in 3.0, patch thanks to Fabio Scaccabarozzi <fsvm88@gmail.com> in bug
|
||||
#398357
|
||||
|
||||
*clang-3.0 (02 Dec 2011)
|
||||
|
||||
02 Dec 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0_rc4.ebuild,
|
||||
+clang-3.0.ebuild:
|
||||
Final release bump, remove rc
|
||||
|
||||
*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
|
@ -1,56 +0,0 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
AUX cl-patches/clang-0001-Add-r600-TargetInfo.patch 2801 SHA256 619a510c819ee4033e00ce4e42ab9f73409346edc3bba6243c3d0868face826c SHA512 41159ce46525878fbead0a64582fd522d5643c4ce9841f7a1259d6fcee2c0382babf8f734bf47c0c32c8d9e54633c8e2d3eef67b85426ac4f873d47fd8dd6ac1 WHIRLPOOL 074aae16c6e23f7db036a3e13f4c8ba976d0f27adae2e05c957a10d1931098d04f766a0ac35bf1589541e710acd18370bdee18205f612fd7da4aab926e306ace
|
||||
AUX cl-patches/clang-0002-r600-Add-some-target-builtins.patch 3535 SHA256 620411208e4609ac2b77412f31774b2d6fb7403b0d8fccd250a4d613cfc1a5ca SHA512 872156d6e4721b01aef05ac4c829f5635abd205c5f05dc66f20a9e59e7f8165464c55f730a0890af5220b917bc8ebede58e63ca401165e6cef77a8c2d0fd40ab WHIRLPOOL 8bd671a6cca645bae6d9888345319ed3f5476991716f0cf909435d988ed4c6db4b06d8b8e93e07baffe83b741fc58ea4dc67aac7203e7d4e2d71e71190e05cd7
|
||||
AUX cl-patches/clang-0003-r600-Add-read_global_size-and-read_local_size-builti.patch 1132 SHA256 cf9888b9bd13e5daff6c2806c4324c99a20c3ce16570e7e0d6776baeb512bc2c SHA512 cff65845acedd72c2066e568bdf7da9a5b2e5d98737b8bb99be1b2dceefd096470e17b86ee04795339ab7cebbc72ea54c465a9a3640d2daafce9ddad1d5444e7 WHIRLPOOL 054b159e7e4d07acfea74ff8b1f79acf1b29de300903d4ae69a0f9ce5ad77495ce772a5bd1ce244badd8fe3502b1e6f833353478ee68252bf616fc81d251a8a7
|
||||
AUX cl-patches/llvm-0001-r600-Add-some-intrinsic-definitions.patch 2450 SHA256 b0a718800c8969e174f3a22e61c15a370376f477e031fe97fff6aaab152f9867 SHA512 d23f9645d3e3364b1e9ce522eb15022fd3f2a685741db88b117b409ee33a07344a8e9ba9d89dc3535e5289edf79c6beb7ff144659f4e725b1a8f2c4256f9aad0 WHIRLPOOL c549806dbe5309dc441b65c942de488c6afc8c511d060d5c1459a4f99b97a357acbec51ce51bd704e5e1e74437cd413755f15377ad6b96c235242bc370af096f
|
||||
AUX cl-patches/llvm-0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch 1189 SHA256 172bbb3cb1214e61ee2684c133317bb997e94a34c91dae94d4848cbd0c216436 SHA512 cf711149c421b4258bc64b81018d0a9474d8b4e4128d0cc0cea788b54c93e9512397b2310db8a1834c3507b4d893d5743dbc53183ac0daca23da55601b976c16 WHIRLPOOL 8e6bd9f005a6a941c55d7c8d9b127826191944fab9e404f8ed958efd07017f5f9301273739f869a73f15fc2a79af9dc18687ff85403acf24e175a464838b3f2e
|
||||
AUX clang-2.7-fixdoc.patch 1977 SHA256 36c2214e575ed3fd78938279739e82c4f750f8726f8387e1414c18532501314a SHA512 598c793bd817cfdd32499fd94bf5628683fa037ec54174cac5896528c40601addd8e4d8d0bbe13820aa5df6158151f648fcb0ede826058e75c19174466ee85ae WHIRLPOOL 765493b0630a552d51e202e3d062ffa5972babde0762610c3881daf106603d3f75c8aa52106c70bac257656b908913cb3f5d26468593046ae50541f5ff5912f4
|
||||
AUX clang-2.8-alignof.patch 11984 SHA256 2c1d648c64cc6582a00b0adbc5c65e3ac89a1bb1816e0691902866730a332fa2 SHA512 9e92ac4767f6b3cb06d90a4e0609a679737c3e17f615002f301a82e1857c94097647aa74fe61b09576fc925cc165155de6f257bed73ee5f54fdf670506067be5 WHIRLPOOL 4a5174228d495190730d4d06838913f41777fde2b2a98a82ab04ee3916f771e9cca41b0af7577784b918e7d696299958c6181fbf5a5601cf932520a875275d23
|
||||
AUX clang-2.8-darwin-prefix.patch 4989 SHA256 808d6d47b7eb133a4e1091bf24b64690fe14d3f5b66fec7a9ed3d91aeb1f03d7 SHA512 08eeeaf45a1e8efc2f7303222635cff8c6c2e5a2d1dc9bb61c08350148e24a3b8e111247dbc08ef05b20bd0ee57bf5370f8c7c4f8b8ebf3ea43a1ed0a333432a WHIRLPOOL 04ab05b832643cf6285c96a8705ea46e2cdc80fe03b84ab7e40054ceaac4ce3dce31cac56c08b48e7c16d393f1fbe5bb71b434eccae9b6acd1f914642ed651a5
|
||||
AUX clang-2.8-gcc-4.4.4.patch 710 SHA256 ce722ffd0b2dfb8d1a36db3927238ebacd19469823fa84ca3e415ca7cfcb454d SHA512 00307025c6fb0fc53b40d9c26c21df3431c47c6b8f9c5ff99eb2dd811df9fae1bae3d77c7404e1b80f887c6a8cdf475004c6de7897f2aa25b273a6023f29af25 WHIRLPOOL 5fbc80e2f21ba95acf622cc158ec5b67a0aac3af85b35f980242da62f31a0f43775443b8ed2def36f4f306e27cc216ab4f8005d28379885dea31cdb40361e8b4
|
||||
AUX clang-2.9-darwin-prefix.patch 5023 SHA256 12b49f753dbc22054906c8a4ab8ccb98b175a636226272bbcd49c298905836c7 SHA512 23b43b5cd99d9e9f402140811a9323ad8ad77f5aba7200b96d34a83b70ffee566019573effdf1f5c83106e9dd401b15ae3479db8ea71bf7aba71bd2c7cbfbd24 WHIRLPOOL 3021321e426aa4e5b9341b555deacad9be13cd9394b9b2fd01c39d3b9ac29c5608856fa67b74d52948b1ee423dc551577d916a204ffa1caeca1e99596a13cf62
|
||||
AUX clang-2.9-gccversions.patch 661 SHA256 cdfd4202f50fd4edad694269ee1af64db3452cb14a5926539eb93a4cfb3fad08 SHA512 8b6c7476e8fe036dd20915d128e30829f5b03625511084b18b70331b5e179be1b10073ed508356e211f645fcd58f126b0183ab788178abbda63de8a276ef7cf5 WHIRLPOOL 9898dea5b11c25268f7b0a09a746238bef78929d3f658e7cb464b10c60a9b5fa19d8c92d03cef30c365d05ea544b3a55f7c77c2bafbdea15c5d38e7843d3f3cd
|
||||
AUX clang-3.0-fix_cxx_include_root.patch 1132 SHA256 260f8e36650384304fd0c21f8d742a4b361db4b3a0411c9c74375df95f174898 SHA512 00d187812d1650bca4358d245e1cf9c93368b3f0253cda3a6ab080648d320339bfa7a11bc31118113bc886b0af32c239873485737336d00222254bacc7211ab7 WHIRLPOOL 32d2f50c5563a501ca61b376dbb33bc6f89423a60b6f82634ba6f1c27dab41cd192ac47e793806ffbd3324677106bd5f2fbfe34768bb4eb902a4fa243a5865db
|
||||
AUX clang-3.0-freebsd-runtime-gcc-detection.patch 990 SHA256 9c335e1a8d34d971d7a11cd81a7cdeca02c4864e1e09bdf8d1d7c46d7cd81947 SHA512 59bd5fec9e9d33cf69fdb78f4bd819a85bbaf47fd90a76eac680958f94fabced06067e21e1edc2dffbcab8a6f941877c6c45062e2b678c68e5fd64c604f90ecb WHIRLPOOL 7e30e97f118761476df8d5aaa8ba329872b16a374b6f5de4218ace162656f2d8d1ab5523d3ad302d2d145cf635540c19770cfba8cb2694b4c06fc16e2d7f7d87
|
||||
AUX clang-3.0-gentoo-binutils-apple.patch 1113 SHA256 1ea07df003b67c374a75b7cb61d459ecb2cc471cd02c0ef735028b314cb1a80f SHA512 a6475a2161d617b4b260aeb4efd539c068a856fc63397d3ff992569b6c26e4d33ee0a07121f12201c3d17f9c0b3d0c667093df25640a54e1f8011f60fe910321 WHIRLPOOL 7afb544b76608b67715e41e8d99ebe6a913c7cce5ea8bab14f676e05e2ad03bf7beb268b9d09f2a6b1dc6663615c8847ba444e68295d248bfc0ba0021949b070
|
||||
AUX clang-3.0-linux-runtime-gcc-detection.patch 1728 SHA256 aed41e3d05c57d2dd027a13023b12c2ea0d90b56427b0af393264f2a5a242595 SHA512 a14a18a896c752f2a4232eb8f5942191a1fa9438f7472a1133954496746fac42fa7340670881e93b0c97b7d5e493bbf7febcfaf80a3fb6adbbc693277f70c5cf WHIRLPOOL 92d07a9a812c1be115724627942fb05ac8b2027af4a77911fae8a9e27b26eb77694c1ea389995b132f87ad22c43a3c3157a982805d929b8e175fde4c86ee420f
|
||||
AUX clang-3.0-recognize-amd-k10-enable-sse4a.patch 2555 SHA256 46d05e49cefe2f86a562062d7b11e03ecb4ec7a146ee9f674d9a31dda4af9faf SHA512 f0e67f2a9693021551fe0031f226d1d06e91af1b5a28603cb8807da4f3e8e9bc1db2b209150870d6922a80027a1f512d0221747d6a2dc5b85c042ac673e2f121 WHIRLPOOL 5f7e0bddc0e432b84048b9bde00b5d9a35149e6a70a57c7c2f5e6de01d9a751f5061141e3a0d1f5540ac28b87af8d896303c005dec068eff1ac4ae688ea2c7e0
|
||||
AUX clang-3.1-gentoo-freebsd-fix-cxx-paths-v2.patch 8033 SHA256 ab6206b70185c7dd4dfc280c18f3af2e4a77798d8b62e43770b55285ff1c11e8 SHA512 f3d9687ccdbdd94752327bc64f42d0dd9075dc27d86628f32619427b0a9a731a8a50f396ad065a173ece85f160161b63f382e10af07e930fb476ab272f064d11 WHIRLPOOL 85a19f4dabfcd2badc18fc489ecd7f041ec8f413101145caa304fa69020fd3fb1d824d89c31b812d0551651a620bb440526ba63f6205e7fad47ec64c05798ba2
|
||||
AUX clang-3.1-gentoo-freebsd-fix-lib-path.patch 1048 SHA256 e3475478acef91fcc484a007b3305fc8d84e21a77dd1c68e1c4805472bf6d1a8 SHA512 e4244b899810839cddd64598dc4e76377bc12c426fa07c608dd673ddbe0e72da33ebee1caf9ec9e1e66f4b29a34c6a88d482f86cb47281612810baa733db3336 WHIRLPOOL e55827689ec28a095d0cb19654fabe79b5663985a451b992e45af2d2143ce974839fa5ea5cc1c1edfe4f6bc57f968106dbc6a282ae26abc2cb99e73b045a0272
|
||||
AUX clang-3.1-gentoo-runtime-gcc-detection-v3.patch 1457 SHA256 f4b22281d21e39bc4681519cec90243c0e50262ce56ae68b0a8d9e7d92ce0375 SHA512 81c582791f4b0b1ccfcf3e8c82fbb68312320c5287402236d8c6d2d76767bbba031094c26d2b7bd9581c473896b78dda5a6284c5a87726e1bc0c539ae9294763 WHIRLPOOL bb68797804c89f8797561964697a72a015daf2c951d92f490f8c83f38aac6f50ce1527f39b53ccc6a3d93f84ec8f868e40340a5472b9e7ee4c34ceaa4b9ca845
|
||||
AUX clang-3.1-increase-parser-recursion-limit.patch 480 SHA256 8c2fce5bbbeac965e0f116533e06a58d1a67df545855b7513c1ab6189596f757 SHA512 20a6caf48c1960883ea43243395e47fc44ce3de162552af89660949374c16a4ec1c651e8bb073feb015a8c3c6684f7e76ead927d58fc8a1b1d606bf89325535d WHIRLPOOL b701661a1bfce3091b6f57c99a790638ee1ced9ff35860c91cf43adf96901f8ead8bd6e984e48fb49f5035e26bd43076e9947b8496f9c9ebc952104548dd690c
|
||||
DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a
|
||||
DIST clang-2.8.tgz 5666777 SHA256 ed83481553e6a39a8a2953e89630d881d87833506f096a90f18d93ec2bdee0c1
|
||||
DIST clang-2.9.tgz 6243772 SHA256 70c41f3f782a71cbaa7bc8d6ea29fce4263ad3e8558dfecc6dc11cdef17909df SHA512 0046b716eae7c398a61fb733239f209b60bdd1817e6724730b9515e7ae765565a1e42a805cc06e6f1393d8254ebc845335b244aff825f3fcce551b958683d8f5 WHIRLPOOL 4c745b7c6a21035595307ba5e2d95c2262a5ca1d52cca413a822186b9d450fec384d514175cf384e35e7169ce41ac5152222fcc9cbee4af85695c78d7cd5492e
|
||||
DIST clang-3.0.tar.gz 7240578 SHA256 b64e72da356d7c3428cfd7ac620d49ec042c84eaee13c26024879f555f4e126d SHA512 0a31a2600cd4555424259331e0762f7fceeb5d828e7792983b2f8ae92bb75b3dc92cf84474e047deb5d4dab46062b4ac6273e6079159052debb76ae69927e517 WHIRLPOOL 521169cc588520090423cd1a2fa639da84e119281bf8260ea4b7b24fd2d8627806a281ddbbba5c378a736fc31279e25f10c4d3a3c81abd2c202970079a949ba5
|
||||
DIST clang-3.1.src.tar.gz 8158418 SHA256 ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c3799579961e452d5a786 SHA512 14c033eda3e0c0a887a8410f6b6a1335e0f6bfa05950a903d302b06b95fd58b03894320e91e50fb4d330c5323be9e955d9054cee62d035e2753290354ea8f8cd WHIRLPOOL cdb578c287a417896d2d6fb297e96e44e8b951bad6e7d286b97bdd346b40dac6ffbb7015b39d69fa0f9e0994dede26612307b643f71480e3c8917199fe926357
|
||||
DIST clang-3.2.src.tar.gz 8805311 SHA256 2aaaf03f7c0f6b16fe97ecc81247dc2bf2d4bec7620a77cc74670b7e07ff5658 SHA512 99fc57d19b76c42af9821eaaa762056a926eb68178f6b7dd5e8bf092c9ee201a554b91d760d5a30a57f38102eae340e080ef8c6a39327f6881eda391b20b108d WHIRLPOOL 2cf88d1db0f108d8b8e8b0cf691cca18694ddb00b129dc8c1894fca67b5494a7f53f92ac9401d99ce687c9d8fb30dc267be1e68ee70edc542e998f5486ba8730
|
||||
DIST compiler-rt-3.1.src.tar.gz 1259340 SHA256 1bd4624e7465b05ea713198f19c1c235bae2d35a411c15a4648300bc74294f5c SHA512 a010ed625ca54383bcc08dba77c4a686aed1c74d70c237a3cd20eafe9c1208f644699a600cbf1d14239db1b05a6d55f026f511f5a1eeec0a68888683c653e6fe WHIRLPOOL 6e21d28b30b52a039d5f16fb5b96238f453b58d5fabffffe0cc181061f619aaec2925bbe9f8af3dfe1ac39002fa52943617f94c44fb21cfe72d7aea460c0de0c
|
||||
DIST compiler-rt-3.2.src.tar.gz 1463061 SHA256 4ac311df0eead459cbb0f0890c06b55dae529ab45827ac73fef40bec632994aa SHA512 ef4223bd2d6051ec93a0943973aa61e7aa3686ac72f9a688d58a8b71deba1a7e64dcf821e0c53937899bbd7ba49218fee4e3649f19362fe59677daee314c063b WHIRLPOOL 176643360f683ddca28e4c77dc4ceb03513cec5cea98455598c934ec3e23bd6949a74852e50e42207c7171eb8013afe366f3b8c92799af66a04739ccebe4ed4e
|
||||
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
|
||||
DIST llvm-2.8-r1.tgz 9112527 SHA256 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b SHA512 8688d5cf415e8aef74cca6a14587af36234a6347e2238ac2c0d66805c42926b9399f36390e1a58a4081e902b0904adb818c1a360d5df572dfa893d6f79f5e35a WHIRLPOOL 0da9250e31242b55586c9138089e742aab5d414d5f3412ebf917ae8b9506f984c6134a932be93ec7e4c01c79f6c21d508cb0b2e0ec283419bd4ae4db745430ae
|
||||
DIST llvm-2.9.tgz 9574781 SHA256 661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779 SHA512 9cb0fa0bb8ac02661fd6f926001a15e0ad4a9660683421dc86b03f1cf5184142c5815f9f9283ee7cdf8d474e01177f83406122253342e0e95ddc878821660070 WHIRLPOOL f7b445b6b5d455f29ca68c342511b8b5e6eedec525af1cc60440c4de544df2332aa241bffca29eda5d2428a3f518e093a626bd45c7f8a9e0656d0f68aef5d9d1
|
||||
DIST llvm-3.0.tar.gz 10350539 SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477 SHA512 602bb5590b70cb9138bc19d8c630c62bbabdcb2132215c921fe4bce4e3f74dfc66440b9dcd458ff55a86047cc9cc0417c6563715c133e0db222e4b88f07c13bb WHIRLPOOL 6f4ece3ec747352cd78b08d25c5b1cda91140eb6957d509161e45395e47c074f8d2102bfcaeabcdef8c1f6672f2cf06d88e290667666122da029391b3528d440
|
||||
DIST llvm-3.1.src.tar.gz 11077429 SHA256 1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab SHA512 fb941094601043e405ccc57473414ef92437b09c200e71614f93d8e93b2a58cca8d78c385be037e064b0711cd6268802c774ce4a40fc0ea17bf576305304d2aa WHIRLPOOL c5c72e139296e1c186131f991010f52f958063a4fcfcb1f8527b53a2aaa7edcaca70ab6cf86c25d08640dcf6d720a865fda7dc7eb06cf1ce9c23fd37b5d597ef
|
||||
DIST llvm-3.2.src.tar.gz 12275252 SHA256 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 SHA512 cc66171322dbbe40bcac0e0ea5b09df8ff52df63ded304f841f32f702270d6ab1512216413ee52498c3ebee8cd39c4cd23e3855d591944bc2ac0ae76f5be62cc WHIRLPOOL c3a39b2426293d0251b7769607ade873bb6bf8d54e7c8055773a9b75742bc8e39049fb71409a258c6f3d98775b78c280d4bfe4223ba91e5ed6ecae0eddf910e5
|
||||
DIST llvm-3.3.src.tar.gz 13602421 SHA256 68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578 SHA512 1b7f7c5e907a68f642dcbe48fdff9585cb1504022bc9d386f310ebe5d25103d0d5f7cf0abf19e0e3fd666970160a98c90033754e2b79b2fac0cf866c984f8038 WHIRLPOOL a89c0b470fde562a3402e7878b91bc0573d433ca0a60e62c9c46946d7948a4fb657b116b6bac032555e29c70d82c751876adb398fe240f5c8d0a9a2378ce1866
|
||||
EBUILD clang-2.8-r3.ebuild 6775 SHA256 2e356a45d80b276e8a349b7525f2526094ba03fe83ac9f49e7fb5136bd3a983d SHA512 c67e745804d7894597531328a30e6e0c171e34a1d6242f708d3f02dbb1c9383d94e9a9fbd641ca49a80959b454ddb1b6ca44289ce70eb674befde82c82c51c81 WHIRLPOOL faee8941ef6dcf173d9fa21ee3f01f4fb3d43377d5b7855138edd49388e411fbff519fffebaf65e2e2cd32071ebaea12f7c75a16c9dccb0e27c12b47a8229651
|
||||
EBUILD clang-2.9-r1.ebuild 6438 SHA256 00d9147d62dc19548c841243fccb3b81aa5abb32ba46480d528952dcd4756711 SHA512 b0d2862222e87c3cdcec18d80ff08ed369cd21a8f5ec76b32b03dcf4cb14f0876e4b8ebb3868ab537615c080ce8b2134b5148f4cfef648ef8f40e7cb7deaee04 WHIRLPOOL 7b39c433ff21e1c2ef39d988678c9cc068c298e84118c0a4e669b2f1d43e988fa65b8fd37d37311d4b1e2b7d9a6b762a3795ac8a8fccdb774c06d5b830d91c33
|
||||
EBUILD clang-3.0-r4.ebuild 7166 SHA256 50fe174e45d88d5f1b31119600ae9c8f06f27b14b497d8eee4a1c805bcba92f3 SHA512 834247ed9475353da30946eeabd206a6164eddff8195b5a717fa1bf0e1760d910ee7e0943fe805f3c259a811c0f4514e5bb5aa272a049a195e9f12f68b554669 WHIRLPOOL a8432fb8a00f29a0cd7126f0d028866c893f07d2d92122d09d952caf1c62fdbb0eaa18faa230ecab4bea556252085db152e8c0a3ed6d3cd1adcf3d987cfb9a67
|
||||
EBUILD clang-3.1-r5.ebuild 6696 SHA256 4a4d884d8c37044fe7dc5f325e88f4733140997b3d2de64c0d6e35d9604c477f SHA512 2ba6057e08c8533fbaa45810f4d9588b57b20b08c9b99b8a53ed32b95d17a43ce13f15d81618e4cb3bc6cb4ded3c50fbba2a866a0d130a69a107195c90dc58ea WHIRLPOOL 890f64a0309c731e7784f5196ac3da602e204c65566412a398a8f9bd862d1b1e5337eae56fd309c1ffb9fc750741982481abcc13567973017df650c6e5dd1be8
|
||||
EBUILD clang-3.2.ebuild 6519 SHA256 35e962bcd5fea3f406e4b684aaa74bb1be4bdfcda63d963a9bbab604a858fe50 SHA512 20afd7ecc1af578ac3e1d9b6694c3d82d6d6591153496c5a1a07eeb4189f1e3be54d8b18006239ced612bd9d94912bdbc34706599383beff46fe4aca9ed93952 WHIRLPOOL 1fbef46523a62b049375445b4749d42ec93ddae4966a1dcf818b2e1e1e770a8cc67c00ed849fdb291ad29100a5f8b66236a6317b7ecf9bdab02826396be2d18e
|
||||
EBUILD clang-3.3-r100.ebuild 780 SHA256 1009fe9fcef050d34057b790d0cc8d06d0b91e3ed5a283f2a27a09aff6147089 SHA512 1df822ae8986a4397e80071b83542110e2716df2fc3c26a790fb85d81cbd18559aad97efe007e2f16c0fb04ceb9e3d8d7fe7e735746fefed220e84ff99e35099 WHIRLPOOL 30b75938602849e335246a7dcd8d53dc2b44262bd524bdd6be95fe465edd949bfa3309dc21c7259b9c18046bd787abedd7548656ade1724f96fab80cd5147ad7
|
||||
EBUILD clang-3.3.ebuild 6916 SHA256 5bbaf90c57e9e10d2c325feec28466366fe1e8bac214f4e5d0291f6b7a1b534a SHA512 c4f2d747f07dc9c0b8b7366554c0fd51cede1eb8327b8529c534c3003f005efecdeacee7acb49521fc2fad3a90f62aa41b67fc1e51951fac52a3debe3f655da7 WHIRLPOOL e3ce031b19658760fa5ef0456ce356a1941dd8a98112e7aa0948aaa73ff3cb925607f689579f5c87bee961ab199f84e772638ea5a523500f60951509864d3478
|
||||
EBUILD clang-9999-r100.ebuild 671 SHA256 614ce0bc10e228fc530db9d4818892c841a4a55b4723543844cc2c47f911e302 SHA512 548d7eeb049c842da9b93dd2e1cdbe4d584f3a5785b622649601a7a8a6388cc126523ea74b05d6ec8ed7a4b6ace2c4eba7aed742d3d3a5c8b83ef848db5bf4f5 WHIRLPOOL 1afb30496ac330ebf3c03e7a91ed049dabb55f6ee70b5ee59c6332e7de2daa599b8cc8f6af2a2c1e1331b83cfa1c45c8c43ce8a3cdb3f99827e8622b2ca589f6
|
||||
EBUILD clang-9999.ebuild 5989 SHA256 a36d63cbefd5e7d6db8f39acdfed9754156810efc912626a221e2d1d3533992e SHA512 091f36174231f6a9d0a913cf9a0232829d55aa824319d78ec3370e6fbfce805bc76769cdc02dcdc54f2d5895f14da4a8c6ee7592d208556d38e501dc7822b660 WHIRLPOOL d16bc8d75c7cb53274bdc261ba415db56b69b4fc7c46feaca470060a2b7af8fb4abfa4a024d528a33f853611f1c165731afe0e36f435d088165348047113f4ff
|
||||
MISC ChangeLog 18359 SHA256 81fce367a8d1d47224f3bb77150112a00f7cb003a4bc03b7ca2e7f193b969e21 SHA512 e16d209fb3d6250d6e8660e8142d9af024254e0d9c7934a142b02605da9c0c8fad3292a86b53e10734179ad622434864256a19a85ca1695ae8d3d54f11a570d3 WHIRLPOOL 792f0b76fba63c4812f5b93ca983ae680e9843ce2df8aa554c42af2039a7c418a492df3261922043c63b2d886a3e24ba7db88edabaf73423b4aa1f2466c53f71
|
||||
MISC metadata.xml 1522 SHA256 c0c8a45b9d836fac31adc4d76a2de92abf2c8d603b69146fc72e6c2484331f42 SHA512 b8780e7a635fa8c32c6cf73c842982d85a11f24daf8049bb3efb165808635875a2331072c01865df230b1dcac7135fcdf9fa7ea19ac46a35ac9f50ffaf4c5067 WHIRLPOOL 2bc088ce4d44c7d0d2673449116052d70ed7298afc14bc5cc460d5c60dda2c1df65a3cf89e8cd79e52e96414b2eb759dd95ed97055cfd41822a4b9f540fb662c
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.20 (GNU/Linux)
|
||||
|
||||
iEYEAREIAAYFAlH5hvQACgkQvFcC4BYPU0q+eACfZGc6ZGCI5jIEDNnzYCEyvPf2
|
||||
BKMAoIMdFIbx23GTYAvCpkE1Plmm5EEB
|
||||
=T9cd
|
||||
-----END PGP SIGNATURE-----
|
@ -1,203 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-2.8-r3.ebuild,v 1.8 2013/01/03 23:36:58 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
|
||||
# Drop the -> on 2.9
|
||||
SRC_URI="http://llvm.org/releases/${PV}/llvm-${PV}.tgz -> llvm-${PV}-r1.tgz
|
||||
http://llvm.org/releases/${PV}/${P}.tgz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="debug multitarget +static-analyzer system-cxx-headers test"
|
||||
|
||||
# Note: for LTO support, clang will depend on binutils with gold plugins, and LLVM built after that - http://llvm.org/docs/GoldPlugin.html
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]"
|
||||
|
||||
S="${WORKDIR}/llvm-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/clang-${PV} "${S}"/tools/clang || die "clang source directory not found"
|
||||
|
||||
# Same as llvm doc patches
|
||||
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
|
||||
|
||||
# Upstream backport, r117774 and r117775
|
||||
epatch "${FILESDIR}"/${P}-alignof.patch
|
||||
# Upstream backport, r119348
|
||||
epatch "${FILESDIR}"/${P}-gcc-4.4.4.patch
|
||||
|
||||
# Fix toolchain lookup for Darwin/Prefix.
|
||||
epatch "${FILESDIR}"/${PN}-2.8-darwin-prefix.patch
|
||||
sed -e "s|@GENTOO_PORTAGE_CHOST_ARCH@|${CHOST%%-darwin*}-darwin|g" \
|
||||
-e "s|@GENTOO_PORTAGE_CHOST@|${CHOST}|g" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}|g" \
|
||||
-i tools/clang/lib/Driver/ToolChains.cpp \
|
||||
|| die "fixing toolchain lookup"
|
||||
|
||||
# multilib-strict
|
||||
sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/lib/Headers/Makefile \
|
||||
|| die "clang Makefile failed"
|
||||
# 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"
|
||||
|
||||
if use debug; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
|
||||
einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
|
||||
# ...and you probably shouldn't use tmpfs, unless it can hold 900MB
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} \
|
||||
--enable-optimized \
|
||||
--with-optimize-option= \
|
||||
--disable-assertions \
|
||||
--disable-expensive-checks"
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
# Skip llvm-gcc parts even if installed
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-llvmgccdir=/dev/null"
|
||||
|
||||
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() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only || 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"
|
||||
|
||||
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 "${S}"/Release/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
|
||||
}
|
@ -1,192 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-2.9-r1.ebuild,v 1.5 2013/01/03 23:36:58 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}.tgz
|
||||
http://llvm.org/releases/${PV}/${P}.tgz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="debug multitarget +static-analyzer +system-cxx-headers test"
|
||||
|
||||
# Note: for LTO support, clang will depend on binutils with gold plugins, and LLVM built after that - http://llvm.org/docs/GoldPlugin.html
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]"
|
||||
|
||||
S="${WORKDIR}/llvm-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/clang-${PV} "${S}"/tools/clang || die "clang source directory not found"
|
||||
|
||||
# Workaround GCC versions' list (bug #377949)
|
||||
epatch "${FILESDIR}"/${P}-gccversions.patch
|
||||
|
||||
# Same as llvm doc patches
|
||||
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
|
||||
|
||||
# Fix toolchain lookup for Darwin/Prefix.
|
||||
epatch "${FILESDIR}"/${PN}-2.9-darwin-prefix.patch
|
||||
sed -e "s|@GENTOO_PORTAGE_CHOST_ARCH@|${CHOST%%-darwin*}-darwin|g" \
|
||||
-e "s|@GENTOO_PORTAGE_CHOST@|${CHOST}|g" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}|g" \
|
||||
-i tools/clang/lib/Driver/ToolChains.cpp \
|
||||
|| die "fixing toolchain lookup"
|
||||
|
||||
# multilib-strict
|
||||
sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/lib/Headers/Makefile \
|
||||
|| die "clang Makefile failed"
|
||||
# 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
|
||||
|
||||
# Skip llvm-gcc parts even if installed
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-llvmgccdir=/dev/null"
|
||||
|
||||
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() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only || 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"
|
||||
|
||||
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
|
||||
}
|
@ -1,213 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.0-r4.ebuild,v 1.2 2013/01/03 23:36:58 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 kernel_FreeBSD multitarget +static-analyzer system-cxx-headers test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,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"
|
||||
# Set correct path for gold plugin
|
||||
sed -e "/LLVMgold.so/s#lib/#$(get_libdir)/llvm/#" \
|
||||
-i tools/clang/lib/Driver/Tools.cpp \
|
||||
|| die "gold plugin path sed failed"
|
||||
# Properly detect Gentoo's binutils-apple version (committed in trunk)
|
||||
epatch "${FILESDIR}"/${PN}-3.0-gentoo-binutils-apple.patch
|
||||
# Specify python version
|
||||
python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
|
||||
python_convert_shebangs -r 2 test/Scripts
|
||||
|
||||
# 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"
|
||||
|
||||
# Use system llc (from llvm ebuild) for tests
|
||||
sed -e "/^registered_targets =/s/os.path.join(llvm_tools_dir, 'llc')/'llc'/" \
|
||||
-i tools/clang/test/lit.cfg || die "test path sed failed"
|
||||
|
||||
# AMD K10 CPUs + SSE4a suppport, bug #398357
|
||||
epatch "${FILESDIR}"/${P}-recognize-amd-k10-enable-sse4a.patch
|
||||
|
||||
# Automatically select active system GCC's libraries, bug #406163
|
||||
epatch "${FILESDIR}"/${P}-linux-runtime-gcc-detection.patch
|
||||
|
||||
# Fix search paths on FreeBSD, bug #409269
|
||||
epatch "${FILESDIR}"/${P}-freebsd-runtime-gcc-detection.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only || 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}"
|
||||
|
||||
testing() {
|
||||
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
|
||||
}
|
||||
python_execute_function testing
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
# Remove unnecessary headers on FreeBSD, bug #417171
|
||||
use kernel_FreeBSD && rm "${ED}/usr/lib/clang/3.1/include/"{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1,204 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.1-r5.ebuild,v 1.4 2013/01/03 23:36:58 voyageur Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
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}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/${P}.src.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-fbsd ~x64-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug kernel_FreeBSD multitarget +static-analyzer test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]"
|
||||
|
||||
S=${WORKDIR}/llvm-${PV}.src
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/clang-${PV}.src "${S}"/tools/clang \
|
||||
|| die "clang source directory move failed"
|
||||
mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
|
||||
|| die "compiler-rt 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"
|
||||
sed -e "/PROJ_resources/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/runtime/compiler-rt/Makefile \
|
||||
|| die "compiler-rt Makefile failed"
|
||||
# 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"
|
||||
# Set correct path for gold plugin
|
||||
sed -e "/LLVMgold.so/s#lib/#$(get_libdir)/llvm/#" \
|
||||
-i tools/clang/lib/Driver/Tools.cpp \
|
||||
|| die "gold plugin path sed failed"
|
||||
# Specify python version
|
||||
python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
|
||||
python_convert_shebangs -r 2 test/Scripts
|
||||
python_convert_shebangs 2 projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
|
||||
# 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"
|
||||
|
||||
# Use system llc (from llvm ebuild) for tests
|
||||
sed -e "/^llc_props =/s/os.path.join(llvm_tools_dir, 'llc')/'llc'/" \
|
||||
-i tools/clang/test/lit.cfg || die "test path sed failed"
|
||||
|
||||
# Automatically select active system GCC's libraries, bugs #406163 and #417913
|
||||
epatch "${FILESDIR}"/${P}-gentoo-runtime-gcc-detection-v3.patch
|
||||
|
||||
# Fix search paths on FreeBSD, bug #409269
|
||||
epatch "${FILESDIR}"/${P}-gentoo-freebsd-fix-lib-path.patch
|
||||
|
||||
# Fix regression caused by removal of USE=system-cxx-headers, bug #417541
|
||||
epatch "${FILESDIR}"/${P}-gentoo-freebsd-fix-cxx-paths-v2.patch
|
||||
|
||||
# Increase recursion limit, bug #417545, upstream r155737
|
||||
epatch "${FILESDIR}"/${P}-increase-parser-recursion-limit.patch
|
||||
|
||||
# Apply r600 OpenCL-related patches, bug #425688
|
||||
epatch "${FILESDIR}"/cl-patches/llvm-*.patch
|
||||
pushd tools/clang &>/dev/null || die
|
||||
epatch "${FILESDIR}"/cl-patches/clang-*.patch
|
||||
popd &>/dev/null || die
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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,cpp"
|
||||
fi
|
||||
|
||||
if use amd64; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
# clang prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/test || die "cd failed"
|
||||
emake site.exp
|
||||
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
testing() {
|
||||
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
|
||||
}
|
||||
python_execute_function testing
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install
|
||||
|
||||
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
|
||||
|
||||
# Remove unnecessary headers on FreeBSD, bug #417171
|
||||
use kernel_FreeBSD && rm "${ED}"usr/$(get_libdir)/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
python_mod_optimize clang
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
python_mod_cleanup clang
|
||||
}
|
@ -1,202 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.2.ebuild,v 1.6 2013/05/24 21:27:58 aballier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit eutils multilib python-r1
|
||||
|
||||
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}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/${P}.src.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug kernel_FreeBSD multitarget python +static-analyzer test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
S=${WORKDIR}/llvm-${PV}.src
|
||||
|
||||
src_prepare() {
|
||||
rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
|
||||
|| die "symlinks removal failed"
|
||||
mv "${WORKDIR}"/${P}.src "${S}"/tools/clang \
|
||||
|| die "clang source directory move failed"
|
||||
mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
|
||||
|| die "compiler-rt 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"
|
||||
sed -e "/PROJ_resources/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/runtime/compiler-rt/Makefile \
|
||||
|| die "compiler-rt Makefile failed"
|
||||
# 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"
|
||||
# Set correct path for gold plugin
|
||||
sed -e "/LLVMgold.so/s#lib/#$(get_libdir)/llvm/#" \
|
||||
-i tools/clang/lib/Driver/Tools.cpp \
|
||||
|| die "gold plugin path sed failed"
|
||||
|
||||
# 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"
|
||||
|
||||
# Use system llc (from llvm ebuild) for tests
|
||||
sed -e "/^llc_props =/s/os.path.join(llvm_tools_dir, 'llc')/'llc'/" \
|
||||
-i tools/clang/test/lit.cfg || die "test path sed failed"
|
||||
|
||||
# Automatically select active system GCC's libraries, bugs #406163 and #417913
|
||||
epatch "${FILESDIR}"/${PN}-3.1-gentoo-runtime-gcc-detection-v3.patch
|
||||
|
||||
# Fix search paths on FreeBSD, bug #409269
|
||||
epatch "${FILESDIR}"/${PN}-3.1-gentoo-freebsd-fix-lib-path.patch
|
||||
|
||||
# Fix regression caused by removal of USE=system-cxx-headers, bug #417541
|
||||
# Needs to be updated for 3.2
|
||||
#epatch "${FILESDIR}"/${PN}-3.1-gentoo-freebsd-fix-cxx-paths-v2.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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,cpp"
|
||||
fi
|
||||
|
||||
if use amd64; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
# build with a suitable Python version
|
||||
python_export_best
|
||||
|
||||
# clang prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
python_inst() {
|
||||
if use static-analyzer ; then
|
||||
pushd tools/scan-view >/dev/null || die
|
||||
|
||||
python_doscript scan-view
|
||||
|
||||
touch __init__.py || die
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
pushd bindings/python/clang >/dev/null || die
|
||||
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py cindex.py enumerations.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# AddressSanitizer symbolizer (currently separate)
|
||||
python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
}
|
||||
python_foreach_impl python_inst
|
||||
|
||||
# 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
|
||||
|
||||
# Remove unnecessary headers on FreeBSD, bug #417171
|
||||
use kernel_FreeBSD && rm "${ED}"usr/$(get_libdir)/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.3-r100.ebuild,v 1.2 2013/07/31 21:51:47 aballier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="C language family frontend for LLVM (meta-ebuild)"
|
||||
HOMEPAGE="http://clang.llvm.org/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug multitarget python +static-analyzer"
|
||||
|
||||
RDEPEND="~sys-devel/llvm-${PV}[clang(-),debug=,multitarget=,python=,static-analyzer=]"
|
||||
|
||||
# Please keep this package around since it's quite likely that we'll
|
||||
# return to separate LLVM & clang ebuilds when the cmake build system
|
||||
# is complete.
|
@ -1,209 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.3.ebuild,v 1.1 2013/06/18 22:20:08 voyageur Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit eutils multilib python-r1
|
||||
|
||||
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}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug kernel_FreeBSD multitarget python +static-analyzer test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
S=${WORKDIR}/llvm-${PV}.src
|
||||
|
||||
src_prepare() {
|
||||
rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
|
||||
|| die "symlinks removal failed"
|
||||
mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
|
||||
|| die "clang source directory move failed"
|
||||
mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
|
||||
|| die "compiler-rt source directory move failed"
|
||||
|
||||
# Same as llvm doc patches
|
||||
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
|
||||
|
||||
# multilib-strict
|
||||
sed -e "/PROJ_headers\|HeaderDir/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/lib/Headers/Makefile \
|
||||
|| die "clang Makefile sed failed"
|
||||
sed -e "/PROJ_resources\|ResourceDir/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/runtime/compiler-rt/Makefile \
|
||||
|| die "compiler-rt Makefile sed failed"
|
||||
sed -e "s#/lib/#/lib{{(32|64)?}}/#" \
|
||||
-i tools/clang/test/Preprocessor/iwithprefix.c \
|
||||
|| die "clang test sed failed"
|
||||
# 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"
|
||||
# Set correct path for gold plugin and coverage lib
|
||||
sed -e "/LLVMgold.so/s#lib/#$(get_libdir)/llvm/#" \
|
||||
-e "s#lib\(/libprofile_rt.a\)#$(get_libdir)/llvm\1#" \
|
||||
-i tools/clang/lib/Driver/Tools.cpp \
|
||||
|| die "Tools.cpp paths sed failed"
|
||||
|
||||
# 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"
|
||||
|
||||
# Use system llc (from llvm ebuild) for tests
|
||||
sed -e "/^llc_props =/s/os.path.join(llvm_tools_dir, 'llc')/'llc'/" \
|
||||
-i tools/clang/test/lit.cfg || die "test path sed failed"
|
||||
|
||||
# Automatically select active system GCC's libraries, bugs #406163 and #417913
|
||||
epatch "${FILESDIR}"/${PN}-3.1-gentoo-runtime-gcc-detection-v3.patch
|
||||
|
||||
# Fix search paths on FreeBSD, bug #409269
|
||||
# This patch causes problem for multilib on fbsd, see comments in the patch
|
||||
# (aballier@g.o)
|
||||
# epatch "${FILESDIR}"/${PN}-3.1-gentoo-freebsd-fix-lib-path.patch
|
||||
|
||||
# Fix regression caused by removal of USE=system-cxx-headers, bug #417541
|
||||
# Needs to be updated for 3.2
|
||||
#epatch "${FILESDIR}"/${PN}-3.1-gentoo-freebsd-fix-cxx-paths-v2.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local CONF_FLAGS="--enable-shared
|
||||
--with-optimize-option=
|
||||
$(use_enable !debug optimized)
|
||||
$(use_enable debug assertions)
|
||||
$(use_enable debug expensive-checks)
|
||||
--with-clang-resource-dir=../$(get_libdir)/clang/${PV/_rc*}"
|
||||
|
||||
# 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,cpp"
|
||||
fi
|
||||
|
||||
if use amd64; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
# build with a suitable Python version
|
||||
python_export_best
|
||||
|
||||
# clang prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
python_inst() {
|
||||
if use static-analyzer ; then
|
||||
pushd tools/scan-view >/dev/null || die
|
||||
|
||||
python_doscript scan-view
|
||||
|
||||
touch __init__.py || die
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
pushd bindings/python/clang >/dev/null || die
|
||||
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py cindex.py enumerations.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# AddressSanitizer symbolizer (currently separate)
|
||||
python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
}
|
||||
python_foreach_impl python_inst
|
||||
|
||||
# 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
|
||||
|
||||
# Remove unnecessary headers on FreeBSD, bug #417171
|
||||
use kernel_FreeBSD && rm "${ED}"usr/$(get_libdir)/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-9999-r100.ebuild,v 1.1 2013/07/21 10:03:46 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="C language family frontend for LLVM (meta-ebuild)"
|
||||
HOMEPAGE="http://clang.llvm.org/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug multitarget python +static-analyzer"
|
||||
|
||||
RDEPEND="~sys-devel/llvm-${PV}[clang(-),debug=,multitarget=,python=,static-analyzer=]"
|
||||
|
||||
# Please keep this package around since it's quite likely that we'll
|
||||
# return to separate LLVM & clang ebuilds when the cmake build system
|
||||
# is complete.
|
@ -1,193 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-9999.ebuild,v 1.37 2013/06/17 14:04:31 voyageur Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit subversion eutils multilib python-r1
|
||||
|
||||
DESCRIPTION="C language family frontend for LLVM"
|
||||
HOMEPAGE="http://clang.llvm.org/"
|
||||
SRC_URI=""
|
||||
ESVN_REPO_URI="http://llvm.org/svn/llvm-project/cfe/trunk"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug multitarget python +static-analyzer test"
|
||||
|
||||
DEPEND="static-analyzer? ( dev-lang/perl )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="~sys-devel/llvm-${PV}[debug=,multitarget=]
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
S="${WORKDIR}/llvm"
|
||||
|
||||
src_unpack() {
|
||||
# Fetching LLVM and subprojects
|
||||
ESVN_PROJECT=llvm subversion_fetch "http://llvm.org/svn/llvm-project/llvm/trunk"
|
||||
ESVN_PROJECT=compiler-rt S="${S}"/projects/compiler-rt subversion_fetch "http://llvm.org/svn/llvm-project/compiler-rt/trunk"
|
||||
ESVN_PROJECT=clang S="${S}"/tools/clang subversion_fetch
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Same as llvm doc patches
|
||||
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
|
||||
|
||||
# multilib-strict
|
||||
sed -e "/PROJ_headers\|HeaderDir/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/lib/Headers/Makefile \
|
||||
|| die "clang Makefile sed failed"
|
||||
sed -e "/PROJ_resources\|ResourceDir/s#lib/clang#$(get_libdir)/clang#" \
|
||||
-i tools/clang/runtime/compiler-rt/Makefile \
|
||||
|| die "compiler-rt Makefile sed failed"
|
||||
sed -e "s#/lib/#/lib{{(32|64)?}}/#" \
|
||||
-i tools/clang/test/Preprocessor/iwithprefix.c \
|
||||
|| die "clang test sed failed"
|
||||
# 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"
|
||||
# Set correct path for gold plugin and coverage lib
|
||||
sed -e "/LLVMgold.so/s#lib/#$(get_libdir)/llvm/#" \
|
||||
-e "s#lib\(/libprofile_rt.a\)#$(get_libdir)/llvm\1#" \
|
||||
-i tools/clang/lib/Driver/Tools.cpp \
|
||||
|| die "driver tools paths sed failed"
|
||||
|
||||
# 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"
|
||||
|
||||
# Use system llc (from llvm ebuild) for tests
|
||||
sed -e "/^llc_props =/s/os.path.join(llvm_tools_dir, 'llc')/'llc'/" \
|
||||
-i tools/clang/test/lit.cfg || die "test path sed failed"
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Update resource dir version after first RC
|
||||
local CONF_FLAGS="--enable-shared
|
||||
--with-optimize-option=
|
||||
$(use_enable !debug optimized)
|
||||
$(use_enable debug assertions)
|
||||
$(use_enable debug expensive-checks)
|
||||
--with-clang-resource-dir=../$(get_libdir)/clang/3.4"
|
||||
|
||||
# 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,cpp"
|
||||
fi
|
||||
|
||||
if use amd64; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
# build with a suitable Python version
|
||||
python_export_best
|
||||
|
||||
# clang prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/tools/clang || die "cd clang failed"
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
python_inst() {
|
||||
if use static-analyzer ; then
|
||||
pushd tools/scan-view >/dev/null || die
|
||||
|
||||
python_doscript scan-view
|
||||
|
||||
touch __init__.py || die
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
pushd bindings/python/clang >/dev/null || die
|
||||
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py cindex.py enumerations.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# AddressSanitizer symbolizer (currently separate)
|
||||
python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
}
|
||||
python_foreach_impl python_inst
|
||||
|
||||
# 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
|
||||
}
|
@ -1,100 +0,0 @@
|
||||
From 70cae83ffd093f183dec07c464db3c0bb6b92c10 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Fri, 2 Mar 2012 10:54:52 -0500
|
||||
Subject: [PATCH 1/3] Add r600 TargetInfo
|
||||
|
||||
---
|
||||
lib/Basic/Targets.cpp | 70 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 files changed, 70 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
|
||||
index 85dfd78..64dc01c 100644
|
||||
--- a/lib/Basic/Targets.cpp
|
||||
+++ b/lib/Basic/Targets.cpp
|
||||
@@ -1068,6 +1068,73 @@ namespace {
|
||||
}
|
||||
|
||||
namespace {
|
||||
+
|
||||
+class AMDGPUTargetInfo : public TargetInfo {
|
||||
+public:
|
||||
+
|
||||
+ AMDGPUTargetInfo(const std::string& triple) : TargetInfo(triple) { }
|
||||
+
|
||||
+ virtual const char * getClobbers() const {
|
||||
+ return "";
|
||||
+ }
|
||||
+
|
||||
+ virtual void getGCCRegNames(const char * const *&Names,
|
||||
+ unsigned &numNames) const {
|
||||
+ Names = NULL;
|
||||
+ numNames = 0;
|
||||
+ }
|
||||
+
|
||||
+ virtual void getGCCRegAliases(const GCCRegAlias *&Aliases,
|
||||
+ unsigned &NumAliases) const {
|
||||
+ Aliases = NULL;
|
||||
+ NumAliases = 0;
|
||||
+ }
|
||||
+
|
||||
+ virtual bool validateAsmConstraint(const char *&Name,
|
||||
+ TargetInfo::ConstraintInfo &info) const {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ virtual void getTargetBuiltins(const Builtin::Info *&Records,
|
||||
+ unsigned &NumRecords) const {
|
||||
+ Records = NULL;
|
||||
+ NumRecords = 0;
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static const unsigned R600AddrSpaceMap[] = {
|
||||
+ 1, // opencl_global
|
||||
+ 3, // opencl_local
|
||||
+ 2 // opencl_constant
|
||||
+};
|
||||
+
|
||||
+class R600TargetInfo : public AMDGPUTargetInfo {
|
||||
+public:
|
||||
+ R600TargetInfo(const std::string& triple) : AMDGPUTargetInfo(triple) {
|
||||
+ DescriptionString =
|
||||
+ "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16"
|
||||
+ "-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:32:32"
|
||||
+ "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64"
|
||||
+ "-v96:128:128-v128:128:128-v192:256:256-v256:256:256"
|
||||
+ "-v512:512:512-v1024:1024:1024-v2048:2048:2048"
|
||||
+ "-n8:16:32:64";
|
||||
+ AddrSpaceMap = &R600AddrSpaceMap;
|
||||
+ }
|
||||
+
|
||||
+ virtual void getTargetDefines(const LangOptions &Opts,
|
||||
+ MacroBuilder &Builder) const {
|
||||
+ Builder.defineMacro("__R600__");
|
||||
+ }
|
||||
+
|
||||
+ virtual const char * getVAListDeclaration() const {
|
||||
+ return "";
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+} // end anonymous namespace
|
||||
+
|
||||
+namespace {
|
||||
// MBlaze abstract base class
|
||||
class MBlazeTargetInfo : public TargetInfo {
|
||||
static const char * const GCCRegNames[];
|
||||
@@ -3963,6 +4030,9 @@ static TargetInfo *AllocateTarget(const std::string &T) {
|
||||
case llvm::Triple::mblaze:
|
||||
return new MBlazeTargetInfo(T);
|
||||
|
||||
+ case llvm::Triple::r600:
|
||||
+ return new R600TargetInfo(T);
|
||||
+
|
||||
case llvm::Triple::sparc:
|
||||
switch (os) {
|
||||
case llvm::Triple::Linux:
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,111 +0,0 @@
|
||||
From a014573ad193775b2301e39275a1ca0ac3bb5847 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Tue, 13 Mar 2012 13:54:51 -0400
|
||||
Subject: [PATCH 2/3] r600: Add some target builtins
|
||||
|
||||
---
|
||||
include/clang/Basic/BuiltinsR600.def | 32 ++++++++++++++++++++++++++++++++
|
||||
include/clang/Basic/TargetBuiltins.h | 10 ++++++++++
|
||||
lib/Basic/Targets.cpp | 12 ++++++++++--
|
||||
3 files changed, 52 insertions(+), 2 deletions(-)
|
||||
create mode 100644 include/clang/Basic/BuiltinsR600.def
|
||||
|
||||
diff --git a/include/clang/Basic/BuiltinsR600.def b/include/clang/Basic/BuiltinsR600.def
|
||||
new file mode 100644
|
||||
index 0000000..ce1f30e
|
||||
--- /dev/null
|
||||
+++ b/include/clang/Basic/BuiltinsR600.def
|
||||
@@ -0,0 +1,32 @@
|
||||
+//===--- BuiltinsR600.def - R600 Builtin function database -- --*- C++ -*-===//
|
||||
+//
|
||||
+// The LLVM Compiler Infrastructure
|
||||
+//
|
||||
+// This file is distributed under the University of Illinois Open Source
|
||||
+// License. See LICENSE.TXT for details.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// This file defines the R600-specific builtin function database. Users of
|
||||
+// this file must define the BUILTIN macro to make use of this information.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// Authors: Tom Stellard <thomas.stellard@amd.com>
|
||||
+//
|
||||
+
|
||||
+// The format of this database matches clang/Basic/Builtins.def.
|
||||
+
|
||||
+BUILTIN(__builtin_r600_read_ngroups_x, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_ngroups_y, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_ngroups_z, "z", "nc")
|
||||
+
|
||||
+BUILTIN(__builtin_r600_read_tidig_x, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_tidig_y, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_tidig_z, "z", "nc")
|
||||
+
|
||||
+BUILTIN(__builtin_r600_read_tgid_x, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_tgid_y, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_tgid_z, "z", "nc")
|
||||
+
|
||||
+#undef BUILTIN
|
||||
diff --git a/include/clang/Basic/TargetBuiltins.h b/include/clang/Basic/TargetBuiltins.h
|
||||
index 7c04bf7..3460cd5 100644
|
||||
--- a/include/clang/Basic/TargetBuiltins.h
|
||||
+++ b/include/clang/Basic/TargetBuiltins.h
|
||||
@@ -45,6 +45,16 @@ namespace clang {
|
||||
};
|
||||
}
|
||||
|
||||
+ /// R600 builtins
|
||||
+ namespace R600 {
|
||||
+ enum {
|
||||
+ LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
|
||||
+#define BUILTIN(ID, TYPE, ATTRS) BI##ID,
|
||||
+#include "clang/Basic/BuiltinsR600.def"
|
||||
+ LastTSBuiltin
|
||||
+ };
|
||||
+ }
|
||||
+
|
||||
|
||||
/// X86 builtins
|
||||
namespace X86 {
|
||||
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
|
||||
index 64dc01c..03f1a18 100644
|
||||
--- a/lib/Basic/Targets.cpp
|
||||
+++ b/lib/Basic/Targets.cpp
|
||||
@@ -1070,6 +1070,7 @@ namespace {
|
||||
namespace {
|
||||
|
||||
class AMDGPUTargetInfo : public TargetInfo {
|
||||
+ static const Builtin::Info BuiltinInfo[];
|
||||
public:
|
||||
|
||||
AMDGPUTargetInfo(const std::string& triple) : TargetInfo(triple) { }
|
||||
@@ -1097,8 +1098,8 @@ public:
|
||||
|
||||
virtual void getTargetBuiltins(const Builtin::Info *&Records,
|
||||
unsigned &NumRecords) const {
|
||||
- Records = NULL;
|
||||
- NumRecords = 0;
|
||||
+ Records = BuiltinInfo;
|
||||
+ NumRecords = clang::R600::LastTSBuiltin-Builtin::FirstTSBuiltin;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1132,6 +1133,13 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
+const Builtin::Info AMDGPUTargetInfo::BuiltinInfo[] = {
|
||||
+#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
|
||||
+#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
|
||||
+ ALL_LANGUAGES },
|
||||
+#include "clang/Basic/BuiltinsR600.def"
|
||||
+};
|
||||
+
|
||||
} // end anonymous namespace
|
||||
|
||||
namespace {
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 2881b8189dcacc8ab6a336f0e107d72752c8c47e Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Wed, 14 Mar 2012 11:20:08 -0400
|
||||
Subject: [PATCH 3/3] r600: Add read_global_size and read_local_size builtins
|
||||
|
||||
---
|
||||
include/clang/Basic/BuiltinsR600.def | 8 ++++++++
|
||||
1 files changed, 8 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/clang/Basic/BuiltinsR600.def b/include/clang/Basic/BuiltinsR600.def
|
||||
index ce1f30e..c81758e 100644
|
||||
--- a/include/clang/Basic/BuiltinsR600.def
|
||||
+++ b/include/clang/Basic/BuiltinsR600.def
|
||||
@@ -17,6 +17,14 @@
|
||||
|
||||
// The format of this database matches clang/Basic/Builtins.def.
|
||||
|
||||
+BUILTIN(__builtin_r600_read_global_size_x, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_global_size_y, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_global_size_z, "z", "nc")
|
||||
+
|
||||
+BUILTIN(__builtin_r600_read_local_size_x, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_local_size_y, "z", "nc")
|
||||
+BUILTIN(__builtin_r600_read_local_size_z, "z", "nc")
|
||||
+
|
||||
BUILTIN(__builtin_r600_read_ngroups_x, "z", "nc")
|
||||
BUILTIN(__builtin_r600_read_ngroups_y, "z", "nc")
|
||||
BUILTIN(__builtin_r600_read_ngroups_z, "z", "nc")
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,64 +0,0 @@
|
||||
From e25389b66b5ced3a2b5461077dcc9a505d334e3d Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Tue, 13 Mar 2012 14:12:21 -0400
|
||||
Subject: [PATCH 1/2] r600: Add some intrinsic definitions
|
||||
|
||||
---
|
||||
include/llvm/Intrinsics.td | 1 +
|
||||
include/llvm/IntrinsicsR600.td | 35 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 36 insertions(+), 0 deletions(-)
|
||||
create mode 100644 include/llvm/IntrinsicsR600.td
|
||||
|
||||
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
|
||||
index 069f907..e90dd85 100644
|
||||
--- a/include/llvm/Intrinsics.td
|
||||
+++ b/include/llvm/Intrinsics.td
|
||||
@@ -441,3 +441,4 @@ include "llvm/IntrinsicsCellSPU.td"
|
||||
include "llvm/IntrinsicsXCore.td"
|
||||
include "llvm/IntrinsicsPTX.td"
|
||||
include "llvm/IntrinsicsHexagon.td"
|
||||
+include "llvm/IntrinsicsR600.td"
|
||||
diff --git a/include/llvm/IntrinsicsR600.td b/include/llvm/IntrinsicsR600.td
|
||||
new file mode 100644
|
||||
index 0000000..789fecb
|
||||
--- /dev/null
|
||||
+++ b/include/llvm/IntrinsicsR600.td
|
||||
@@ -0,0 +1,35 @@
|
||||
+//===- IntrinsicsR600.td - Defines R600 intrinsics ---------*- tablegen -*-===//
|
||||
+//
|
||||
+// The LLVM Compiler Infrastructure
|
||||
+//
|
||||
+// This file is distributed under the University of Illinois Open Source
|
||||
+// License. See LICENSE.TXT for details.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// This file defines all of the R600-specific intrinsics.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// Authors: Tom Stellard <thomas.stellard@amd.com>
|
||||
+//
|
||||
+
|
||||
+let TargetPrefix = "r600" in {
|
||||
+
|
||||
+class R600ReadPreloadRegisterIntrinsic<string name>
|
||||
+ : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>,
|
||||
+ GCCBuiltin<name>;
|
||||
+
|
||||
+multiclass R600ReadPreloadRegisterIntrinsic_xyz<string prefix> {
|
||||
+ def _x : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_x")>;
|
||||
+ def _y : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_y")>;
|
||||
+ def _z : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
|
||||
+}
|
||||
+
|
||||
+defm int_r600_read_ngroups : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_ngroups">;
|
||||
+defm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_tgid">;
|
||||
+defm int_r600_read_tidig : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_tidig">;
|
||||
+} // End TargetPrefix = "r600"
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 17667fa3450470f7c89fc2ba4631d908cf510749 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Wed, 14 Mar 2012 11:19:35 -0400
|
||||
Subject: [PATCH 2/2] r600: Add get_global_size and get_local_size intrinsics
|
||||
|
||||
---
|
||||
include/llvm/IntrinsicsR600.td | 4 ++++
|
||||
1 files changed, 4 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/llvm/IntrinsicsR600.td b/include/llvm/IntrinsicsR600.td
|
||||
index 789fecb..0473acb 100644
|
||||
--- a/include/llvm/IntrinsicsR600.td
|
||||
+++ b/include/llvm/IntrinsicsR600.td
|
||||
@@ -26,6 +26,10 @@ multiclass R600ReadPreloadRegisterIntrinsic_xyz<string prefix> {
|
||||
def _z : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
|
||||
}
|
||||
|
||||
+defm int_r600_read_global_size : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_global_size">;
|
||||
+defm int_r600_read_local_size : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_local_size">;
|
||||
defm int_r600_read_ngroups : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
"__builtin_r600_read_ngroups">;
|
||||
defm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,53 +0,0 @@
|
||||
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:
|
@ -1,258 +0,0 @@
|
||||
Index: include/llvm/ADT/StringMap.h
|
||||
===================================================================
|
||||
--- include/llvm/ADT/StringMap.h (révision 117773)
|
||||
+++ include/llvm/ADT/StringMap.h (révision 117774)
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
|
||||
KeyLength+1;
|
||||
- unsigned Alignment = alignof<StringMapEntry>();
|
||||
+ unsigned Alignment = alignOf<StringMapEntry>();
|
||||
|
||||
StringMapEntry *NewItem =
|
||||
static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
|
||||
Index: include/llvm/Support/AlignOf.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/AlignOf.h (révision 117773)
|
||||
+++ include/llvm/Support/AlignOf.h (révision 117774)
|
||||
@@ -49,12 +49,12 @@
|
||||
|
||||
};
|
||||
|
||||
-/// alignof - A templated function that returns the mininum alignment of
|
||||
+/// alignOf - A templated function that returns the mininum alignment of
|
||||
/// of a type. This provides no extra functionality beyond the AlignOf
|
||||
/// class besides some cosmetic cleanliness. Example usage:
|
||||
-/// alignof<int>() returns the alignment of an int.
|
||||
+/// alignOf<int>() returns the alignment of an int.
|
||||
template <typename T>
|
||||
-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
|
||||
+static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
|
||||
|
||||
} // end namespace llvm
|
||||
#endif
|
||||
Index: include/llvm/Support/Allocator.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/Allocator.h (révision 117773)
|
||||
+++ include/llvm/Support/Allocator.h (révision 117774)
|
||||
@@ -201,7 +201,7 @@
|
||||
char *End = Slab == Allocator.CurSlab ? Allocator.CurPtr :
|
||||
(char *)Slab + Slab->Size;
|
||||
for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
|
||||
- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
|
||||
+ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
|
||||
if (Ptr + sizeof(T) <= End)
|
||||
reinterpret_cast<T*>(Ptr)->~T();
|
||||
}
|
||||
Index: include/llvm/CodeGen/SlotIndexes.h
|
||||
===================================================================
|
||||
--- include/llvm/CodeGen/SlotIndexes.h (révision 117773)
|
||||
+++ include/llvm/CodeGen/SlotIndexes.h (révision 117774)
|
||||
@@ -393,7 +393,7 @@
|
||||
IndexListEntry *entry =
|
||||
static_cast<IndexListEntry*>(
|
||||
ileAllocator.Allocate(sizeof(IndexListEntry),
|
||||
- alignof<IndexListEntry>()));
|
||||
+ alignOf<IndexListEntry>()));
|
||||
|
||||
new (entry) IndexListEntry(mi, index);
|
||||
|
||||
Index: tools/clang/lib/Basic/IdentifierTable.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/Basic/IdentifierTable.cpp (révision 117774)
|
||||
+++ tools/clang/lib/Basic/IdentifierTable.cpp (révision 117775)
|
||||
@@ -390,7 +390,7 @@
|
||||
unsigned Size = sizeof(MultiKeywordSelector) + nKeys*sizeof(IdentifierInfo *);
|
||||
MultiKeywordSelector *SI =
|
||||
(MultiKeywordSelector*)SelTabImpl.Allocator.Allocate(Size,
|
||||
- llvm::alignof<MultiKeywordSelector>());
|
||||
+ llvm::alignOf<MultiKeywordSelector>());
|
||||
new (SI) MultiKeywordSelector(nKeys, IIV);
|
||||
SelTabImpl.Table.InsertNode(SI, InsertPos);
|
||||
return Selector(SI);
|
||||
Index: tools/clang/lib/AST/ExprCXX.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/AST/ExprCXX.cpp (révision 117774)
|
||||
+++ tools/clang/lib/AST/ExprCXX.cpp (révision 117775)
|
||||
@@ -233,7 +233,7 @@
|
||||
if (NumTemplateArgs != 0)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedLookupExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedLookupExpr>());
|
||||
UnresolvedLookupExpr *E = new (Mem) UnresolvedLookupExpr(EmptyShell());
|
||||
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
|
||||
return E;
|
||||
@@ -261,7 +261,7 @@
|
||||
if (NumResults) {
|
||||
Results = static_cast<DeclAccessPair *>(
|
||||
C.Allocate(sizeof(DeclAccessPair) * NumResults,
|
||||
- llvm::alignof<DeclAccessPair>()));
|
||||
+ llvm::alignOf<DeclAccessPair>()));
|
||||
memcpy(Results, &*Begin.getIterator(),
|
||||
NumResults * sizeof(DeclAccessPair));
|
||||
}
|
||||
@@ -737,7 +737,7 @@
|
||||
if (TemplateArgs)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
|
||||
return new (Mem) CXXDependentScopeMemberExpr(C, Base, BaseType,
|
||||
IsArrow, OperatorLoc,
|
||||
Qualifier, QualifierRange,
|
||||
@@ -756,7 +756,7 @@
|
||||
|
||||
std::size_t size = sizeof(CXXDependentScopeMemberExpr) +
|
||||
ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
|
||||
CXXDependentScopeMemberExpr *E
|
||||
= new (Mem) CXXDependentScopeMemberExpr(C, 0, QualType(),
|
||||
0, SourceLocation(), 0,
|
||||
@@ -812,7 +812,7 @@
|
||||
if (TemplateArgs)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
|
||||
return new (Mem) UnresolvedMemberExpr(C,
|
||||
Dependent ? C.DependentTy : C.OverloadTy,
|
||||
Dependent, HasUnresolvedUsing, Base, BaseType,
|
||||
@@ -826,7 +826,7 @@
|
||||
if (NumTemplateArgs != 0)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
|
||||
UnresolvedMemberExpr *E = new (Mem) UnresolvedMemberExpr(EmptyShell());
|
||||
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
|
||||
return E;
|
||||
Index: tools/clang/lib/AST/DeclObjC.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/AST/DeclObjC.cpp (révision 117774)
|
||||
+++ tools/clang/lib/AST/DeclObjC.cpp (révision 117775)
|
||||
@@ -711,7 +711,7 @@
|
||||
void ObjCClassDecl::setClassList(ASTContext &C, ObjCInterfaceDecl*const*List,
|
||||
const SourceLocation *Locs, unsigned Num) {
|
||||
ForwardDecls = (ObjCClassRef*) C.Allocate(sizeof(ObjCClassRef)*Num,
|
||||
- llvm::alignof<ObjCClassRef>());
|
||||
+ llvm::alignOf<ObjCClassRef>());
|
||||
for (unsigned i = 0; i < Num; ++i)
|
||||
new (&ForwardDecls[i]) ObjCClassRef(List[i], Locs[i]);
|
||||
|
||||
Index: tools/clang/lib/AST/Stmt.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/AST/Stmt.cpp (révision 117774)
|
||||
+++ tools/clang/lib/AST/Stmt.cpp (révision 117775)
|
||||
@@ -416,7 +416,7 @@
|
||||
Stmt *atFinallyStmt) {
|
||||
unsigned Size = sizeof(ObjCAtTryStmt) +
|
||||
(1 + NumCatchStmts + (atFinallyStmt != 0)) * sizeof(Stmt *);
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
|
||||
return new (Mem) ObjCAtTryStmt(atTryLoc, atTryStmt, CatchStmts, NumCatchStmts,
|
||||
atFinallyStmt);
|
||||
}
|
||||
@@ -426,7 +426,7 @@
|
||||
bool HasFinally) {
|
||||
unsigned Size = sizeof(ObjCAtTryStmt) +
|
||||
(1 + NumCatchStmts + HasFinally) * sizeof(Stmt *);
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
|
||||
return new (Mem) ObjCAtTryStmt(EmptyShell(), NumCatchStmts, HasFinally);
|
||||
}
|
||||
|
||||
@@ -448,7 +448,7 @@
|
||||
std::size_t Size = sizeof(CXXTryStmt);
|
||||
Size += ((numHandlers + 1) * sizeof(Stmt));
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
|
||||
return new (Mem) CXXTryStmt(tryLoc, tryBlock, handlers, numHandlers);
|
||||
}
|
||||
|
||||
@@ -457,7 +457,7 @@
|
||||
std::size_t Size = sizeof(CXXTryStmt);
|
||||
Size += ((numHandlers + 1) * sizeof(Stmt));
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
|
||||
return new (Mem) CXXTryStmt(Empty, numHandlers);
|
||||
}
|
||||
|
||||
Index: tools/clang/lib/AST/Expr.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/AST/Expr.cpp (révision 117774)
|
||||
+++ tools/clang/lib/AST/Expr.cpp (révision 117775)
|
||||
@@ -257,7 +257,7 @@
|
||||
if (TemplateArgs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
|
||||
return new (Mem) DeclRefExpr(Qualifier, QualifierRange, D, NameInfo,
|
||||
TemplateArgs, T);
|
||||
}
|
||||
@@ -271,7 +271,7 @@
|
||||
if (NumTemplateArgs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
|
||||
return new (Mem) DeclRefExpr(EmptyShell());
|
||||
}
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
// any concatenated string tokens.
|
||||
void *Mem = C.Allocate(sizeof(StringLiteral)+
|
||||
sizeof(SourceLocation)*(NumStrs-1),
|
||||
- llvm::alignof<StringLiteral>());
|
||||
+ llvm::alignOf<StringLiteral>());
|
||||
StringLiteral *SL = new (Mem) StringLiteral(Ty);
|
||||
|
||||
// OPTIMIZE: could allocate this appended to the StringLiteral.
|
||||
@@ -452,7 +452,7 @@
|
||||
StringLiteral *StringLiteral::CreateEmpty(ASTContext &C, unsigned NumStrs) {
|
||||
void *Mem = C.Allocate(sizeof(StringLiteral)+
|
||||
sizeof(SourceLocation)*(NumStrs-1),
|
||||
- llvm::alignof<StringLiteral>());
|
||||
+ llvm::alignOf<StringLiteral>());
|
||||
StringLiteral *SL = new (Mem) StringLiteral(QualType());
|
||||
SL->StrData = 0;
|
||||
SL->ByteLength = 0;
|
||||
@@ -714,7 +714,7 @@
|
||||
if (targs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(*targs);
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<MemberExpr>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<MemberExpr>());
|
||||
MemberExpr *E = new (Mem) MemberExpr(base, isarrow, memberdecl, nameinfo, ty);
|
||||
|
||||
if (hasQualOrFound) {
|
||||
Index: tools/clang/lib/AST/DeclCXX.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/AST/DeclCXX.cpp (révision 117774)
|
||||
+++ tools/clang/lib/AST/DeclCXX.cpp (révision 117775)
|
||||
@@ -1057,7 +1057,7 @@
|
||||
unsigned NumIndices) {
|
||||
void *Mem = Context.Allocate(sizeof(CXXBaseOrMemberInitializer) +
|
||||
sizeof(VarDecl *) * NumIndices,
|
||||
- llvm::alignof<CXXBaseOrMemberInitializer>());
|
||||
+ llvm::alignOf<CXXBaseOrMemberInitializer>());
|
||||
return new (Mem) CXXBaseOrMemberInitializer(Context, Member, MemberLoc,
|
||||
L, Init, R, Indices, NumIndices);
|
||||
}
|
||||
Index: tools/clang/lib/Lex/TokenLexer.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/Lex/TokenLexer.cpp (révision 117774)
|
||||
+++ tools/clang/lib/Lex/TokenLexer.cpp (révision 117775)
|
||||
@@ -287,7 +287,7 @@
|
||||
llvm::BumpPtrAllocator &Alloc = PP.getPreprocessorAllocator();
|
||||
Token *Res =
|
||||
static_cast<Token *>(Alloc.Allocate(sizeof(Token)*ResultToks.size(),
|
||||
- llvm::alignof<Token>()));
|
||||
+ llvm::alignOf<Token>()));
|
||||
if (NumTokens)
|
||||
memcpy(Res, &ResultToks[0], NumTokens*sizeof(Token));
|
||||
Tokens = Res;
|
@ -1,127 +0,0 @@
|
||||
This code looks as if it is written by Apple, lots of assumptions that
|
||||
only hold for them and their scenario.
|
||||
|
||||
--- tools/clang/lib/Driver/ToolChains.cpp
|
||||
+++ tools/clang/lib/Driver/ToolChains.cpp
|
||||
@@ -131,7 +131,7 @@
|
||||
GCCVersion[2] = 1;
|
||||
|
||||
// Set up the tool chain paths to match gcc.
|
||||
- ToolChainDir = "i686-apple-darwin";
|
||||
+ ToolChainDir = "@GENTOO_PORTAGE_CHOST@";
|
||||
ToolChainDir += llvm::utostr(DarwinVersion[0]);
|
||||
ToolChainDir += "/";
|
||||
ToolChainDir += llvm::utostr(GCCVersion[0]);
|
||||
@@ -141,9 +141,9 @@
|
||||
ToolChainDir += llvm::utostr(GCCVersion[2]);
|
||||
|
||||
// Try the next major version if that tool chain dir is invalid.
|
||||
- std::string Tmp = "/usr/lib/gcc/" + ToolChainDir;
|
||||
+ std::string Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir;
|
||||
if (!llvm::sys::Path(Tmp).exists()) {
|
||||
- std::string Next = "i686-apple-darwin";
|
||||
+ std::string Next = "@GENTOO_PORTAGE_CHOST_ARCH@";
|
||||
Next += llvm::utostr(DarwinVersion[0] + 1);
|
||||
Next += "/";
|
||||
Next += llvm::utostr(GCCVersion[0]);
|
||||
@@ -155,7 +155,7 @@
|
||||
// Use that if it exists, otherwise hope the user isn't linking.
|
||||
//
|
||||
// FIXME: Drop dependency on gcc's tool chain.
|
||||
- Tmp = "/usr/lib/gcc/" + Next;
|
||||
+ Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + Next;
|
||||
if (llvm::sys::Path(Tmp).exists())
|
||||
ToolChainDir = Next;
|
||||
}
|
||||
@@ -168,7 +168,7 @@
|
||||
Path += "/x86_64";
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/lib/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
|
||||
Path += ToolChainDir;
|
||||
Path += "/x86_64";
|
||||
getFilePaths().push_back(Path);
|
||||
@@ -179,7 +179,7 @@
|
||||
Path += ToolChainDir;
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/lib/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
|
||||
Path += ToolChainDir;
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
Path += ToolChainDir;
|
||||
getProgramPaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/libexec/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/libexec/gcc/";
|
||||
Path += ToolChainDir;
|
||||
getProgramPaths().push_back(Path);
|
||||
|
||||
@@ -291,14 +291,14 @@
|
||||
|
||||
// FIXME: Derive these correctly.
|
||||
if (getArchName() == "x86_64") {
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/x86_64"));
|
||||
// Intentionally duplicated for (temporary) gcc bug compatibility.
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/x86_64"));
|
||||
}
|
||||
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/" + ToolChainDir));
|
||||
|
||||
Tmp = getDriver().Dir + "/../lib/gcc/" + ToolChainDir;
|
||||
if (llvm::sys::Path(Tmp).exists())
|
||||
@@ -306,18 +306,18 @@
|
||||
Tmp = getDriver().Dir + "/../lib/gcc";
|
||||
if (llvm::sys::Path(Tmp).exists())
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
|
||||
// Intentionally duplicated for (temporary) gcc bug compatibility.
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
|
||||
Tmp = getDriver().Dir + "/../lib/" + ToolChainDir;
|
||||
if (llvm::sys::Path(Tmp).exists())
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
Tmp = getDriver().Dir + "/../lib";
|
||||
if (llvm::sys::Path(Tmp).exists())
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/../../../" + ToolChainDir));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/../../.."));
|
||||
}
|
||||
|
||||
@@ -386,22 +386,7 @@
|
||||
P.eraseComponent(); // .../usr/bin -> ../usr
|
||||
P.appendComponent("lib");
|
||||
P.appendComponent("gcc");
|
||||
- switch (getTriple().getArch()) {
|
||||
- default:
|
||||
- assert(0 && "Invalid Darwin arch!");
|
||||
- case llvm::Triple::x86:
|
||||
- case llvm::Triple::x86_64:
|
||||
- P.appendComponent("i686-apple-darwin10");
|
||||
- break;
|
||||
- case llvm::Triple::arm:
|
||||
- case llvm::Triple::thumb:
|
||||
- P.appendComponent("arm-apple-darwin10");
|
||||
- break;
|
||||
- case llvm::Triple::ppc:
|
||||
- case llvm::Triple::ppc64:
|
||||
- P.appendComponent("powerpc-apple-darwin10");
|
||||
- break;
|
||||
- }
|
||||
+ P.appendComponent("@GENTOO_PORTAGE_CHOST@");
|
||||
P.appendComponent("4.2.1");
|
||||
|
||||
// Determine the arch specific GCC subdirectory.
|
@ -1,16 +0,0 @@
|
||||
Index: tools/clang/lib/Frontend/InitHeaderSearch.cpp
|
||||
===================================================================
|
||||
--- tools/clang/lib/Frontend/InitHeaderSearch.cpp (révision 119347)
|
||||
+++ tools/clang/lib/Frontend/InitHeaderSearch.cpp (révision 119348)
|
||||
@@ -745,6 +745,11 @@
|
||||
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4",
|
||||
"x86_64-pc-linux-gnu", "32", "", triple);
|
||||
|
||||
+ // Gentoo amd64 gcc 4.4.4
|
||||
+ AddGnuCPlusPlusIncludePaths(
|
||||
+ "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4",
|
||||
+ "x86_64-pc-linux-gnu", "32", "", triple);
|
||||
+
|
||||
// Gentoo amd64 llvm-gcc trunk
|
||||
AddGnuCPlusPlusIncludePaths(
|
||||
"/usr/lib/llvm-gcc-4.2-9999/include/c++/4.2.1",
|
@ -1,125 +0,0 @@
|
||||
--- tools/clang/lib/Driver/ToolChains.cpp.orig 2011-03-21 22:29:27.000000000 +0100
|
||||
+++ tools/clang/lib/Driver/ToolChains.cpp 2011-04-07 10:33:41.771314057 +0200
|
||||
@@ -139,7 +139,7 @@
|
||||
GCCVersion[2] = 1;
|
||||
|
||||
// Set up the tool chain paths to match gcc.
|
||||
- ToolChainDir = "i686-apple-darwin";
|
||||
+ ToolChainDir = "@GENTOO_PORTAGE_CHOST@";
|
||||
ToolChainDir += llvm::utostr(DarwinVersion[0]);
|
||||
ToolChainDir += "/";
|
||||
ToolChainDir += llvm::utostr(GCCVersion[0]);
|
||||
@@ -149,10 +149,10 @@
|
||||
ToolChainDir += llvm::utostr(GCCVersion[2]);
|
||||
|
||||
// Try the next major version if that tool chain dir is invalid.
|
||||
- std::string Tmp = "/usr/lib/gcc/" + ToolChainDir;
|
||||
+ std::string Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir;
|
||||
bool Exists;
|
||||
if (llvm::sys::fs::exists(Tmp, Exists) || Exists) {
|
||||
- std::string Next = "i686-apple-darwin";
|
||||
+ std::string Next = "@GENTOO_PORTAGE_CHOST_ARCH@";
|
||||
Next += llvm::utostr(DarwinVersion[0] + 1);
|
||||
Next += "/";
|
||||
Next += llvm::utostr(GCCVersion[0]);
|
||||
@@ -164,7 +164,7 @@
|
||||
// Use that if it exists, otherwise hope the user isn't linking.
|
||||
//
|
||||
// FIXME: Drop dependency on gcc's tool chain.
|
||||
- Tmp = "/usr/lib/gcc/" + Next;
|
||||
+ Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + Next;
|
||||
if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
|
||||
ToolChainDir = Next;
|
||||
}
|
||||
@@ -177,7 +177,7 @@
|
||||
Path += "/x86_64";
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/lib/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
|
||||
Path += ToolChainDir;
|
||||
Path += "/x86_64";
|
||||
getFilePaths().push_back(Path);
|
||||
@@ -188,7 +188,7 @@
|
||||
Path += ToolChainDir;
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/lib/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
|
||||
Path += ToolChainDir;
|
||||
getFilePaths().push_back(Path);
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
Path += ToolChainDir;
|
||||
getProgramPaths().push_back(Path);
|
||||
|
||||
- Path = "/usr/libexec/gcc/";
|
||||
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/libexec/gcc/";
|
||||
Path += ToolChainDir;
|
||||
getProgramPaths().push_back(Path);
|
||||
|
||||
@@ -300,14 +300,14 @@
|
||||
|
||||
// FIXME: Derive these correctly.
|
||||
if (getArchName() == "x86_64") {
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/x86_64"));
|
||||
// Intentionally duplicated for (temporary) gcc bug compatibility.
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/x86_64"));
|
||||
}
|
||||
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/" + ToolChainDir));
|
||||
|
||||
Tmp = getDriver().Dir + "/../lib/gcc/" + ToolChainDir;
|
||||
bool Exists;
|
||||
@@ -316,18 +316,18 @@
|
||||
Tmp = getDriver().Dir + "/../lib/gcc";
|
||||
if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
|
||||
// Intentionally duplicated for (temporary) gcc bug compatibility.
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
|
||||
Tmp = getDriver().Dir + "/../lib/" + ToolChainDir;
|
||||
if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
Tmp = getDriver().Dir + "/../lib";
|
||||
if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
|
||||
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/../../../" + ToolChainDir));
|
||||
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
|
||||
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
|
||||
"/../../.."));
|
||||
}
|
||||
|
||||
@@ -416,22 +416,7 @@
|
||||
P.eraseComponent(); // .../usr/bin -> ../usr
|
||||
P.appendComponent("lib");
|
||||
P.appendComponent("gcc");
|
||||
- switch (getTriple().getArch()) {
|
||||
- default:
|
||||
- assert(0 && "Invalid Darwin arch!");
|
||||
- case llvm::Triple::x86:
|
||||
- case llvm::Triple::x86_64:
|
||||
- P.appendComponent("i686-apple-darwin10");
|
||||
- break;
|
||||
- case llvm::Triple::arm:
|
||||
- case llvm::Triple::thumb:
|
||||
- P.appendComponent("arm-apple-darwin10");
|
||||
- break;
|
||||
- case llvm::Triple::ppc:
|
||||
- case llvm::Triple::ppc64:
|
||||
- P.appendComponent("powerpc-apple-darwin10");
|
||||
- break;
|
||||
- }
|
||||
+ P.appendComponent("@GENTOO_PORTAGE_CHOST@");
|
||||
P.appendComponent("4.2.1");
|
||||
|
||||
// Determine the arch specific GCC subdirectory.
|
@ -1,12 +0,0 @@
|
||||
--- a/llvm-2.9/tools/clang/lib/Driver/ToolChains.cpp 2011-08-10 15:05:32.969155113 -0400
|
||||
+++ a/llvm-2.9/tools/clang/lib/Driver/ToolChains.cpp 2011-08-10 15:06:45.449159147 -0400
|
||||
@@ -1449,7 +1449,8 @@
|
||||
GccTriple = "i586-suse-linux";
|
||||
}
|
||||
|
||||
- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
|
||||
+ const char* GccVersions[] = {"4.6.2", "4.6.1", "4.6", "4.5.3", "4.5.2",
|
||||
+ "4.5.1", "4.5", "4.4.6", "4.4.5", "4.4.4",
|
||||
"4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
|
||||
"4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
|
||||
"4.2"};
|
@ -1,21 +0,0 @@
|
||||
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);
|
@ -1,20 +0,0 @@
|
||||
diff -upNr a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
--- a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:45:01.333127000 -0400
|
||||
+++ b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 16:16:26.023642076 -0400
|
||||
@@ -1215,6 +1215,16 @@ FreeBSD::FreeBSD(const HostInfo &Host, c
|
||||
} else {
|
||||
getFilePaths().push_back("/usr/lib");
|
||||
}
|
||||
+
|
||||
+ llvm::OwningPtr<llvm::MemoryBuffer> File;
|
||||
+ if (!llvm::MemoryBuffer::getFile("/etc/env.d/gcc/config-" + getDriver().DefaultHostTriple, File))
|
||||
+ {
|
||||
+ bool Exists;
|
||||
+ StringRef Version = File.get()->getBuffer().rsplit('-').second.substr(0,5);
|
||||
+ const std::string GentooPath = "/usr/lib/gcc/" + getDriver().DefaultHostTriple + "/" + Version.str();
|
||||
+ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
|
||||
+ getFilePaths().push_back(GentooPath);
|
||||
+ }
|
||||
}
|
||||
|
||||
Tool &FreeBSD::SelectTool(const Compilation &C, const JobAction &JA,
|
@ -1,29 +0,0 @@
|
||||
http://llvm.org/bugs/show_bug.cgi?id=8339
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=395013
|
||||
http://llvm.org/viewvc/llvm-project?view=rev&revision=151612
|
||||
|
||||
Tweak version detection bit to cope with Gentoo's slightly different
|
||||
output for ld -v.
|
||||
|
||||
--- autoconf/m4/link_options.m4
|
||||
+++ autoconf/m4/link_options.m4
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
# Check for ld64.
|
||||
if (echo "$version_string" | grep -q "ld64"); then
|
||||
- llvm_cv_link_version=$(echo "$version_string" | sed -e "s#.*ld64-\([^ ]*\)#\1#")
|
||||
+ llvm_cv_link_version=$(echo "$version_string" | sed -e "s#.*ld64-\([^ ]*\)\( (.*)\)\?#\1#")
|
||||
else
|
||||
llvm_cv_link_version=$(echo "$version_string" | sed -e "s#[^0-9]*\([0-9.]*\).*#\1#")
|
||||
fi
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -7528,7 +7528,7 @@
|
||||
|
||||
# Check for ld64.
|
||||
if (echo "$version_string" | grep -q "ld64"); then
|
||||
- llvm_cv_link_version=$(echo "$version_string" | sed -e "s#.*ld64-\([^ ]*\)#\1#")
|
||||
+ llvm_cv_link_version=$(echo "$version_string" | sed -e "s#.*ld64-\([^ ]*\)\( (.*)\)\?#\1#")
|
||||
else
|
||||
llvm_cv_link_version=$(echo "$version_string" | sed -e "s#[^0-9]*\([0-9.]*\).*#\1#")
|
||||
fi
|
@ -1,43 +0,0 @@
|
||||
diff -upNr a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
--- a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:39:01.070411000 -0400
|
||||
+++ b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:39:22.371785000 -0400
|
||||
@@ -1382,6 +1382,7 @@ enum LinuxDistro {
|
||||
DebianSqueeze,
|
||||
DebianWheezy,
|
||||
Exherbo,
|
||||
+ Gentoo,
|
||||
RHEL4,
|
||||
RHEL5,
|
||||
RHEL6,
|
||||
@@ -1403,6 +1404,10 @@ enum LinuxDistro {
|
||||
UnknownDistro
|
||||
};
|
||||
|
||||
+static bool IsGentoo(enum LinuxDistro Distro) {
|
||||
+ return Distro == Gentoo;
|
||||
+}
|
||||
+
|
||||
static bool IsRedhat(enum LinuxDistro Distro) {
|
||||
return Distro == Fedora13 || Distro == Fedora14 ||
|
||||
Distro == Fedora15 || Distro == FedoraRawhide ||
|
||||
@@ -1433,7 +1438,9 @@ static LinuxDistro DetectLinuxDistro(llv
|
||||
SmallVector<StringRef, 8> Lines;
|
||||
Data.split(Lines, "\n");
|
||||
for (unsigned int i = 0, s = Lines.size(); i < s; ++ i) {
|
||||
- if (Lines[i] == "DISTRIB_CODENAME=hardy")
|
||||
+ if (Lines[i] == "DISTRIB_ID=\"Gentoo\"")
|
||||
+ return Gentoo;
|
||||
+ else if (Lines[i] == "DISTRIB_CODENAME=hardy")
|
||||
return UbuntuHardy;
|
||||
else if (Lines[i] == "DISTRIB_CODENAME=intrepid")
|
||||
return UbuntuIntrepid;
|
||||
@@ -1597,6 +1604,9 @@ Linux::GCCInstallationDetector::GCCInsta
|
||||
GccInstallPath.append("/");
|
||||
GccInstallPath.append(CXX_INCLUDE_ARCH);
|
||||
GccInstallPath.append("/");
|
||||
+ llvm::OwningPtr<llvm::MemoryBuffer> File;
|
||||
+ if (!llvm::MemoryBuffer::getFile("/etc/env.d/gcc/config-" + D.DefaultHostTriple, File))
|
||||
+ Version = File.get()->getBuffer().rsplit('-').second.substr(0,5);
|
||||
GccInstallPath.append(Version);
|
||||
GccParentLibPath = GccInstallPath + "/../../..";
|
||||
IsValid = true;
|
@ -1,82 +0,0 @@
|
||||
--- llvm.orig/contrib/llvm/tools/clang/lib/Basic/Targets.cpp 2011/10/22 14:08:43 226633
|
||||
+++ llvm/contrib/llvm/tools/clang/lib/Basic/Targets.cpp 2011/10/30 22:20:17 226951
|
||||
@@ -1282,6 +1282,7 @@
|
||||
CK_K8SSE3,
|
||||
CK_Opteron,
|
||||
CK_OpteronSSE3,
|
||||
+ CK_AMDFAM10,
|
||||
|
||||
/// This specification is deprecated and will be removed in the future.
|
||||
/// Users should prefer \see CK_K8.
|
||||
@@ -1381,6 +1382,7 @@
|
||||
.Case("k8-sse3", CK_K8SSE3)
|
||||
.Case("opteron", CK_Opteron)
|
||||
.Case("opteron-sse3", CK_OpteronSSE3)
|
||||
+ .Case("amdfam10", CK_AMDFAM10)
|
||||
.Case("x86-64", CK_x86_64)
|
||||
.Case("geode", CK_Geode)
|
||||
.Default(CK_Generic);
|
||||
@@ -1441,6 +1443,7 @@
|
||||
case CK_K8SSE3:
|
||||
case CK_Opteron:
|
||||
case CK_OpteronSSE3:
|
||||
+ case CK_AMDFAM10:
|
||||
case CK_x86_64:
|
||||
return true;
|
||||
}
|
||||
@@ -1459,12 +1462,10 @@
|
||||
Features["ssse3"] = false;
|
||||
Features["sse41"] = false;
|
||||
Features["sse42"] = false;
|
||||
+ Features["sse4a"] = false;
|
||||
Features["aes"] = false;
|
||||
Features["avx"] = false;
|
||||
|
||||
- // LLVM does not currently recognize this.
|
||||
- // Features["sse4a"] = false;
|
||||
-
|
||||
// FIXME: This *really* should not be here.
|
||||
|
||||
// X86_64 always has SSE2.
|
||||
@@ -1561,6 +1562,11 @@
|
||||
setFeatureEnabled(Features, "sse3", true);
|
||||
setFeatureEnabled(Features, "3dnowa", true);
|
||||
break;
|
||||
+ case CK_AMDFAM10:
|
||||
+ setFeatureEnabled(Features, "sse3", true);
|
||||
+ setFeatureEnabled(Features, "sse4a", true);
|
||||
+ setFeatureEnabled(Features, "3dnowa", true);
|
||||
+ break;
|
||||
case CK_C3_2:
|
||||
setFeatureEnabled(Features, "mmx", true);
|
||||
setFeatureEnabled(Features, "sse", true);
|
||||
@@ -1604,6 +1610,8 @@
|
||||
else if (Name == "avx")
|
||||
Features["avx"] = Features["sse"] = Features["sse2"] = Features["sse3"] =
|
||||
Features["ssse3"] = Features["sse41"] = Features["sse42"] = true;
|
||||
+ else if (Name == "sse4a")
|
||||
+ Features["sse4a"] = true;
|
||||
} else {
|
||||
if (Name == "mmx")
|
||||
Features["mmx"] = Features["3dnow"] = Features["3dnowa"] = false;
|
||||
@@ -1630,6 +1638,8 @@
|
||||
Features["aes"] = false;
|
||||
else if (Name == "avx")
|
||||
Features["avx"] = false;
|
||||
+ else if (Name == "sse4a")
|
||||
+ Features["sse4a"] = false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1826,6 +1836,11 @@
|
||||
Builder.defineMacro("__k8__");
|
||||
Builder.defineMacro("__tune_k8__");
|
||||
break;
|
||||
+ case CK_AMDFAM10:
|
||||
+ Builder.defineMacro("__amdfam10");
|
||||
+ Builder.defineMacro("__amdfam10__");
|
||||
+ Builder.defineMacro("__tune_amdfam10__");
|
||||
+ break;
|
||||
case CK_Geode:
|
||||
Builder.defineMacro("__geode");
|
||||
Builder.defineMacro("__geode__");
|
@ -1,188 +0,0 @@
|
||||
diff --git a/a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
index 1e282f2..1d6835b 100644
|
||||
--- a/a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
+++ b/b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
@@ -2305,6 +2305,162 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
|
||||
}
|
||||
}
|
||||
|
||||
+void FreeBSD::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) const {
|
||||
+ const Driver &D = getDriver();
|
||||
+
|
||||
+ if (DriverArgs.hasArg(options::OPT_nostdinc))
|
||||
+ return;
|
||||
+
|
||||
+ if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
|
||||
+ addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
|
||||
+
|
||||
+ if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
|
||||
+ llvm::sys::Path P(D.ResourceDir);
|
||||
+ P.appendComponent("include");
|
||||
+ addSystemInclude(DriverArgs, CC1Args, P.str());
|
||||
+ }
|
||||
+
|
||||
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc))
|
||||
+ return;
|
||||
+
|
||||
+ // Check for configure-time C include directories.
|
||||
+ StringRef CIncludeDirs(C_INCLUDE_DIRS);
|
||||
+ if (CIncludeDirs != "") {
|
||||
+ SmallVector<StringRef, 5> dirs;
|
||||
+ CIncludeDirs.split(dirs, ":");
|
||||
+ for (SmallVectorImpl<StringRef>::iterator I = dirs.begin(), E = dirs.end();
|
||||
+ I != E; ++I) {
|
||||
+ StringRef Prefix = llvm::sys::path::is_absolute(*I) ? D.SysRoot : "";
|
||||
+ addExternCSystemInclude(DriverArgs, CC1Args, Prefix + *I);
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // Lacking those, try to detect the correct set of system includes for the
|
||||
+ // target triple.
|
||||
+
|
||||
+ // Implement generic Debian multiarch support.
|
||||
+ const StringRef X86_64MultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/x86_64-linux-gnu",
|
||||
+
|
||||
+ // FIXME: These are older forms of multiarch. It's not clear that they're
|
||||
+ // in use in any released version of Debian, so we should consider
|
||||
+ // removing them.
|
||||
+ "/usr/include/i686-linux-gnu/64",
|
||||
+ "/usr/include/i486-linux-gnu/64"
|
||||
+ };
|
||||
+ const StringRef X86MultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/i386-linux-gnu",
|
||||
+
|
||||
+ // FIXME: These are older forms of multiarch. It's not clear that they're
|
||||
+ // in use in any released version of Debian, so we should consider
|
||||
+ // removing them.
|
||||
+ "/usr/include/x86_64-linux-gnu/32",
|
||||
+ "/usr/include/i686-linux-gnu",
|
||||
+ "/usr/include/i486-linux-gnu"
|
||||
+ };
|
||||
+ const StringRef ARMMultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/arm-linux-gnueabi"
|
||||
+ };
|
||||
+ const StringRef MIPSMultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/mips-linux-gnu"
|
||||
+ };
|
||||
+ const StringRef MIPSELMultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/mipsel-linux-gnu"
|
||||
+ };
|
||||
+ const StringRef PPCMultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/powerpc-linux-gnu"
|
||||
+ };
|
||||
+ const StringRef PPC64MultiarchIncludeDirs[] = {
|
||||
+ "/usr/include/powerpc64-linux-gnu"
|
||||
+ };
|
||||
+ ArrayRef<StringRef> MultiarchIncludeDirs;
|
||||
+ if (getTriple().getArch() == llvm::Triple::x86_64) {
|
||||
+ MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::x86) {
|
||||
+ MultiarchIncludeDirs = X86MultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::arm) {
|
||||
+ MultiarchIncludeDirs = ARMMultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::mips) {
|
||||
+ MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::mipsel) {
|
||||
+ MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::ppc) {
|
||||
+ MultiarchIncludeDirs = PPCMultiarchIncludeDirs;
|
||||
+ } else if (getTriple().getArch() == llvm::Triple::ppc64) {
|
||||
+ MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
|
||||
+ }
|
||||
+ for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(),
|
||||
+ E = MultiarchIncludeDirs.end();
|
||||
+ I != E; ++I) {
|
||||
+ if (llvm::sys::fs::exists(D.SysRoot + *I)) {
|
||||
+ addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + *I);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (getTriple().getOS() == llvm::Triple::RTEMS)
|
||||
+ return;
|
||||
+
|
||||
+ // Add an include of '/include' directly. This isn't provided by default by
|
||||
+ // system GCCs, but is often used with cross-compiling GCCs, and harmless to
|
||||
+ // add even when Clang is acting as-if it were a system compiler.
|
||||
+ addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include");
|
||||
+
|
||||
+ addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include");
|
||||
+}
|
||||
+
|
||||
+/// \brief Helper to add the thre variant paths for a libstdc++ installation.
|
||||
+/*static*/ bool FreeBSD::addLibStdCXXIncludePaths(Twine Base, Twine TargetArchDir,
|
||||
+ const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) {
|
||||
+ if (!llvm::sys::fs::exists(Base))
|
||||
+ return false;
|
||||
+ addSystemInclude(DriverArgs, CC1Args, Base);
|
||||
+ addSystemInclude(DriverArgs, CC1Args, Base + "/" + TargetArchDir);
|
||||
+ addSystemInclude(DriverArgs, CC1Args, Base + "/backward");
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void FreeBSD::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) const {
|
||||
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
|
||||
+ DriverArgs.hasArg(options::OPT_nostdincxx))
|
||||
+ return;
|
||||
+
|
||||
+ // Check if libc++ has been enabled and provide its include paths if so.
|
||||
+ if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
|
||||
+ // libc++ is always installed at a fixed path on Linux currently.
|
||||
+ addSystemInclude(DriverArgs, CC1Args,
|
||||
+ getDriver().SysRoot + "/usr/include/c++/v1");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // We need a detected GCC installation on Linux to provide libstdc++'s
|
||||
+ // headers. We handled the libc++ case above.
|
||||
+ if (!GCCInstallation.isValid())
|
||||
+ return;
|
||||
+
|
||||
+ // By default, look for the C++ headers in an include directory adjacent to
|
||||
+ // the lib directory of the GCC installation. Note that this is expect to be
|
||||
+ // equivalent to '/usr/include/c++/X.Y' in almost all cases.
|
||||
+ StringRef LibDir = GCCInstallation.getParentLibPath();
|
||||
+ StringRef InstallDir = GCCInstallation.getInstallPath();
|
||||
+ StringRef Version = GCCInstallation.getVersion();
|
||||
+ if (!addLibStdCXXIncludePaths(LibDir + "/../include/c++/" + Version,
|
||||
+ (GCCInstallation.getTriple().str() +
|
||||
+ GCCInstallation.getMultiarchSuffix()),
|
||||
+ DriverArgs, CC1Args)) {
|
||||
+ // Gentoo is weird and places its headers inside the GCC install, so if the
|
||||
+ // first attempt to find the headers fails, try this pattern.
|
||||
+ addLibStdCXXIncludePaths(InstallDir + "/include/g++-v4",
|
||||
+ (GCCInstallation.getTriple().str() +
|
||||
+ GCCInstallation.getMultiarchSuffix()),
|
||||
+ DriverArgs, CC1Args);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/// DragonFly - DragonFly tool chain which can call as(1) and ld(1) directly.
|
||||
|
||||
DragonFly::DragonFly(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
|
||||
diff --git a/a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.h b/b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.h
|
||||
index eaa6be1..bba891e 100644
|
||||
--- a/a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.h
|
||||
+++ b/b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.h
|
||||
@@ -489,6 +489,16 @@ public:
|
||||
|
||||
virtual Tool &SelectTool(const Compilation &C, const JobAction &JA,
|
||||
const ActionList &Inputs) const;
|
||||
+
|
||||
+ virtual void AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) const;
|
||||
+ virtual void AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) const;
|
||||
+
|
||||
+private:
|
||||
+ static bool addLibStdCXXIncludePaths(Twine Base, Twine TargetArchDir,
|
||||
+ const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args);
|
||||
};
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY NetBSD : public Generic_ELF {
|
@ -1,20 +0,0 @@
|
||||
This patch causes problem for multilib: GCCInstallation.getInstallPath() is
|
||||
empty in that case and 'clang -m32 foo.c' will put a -L with nothing after it
|
||||
but the .o file generated, effectively dropping it.
|
||||
With recent freebsd-lib versions, it is only needed for c++ with libstdc++,
|
||||
which is actually broken because clang++ cannot find the headers. it is fine
|
||||
with clang++ -stdlib=libc++.
|
||||
aballier@g.o
|
||||
|
||||
diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
--- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 04:08:48.393073000 -0400
|
||||
+++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 04:11:38.113153421 -0400
|
||||
@@ -1635,6 +1635,8 @@ FreeBSD::FreeBSD(const Driver &D, const
|
||||
getFilePaths().push_back(getDriver().SysRoot + "/usr/lib32");
|
||||
else
|
||||
getFilePaths().push_back(getDriver().SysRoot + "/usr/lib");
|
||||
+
|
||||
+ getFilePaths().push_back(GCCInstallation.getInstallPath());
|
||||
}
|
||||
|
||||
Tool &FreeBSD::SelectTool(const Compilation &C, const JobAction &JA,
|
@ -1,29 +0,0 @@
|
||||
diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
--- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:32:31.593191000 -0400
|
||||
+++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:38:31.733163513 -0400
|
||||
@@ -1145,6 +1145,25 @@ Generic_GCC::GCCInstallationDetector::GC
|
||||
Prefixes.push_back(D.InstalledDir + "/..");
|
||||
}
|
||||
|
||||
+ llvm::OwningPtr<llvm::MemoryBuffer> File;
|
||||
+ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) {
|
||||
+ if (!llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str(), File))
|
||||
+ {
|
||||
+ bool Exists;
|
||||
+ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str();
|
||||
+ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText;
|
||||
+ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
|
||||
+ {
|
||||
+ Version = GCCVersion::Parse(VersionText);
|
||||
+ GCCInstallPath = GentooPath;
|
||||
+ GCCParentLibPath = GCCInstallPath + "/../../..";
|
||||
+ GCCTriple.setTriple(CandidateTripleAliases[k]);
|
||||
+ IsValid = true;
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Loop over the various components which exist and select the best GCC
|
||||
// installation available. GCC installs are ranked by version number.
|
||||
Version = GCCVersion::Parse("0.0.0");
|
@ -1,15 +0,0 @@
|
||||
Backported from r155737.
|
||||
|
||||
diff --git a/llvm-3.1.src/tools/clang/include/clang/Parse/Parser.h b/llvm-3.1.src/tools/clang/include/clang/Parse/Parser.h
|
||||
index 0ae5dc8..2a7464f 100644
|
||||
--- a/llvm-3.1.src/tools/clang/include/clang/Parse/Parser.h
|
||||
+++ b/llvm-3.1.src/tools/clang/include/clang/Parse/Parser.h
|
||||
@@ -451,7 +451,7 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
- enum { MaxDepth = 256 };
|
||||
+ enum { MaxDepth = 512 };
|
||||
|
||||
bool diagnoseOverflow();
|
||||
bool diagnoseMissingClose();
|
@ -1,43 +0,0 @@
|
||||
<?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>
|
||||
<maintainer>
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<email>ryao@gentoo.org</email>
|
||||
<name>Richard Yao</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>
|
@ -1,578 +0,0 @@
|
||||
# ChangeLog for sys-devel/llvm
|
||||
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.129 2013/08/02 12:25:46 mgorny Exp $
|
||||
|
||||
02 Aug 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Fix space checks in pkg_setup().
|
||||
|
||||
02 Aug 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Introduce disk space checks. Bug #479356.
|
||||
|
||||
31 Jul 2013; Michał Górny <mgorny@gentoo.org> -llvm-9999-r1.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Merge llvm-9999-r1 into llvm-9999 since it was unmasked.
|
||||
|
||||
31 Jul 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild:
|
||||
Call doc-build for html & man separate due to parallel make issues, bug
|
||||
#479198.
|
||||
|
||||
31 Jul 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild,
|
||||
llvm-9999-r1.ebuild:
|
||||
Make build & install simpler. Since we're calling 'install' for non-native
|
||||
ABIs already, we should also do a full build.
|
||||
|
||||
31 Jul 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild,
|
||||
llvm-9999-r1.ebuild:
|
||||
Add missing deps for USE=static-analyzer.
|
||||
|
||||
30 Jul 2013; Michał Górny <mgorny@gentoo.org>
|
||||
files/clang-3.3-gentoo-install.patch:
|
||||
Fix path to libprofile_rt, bug #478816.
|
||||
|
||||
30 Jul 2013; Alexis Ballier <aballier@gentoo.org> llvm-3.3-r1.ebuild,
|
||||
llvm-9999-r1.ebuild:
|
||||
update emul blocker so that it is stacked for baselibs -r3
|
||||
|
||||
30 Jul 2013; Michał Górny <mgorny@gentoo.org>
|
||||
files/llvm-3.3-gentoo-install.patch, files/llvm-3.4-gentoo-install.patch,
|
||||
llvm-3.3-r1.ebuild, llvm-9999-r1.ebuild:
|
||||
Revert the RPATH changes and LD_LIBRARY_PATH hack as it resulted in system
|
||||
clang using build tree libraries, bug #478348. Instead, alter the RPATH after
|
||||
installing the libs. Fix installing libLTO and libprofile_rt.
|
||||
|
||||
28 Jul 2013; Alexis Ballier <aballier@gentoo.org> llvm-3.3.ebuild,
|
||||
llvm-3.3-r1.ebuild, llvm-9999.ebuild, llvm-9999-r1.ebuild:
|
||||
Allow freebsd-lib + libcxx which should provide the startup files and the c++
|
||||
stack instead of gcc. This opens the road to a gcc-less clang profile for
|
||||
fbsd.
|
||||
|
||||
23 Jul 2013; Michał Górny <mgorny@gentoo.org> llvm-9999-r1.ebuild:
|
||||
Fix the hack for subversion.eclass bug #282486.
|
||||
|
||||
22 Jul 2013; Michał Górny <mgorny@gentoo.org>
|
||||
+files/llvm-3.3-insecure-rpath.patch:
|
||||
Add missing llvm-3.3-insecure-rpath.patch.
|
||||
|
||||
21 Jul 2013; Michał Górny <mgorny@gentoo.org>
|
||||
+files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch:
|
||||
Add missing clang patch.
|
||||
|
||||
*llvm-9999-r1 (21 Jul 2013)
|
||||
*llvm-3.3-r1 (21 Jul 2013)
|
||||
|
||||
21 Jul 2013; Michał Górny <mgorny@gentoo.org>
|
||||
+files/clang-3.3-gentoo-install.patch, +files/llvm-3.3-gentoo-install.patch,
|
||||
+files/llvm-3.4-gentoo-install.patch, +llvm-3.3-r1.ebuild,
|
||||
+llvm-9999-r1.ebuild, metadata.xml:
|
||||
Include the improved ebuild from ::mgorny. Integrate clang, introduce multilib
|
||||
support, fix rpath issues. Bug #477432.
|
||||
|
||||
24 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.3.ebuild,
|
||||
+files/llvm-3.3-R600_debug.patch:
|
||||
Fix compilation with USE=debug and VIDEO_CARDS=radeon, thanks klondike in bug
|
||||
#474096
|
||||
|
||||
22 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.3.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Add new zlib dependency, spotyted by nikoli@lavabit.com in bug #473966
|
||||
|
||||
*llvm-3.3 (18 Jun 2013)
|
||||
|
||||
18 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.3_rc3.ebuild,
|
||||
+llvm-3.3.ebuild:
|
||||
Bump to final version, remove release candidate
|
||||
|
||||
13 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.3_rc3.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Fix PaX markings on lli with USE=debug, thanks Alexander Tsoy
|
||||
<alexander@tsoy.me> in bug #464592
|
||||
|
||||
11 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
|
||||
r600 backend was moved from non-experimental, set it in standard targets
|
||||
|
||||
10 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8-r2.ebuild,
|
||||
llvm-2.9-r2.ebuild:
|
||||
Allow 2.8 compilation with gcc 4.7, add epatch_user to 2.8/2.9
|
||||
|
||||
*llvm-3.3_rc3 (10 Jun 2013)
|
||||
|
||||
10 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.2.ebuild,
|
||||
+llvm-3.3_rc3.ebuild, llvm-9999.ebuild:
|
||||
3.3_rc bump, bug #469896. Clean PPC patch from >= 3.3, bug #462444. Fix
|
||||
doc/man compilation, bug #456326. Thanks everyone involved in these bugs
|
||||
|
||||
21 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
|
||||
llvm-9999.ebuild:
|
||||
Disable failing patch, bug #462444.
|
||||
|
||||
19 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
|
||||
llvm-9999.ebuild:
|
||||
Add video_cards_radeon flag for the r600 shader compiler.
|
||||
|
||||
27 Feb 2013; Zac Medico <zmedico@gentoo.org> llvm-3.2.ebuild:
|
||||
Add ~arm-linux keyword.
|
||||
|
||||
02 Feb 2013; Michał Górny <mgorny@gentoo.org> llvm-3.2.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Migrate to python-any-r1 (strictly build-time dependency on Python).
|
||||
|
||||
17 Jan 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.2.ebuild,
|
||||
metadata.xml:
|
||||
Provided pre-generated manpages with USE=-doc, fixes bug #448250 by Duncan
|
||||
|
||||
07 Jan 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.2.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Fix tests on hardened, thanks nikoli@lavabit.com in bug #448240. Sync some
|
||||
changes in live ebuild
|
||||
|
||||
03 Jan 2013; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8-r2.ebuild,
|
||||
llvm-2.9-r2.ebuild, llvm-3.0-r2.ebuild, -llvm-3.1.ebuild,
|
||||
-llvm-3.1-r1.ebuild, llvm-3.1-r2.ebuild, llvm-3.2.ebuild, llvm-9999.ebuild:
|
||||
Update udis86 dep now that pic USE-flag is going away, bump EAPI in old
|
||||
packages when needed for the dep, bug #449812. Also clean ~arch 3.1 packages
|
||||
and update live ebuild EAPI
|
||||
|
||||
*llvm-3.2 (21 Dec 2012)
|
||||
|
||||
21 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.2_rc3.ebuild,
|
||||
+llvm-3.2.ebuild:
|
||||
Bump to final version, remove release candidate
|
||||
|
||||
17 Dec 2012; Markus Meier <maekke@gentoo.org> llvm-3.1-r2.ebuild:
|
||||
arm stable, bug #443508
|
||||
|
||||
14 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.2_rc3.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Doc and man pages are now generated by sphinx, thanks Alphat-PC for the fix
|
||||
in bug #446414
|
||||
|
||||
14 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.1-r2.ebuild,
|
||||
+files/llvm-3.1-ExecutionEngine_tests_xfail_arm.patch:
|
||||
Backport ExecutionEngine tests XFAIL marking for arm, for bug #444362
|
||||
|
||||
*llvm-3.2_rc3 (07 Dec 2012)
|
||||
|
||||
07 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.2_rc2.ebuild,
|
||||
+llvm-3.2_rc3.ebuild:
|
||||
RC bump, install FileCheck test tool as it is needed for dragonegg tests
|
||||
|
||||
*llvm-3.2_rc2 (03 Dec 2012)
|
||||
|
||||
03 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.2_rc2.ebuild:
|
||||
Release candidate bump
|
||||
|
||||
01 Dec 2012; Anthony G. Basile <blueness@gentoo.org> llvm-3.1-r2.ebuild:
|
||||
stable ppc, bug #443508
|
||||
|
||||
30 Nov 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.9-r2.ebuild,
|
||||
+files/llvm-2.9-gcc4.7.patch:
|
||||
Fix compilation with gcc 4.7, reported by José Romildo Malaquias in bug
|
||||
#444550
|
||||
|
||||
18 Nov 2012; Agostino Sarubbo <ago@gentoo.org> llvm-3.1-r2.ebuild:
|
||||
Stable for x86, wrt bug #443508
|
||||
|
||||
16 Nov 2012; Agostino Sarubbo <ago@gentoo.org> llvm-3.1-r2.ebuild:
|
||||
Stable for amd64, wrt bug #443508
|
||||
|
||||
24 Sep 2012; Andreas Schuerch <nativemad@gentoo.org> llvm-3.0-r2.ebuild:
|
||||
x86 stable, see bug 417027. Thanks Myckel Habets.
|
||||
|
||||
24 Aug 2012; Agostino Sarubbo <ago@gentoo.org> llvm-3.0-r2.ebuild:
|
||||
Stable for amd64, wrt bug #417027
|
||||
|
||||
05 Aug 2012; Richard Yao <ryao@gentoo.org> llvm-3.1-r2.ebuild:
|
||||
Keyword ~x64-freebsd
|
||||
|
||||
27 Jul 2012; Michał Górny <mgorny@gentoo.org> llvm-3.1-r1.ebuild,
|
||||
llvm-3.1-r2.ebuild, llvm-9999.ebuild:
|
||||
Use tc-export to enforce Gentoo default CC/CXX when $CHOST-clang is available.
|
||||
|
||||
*llvm-3.1-r2 (16 Jul 2012)
|
||||
|
||||
16 Jul 2012; Michał Górny <mgorny@gentoo.org>
|
||||
+files/cl-patches/0001-r600-Add-some-intrinsic-definitions.patch, +files/cl-pa
|
||||
tches/0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch,
|
||||
+llvm-3.1-r2.ebuild:
|
||||
Add OpenCL Radeon patches wrt #425688.
|
||||
|
||||
06 Jul 2012; Michał Górny <mgorny@gentoo.org> llvm-3.1-r1.ebuild:
|
||||
Enable cpp target while the ebuild's still hot. Bug #418441.
|
||||
|
||||
*llvm-3.1-r1 (05 Jul 2012)
|
||||
|
||||
05 Jul 2012; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.1-r1.ebuild,
|
||||
+files/llvm-3.1-fix_debug_line_info.patch:
|
||||
Fix line info generation for gdb in clang, thanks Ben Longbons
|
||||
<b.r.longbons@gmail.com> in bug #424199
|
||||
|
||||
03 Jul 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.9-r2.ebuild,
|
||||
llvm-3.0-r2.ebuild, llvm-3.1.ebuild, llvm-9999.ebuild:
|
||||
Add pax-mark calls to support hardened setups, thanks everyone in bug #399825
|
||||
|
||||
14 Jun 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.1.ebuild,
|
||||
+files/llvm-3.1-ivybridge_support.patch:
|
||||
Fix Ivy bridge processors detection with -march=native
|
||||
|
||||
12 Jun 2012; Fabian Groffen <grobian@gentoo.org> llvm-3.1.ebuild:
|
||||
Marked ~x64-macos
|
||||
|
||||
08 Jun 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Enable cpp target by default wrt #418441.
|
||||
|
||||
04 Jun 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Depend on binutils[cxx] in the live ebuild as well.
|
||||
|
||||
04 Jun 2012; Michał Górny <mgorny@gentoo.org> llvm-3.0-r2.ebuild,
|
||||
llvm-3.1.ebuild:
|
||||
Depend on binutils[cxx] for gold plugin wrt #419383.
|
||||
|
||||
02 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
|
||||
llvm-3.1.ebuild:
|
||||
Keyword ~arm, bug #320221.
|
||||
|
||||
26 May 2012; Alexis Ballier <aballier@gentoo.org> llvm-3.1.ebuild:
|
||||
keyword ~amd64-fbsd
|
||||
|
||||
*llvm-3.1 (23 May 2012)
|
||||
|
||||
23 May 2012; Michał Górny <mgorny@gentoo.org> +llvm-3.1.ebuild:
|
||||
Version bump.
|
||||
|
||||
20 May 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Fix omitted doman call.
|
||||
|
||||
20 May 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Disable manpage generation code until either rst2man or docs are fixed.
|
||||
|
||||
14 May 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Generate manpages before compiling llvm -- save time if it is going to fail.
|
||||
|
||||
13 May 2012; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
|
||||
Generate manpages from .rst files.
|
||||
|
||||
10 May 2012; Patrick Lauer <patrick@gentoo.org> llvm-9999.ebuild:
|
||||
Upstream changed doc handling, removing obsolete patch from -9999 ebuild
|
||||
|
||||
04 May 2012; Jeff Horelick <jdhore@gentoo.org> llvm-2.9-r2.ebuild,
|
||||
llvm-3.0-r2.ebuild, llvm-9999.ebuild:
|
||||
dev-util/pkgconfig -> virtual/pkgconfig
|
||||
|
||||
02 May 2012; Michał Górny <mgorny@gentoo.org> metadata.xml:
|
||||
Add myself as a co-maintainer.
|
||||
|
||||
30 Apr 2012; Fabian Groffen <grobian@gentoo.org>
|
||||
+files/llvm-3.2-nodoctargz.patch, llvm-9999.ebuild:
|
||||
Fix nodoctargz patch for latest source, bug #413111
|
||||
|
||||
30 Apr 2012; Fabian Groffen <grobian@gentoo.org> llvm-9999.ebuild:
|
||||
Extract the version LLVM refers to internally so we can properly fix
|
||||
install_names on Darwin, bug #412137
|
||||
|
||||
13 Apr 2012; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0-r1.ebuild,
|
||||
llvm-3.0-r2.ebuild, llvm-9999.ebuild:
|
||||
Support epatch_user, bug #411447
|
||||
|
||||
13 Apr 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0-r2.ebuild,
|
||||
+files/llvm-3.0-PPCCompilationCallbackC_static.patch:
|
||||
Fix TEXTREL on ppc, patch by and thanks to Kimura Masaru
|
||||
<hiyuh.root@gmail.com> in bug #403519
|
||||
|
||||
*llvm-3.0-r2 (27 Mar 2012)
|
||||
|
||||
27 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.0-r2.ebuild,
|
||||
+files/llvm-3.0-set_soname.patch:
|
||||
Set soname in shared library, bug #409267 by ryao
|
||||
|
||||
13 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0-r1.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Tests require python-2, spotted by patrick, bug #407885
|
||||
|
||||
06 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
|
||||
Set python-2 to build, thanks Matthias Dahl in bug #406155 for report and
|
||||
patch. Also add PPC support patch and switch to EAPI4
|
||||
|
||||
*llvm-3.0-r1 (03 Feb 2012)
|
||||
|
||||
03 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0.ebuild,
|
||||
+llvm-3.0-r1.ebuild, +files/llvm-3.0-gold_LTO_link.patch:
|
||||
Fix gold plugin build (using correct libLTO), thanks Rafał Mużyło and
|
||||
grobian in bug #398391
|
||||
|
||||
27 Jan 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0.ebuild,
|
||||
+files/llvm-3.0-PPC_macro.patch:
|
||||
Fix compilation on ppc, bug #394183
|
||||
|
||||
27 Jan 2012; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
|
||||
Really fix new llvm-config in live ebuild, bug #392715
|
||||
|
||||
13 Dec 2011; Naohiro Aota <naota@gentoo.org> llvm-2.9-r2.ebuild:
|
||||
Add ~x86-fbsd wrt #320221
|
||||
|
||||
12 Dec 2011; Fabian Groffen <grobian@gentoo.org> llvm-3.0.ebuild,
|
||||
llvm-9999.ebuild:
|
||||
Fix install_name of renamed profile_rt.dylib library (to libprofile_rt.dylib).
|
||||
|
||||
05 Dec 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0.ebuild,
|
||||
+files/llvm-3.0-ocaml_install.patch:
|
||||
Fix ocaml bindings installation, thanks everyone in bug #393023
|
||||
|
||||
02 Dec 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
|
||||
Drop llvm-config sed in live ebuild, bug #392715. Also add USE=gold handling
|
||||
to it, bug #392717. Thanks Marcin Mirosław <bug@mejor.pl> for both bug
|
||||
reports
|
||||
|
||||
*llvm-3.0 (02 Dec 2011)
|
||||
|
||||
02 Dec 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0_rc4.ebuild,
|
||||
+llvm-3.0.ebuild:
|
||||
Final release bump, remove rc
|
||||
|
||||
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
|
@ -1,66 +0,0 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
AUX cl-patches/0001-r600-Add-some-intrinsic-definitions.patch 2450 SHA256 b0a718800c8969e174f3a22e61c15a370376f477e031fe97fff6aaab152f9867 SHA512 d23f9645d3e3364b1e9ce522eb15022fd3f2a685741db88b117b409ee33a07344a8e9ba9d89dc3535e5289edf79c6beb7ff144659f4e725b1a8f2c4256f9aad0 WHIRLPOOL c549806dbe5309dc441b65c942de488c6afc8c511d060d5c1459a4f99b97a357acbec51ce51bd704e5e1e74437cd413755f15377ad6b96c235242bc370af096f
|
||||
AUX cl-patches/0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch 1189 SHA256 172bbb3cb1214e61ee2684c133317bb997e94a34c91dae94d4848cbd0c216436 SHA512 cf711149c421b4258bc64b81018d0a9474d8b4e4128d0cc0cea788b54c93e9512397b2310db8a1834c3507b4d893d5743dbc53183ac0daca23da55601b976c16 WHIRLPOOL 8e6bd9f005a6a941c55d7c8d9b127826191944fab9e404f8ed958efd07017f5f9301273739f869a73f15fc2a79af9dc18687ff85403acf24e175a464838b3f2e
|
||||
AUX clang-3.1-gentoo-runtime-gcc-detection-v3.patch 1457 SHA256 f4b22281d21e39bc4681519cec90243c0e50262ce56ae68b0a8d9e7d92ce0375 SHA512 81c582791f4b0b1ccfcf3e8c82fbb68312320c5287402236d8c6d2d76767bbba031094c26d2b7bd9581c473896b78dda5a6284c5a87726e1bc0c539ae9294763 WHIRLPOOL bb68797804c89f8797561964697a72a015daf2c951d92f490f8c83f38aac6f50ce1527f39b53ccc6a3d93f84ec8f868e40340a5472b9e7ee4c34ceaa4b9ca845
|
||||
AUX clang-3.3-gentoo-install.patch 2825 SHA256 0c5e6247c025948f83dd6dea998cf149cd5239fb6b9e60cd1188e28ef44a10c5 SHA512 c7627ee7af54dfd6c43327b82161dc955010bef922ec2fddbd40ce4a01866d7f01e015f362f1b4300bd97f13b08e15241a1ac4cc830a95b11b9d6a76e176bd6e WHIRLPOOL 3a6a13116d16ea410e7b9a22fee2c967eba201a45ddd6de3481a00d6603e35544de04eebd36fa4fba46ebb564938263ebfb0d4925256911342757708e9ba922a
|
||||
AUX llvm-2.6-commandguide-nops.patch 975 SHA256 0e36fb43e020fa380230a8c6f2a79b9a19e12e857e833ef856e2b41aaa283649 SHA512 6842285e499b86581ca12fd94f5335e0dcd7afcaf0cdc5042ee8d84d0da6aba6659652eb639027bcad7caf77b0c994ac7e181a15bc609c4b3882e0f391c8cd33 WHIRLPOOL bf1212a8fd06214dba0916a73266842558bed740220d68e3447701ffeba1b3020ca4b4ab5c6d57772a60a6e09f153232f680b1e0b11cbd5d430bd9ef693d2926
|
||||
AUX llvm-2.7-nodoctargz.patch 1878 SHA256 983657329ebede731b397ba0256d729b3958f39faea64c9f7d065ab8d2a3e7fd SHA512 3f9dd34437c6dba8246cdf5c8563889f805f3c8e579190c4f0fb06f72bf5aa112ecbfa18467a35eceaadcd470544f434f319f048cb58d6631170788b10fcc75b WHIRLPOOL 63182867bf8f0bd6ca1b7d97229fd13952526d59587192727348026e8a759f1c6b79db044760465e2424851fdbdf79e4122c5bb0285b505d20f151334063e8d1
|
||||
AUX llvm-2.8-alignof.patch 2522 SHA256 a9f7add4f4002bf9af438c0c4d1ca86875d6214a5044334325a60cdcbc8a3cdc SHA512 188bdf29b60ce0f83010ef33cd28c4cb710d238fe678be731ce1d099c7df5577f51162c95e06d996e9c90535ace41fecd3eff6570214a313fe165c0945c42832 WHIRLPOOL 65dd1cf8eb106af0516a5f302a08c51bfa884e35dd5efffbbcf97e1212a6b9356c6caea4472dce8e54a5a30dc5c6ba73be29e64b1b060e63a9ce7d816066ccea
|
||||
AUX llvm-2.8-darwin8.patch 576 SHA256 6db04d9bb5fe65f8a92972988477328a7358e325abca32f30a716ff454d0fe21 SHA512 a7716ade819779bc2b8922cb6b072b85c0edef95cdc85b3b6dca18a51c7d4c48b4a8428341c2de85ac6fb0045849feada36f610a6e706eb80dfe64bb4e414d3f WHIRLPOOL 86dae6d234a8d93dd2714a9cd8ea45f7749cf1993d003da1c3a9a15cbc6e44603cd9b364a5095c5e7fb2df899d418bca29e1b50aad5ecc66829b944dff9d5488
|
||||
AUX llvm-2.9-Operator.h-c++0x.patch 2062 SHA256 1c37346b0f412556dc979fd510585f3e20d2d45319ec095dbdec37a582d590c7 SHA512 215214df015c87efa92f8896b9239e5d7385edae1f637bd837584f21a919b9be15f0608274242172c684905f080685e8de770fc16c54c42bed416e6c8e94d2de WHIRLPOOL df4a1ee6d150f95add3a6f33f5b9648dde89ace1012702e88ce5337748a0e1f826073b1b034def46e1971bc1fa5c1841d1dc2eafbf5b428803cd0d5f80c4594d
|
||||
AUX llvm-2.9-gcc4.7.patch 542 SHA256 9472566d91344ce87e235c68e4e08786c493cddb3383f2bd2f0bd5a1ef153cf6 SHA512 6011f0cd56dffb068342b0f272898218a751f077a970cca34ceaf6e3b43b0c1e7440eed1a73b925e91d0ce0090beba4d8935496449e84609123388860f92d0a5 WHIRLPOOL 4d9a8154fb0f7e2cb1498e8fa010be6f586736180bd46fe54e9b148d1a0f7ce52e4772d17a7481e45490a12dc2c10f5e6a1a7b886914206a5d3102e174cf5240
|
||||
AUX llvm-2.9-nodoctargz.patch 1569 SHA256 62f1b080364d94e528bb34f0063562d16a59395aa7f97277bba88fbd93e00b84 SHA512 3a995897f25bfb97908bd8a379249a7b04dc0d8b64aef693272b87c88eff3494d5eac0a66c786e0cc1b8d4fc6b2c555ff8d09bbcd2e29c5e6f3bfbbdeba79044 WHIRLPOOL 254f121f0a5a1974600b1240074f9f8f9bfa760e5bf34f27697c27cf65646e412279b3c523dc3ee88305f73747881c20f60258dbd90bc6a2c380dcc3000ba329
|
||||
AUX llvm-3.0-PPCCompilationCallbackC_static.patch 1046 SHA256 f197920fb1ffbebeb2f43689619d637c5102bfc73295a8edb139cca46094ec5b SHA512 29a46adf9c2205475e2fd74ce15a3094b43905f28c484961ad81c78f54e3c4d56fb4005080db7e9671654738fa25901d5bbd1f0a6ae861a5e9b6d38053a6a65e WHIRLPOOL 8ba25aca05b21e2a8a6e25f5c07aa46175b03a4233e6fe102c619b7c60d5558d28e80dbc9c0892a1ecda1e2effd50211cc145c8389e644a27282cd108671e2a7
|
||||
AUX llvm-3.0-PPC_macro.patch 1825 SHA256 e56947d9744549ef6903238653c6569b5f91a1eb1bd84ec5d69d32ce5b20d6e4 SHA512 552a6a980cb2c05b6c6924d234efdcf375d12e72829a0372d3a4754d6bfa54f022d98e08b6f286d7dd496f2e74e4f6f9e5f81994a9d183cc39a4a01170b2c57e WHIRLPOOL f40fc9c6d75d7c05c66271c74011c320e302a0502970c38312cbf57a75f06a291900e62a09e3127d0dba7f0569a89d1e35225ca4e2e2b702063c0fb4f05878f6
|
||||
AUX llvm-3.0-gold_LTO_link.patch 442 SHA256 62dc70a1d1f581b7f768ca728dcca688a741e03e64566d5f38e02e33c6372ab8 SHA512 6daf346d5fb93cb9ed498164ef42c2c565e6e4e68bd820fed54f53afea4b1a580560836cf484e370a1566603d8799c0f359f589ea99b9d920bc587145391a65c WHIRLPOOL afc7dceed1de3db657f45ec58fb6befd9ec9e79e6c55dc3fcbc26e19c5e0b9d9c0980476a34e4dabf800465a6fe57897ddc4aa1b1a1d88a639126e262bedda62
|
||||
AUX llvm-3.0-ocaml_install.patch 664 SHA256 6f451130ed8fcced98691361d33d4d44d8866e703673c293cf7f88af8362e694 SHA512 b13e26a979505df40519ec6fd859f46e3a0e8589ed29c8509ca5c737af1e94890fea2f7c7a0b95ef168dfc7993b52133d7205de228fc4b750fd84af1ee2735e8 WHIRLPOOL a5d455a5671ec1804a06849588c072c29718d5c8218c6ba4a6b7de0b7dac0ad3d37007ed8b39447545bdf917b4c8e5fa780477a28c6250b47692605be7239b02
|
||||
AUX llvm-3.0-set_soname.patch 522 SHA256 0f4fe63baa74a963929dc39359cccb6eb4fba73176d72d4a354ebf50e51318a5 SHA512 ddf1b5572d51b5af66d5d7ef28798b41a2991c1799ba091c9e6f3a64a6b1b8081d596096919c7c910ad5af0adc0c8ad02b23fba30eead994d724a334d2c9da9e WHIRLPOOL 51aa3f1dd35e085fa4d3fe700503cd348b9342ef1d7164ec3ef2627b8ed8df0764442779315720c6cd301e4c099722cf84b305717129a386fd2792751e0c20ed
|
||||
AUX llvm-3.1-ExecutionEngine_tests_xfail_arm.patch 1357 SHA256 392a5e752623a9e019106943e7977f4ba96159e4d5f45208d99ebaa5ddc340a4 SHA512 088dbadb4d27fd9317f9df077527790a817c64eff0b3c27e24a09bb35c00e3138d85d6aaf65e7dc749a120efc639e6ac8c4fbe74af73f3f0e4664fc254273854 WHIRLPOOL dea2a2ee142803fc4cc598fd75351679d761acd9e2c5153428791e0f7548b0aec0d63066f1454987fa6bc712107a6390272cceb03580808408229f6051dcbbde
|
||||
AUX llvm-3.1-fix_debug_line_info.patch 2620 SHA256 db1f1aadebbc4c4232bdad49fb9b7dc61eac727085c63154b870fa9ce64fd18d SHA512 0b8bdde081dc7eddcc3556a0220f0a47565c6b95afb31560a835abe630d641c43e3acd0f0d0ba177809495f3208c17aa1a0fd267da3a34d71039c846b03253e8 WHIRLPOOL 47decb374e7109cee7eca7ccfcae5a2bd01a837d9daf6d201f20eb0d2ded14a66e737532c033ca128b049557cd0977dee811a4c54c15036e050d7383c586b5bd
|
||||
AUX llvm-3.1-ivybridge_support.patch 405 SHA256 cc91a69be3d0f7f216a4d0484284fd054d4b0273f1c4dda7afcc005564867725 SHA512 7ec84a127eda4cbec0aaeb1e34f0606ff76e070bf1f3eb71334219b6a2e21299f30f157d022952e6f23c5e4180903239f5a4323f214041decd4ccc21f1a285d7 WHIRLPOOL 443c57305f1c9676e7191042c0ab7491a2a789433e32b5cc12050cece38eebe9ae62fd1d54200fbc32d2c7d22aedc7f6776fd250ae53e7d2afad0a325c1ba919
|
||||
AUX llvm-3.2-nodoctargz.patch 1761 SHA256 e17494aef638d2fe3fb0b669516ffcc9e560161903e1e165de0eecba684c8c1b SHA512 d12a8996d8a1160f7bad4ce3b3a9ddfb2d29d91fc160876c145f9241927b0cf4413f3b29bc2bf291f0421f61a512de8057e8f3d0029a8a09ba3f1d93582723b5 WHIRLPOOL be273271db8293829a63120cfc917711c99d8893cae6f95af2583def735131f629ee67b5a1515df007477f34abeaf5f2729d689eefdc61eb3aae6b1959971507
|
||||
AUX llvm-3.3-R600_debug.patch 909 SHA256 84ebe63a557e3734dc8ed4545f098e2496d815e6bf4a99dfcb65d649a23d2c1b SHA512 cd1b92c713edf895ab7a15494c6092e44082b40b9bb5b0fdfdc438e919456c7fcafab9a840adb165c191454948c0b42bc78ce2b4d2cfbdf371917b16351c6928 WHIRLPOOL 0f08c58c78c1d04b8e701b0b817956a37271115c1fc83ea8f0f54bf965fbc659e418abf7f429c2a29581351050346cb783f0aa9147757d4cfdfa24fd8b28d09e
|
||||
AUX llvm-3.3-gentoo-install.patch 5321 SHA256 4f2e80f5567227e3539052a743ef0432f108d76e6fb9ba373dc51dbf159e0410 SHA512 90075d4bb5bdefb76bfb191dcb1b618de464434d9d084b2f99cc5034d33b112378f9aae1d289d30a2f8926132c17ea32ba1bf4049c3a61a418d37f903634b259 WHIRLPOOL 39b3ce4e937985483be7b4d19a37c0837b3c27f308f09fe8aee185b9fb43782b540f6b6be042b8f6dc4b5037be64284e2e233e65b3558e4b4eb1095a7d586a4f
|
||||
AUX llvm-3.3-insecure-rpath.patch 881 SHA256 27d893e5f551d245f15c01a94df81dd9ad069c2a980cf6a8860fb429eb37a5d8 SHA512 f03d1f522d0153fcbef677bf85202a6ddff408362d9ebc3e4f9f21814b43d28b033b0efb3ee86f5c11a4ac3a91b8afc80d022bddcd839ba503b29cf946e40218 WHIRLPOOL cfca8d189f88c0e26b4c3091db6c4267a90307c5728e64ee3ca55272a884389e56ed186904d9d66b44b870792eaae049cf6e66ee38efaf757655a4be4a0cec6e
|
||||
AUX llvm-3.4-gentoo-install.patch 5188 SHA256 6f8c80f3809151169249c883234bfcdbc3290c1765b04b870ae55989dd847a02 SHA512 0166a9e58677339ecc1ab71bcd37c975aada5eb7786e4ad8688cf4bbcdb3c57f4ced7b5881380e43a33ba1434d32430ddf9d3cfaa84b76ffd9ced8f736d23a49 WHIRLPOOL 3151c9c531add5f9659ac9c008a037921696eec257827fd63dc64d468e7f1cedc987499172d9031090dd7d4f37a472f2e4604b75f415da23f79ac8f92fd3dfce
|
||||
DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a
|
||||
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
|
||||
DIST llvm-2.8-r1.tgz 9112527 SHA256 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b SHA512 8688d5cf415e8aef74cca6a14587af36234a6347e2238ac2c0d66805c42926b9399f36390e1a58a4081e902b0904adb818c1a360d5df572dfa893d6f79f5e35a WHIRLPOOL 0da9250e31242b55586c9138089e742aab5d414d5f3412ebf917ae8b9506f984c6134a932be93ec7e4c01c79f6c21d508cb0b2e0ec283419bd4ae4db745430ae
|
||||
DIST llvm-2.9.tgz 9574781 SHA256 661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779 SHA512 9cb0fa0bb8ac02661fd6f926001a15e0ad4a9660683421dc86b03f1cf5184142c5815f9f9283ee7cdf8d474e01177f83406122253342e0e95ddc878821660070 WHIRLPOOL f7b445b6b5d455f29ca68c342511b8b5e6eedec525af1cc60440c4de544df2332aa241bffca29eda5d2428a3f518e093a626bd45c7f8a9e0656d0f68aef5d9d1
|
||||
DIST llvm-3.0.tar.gz 10350539 SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477 SHA512 602bb5590b70cb9138bc19d8c630c62bbabdcb2132215c921fe4bce4e3f74dfc66440b9dcd458ff55a86047cc9cc0417c6563715c133e0db222e4b88f07c13bb WHIRLPOOL 6f4ece3ec747352cd78b08d25c5b1cda91140eb6957d509161e45395e47c074f8d2102bfcaeabcdef8c1f6672f2cf06d88e290667666122da029391b3528d440
|
||||
DIST llvm-3.1.src.tar.gz 11077429 SHA256 1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab SHA512 fb941094601043e405ccc57473414ef92437b09c200e71614f93d8e93b2a58cca8d78c385be037e064b0711cd6268802c774ce4a40fc0ea17bf576305304d2aa WHIRLPOOL c5c72e139296e1c186131f991010f52f958063a4fcfcb1f8527b53a2aaa7edcaca70ab6cf86c25d08640dcf6d720a865fda7dc7eb06cf1ce9c23fd37b5d597ef
|
||||
DIST llvm-3.2-manpages.tar.bz2 25962 SHA256 159eaaaf59a2cee66f6aa0bbc93ca4c9fa37a9a25d4116f085556cdbc32f75ca SHA512 75ce41827f99b9e08f0c3e374c49f8a231653bca28bea158ece551e5934bc61ae21bfaf158490f83b05c1a7926b95c8832c0eb023280dcafa671e7d551efa17e WHIRLPOOL 58382b3e92b2ef8b1f5a7ebf2d893852253976b781b2b2acd11dfd914fad9776f59ddc5559d3986832a00fde88539db6a5882aa69a6f3ceca90337a59420acc1
|
||||
DIST llvm-3.2.src.tar.gz 12275252 SHA256 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 SHA512 cc66171322dbbe40bcac0e0ea5b09df8ff52df63ded304f841f32f702270d6ab1512216413ee52498c3ebee8cd39c4cd23e3855d591944bc2ac0ae76f5be62cc WHIRLPOOL c3a39b2426293d0251b7769607ade873bb6bf8d54e7c8055773a9b75742bc8e39049fb71409a258c6f3d98775b78c280d4bfe4223ba91e5ed6ecae0eddf910e5
|
||||
DIST llvm-3.3-manpages.tar.bz2 27098 SHA256 46bb22d63d5fe7dd04e1a7bb7e16c03d93f2ed51d31540cfb9d97ed70059aa77 SHA512 6f24b66b13025d0606908f91ad9b4fc6de1b4aac2d97d261f6b989065476cf153d2f84792f8dd4972b95fb1a45a3931c328df3bcf8ce5ab21170a7a912a39783 WHIRLPOOL 31b9c3635b698f404b75b87c7891b4b6be9cbeb6062bcb6fba5476b0b3069a486ba60c27ab2b12b8a2da9404f666617162041860f023951050a9fc4c7d27748a
|
||||
DIST llvm-3.3.src.tar.gz 13602421 SHA256 68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578 SHA512 1b7f7c5e907a68f642dcbe48fdff9585cb1504022bc9d386f310ebe5d25103d0d5f7cf0abf19e0e3fd666970160a98c90033754e2b79b2fac0cf866c984f8038 WHIRLPOOL a89c0b470fde562a3402e7878b91bc0573d433ca0a60e62c9c46946d7948a4fb657b116b6bac032555e29c70d82c751876adb398fe240f5c8d0a9a2378ce1866
|
||||
EBUILD llvm-2.8-r2.ebuild 6305 SHA256 0d3960a19619eaa4c532ec703afda259851e40649ddec4133148459bc7e667a2 SHA512 d397e3a098bcbf9ec91bcb0520d73fc188a00c68ef2392f66bdfa5ee7902f0e3d76bf2263c499f336489eb91391fd5f52ca1918e9e6e27a009c8d87c4058db70 WHIRLPOOL d8049c39b65046a93e10016c7b12cd49246228e032258e78726f74a4471873fba7dabf57db02d7d4a99539465cad653d02efeae54dd3aaeac4bf3a03a6a5a99b
|
||||
EBUILD llvm-2.9-r2.ebuild 6380 SHA256 e95d4d6c0fefb602a04197b10d31fff3c4ef997ff7351deeb2b170033d4048a9 SHA512 afffc1450d8c6b45f88180187e13894aceb1cb8d62ba5ee3467d7d891e34259a29173db6596c43ad9f082430d75e5ce89612ef9de6c48716a410b69d05d62ea3 WHIRLPOOL 4659745840411d9787087d38368181054acab9ef5bd7359c56e96269ab8d169783ccb65b1a5948a9a2d35c401c91f46d61d3717730ce71d67bba6832286bc990
|
||||
EBUILD llvm-3.0-r2.ebuild 5767 SHA256 62fca1169c63516f29102a3a1bb4ea74408dfd151d97a9edbfb165a2def317c3 SHA512 f7ee2bbf8b31d86c11ab07f530278e3240ec21f3c58144a9e627aef3c1fb7690935786f33368a6f56062b5daf501adebfc164fd6712985a91076897b89cdd85f WHIRLPOOL be1a6edd697e2504df033705c2cb8e37f6c17a13d77558d231172c00f91ec247785469b6e1265e25c42eb3f6f394614cf516e0e422cb54094d9ba25669c8406c
|
||||
EBUILD llvm-3.1-r2.ebuild 6033 SHA256 9b9a587d30419fa646764a96e12fc6272f73f7246138c76ba577f0d6ab3afe59 SHA512 8b969084210af4203c029bb33d5b984e0b17f6770fd489dad818154ac9f6a87bfad069eff71776f678d9eb5d5136af472d3008d5bc73fab9dc1f36811af906c4 WHIRLPOOL 928459551d7cf6e8d18244026ba82cc3dbaf2b65bd6eac8adb617695c95535ba65bd013909730d5922de5764e9d6c6c4cf007aa6acd0b493826aa938d0389a5d
|
||||
EBUILD llvm-3.2.ebuild 6534 SHA256 5532d849a32e9f7a02f6bf6d16b01cc734132fdc9a192c46ec0e25cd8b3da7cf SHA512 bc8d3a7726a7cefc1de40e3e1be0bc06d89bdad9b3462e6ad1ef96f6d850fef3e708ebef3af20fc05a66b55f2837601ccff15b528bc088c8ceb715ed12212b25 WHIRLPOOL 5105558b2422e1d01d5aab4a52a8b434f357d481156d3885375987e9b34b001b427403407349ea82511a4230dcdfad60b08a30a20b6dc5ce4839ceb035e1163a
|
||||
EBUILD llvm-3.3-r1.ebuild 11786 SHA256 25c964fae177e041b68e1db18e1f6ce4901b553493dc6ed8e30f4f725ee51363 SHA512 d0becdd5328712162125c595412c053190641df8fa33653fb90547fc3cfbb7b40eb72b8ee06c0e6a475d04bd7619a9740bbef4c84776faa329551d4f25389666 WHIRLPOOL ecf3725e8633e93c02d10b1d189e07f799609b48373a914e6d035f85bf2d80fcf4cdf7e2c3f0431881d0dd922a14d06b7420cea9cca694b4b5f32c2d9c8eda01
|
||||
EBUILD llvm-3.3.ebuild 6798 SHA256 b8c2deecd402a9211a601cb4c9af00afe7144b9f42345b20a34a0b76a955bab1 SHA512 6b928895c8fd28e86a55e03ca82e30a127631205c5cabfeb1414eaa5079b413739a5ffa77916ab377c8693fa639b0ae254b980c5ab881beac26871124721144d WHIRLPOOL f60a7e6629d4b9a6b88e1345f61f7ffcd5a49d42185c74d12a4aadcf50369b05b62a7f700730211ca074a7d5676aa7a78cb70ae669ab05b79f112da15f7e194c
|
||||
EBUILD llvm-9999.ebuild 10788 SHA256 54d605b3ce76424b3261851d5a6727c650b1c61eaaa84113f92f8244ed83dd4a SHA512 54781f0d9e2ef7718ea4e5d747e60c1f3d68f10fb19d1fa38c3bd4925052a1a98f20f6deb08627aba8b93e5372a13e1c5319205f9229dd60a6d1094dcf576ad7 WHIRLPOOL 95c7ab3959cc5565ebc524f7c8f76f0ce1e2050fd1f68b1c70914d5e426cad6506efa96245fe7acbfd16cf0bc78dcade90483799e76bfab47fdc9c049c586b09
|
||||
MISC ChangeLog 21828 SHA256 a60161d8c0dee2f25d3f341a528ce1eeef84262628000aeb06b166fe05f373e0 SHA512 152c0ebd0ffe69ea1ba28c23b0b4fc768a165ba6914f9aabbd2ebfd82e0cb7994cb2960e93c86a0dec7801e0fbc44a073d0836a9c467d173f094f69596a28c37 WHIRLPOOL defb0dcab625b1f965ff7d3e6d924c94df707253818381800a6cab6411ff4f0bbb950cebdbf6d889aa438f5d0313971ca7e5b502de87b8018c6bda02493c53a7
|
||||
MISC metadata.xml 2632 SHA256 2600c9022e42659f3c9201ecc0387455d2b76d70225ba4c9be8420c55fa6ab07 SHA512 43702a59d30b6bbc57d7f33497b3889d3dddf228776e8a79946ca868269451e6fa5666f561ae99fe035851bb305c6e9d3eb5de5955f1cc84bd62d557ad4ec314 WHIRLPOOL 143e68e5f52836d6bc6de79e7c055d7f776e49b17d563bb71e84f37b16f207e0cede39ee6c4b29bc566fc1b102ecd16743e596509fdcf239ffb8bced13b15ac2
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.20 (GNU/Linux)
|
||||
|
||||
iQJ8BAEBCABmBQJR+6VlXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
|
||||
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRGRDhEM0MyMERDMzNBMkYzQzJFRTI3QjE5
|
||||
NjI3RjQ1NkY5REE3NjQzAAoJEJYn9Fb52nZD0JwQAIozPVvn31YBEHP5uKM67kMR
|
||||
q1NZFy9Fqe0yzkC7cFsckqIxkLLajg+otQIqJxIESGD50HlAq6xgZGeapDv3N7/Q
|
||||
A1BbTLRrFvTce7XJXrBJHfZj+7uKAfHH1rpMMqpbnz8lDrlqQnkoFjMs47HQFViq
|
||||
CgwUHEGTBjvRCNB17obX884eJiUS2vKfV+OgpohOOe2qwEJKnK+P+e6j+/gI2Mpw
|
||||
zN7ZLcwB9wK3gaQQ+i2h7z7zVePDOtRtUhjxz6W8mLCDVNEsC2oQkFjhE+r3eLIn
|
||||
KZg8dW8P9plHx5zixIn+S4N8eEOkWZ2YXErKTI3B6jbj4FC7M+y+Ed8FsdeWQTTI
|
||||
WuV3t7jd3Bj4zcrfhVehOn3BW68g6Qymp/U2frqtfO4BpQALbS/+C2KrRXgl1seu
|
||||
tEiWbayz+d70UWfWpwHHAEBCM2qGe2OFcs2WV//xx+1x6eby5vam4DxvehOo/szg
|
||||
9UNd34AUjCVr4pIdCs9qHpDzL/U5fJwGLWzQV5vnJsj+K1f4gUOukVexWPMvpZQc
|
||||
am40ZkyCrU4OMkqIVXWF27D3i7EpcT7Ws47r8ff7Rir9I/wg4TsfcRgknNNWy6U7
|
||||
Q34/sjLVrBafda2+Cm1JRPadF8c7xGaisFjTJhJx4xyWysxxACKQoPVZ0c3P80uk
|
||||
jbC+p9apeKx7JH5i/F1T
|
||||
=4wBz
|
||||
-----END PGP SIGNATURE-----
|
@ -1,64 +0,0 @@
|
||||
From e25389b66b5ced3a2b5461077dcc9a505d334e3d Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Tue, 13 Mar 2012 14:12:21 -0400
|
||||
Subject: [PATCH 1/2] r600: Add some intrinsic definitions
|
||||
|
||||
---
|
||||
include/llvm/Intrinsics.td | 1 +
|
||||
include/llvm/IntrinsicsR600.td | 35 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 36 insertions(+), 0 deletions(-)
|
||||
create mode 100644 include/llvm/IntrinsicsR600.td
|
||||
|
||||
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
|
||||
index 069f907..e90dd85 100644
|
||||
--- a/include/llvm/Intrinsics.td
|
||||
+++ b/include/llvm/Intrinsics.td
|
||||
@@ -441,3 +441,4 @@ include "llvm/IntrinsicsCellSPU.td"
|
||||
include "llvm/IntrinsicsXCore.td"
|
||||
include "llvm/IntrinsicsPTX.td"
|
||||
include "llvm/IntrinsicsHexagon.td"
|
||||
+include "llvm/IntrinsicsR600.td"
|
||||
diff --git a/include/llvm/IntrinsicsR600.td b/include/llvm/IntrinsicsR600.td
|
||||
new file mode 100644
|
||||
index 0000000..789fecb
|
||||
--- /dev/null
|
||||
+++ b/include/llvm/IntrinsicsR600.td
|
||||
@@ -0,0 +1,35 @@
|
||||
+//===- IntrinsicsR600.td - Defines R600 intrinsics ---------*- tablegen -*-===//
|
||||
+//
|
||||
+// The LLVM Compiler Infrastructure
|
||||
+//
|
||||
+// This file is distributed under the University of Illinois Open Source
|
||||
+// License. See LICENSE.TXT for details.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// This file defines all of the R600-specific intrinsics.
|
||||
+//
|
||||
+//===----------------------------------------------------------------------===//
|
||||
+//
|
||||
+// Authors: Tom Stellard <thomas.stellard@amd.com>
|
||||
+//
|
||||
+
|
||||
+let TargetPrefix = "r600" in {
|
||||
+
|
||||
+class R600ReadPreloadRegisterIntrinsic<string name>
|
||||
+ : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>,
|
||||
+ GCCBuiltin<name>;
|
||||
+
|
||||
+multiclass R600ReadPreloadRegisterIntrinsic_xyz<string prefix> {
|
||||
+ def _x : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_x")>;
|
||||
+ def _y : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_y")>;
|
||||
+ def _z : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
|
||||
+}
|
||||
+
|
||||
+defm int_r600_read_ngroups : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_ngroups">;
|
||||
+defm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_tgid">;
|
||||
+defm int_r600_read_tidig : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_tidig">;
|
||||
+} // End TargetPrefix = "r600"
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 17667fa3450470f7c89fc2ba4631d908cf510749 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <thomas.stellard@amd.com>
|
||||
Date: Wed, 14 Mar 2012 11:19:35 -0400
|
||||
Subject: [PATCH 2/2] r600: Add get_global_size and get_local_size intrinsics
|
||||
|
||||
---
|
||||
include/llvm/IntrinsicsR600.td | 4 ++++
|
||||
1 files changed, 4 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/llvm/IntrinsicsR600.td b/include/llvm/IntrinsicsR600.td
|
||||
index 789fecb..0473acb 100644
|
||||
--- a/include/llvm/IntrinsicsR600.td
|
||||
+++ b/include/llvm/IntrinsicsR600.td
|
||||
@@ -26,6 +26,10 @@ multiclass R600ReadPreloadRegisterIntrinsic_xyz<string prefix> {
|
||||
def _z : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
|
||||
}
|
||||
|
||||
+defm int_r600_read_global_size : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_global_size">;
|
||||
+defm int_r600_read_local_size : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
+ "__builtin_r600_read_local_size">;
|
||||
defm int_r600_read_ngroups : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
"__builtin_r600_read_ngroups">;
|
||||
defm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz <
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
|
||||
--- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:32:31.593191000 -0400
|
||||
+++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:38:31.733163513 -0400
|
||||
@@ -1145,6 +1145,25 @@ Generic_GCC::GCCInstallationDetector::GC
|
||||
Prefixes.push_back(D.InstalledDir + "/..");
|
||||
}
|
||||
|
||||
+ llvm::OwningPtr<llvm::MemoryBuffer> File;
|
||||
+ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) {
|
||||
+ if (!llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str(), File))
|
||||
+ {
|
||||
+ bool Exists;
|
||||
+ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str();
|
||||
+ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText;
|
||||
+ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
|
||||
+ {
|
||||
+ Version = GCCVersion::Parse(VersionText);
|
||||
+ GCCInstallPath = GentooPath;
|
||||
+ GCCParentLibPath = GCCInstallPath + "/../../..";
|
||||
+ GCCTriple.setTriple(CandidateTripleAliases[k]);
|
||||
+ IsValid = true;
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Loop over the various components which exist and select the best GCC
|
||||
// installation available. GCC installs are ranked by version number.
|
||||
Version = GCCVersion::Parse("0.0.0");
|
@ -1,71 +0,0 @@
|
||||
From 1a539a8868070e49966c6b5f5e4b9f1257acd7dc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
|
||||
Date: Fri, 19 Jul 2013 10:23:57 +0200
|
||||
Subject: [PATCH] clang gentoo install
|
||||
|
||||
---
|
||||
tools/clang/lib/Driver/Tools.cpp | 4 ++--
|
||||
tools/clang/tools/scan-build/scan-build | 4 ++--
|
||||
tools/clang/tools/scan-view/scan-view | 2 +-
|
||||
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
|
||||
index e014980..6e60513 100644
|
||||
--- a/tools/clang/lib/Driver/Tools.cpp
|
||||
+++ b/tools/clang/lib/Driver/Tools.cpp
|
||||
@@ -219,7 +219,7 @@ static void addProfileRT(const ToolChain &TC, const ArgList &Args,
|
||||
// libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is
|
||||
// not supported by old linkers.
|
||||
std::string ProfileRT =
|
||||
- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a";
|
||||
+ "-l:llvm/libprofile_rt.a";
|
||||
|
||||
CmdArgs.push_back(Args.MakeArgString(ProfileRT));
|
||||
}
|
||||
@@ -6177,7 +6177,7 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
// forward.
|
||||
if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) {
|
||||
CmdArgs.push_back("-plugin");
|
||||
- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
|
||||
+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/llvm/LLVMgold.so";
|
||||
CmdArgs.push_back(Args.MakeArgString(Plugin));
|
||||
|
||||
// Try to pass driver level flags relevant to LTO code generation down to
|
||||
diff --git a/tools/clang/tools/scan-build/scan-build b/tools/clang/tools/scan-build/scan-build
|
||||
index 22d5289..dcb4822 100755
|
||||
--- a/tools/clang/tools/scan-build/scan-build
|
||||
+++ b/tools/clang/tools/scan-build/scan-build
|
||||
@@ -410,7 +410,7 @@ sub CopyFiles {
|
||||
|
||||
my $Dir = shift;
|
||||
|
||||
- my $JS = Cwd::realpath("$RealBin/sorttable.js");
|
||||
+ my $JS = Cwd::realpath("@EPREFIX@/usr/share/llvm/sorttable.js");
|
||||
|
||||
DieDiag("Cannot find 'sorttable.js'.\n")
|
||||
if (! -r $JS);
|
||||
@@ -420,7 +420,7 @@ sub CopyFiles {
|
||||
DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
|
||||
if (! -r "$Dir/sorttable.js");
|
||||
|
||||
- my $CSS = Cwd::realpath("$RealBin/scanview.css");
|
||||
+ my $CSS = Cwd::realpath("@EPREFIX@/usr/share/llvm/scanview.css");
|
||||
|
||||
DieDiag("Cannot find 'scanview.css'.\n")
|
||||
if (! -r $CSS);
|
||||
diff --git a/tools/clang/tools/scan-view/scan-view b/tools/clang/tools/scan-view/scan-view
|
||||
index fb27da6..1f8ddb8 100755
|
||||
--- a/tools/clang/tools/scan-view/scan-view
|
||||
+++ b/tools/clang/tools/scan-view/scan-view
|
||||
@@ -54,7 +54,7 @@ def start_browser(port, options):
|
||||
webbrowser.open(url)
|
||||
|
||||
def run(port, options, root):
|
||||
- import ScanView
|
||||
+ from clang import ScanView
|
||||
try:
|
||||
print 'Starting scan-view at: http://%s:%d'%(options.host,
|
||||
port)
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
--- 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
|
@ -1,47 +0,0 @@
|
||||
--- docs/Makefile.orig 2010-04-26 15:00:58.000000000 +0200
|
||||
+++ docs/Makefile 2010-04-26 15:03:12.000000000 +0200
|
||||
@@ -46,13 +46,12 @@
|
||||
# 'make generated BUILD_FOR_WEBSITE=1'
|
||||
generated:: doxygen ocamldoc
|
||||
|
||||
-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
|
||||
@@ -95,7 +93,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 \;
|
||||
@@ -105,7 +102,6 @@
|
||||
$(Verb) $(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc.tar*
|
||||
$(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/ocamldoc.tar ocamldoc
|
||||
$(Verb) $(GZIP) $(PROJ_OBJ_DIR)/ocamldoc.tar
|
||||
- $(Verb) $(CP) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_OBJ_DIR)/ocamldoc/html/
|
||||
|
||||
regen-ocamldoc:
|
||||
$(Echo) Building ocamldoc documentation
|
@ -1,59 +0,0 @@
|
||||
Index: include/llvm/ADT/StringMap.h
|
||||
===================================================================
|
||||
--- include/llvm/ADT/StringMap.h (révision 117773)
|
||||
+++ include/llvm/ADT/StringMap.h (révision 117774)
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
|
||||
KeyLength+1;
|
||||
- unsigned Alignment = alignof<StringMapEntry>();
|
||||
+ unsigned Alignment = alignOf<StringMapEntry>();
|
||||
|
||||
StringMapEntry *NewItem =
|
||||
static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
|
||||
Index: include/llvm/Support/AlignOf.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/AlignOf.h (révision 117773)
|
||||
+++ include/llvm/Support/AlignOf.h (révision 117774)
|
||||
@@ -49,12 +49,12 @@
|
||||
|
||||
};
|
||||
|
||||
-/// alignof - A templated function that returns the mininum alignment of
|
||||
+/// alignOf - A templated function that returns the mininum alignment of
|
||||
/// of a type. This provides no extra functionality beyond the AlignOf
|
||||
/// class besides some cosmetic cleanliness. Example usage:
|
||||
-/// alignof<int>() returns the alignment of an int.
|
||||
+/// alignOf<int>() returns the alignment of an int.
|
||||
template <typename T>
|
||||
-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
|
||||
+static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
|
||||
|
||||
} // end namespace llvm
|
||||
#endif
|
||||
Index: include/llvm/Support/Allocator.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/Allocator.h (révision 117773)
|
||||
+++ include/llvm/Support/Allocator.h (révision 117774)
|
||||
@@ -201,7 +201,7 @@
|
||||
char *End = Slab == Allocator.CurSlab ? Allocator.CurPtr :
|
||||
(char *)Slab + Slab->Size;
|
||||
for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
|
||||
- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
|
||||
+ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
|
||||
if (Ptr + sizeof(T) <= End)
|
||||
reinterpret_cast<T*>(Ptr)->~T();
|
||||
}
|
||||
Index: include/llvm/CodeGen/SlotIndexes.h
|
||||
===================================================================
|
||||
--- include/llvm/CodeGen/SlotIndexes.h (révision 117773)
|
||||
+++ include/llvm/CodeGen/SlotIndexes.h (révision 117774)
|
||||
@@ -393,7 +393,7 @@
|
||||
IndexListEntry *entry =
|
||||
static_cast<IndexListEntry*>(
|
||||
ileAllocator.Allocate(sizeof(IndexListEntry),
|
||||
- alignof<IndexListEntry>()));
|
||||
+ alignOf<IndexListEntry>()));
|
||||
|
||||
new (entry) IndexListEntry(mi, index);
|
||||
|
@ -1,15 +0,0 @@
|
||||
Avoid like in Makefile.rules
|
||||
ld: -rpath can only be used when targeting Mac OS X 10.5 or later
|
||||
|
||||
--- unittests/Makefile.unittest
|
||||
+++ unittests/Makefile.unittest
|
||||
@@ -37,7 +37,9 @@
|
||||
ifeq ($(ENABLE_SHARED), 1)
|
||||
# Add the absolute path to the dynamic library. This is ok because
|
||||
# we'll never install unittests.
|
||||
+ifneq ($(DARWIN_MAJVERS),4)
|
||||
LD.Flags += $(RPATH) -Wl,$(SharedLibDir)
|
||||
+endif
|
||||
# Also set {DYLD,LD}_LIBRARY_PATH because OSX ignores the rpath most
|
||||
# of the time.
|
||||
Run.Shared := $(SHLIBPATH_VAR)="$(SharedLibDir)$${$(SHLIBPATH_VAR):+:}$$$(SHLIBPATH_VAR)"
|
@ -1,57 +0,0 @@
|
||||
--- llvm/trunk/include/llvm/Operator.h 2011/02/07 16:40:21 125006
|
||||
+++ llvm/trunk/include/llvm/Operator.h 2011/05/08 01:59:22 131062
|
||||
@@ -186,28 +186,46 @@
|
||||
};
|
||||
|
||||
class AddOperator
|
||||
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {};
|
||||
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
|
||||
+ ~AddOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class SubOperator
|
||||
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {};
|
||||
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
|
||||
+ ~SubOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class MulOperator
|
||||
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {};
|
||||
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
|
||||
+ ~MulOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class ShlOperator
|
||||
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {};
|
||||
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
|
||||
+ ~ShlOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
|
||||
|
||||
class SDivOperator
|
||||
- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {};
|
||||
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
|
||||
+ ~SDivOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class UDivOperator
|
||||
- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {};
|
||||
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
|
||||
+ ~UDivOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class AShrOperator
|
||||
- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {};
|
||||
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
|
||||
+ ~AShrOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
class LShrOperator
|
||||
- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {};
|
||||
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
|
||||
+ ~LShrOperator(); // DO NOT IMPLEMENT
|
||||
+};
|
||||
|
||||
|
||||
|
||||
class GEPOperator
|
||||
: public ConcreteOperator<Operator, Instruction::GetElementPtr> {
|
||||
+ ~GEPOperator(); // DO NOT IMPLEMENT
|
||||
+
|
||||
enum {
|
||||
IsInBounds = (1 << 0)
|
||||
};
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
Intercept.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:11:46.956180361 +0200
|
||||
+++ b/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:14:35.256184996 +0200
|
||||
@@ -52,6 +52,7 @@
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
/* stat functions are redirecting to __xstat with a version number. On x86-64
|
||||
* linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat'
|
||||
* available as an exported symbol, so we have to add it explicitly.
|
@ -1,39 +0,0 @@
|
||||
--- 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 \;
|
@ -1,27 +0,0 @@
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=403519
|
||||
http://llvm.org/viewvc/llvm-project?view=rev&revision=153938
|
||||
|
||||
--- llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp 2011/06/15 15:29:47 133059
|
||||
+++ llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp 2012/04/03 06:59:28 153938
|
||||
@@ -291,9 +291,10 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-extern "C" void *PPCCompilationCallbackC(unsigned *StubCallAddrPlus4,
|
||||
- unsigned *OrigCallAddrPlus4,
|
||||
- bool is64Bit) {
|
||||
+extern "C" {
|
||||
+static void* LLVM_ATTRIBUTE_USED PPCCompilationCallbackC(unsigned *StubCallAddrPlus4,
|
||||
+ unsigned *OrigCallAddrPlus4,
|
||||
+ bool is64Bit) {
|
||||
// Adjust the pointer to the address of the call instruction in the stub
|
||||
// emitted by emitFunctionStub, rather than the instruction after it.
|
||||
unsigned *StubCallAddr = StubCallAddrPlus4 - 1;
|
||||
@@ -337,6 +338,7 @@
|
||||
// stack after we restore all regs.
|
||||
return Target;
|
||||
}
|
||||
+}
|
||||
|
||||
|
||||
|
@ -1,43 +0,0 @@
|
||||
Index: llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
|
||||
===================================================================
|
||||
--- llvm-3.0-3.0.orig/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h 2011-07-25 23:24:55.000000000 +0000
|
||||
+++ llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h 2011-12-02 13:06:48.000000000 +0000
|
||||
@@ -34,6 +34,10 @@
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
+// Generated files will use "namespace PPC". To avoid symbol clash,
|
||||
+// undefine PPC here. PPC may be predefined on some hosts.
|
||||
+#undef PPC
|
||||
+
|
||||
// Defines symbolic names for PowerPC registers. This defines a mapping from
|
||||
// register name to register number.
|
||||
//
|
||||
Index: llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h
|
||||
===================================================================
|
||||
--- llvm-3.0-3.0.orig/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h 2011-07-26 00:24:13.000000000 +0000
|
||||
+++ llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h 2011-12-02 13:06:48.000000000 +0000
|
||||
@@ -14,6 +14,10 @@
|
||||
#ifndef LLVM_TARGET_POWERPC_PPCPREDICATES_H
|
||||
#define LLVM_TARGET_POWERPC_PPCPREDICATES_H
|
||||
|
||||
+// Generated files will use "namespace PPC". To avoid symbol clash,
|
||||
+// undefine PPC here. PPC may be predefined on some hosts.
|
||||
+#undef PPC
|
||||
+
|
||||
namespace llvm {
|
||||
namespace PPC {
|
||||
/// Predicate - These are "(BI << 5) | BO" for various predicates.
|
||||
Index: llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
|
||||
===================================================================
|
||||
--- llvm-3.0-3.0.orig/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h 2011-07-25 19:53:23.000000000 +0000
|
||||
+++ llvm-3.0-3.0/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h 2011-12-02 16:21:23.000000000 +0000
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
#include "llvm/MC/MCFixup.h"
|
||||
|
||||
+#undef PPC
|
||||
+
|
||||
namespace llvm {
|
||||
namespace PPC {
|
||||
enum Fixups {
|
@ -1,10 +0,0 @@
|
||||
--- tools/gold/Makefile 2011/11/23 03:03:21 145094
|
||||
+++ tools/gold/Makefile 2011/11/23 03:07:25 145095
|
||||
@@ -24,6 +24,6 @@
|
||||
# Because off_t is used in the public API, the largefile parts are required for
|
||||
# ABI compatibility.
|
||||
CXXFLAGS+=-I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-CXXFLAGS+=$(SharedLibDir)/$(SharedPrefix)LTO$(SHLIBEXT)
|
||||
+CXXFLAGS+=-L$(SharedLibDir)/$(SharedPrefix) -lLTO
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
@ -1,16 +0,0 @@
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=393023
|
||||
http://llvm.org/bugs/show_bug.cgi?id=11177
|
||||
|
||||
Index: llvm-3.0-3.0/bindings/ocaml/llvm/Makefile
|
||||
===================================================================
|
||||
--- llvm-3.0-3.0.orig/bindings/ocaml/llvm/Makefile 2011-11-15 12:17:02.785987852 +0100
|
||||
+++ llvm-3.0-3.0/bindings/ocaml/llvm/Makefile 2011-11-15 12:20:12.661983615 +0100
|
||||
@@ -30,7 +30,7 @@
|
||||
$(OcamlDir)/META.llvm: META.llvm
|
||||
$(Verb) $(CP) -f $< $@
|
||||
|
||||
-install-meta:: $(ObjDir)/META.llvm
|
||||
+install-meta:: $(ObjDir)/../META.llvm
|
||||
$(Echo) "Install $(BuildMode) $(DestMETA)"
|
||||
$(Verb) $(MKDIR) $(PROJ_libocamldir)
|
||||
$(Verb) $(DataInstall) META.llvm "$(DestMETA)"
|
@ -1,12 +0,0 @@
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=409267
|
||||
http://llvm.org/bugs/show_bug.cgi?id=12334
|
||||
--- tools/llvm-shlib/Makefile.orig 2012-03-26 18:14:13.071797115 +0200
|
||||
+++ tools/llvm-shlib/Makefile 2012-03-26 17:31:12.491196254 +0200
|
||||
@@ -67,6 +67,7 @@
|
||||
# Include everything from the .a's into the shared library.
|
||||
LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
|
||||
-Wl,--no-whole-archive
|
||||
+ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),Linux)
|
@ -1,27 +0,0 @@
|
||||
diff -Naur llvm-3.1.src/test/ExecutionEngine/2002-12-16-ArgTest.ll llvm.src/test/ExecutionEngine/2002-12-16-ArgTest.ll
|
||||
--- llvm-3.1.src/test/ExecutionEngine/2002-12-16-ArgTest.ll 2012-04-12 22:13:57.000000000 +0200
|
||||
+++ llvm.src/test/ExecutionEngine/2002-12-16-ArgTest.ll 2012-10-08 15:06:30.000000000 +0200
|
||||
@@ -1,4 +1,5 @@
|
||||
; RUN: %lli %s > /dev/null
|
||||
+; XFAIL: arm
|
||||
|
||||
@.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1]
|
||||
|
||||
diff -Naur llvm-3.1.src/test/ExecutionEngine/test-fp-no-external-funcs.ll llvm.src/test/ExecutionEngine/test-fp-no-external-funcs.ll
|
||||
--- llvm-3.1.src/test/ExecutionEngine/test-fp-no-external-funcs.ll 2012-04-12 22:13:57.000000000 +0200
|
||||
+++ llvm.src/test/ExecutionEngine/test-fp-no-external-funcs.ll 2012-10-08 15:06:30.000000000 +0200
|
||||
@@ -1,4 +1,5 @@
|
||||
; RUN: %lli %s > /dev/null
|
||||
+; XFAIL: arm
|
||||
|
||||
define double @test(double* %DP, double %Arg) {
|
||||
%D = load double* %DP ; <double> [#uses=1]
|
||||
diff -Naur llvm-3.1.src/test/ExecutionEngine/test-fp.ll llvm.src/test/ExecutionEngine/test-fp.ll
|
||||
--- llvm-3.1.src/test/ExecutionEngine/test-fp.ll 2012-04-12 22:13:57.000000000 +0200
|
||||
+++ llvm.src/test/ExecutionEngine/test-fp.ll 2012-10-08 15:06:30.000000000 +0200
|
||||
@@ -1,4 +1,5 @@
|
||||
; RUN: %lli %s > /dev/null
|
||||
+; XFAIL: arm
|
||||
|
||||
define double @test(double* %DP, double %Arg) {
|
||||
%D = load double* %DP ; <double> [#uses=1]
|
@ -1,65 +0,0 @@
|
||||
From 737fdba46f2b2b7d39bc728d15ea2334c44779e0 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Longbons <b.r.longbons@gmail.com>
|
||||
Date: Fri, 29 Jun 2012 12:58:34 -0700
|
||||
Subject: [PATCH] Revert "Patch to set is_stmt a little better for prologue
|
||||
lines in a function."
|
||||
|
||||
This meants that the debugger could find meaningful line information.
|
||||
|
||||
This reverts commit 60b35f408bc3194e7ea4e96367c0b42dc5e7f850.
|
||||
---
|
||||
lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 7 ++-----
|
||||
test/DebugInfo/X86/ending-run.ll | 6 ++----
|
||||
2 files changed, 4 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
|
||||
index 3e79a6d..24aedfb 100644
|
||||
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
|
||||
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
|
||||
@@ -1093,15 +1093,12 @@ void DwarfDebug::beginInstruction(const MachineInstr *MI) {
|
||||
if (!MI->isDebugValue()) {
|
||||
DebugLoc DL = MI->getDebugLoc();
|
||||
if (DL != PrevInstLoc && (!DL.isUnknown() || UnknownLocations)) {
|
||||
- unsigned Flags = 0;
|
||||
+ unsigned Flags = DWARF2_FLAG_IS_STMT;
|
||||
PrevInstLoc = DL;
|
||||
if (DL == PrologEndLoc) {
|
||||
Flags |= DWARF2_FLAG_PROLOGUE_END;
|
||||
PrologEndLoc = DebugLoc();
|
||||
}
|
||||
- if (PrologEndLoc.isUnknown())
|
||||
- Flags |= DWARF2_FLAG_IS_STMT;
|
||||
-
|
||||
if (!DL.isUnknown()) {
|
||||
const MDNode *Scope = DL.getScope(Asm->MF->getFunction()->getContext());
|
||||
recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags);
|
||||
@@ -1382,7 +1379,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) {
|
||||
MF->getFunction()->getContext());
|
||||
recordSourceLine(FnStartDL.getLine(), FnStartDL.getCol(),
|
||||
FnStartDL.getScope(MF->getFunction()->getContext()),
|
||||
- 0);
|
||||
+ DWARF2_FLAG_IS_STMT);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/test/DebugInfo/X86/ending-run.ll b/test/DebugInfo/X86/ending-run.ll
|
||||
index 6935c47..0cd3de1 100644
|
||||
--- a/test/DebugInfo/X86/ending-run.ll
|
||||
+++ b/test/DebugInfo/X86/ending-run.ll
|
||||
@@ -1,11 +1,9 @@
|
||||
; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
|
||||
; RUN: llvm-dwarfdump %t | FileCheck %s
|
||||
|
||||
-; Check that the line table starts at 7, not 4, but that the first
|
||||
-; statement isn't until line 8.
|
||||
+; Check that the line table starts at 7, not 4.
|
||||
|
||||
-; CHECK-NOT: 0x0000000000000000 7 0 1 0 is_stmt
|
||||
-; CHECK: 0x0000000000000000 7 0 1 0
|
||||
+; CHECK: 0x0000000000000000 7 0 1 0 is_stmt
|
||||
; CHECK: 0x0000000000000004 8 18 1 0 is_stmt prologue_end
|
||||
|
||||
define i32 @callee(i32 %x) nounwind uwtable ssp {
|
||||
--
|
||||
1.7.10
|
||||
|
@ -1,13 +0,0 @@
|
||||
--- llvm/trunk/lib/Support/Host.cpp 2012/04/23 22:22:46 155401
|
||||
+++ llvm/trunk/lib/Support/Host.cpp 2012/04/23 22:41:39 155402
|
||||
@@ -230,6 +230,10 @@
|
||||
case 45:
|
||||
return "corei7-avx";
|
||||
|
||||
+ // Ivy Bridge:
|
||||
+ case 58:
|
||||
+ return "core-avx-i";
|
||||
+
|
||||
case 28: // Intel Atom processor. All processors are manufactured using
|
||||
// the 45 nm process
|
||||
return "atom";
|
@ -1,45 +0,0 @@
|
||||
--- docs/Makefile.orig 2012-04-30 17:00:01.000000000 +0200
|
||||
+++ docs/Makefile 2012-04-30 17:15:52.000000000 +0200
|
||||
@@ -52,11 +52,10 @@
|
||||
# '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) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html
|
||||
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir)
|
||||
|
||||
$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
|
||||
$(Echo) Packaging HTML documentation
|
||||
@@ -68,12 +67,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
|
||||
@@ -99,7 +97,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 \;
|
||||
@@ -109,7 +106,6 @@
|
||||
$(Verb) $(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc.tar*
|
||||
$(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/ocamldoc.tar ocamldoc
|
||||
$(Verb) $(GZIPBIN) $(PROJ_OBJ_DIR)/ocamldoc.tar
|
||||
- $(Verb) $(CP) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_OBJ_DIR)/ocamldoc/html/
|
||||
|
||||
regen-ocamldoc:
|
||||
$(Echo) Building ocamldoc documentation
|
@ -1,22 +0,0 @@
|
||||
Fixes compilation of llvm-3.3 on gcc-4.6 and 4.7 when VIDEO_CARDS=radeon
|
||||
|
||||
This issue is caused because although Q is a multiset the original code tries to get
|
||||
a set iterator which can't be converted in a multiset one.
|
||||
|
||||
The fix is as simple as just using a multiset iterator.
|
||||
|
||||
Patch by Francisco Blas Izquierdo Riera (klondike)
|
||||
Consider the changes in the Public Domain
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=474096
|
||||
|
||||
--- lib/Target/R600/R600MachineScheduler.cpp
|
||||
+++ lib/Target/R600/R600MachineScheduler.cpp
|
||||
@@ -290,7 +290,7 @@
|
||||
SUnit *R600SchedStrategy::PopInst(std::multiset<SUnit *, CompareSUnit> &Q) {
|
||||
if (Q.empty())
|
||||
return NULL;
|
||||
- for (std::set<SUnit *, CompareSUnit>::iterator It = Q.begin(), E = Q.end();
|
||||
+ for (std::multiset<SUnit *, CompareSUnit>::iterator It = Q.begin(), E = Q.end();
|
||||
It != E; ++It) {
|
||||
SUnit *SU = *It;
|
||||
InstructionsGroupCandidate.push_back(SU->getInstr());
|
@ -1,141 +0,0 @@
|
||||
From 378109dbae7e4772d9b096384904c638a6a34028 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
|
||||
Date: Fri, 19 Jul 2013 10:10:52 +0200
|
||||
Subject: [PATCH 1/2] gentoo install fixes
|
||||
|
||||
---
|
||||
Makefile.config.in | 6 +++---
|
||||
Makefile.rules | 7 +++----
|
||||
tools/gold/Makefile | 2 +-
|
||||
tools/llvm-config/BuildVariables.inc.in | 2 ++
|
||||
tools/llvm-config/Makefile | 4 ++++
|
||||
tools/llvm-config/llvm-config.cpp | 5 +++--
|
||||
utils/FileCheck/Makefile | 2 +-
|
||||
7 files changed, 17 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/Makefile.config.in b/Makefile.config.in
|
||||
index fd4f6ef..5634ecc 100644
|
||||
--- a/Makefile.config.in
|
||||
+++ b/Makefile.config.in
|
||||
@@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix)
|
||||
endif
|
||||
|
||||
PROJ_bindir := $(PROJ_prefix)/bin
|
||||
-PROJ_libdir := $(PROJ_prefix)/lib
|
||||
+PROJ_libdir := $(PROJ_prefix)/$(GENTOO_LIBDIR)/llvm
|
||||
PROJ_datadir := $(PROJ_prefix)/share
|
||||
-PROJ_docsdir := $(PROJ_prefix)/docs/llvm
|
||||
-PROJ_etcdir := $(PROJ_prefix)/etc/llvm
|
||||
+PROJ_docsdir := $(PROJ_prefix)/share/doc/@PF@
|
||||
+PROJ_etcdir := @EPREFIX@/etc/llvm
|
||||
PROJ_includedir := $(PROJ_prefix)/include
|
||||
PROJ_infodir := $(PROJ_prefix)/info
|
||||
PROJ_mandir := $(PROJ_prefix)/share/man
|
||||
diff --git a/Makefile.rules b/Makefile.rules
|
||||
index f0c542b..db252f7 100644
|
||||
--- a/Makefile.rules
|
||||
+++ b/Makefile.rules
|
||||
@@ -276,7 +276,7 @@ ifeq ($(ENABLE_OPTIMIZED),1)
|
||||
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
|
||||
ifneq ($(HOST_OS),FreeBSD)
|
||||
ifneq ($(HOST_OS),Darwin)
|
||||
- OmitFramePointer := -fomit-frame-pointer
|
||||
+ OmitFramePointer :=
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -639,7 +638,7 @@ endif
|
||||
ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifneq ($(HOST_OS), Darwin)
|
||||
ifdef TOOLNAME
|
||||
- LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib'
|
||||
+ LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' $(RPATH) -Wl,'$(PROJ_libdir)'
|
||||
ifdef EXAMPLE_TOOL
|
||||
LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag)
|
||||
else
|
||||
@@ -648,7 +647,7 @@ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
endif
|
||||
else
|
||||
ifneq ($(DARWIN_MAJVERS),4)
|
||||
- LD.Flags += $(RPATH) -Wl,@executable_path/../lib
|
||||
+ LD.Flags += $(RPATH) -Wl,@executable_path/../lib -Wl,'$(PROJ_libdir)'
|
||||
endif
|
||||
ifeq ($(RC_XBS),YES)
|
||||
TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/llvm-lto.XXXXXX)
|
||||
diff --git a/tools/gold/Makefile b/tools/gold/Makefile
|
||||
index 496e31c..d36b340 100644
|
||||
--- a/tools/gold/Makefile
|
||||
+++ b/tools/gold/Makefile
|
||||
@@ -24,7 +24,7 @@ include $(LEVEL)/Makefile.config
|
||||
# Because off_t is used in the public API, the largefile parts are required for
|
||||
# ABI compatibility.
|
||||
CXXFLAGS += -I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-LDFLAGS += -L$(SharedLibDir)/$(SharedPrefix)
|
||||
+LDFLAGS += -L$(PROJ_libdir)
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
|
||||
index fe87afb..fd9f2c6 100644
|
||||
--- a/tools/llvm-config/BuildVariables.inc.in
|
||||
+++ b/tools/llvm-config/BuildVariables.inc.in
|
||||
@@ -25,3 +25,5 @@
|
||||
#define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
|
||||
#define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
|
||||
#define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
|
||||
+#define LLVM_RPATH "@LLVM_RPATH@"
|
||||
+#define LLVM_LIBDIR "@LLVM_LIBDIR@"
|
||||
diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile
|
||||
index b20b6bf..fc56781 100644
|
||||
--- a/tools/llvm-config/Makefile
|
||||
+++ b/tools/llvm-config/Makefile
|
||||
@@ -55,6 +55,10 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
|
||||
>> temp.sed
|
||||
$(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \
|
||||
>> temp.sed
|
||||
+ $(Verb) $(ECHO) 's/@LLVM_RPATH@/$(subst /,\/,$(RPATH))/' \
|
||||
+ >> temp.sed
|
||||
+ $(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \
|
||||
+ >> temp.sed
|
||||
$(Verb) $(SED) -f temp.sed < $< > $@
|
||||
$(Verb) $(RM) temp.sed
|
||||
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index 7edf5ec..4541c28 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -250,7 +250,7 @@ int main(int argc, char **argv) {
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
ActiveBinDir = ActivePrefix + "/bin";
|
||||
- ActiveLibDir = ActivePrefix + "/lib";
|
||||
+ ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR "/llvm";
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
||||
@@ -277,7 +277,8 @@ int main(int argc, char **argv) {
|
||||
} else if (Arg == "--cxxflags") {
|
||||
OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
|
||||
} else if (Arg == "--ldflags") {
|
||||
- OS << "-L" << ActiveLibDir << ' ' << LLVM_LDFLAGS
|
||||
+ OS << "-L" << ActiveLibDir << ' '
|
||||
+ << LLVM_RPATH << " -Wl," << ActiveLibDir << ' ' << LLVM_LDFLAGS
|
||||
<< ' ' << LLVM_SYSTEM_LIBS << '\n';
|
||||
} else if (Arg == "--libs") {
|
||||
PrintLibs = true;
|
||||
diff --git a/utils/FileCheck/Makefile b/utils/FileCheck/Makefile
|
||||
index 268b7bc..e7674f9 100644
|
||||
--- a/utils/FileCheck/Makefile
|
||||
+++ b/utils/FileCheck/Makefile
|
||||
@@ -15,7 +15,7 @@ USEDLIBS = LLVMSupport.a
|
||||
TOOL_NO_EXPORTS = 1
|
||||
|
||||
# Don't install this utility
|
||||
-NO_INSTALL = 1
|
||||
+#NO_INSTALL = 1
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From d23d21bc76693dd2a43b5d76c68972ac01a055ba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
|
||||
Date: Sat, 20 Jul 2013 15:56:56 +0200
|
||||
Subject: [PATCH] Remove insecure RUNPATHs.
|
||||
|
||||
LLVM seems to build fine without them, and they were removed for 3.4
|
||||
already.
|
||||
---
|
||||
Makefile.rules | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/Makefile.rules b/Makefile.rules
|
||||
index db252f7..a29481b 100644
|
||||
--- a/Makefile.rules
|
||||
+++ b/Makefile.rules
|
||||
@@ -639,11 +639,6 @@ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifneq ($(HOST_OS), Darwin)
|
||||
ifdef TOOLNAME
|
||||
LD.Flags += $(RPATH) -Wl,'$(PROJ_libdir)'
|
||||
- ifdef EXAMPLE_TOOL
|
||||
- LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag)
|
||||
- else
|
||||
- LD.Flags += $(RPATH) -Wl,$(ToolDir) $(DynamicFlag)
|
||||
- endif
|
||||
endif
|
||||
else
|
||||
ifneq ($(DARWIN_MAJVERS),4)
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,137 +0,0 @@
|
||||
From be2ee7ba7ab4c1aec86d3d9e49e1be241afd8abd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
|
||||
Date: Fri, 19 Jul 2013 10:10:52 +0200
|
||||
Subject: [PATCH 1/2] gentoo install fixes
|
||||
|
||||
---
|
||||
Makefile.config.in | 6 +++---
|
||||
Makefile.rules | 7 +++----
|
||||
tools/gold/Makefile | 2 +-
|
||||
tools/llvm-config/BuildVariables.inc.in | 2 ++
|
||||
tools/llvm-config/Makefile | 4 ++++
|
||||
tools/llvm-config/llvm-config.cpp | 5 +++--
|
||||
utils/FileCheck/Makefile | 2 +-
|
||||
7 files changed, 17 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/Makefile.config.in b/Makefile.config.in
|
||||
index dcca45f..e75ae2e 100644
|
||||
--- a/Makefile.config.in
|
||||
+++ b/Makefile.config.in
|
||||
@@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix)
|
||||
endif
|
||||
|
||||
PROJ_bindir := $(PROJ_prefix)/bin
|
||||
-PROJ_libdir := $(PROJ_prefix)/lib
|
||||
+PROJ_libdir := $(PROJ_prefix)/$(GENTOO_LIBDIR)/llvm
|
||||
PROJ_datadir := $(PROJ_prefix)/share
|
||||
-PROJ_docsdir := $(PROJ_prefix)/docs/llvm
|
||||
-PROJ_etcdir := $(PROJ_prefix)/etc/llvm
|
||||
+PROJ_docsdir := $(PROJ_prefix)/share/doc/@PF@
|
||||
+PROJ_etcdir := @EPREFIX@/etc/llvm
|
||||
PROJ_includedir := $(PROJ_prefix)/include
|
||||
PROJ_infodir := $(PROJ_prefix)/info
|
||||
PROJ_mandir := $(PROJ_prefix)/share/man
|
||||
diff --git a/Makefile.rules b/Makefile.rules
|
||||
index 1bc78f1..60cd228 100644
|
||||
--- a/Makefile.rules
|
||||
+++ b/Makefile.rules
|
||||
@@ -277,7 +277,7 @@ ifeq ($(ENABLE_OPTIMIZED),1)
|
||||
ifneq ($(HOST_OS),FreeBSD)
|
||||
ifneq ($(HOST_OS),GNU/kFreeBSD)
|
||||
ifneq ($(HOST_OS),Darwin)
|
||||
- OmitFramePointer := -fomit-frame-pointer
|
||||
+ OmitFramePointer :=
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -643,11 +642,11 @@ endif
|
||||
ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifneq ($(HOST_OS), Darwin)
|
||||
ifdef TOOLNAME
|
||||
- LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' $(DynamicFlag)
|
||||
+ LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' $(RPATH) -Wl,'$(PROJ_libdir)' $(DynamicFlag)
|
||||
endif
|
||||
else
|
||||
ifneq ($(DARWIN_MAJVERS),4)
|
||||
- LD.Flags += $(RPATH) -Wl,@executable_path/../lib
|
||||
+ LD.Flags += $(RPATH) -Wl,@executable_path/../lib $(RPATH) -Wl,'$(PROJ_libdir)'
|
||||
endif
|
||||
ifeq ($(RC_XBS),YES)
|
||||
TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/llvm-lto.XXXXXX)
|
||||
diff --git a/tools/gold/Makefile b/tools/gold/Makefile
|
||||
index 496e31c..d36b340 100644
|
||||
--- a/tools/gold/Makefile
|
||||
+++ b/tools/gold/Makefile
|
||||
@@ -24,7 +24,7 @@ include $(LEVEL)/Makefile.config
|
||||
# Because off_t is used in the public API, the largefile parts are required for
|
||||
# ABI compatibility.
|
||||
CXXFLAGS += -I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-LDFLAGS += -L$(SharedLibDir)/$(SharedPrefix)
|
||||
+LDFLAGS += -L$(PROJ_libdir)
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
|
||||
index fe87afb..fd9f2c6 100644
|
||||
--- a/tools/llvm-config/BuildVariables.inc.in
|
||||
+++ b/tools/llvm-config/BuildVariables.inc.in
|
||||
@@ -25,3 +25,5 @@
|
||||
#define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
|
||||
#define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
|
||||
#define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
|
||||
+#define LLVM_RPATH "@LLVM_RPATH@"
|
||||
+#define LLVM_LIBDIR "@LLVM_LIBDIR@"
|
||||
diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile
|
||||
index b20b6bf..fc56781 100644
|
||||
--- a/tools/llvm-config/Makefile
|
||||
+++ b/tools/llvm-config/Makefile
|
||||
@@ -55,6 +55,10 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
|
||||
>> temp.sed
|
||||
$(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \
|
||||
>> temp.sed
|
||||
+ $(Verb) $(ECHO) 's/@LLVM_RPATH@/$(subst /,\/,$(RPATH))/' \
|
||||
+ >> temp.sed
|
||||
+ $(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \
|
||||
+ >> temp.sed
|
||||
$(Verb) $(SED) -f temp.sed < $< > $@
|
||||
$(Verb) $(RM) temp.sed
|
||||
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index 3924e2e..f439c60 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -250,7 +250,7 @@ int main(int argc, char **argv) {
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
ActiveBinDir = ActivePrefix + "/bin";
|
||||
- ActiveLibDir = ActivePrefix + "/lib";
|
||||
+ ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR "/llvm";
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
||||
@@ -277,7 +277,8 @@ int main(int argc, char **argv) {
|
||||
} else if (Arg == "--cxxflags") {
|
||||
OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
|
||||
} else if (Arg == "--ldflags") {
|
||||
- OS << "-L" << ActiveLibDir << ' ' << LLVM_LDFLAGS
|
||||
+ OS << "-L" << ActiveLibDir << ' '
|
||||
+ << LLVM_RPATH << " -Wl," << ActiveLibDir << ' ' << LLVM_LDFLAGS
|
||||
<< ' ' << LLVM_SYSTEM_LIBS << '\n';
|
||||
} else if (Arg == "--libs") {
|
||||
PrintLibs = true;
|
||||
diff --git a/utils/FileCheck/Makefile b/utils/FileCheck/Makefile
|
||||
index 268b7bc..e7674f9 100644
|
||||
--- a/utils/FileCheck/Makefile
|
||||
+++ b/utils/FileCheck/Makefile
|
||||
@@ -15,7 +15,7 @@ USEDLIBS = LLVMSupport.a
|
||||
TOOL_NO_EXPORTS = 1
|
||||
|
||||
# Don't install this utility
|
||||
-NO_INSTALL = 1
|
||||
+#NO_INSTALL = 1
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,189 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r2.ebuild,v 1.10 2013/06/10 22:26:20 voyageur Exp $
|
||||
|
||||
EAPI="4"
|
||||
inherit eutils multilib toolchain-funcs
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
# Upstream silently re-released the tarball...
|
||||
# drop the -> in 2.9
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.tgz -> ${P}-r1.tgz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="debug +libffi llvm-gcc multitarget ocaml test udis86"
|
||||
|
||||
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 )
|
||||
libffi? ( virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )"
|
||||
RDEPEND="dev-lang/perl"
|
||||
|
||||
S=${WORKDIR}/${PN}-${PV/_pre*}
|
||||
|
||||
pkg_setup() {
|
||||
# need to check if the active compiler is ok
|
||||
|
||||
broken_gcc=" 3.2.2 3.2.3 3.3.2 4.1.1 "
|
||||
broken_gcc_x86=" 3.4.0 3.4.2 "
|
||||
broken_gcc_amd64=" 3.4.6 "
|
||||
|
||||
gcc_vers=$(gcc-fullversion)
|
||||
|
||||
if [[ ${broken_gcc} == *" ${version} "* ]] ; then
|
||||
elog "Your version of gcc is known to miscompile llvm."
|
||||
elog "Check http://www.llvm.org/docs/GettingStarted.html for"
|
||||
elog "possible solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == i*86-* && ${broken_gcc_x86} == *" ${version} "* ]] ; then
|
||||
elog "Your version of gcc is known to miscompile llvm on x86"
|
||||
elog "architectures. Check"
|
||||
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
|
||||
elog "solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == x86_64-* && ${broken_gcc_amd64} == *" ${version} "* ]];
|
||||
then
|
||||
elog "Your version of gcc is known to miscompile llvm in amd64"
|
||||
elog "architectures. Check"
|
||||
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
|
||||
elog "solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# unfortunately ./configure won't listen to --mandir and the-like, so take
|
||||
# care of this.
|
||||
einfo "Fixing install dirs"
|
||||
sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
|
||||
-e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
|
||||
-e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/${PN}, \
|
||||
-i Makefile.config.in || die "Makefile.config sed failed"
|
||||
sed -e 's,$ABS_RUN_DIR/lib,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
|
||||
-i tools/llvm-config/llvm-config.in.in || die "llvm-config sed failed"
|
||||
|
||||
einfo "Fixing rpath 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"
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.7-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.8-darwin8.patch
|
||||
# Upstream backport, r117774
|
||||
epatch "${FILESDIR}"/${P}-alignof.patch
|
||||
|
||||
# Additional unistd.h include for GCC 4.7
|
||||
epatch "${FILESDIR}"/${PN}-2.9-gcc4.7.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local CONF_FLAGS="--enable-shared"
|
||||
|
||||
if use debug; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
|
||||
einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
|
||||
# ...and you probably shouldn't use tmpfs, unless it can hold 900MB
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} \
|
||||
--enable-optimized \
|
||||
--with-optimize-option= \
|
||||
--disable-assertions \
|
||||
--disable-expensive-checks"
|
||||
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
|
||||
|
||||
# things would be built differently depending on whether llvm-gcc is
|
||||
# used or not.
|
||||
local LLVM_GCC_DIR=/dev/null
|
||||
local LLVM_GCC_DRIVER=nope ; local LLVM_GPP_DRIVER=nope
|
||||
if use llvm-gcc ; then
|
||||
if has_version sys-devel/llvm-gcc; then
|
||||
LLVM_GCC_DIR=$(ls -d ${EROOT}/usr/$(get_libdir)/llvm-gcc* 2> /dev/null)
|
||||
LLVM_GCC_DRIVER=$(find ${LLVM_GCC_DIR} -name 'llvm*-gcc' 2> /dev/null)
|
||||
if [[ -z ${LLVM_GCC_DRIVER} ]] ; then
|
||||
die "failed to find installed llvm-gcc, LLVM_GCC_DIR=${LLVM_GCC_DIR}"
|
||||
fi
|
||||
einfo "Using $LLVM_GCC_DRIVER"
|
||||
LLVM_GPP_DRIVER=${LLVM_GCC_DRIVER/%-gcc/-g++}
|
||||
else
|
||||
eerror "llvm-gcc USE flag enabled, but sys-devel/llvm-gcc was not found"
|
||||
eerror "Building with standard gcc, re-merge this package after installing"
|
||||
eerror "llvm-gcc to build with it"
|
||||
eerror "This is normal behavior on first LLVM merge"
|
||||
fi
|
||||
fi
|
||||
|
||||
CONF_FLAGS="${CONF_FLAGS} \
|
||||
--with-llvmgccdir=${LLVM_GCC_DIR} \
|
||||
--with-llvmgcc=${LLVM_GCC_DRIVER} \
|
||||
--with-llvmgxx=${LLVM_GPP_DRIVER}"
|
||||
|
||||
if use ocaml; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=ocaml"
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=none"
|
||||
fi
|
||||
|
||||
if use udis86; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-udis86"
|
||||
fi
|
||||
CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
|
||||
econf ${CONF_FLAGS} || die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
|
||||
|
||||
# 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},BugpointPasses,LLVMHello,LTO,profile_rt}.dylib ; do
|
||||
# libEnhancedDisassembly is Darwin10 only, so non-fatal
|
||||
[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
|
||||
ebegin "fixing install_name of $lib"
|
||||
install_name_tool \
|
||||
-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
|
||||
"${ED}"/usr/lib/${PN}/${lib}
|
||||
eend $?
|
||||
done
|
||||
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
|
||||
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
|
||||
}
|
@ -1,196 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.9-r2.ebuild,v 1.12 2013/06/10 22:26:20 voyageur Exp $
|
||||
|
||||
EAPI="4"
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs pax-utils
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.tgz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ppc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="debug +libffi llvm-gcc 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 )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi )
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
S=${WORKDIR}/${PN}-${PV/_pre*}
|
||||
|
||||
pkg_setup() {
|
||||
# need to check if the active compiler is ok
|
||||
|
||||
broken_gcc=" 3.2.2 3.2.3 3.3.2 4.1.1 "
|
||||
broken_gcc_x86=" 3.4.0 3.4.2 "
|
||||
broken_gcc_amd64=" 3.4.6 "
|
||||
|
||||
gcc_vers=$(gcc-fullversion)
|
||||
|
||||
if [[ ${broken_gcc} == *" ${version} "* ]] ; then
|
||||
elog "Your version of gcc is known to miscompile llvm."
|
||||
elog "Check http://www.llvm.org/docs/GettingStarted.html for"
|
||||
elog "possible solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == i*86-* && ${broken_gcc_x86} == *" ${version} "* ]] ; then
|
||||
elog "Your version of gcc is known to miscompile llvm on x86"
|
||||
elog "architectures. Check"
|
||||
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
|
||||
elog "solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == x86_64-* && ${broken_gcc_amd64} == *" ${version} "* ]];
|
||||
then
|
||||
elog "Your version of gcc is known to miscompile llvm in amd64"
|
||||
elog "architectures. Check"
|
||||
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
|
||||
elog "solutions."
|
||||
die "Your currently active version of gcc is known to miscompile llvm"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# unfortunately ./configure won't listen to --mandir and the-like, so take
|
||||
# care of this.
|
||||
einfo "Fixing install dirs"
|
||||
sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
|
||||
-e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
|
||||
-e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/${PN}, \
|
||||
-i Makefile.config.in || die "Makefile.config sed failed"
|
||||
sed -e 's,$ABS_RUN_DIR/lib,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
|
||||
-i tools/llvm-config/llvm-config.in.in || die "llvm-config sed failed"
|
||||
|
||||
einfo "Fixing rpath 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"
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
|
||||
|
||||
# Upstream commit r131062
|
||||
epatch "${FILESDIR}"/${P}-Operator.h-c++0x.patch
|
||||
|
||||
# Additional unistd.h include for GCC 4.7
|
||||
epatch "${FILESDIR}"/${P}-gcc4.7.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
# things would be built differently depending on whether llvm-gcc is
|
||||
# used or not.
|
||||
local LLVM_GCC_DIR=/dev/null
|
||||
local LLVM_GCC_DRIVER=nope ; local LLVM_GPP_DRIVER=nope
|
||||
if use llvm-gcc ; then
|
||||
if has_version sys-devel/llvm-gcc; then
|
||||
LLVM_GCC_DIR=$(ls -d ${EROOT}/usr/$(get_libdir)/llvm-gcc* 2> /dev/null)
|
||||
LLVM_GCC_DRIVER=$(find ${LLVM_GCC_DIR} -name 'llvm*-gcc' 2> /dev/null)
|
||||
if [[ -z ${LLVM_GCC_DRIVER} ]] ; then
|
||||
die "failed to find installed llvm-gcc, LLVM_GCC_DIR=${LLVM_GCC_DIR}"
|
||||
fi
|
||||
einfo "Using $LLVM_GCC_DRIVER"
|
||||
LLVM_GPP_DRIVER=${LLVM_GCC_DRIVER/%-gcc/-g++}
|
||||
else
|
||||
eerror "llvm-gcc USE flag enabled, but sys-devel/llvm-gcc was not found"
|
||||
eerror "Building with standard gcc, re-merge this package after installing"
|
||||
eerror "llvm-gcc to build with it"
|
||||
eerror "This is normal behavior on first LLVM merge"
|
||||
fi
|
||||
fi
|
||||
|
||||
CONF_FLAGS="${CONF_FLAGS} \
|
||||
--with-llvmgccdir=${LLVM_GCC_DIR} \
|
||||
--with-llvmgcc=${LLVM_GCC_DRIVER} \
|
||||
--with-llvmgxx=${LLVM_GPP_DRIVER}"
|
||||
|
||||
if use ocaml; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=ocaml"
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=none"
|
||||
fi
|
||||
|
||||
if use udis86; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-udis86"
|
||||
fi
|
||||
|
||||
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"
|
||||
|
||||
pax-mark m Release/bin/lli
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1,181 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.0-r2.ebuild,v 1.9 2013/01/03 23:29:51 voyageur Exp $
|
||||
|
||||
EAPI="4"
|
||||
PYTHON_DEPEND="2"
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs python pax-utils
|
||||
|
||||
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 ~x86-fbsd ~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[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi )
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
pkg_setup() {
|
||||
# Required for test and build
|
||||
python_set_active_version 2
|
||||
python_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"
|
||||
|
||||
# Specify python version
|
||||
python_convert_shebangs -r 2 test/Scripts
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${P}-ocaml_install.patch
|
||||
epatch "${FILESDIR}"/${P}-PPC_macro.patch
|
||||
epatch "${FILESDIR}"/${P}-PPCCompilationCallbackC_static.patch
|
||||
epatch "${FILESDIR}"/${P}-gold_LTO_link.patch
|
||||
epatch "${FILESDIR}"/${P}-set_soname.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
pax-mark m Release/bin/lli
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
fi
|
||||
}
|
||||
|
||||
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,profile_rt}.dylib {BugpointPasses,LLVMHello}.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
|
||||
}
|
@ -1,190 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.1-r2.ebuild,v 1.9 2013/01/03 23:29:51 voyageur Exp $
|
||||
|
||||
EAPI="4"
|
||||
PYTHON_DEPEND="2"
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs python pax-utils
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm ppc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-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[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi )
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
pkg_setup() {
|
||||
# Required for test and build
|
||||
python_set_active_version 2
|
||||
python_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 "/ActiveLibDir = ActivePrefix/s/lib/$(get_libdir)\/${PN}/" \
|
||||
-i tools/llvm-config/llvm-config.cpp || 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
|
||||
|
||||
# Specify python version
|
||||
python_convert_shebangs -r 2 test/Scripts
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${PN}-3.0-PPC_macro.patch
|
||||
epatch "${FILESDIR}"/${P}-ivybridge_support.patch
|
||||
epatch "${FILESDIR}"/${P}-fix_debug_line_info.patch
|
||||
epatch "${FILESDIR}"/${P}-ExecutionEngine_tests_xfail_arm.patch
|
||||
|
||||
# Apply r600 OpenCL-related patches, bug #425688
|
||||
epatch "${FILESDIR}"/cl-patches/*.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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,cpp"
|
||||
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)"
|
||||
|
||||
# llvm prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1
|
||||
|
||||
pax-mark m Release/bin/lli
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install
|
||||
|
||||
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,profile_rt}.dylib {BugpointPasses,LLVMHello}.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
|
||||
}
|
@ -1,206 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.2.ebuild,v 1.7 2013/06/10 21:56:12 voyageur Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
# pypy gives me around 1700 unresolved tests due to open file limit
|
||||
# being exceeded. probably GC does not close them fast enough.
|
||||
PYTHON_COMPAT=( python{2_5,2_6,2_7} )
|
||||
|
||||
inherit eutils flag-o-matic multilib python-any-r1 toolchain-funcs pax-utils
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
|
||||
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug doc 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 )
|
||||
doc? ( dev-python/sphinx )
|
||||
gold? ( >=sys-devel/binutils-2.22[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi )
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
pkg_setup() {
|
||||
# Required for test and build
|
||||
python-any-r1_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 "/ActiveLibDir = ActivePrefix/s/lib/$(get_libdir)\/${PN}/" \
|
||||
-i tools/llvm-config/llvm-config.cpp || 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
|
||||
|
||||
# FileCheck is needed at least for dragonegg tests
|
||||
sed -e "/NO_INSTALL = 1/s/^/#/" -i utils/FileCheck/Makefile \
|
||||
|| die "FileCheck Makefile sed failed"
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${PN}-3.0-PPC_macro.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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,cpp"
|
||||
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)"
|
||||
|
||||
# llvm prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1
|
||||
|
||||
if use doc; then
|
||||
emake -C docs -f Makefile.sphinx man
|
||||
emake -C docs -f Makefile.sphinx html
|
||||
fi
|
||||
|
||||
pax-mark m Release/bin/lli
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
|
||||
pax-mark m unittests/Support/Release/SupportTests
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install
|
||||
|
||||
if use doc; then
|
||||
doman docs/_build/man/*.1
|
||||
dohtml -r docs/_build/html/
|
||||
else
|
||||
doman "${WORKDIR}"/${P}-manpages/*.1
|
||||
fi
|
||||
|
||||
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= libpv=${PV}
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
eval $(grep PACKAGE_VERSION= configure)
|
||||
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
|
||||
for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt}.dylib {BugpointPasses,LLVMHello}.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-${libpv}.dylib)
|
||||
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
|
||||
install_name_tool \
|
||||
-change "${odylib}" \
|
||||
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
|
||||
"${f}"
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
@ -1,403 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.3-r1.ebuild,v 1.9 2013/08/02 12:25:46 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_5,2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit eutils flag-o-matic multilib multilib-minimal \
|
||||
python-r1 toolchain-funcs pax-utils check-reqs
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
|
||||
clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.gz
|
||||
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
|
||||
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="clang debug doc gold kernel_FreeBSD +libffi multitarget ocaml python
|
||||
+static-analyzer test udis86 video_cards_radeon"
|
||||
|
||||
DEPEND="app-admin/chrpath
|
||||
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-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
|
||||
)
|
||||
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
|
||||
sys-libs/zlib
|
||||
doc? ( dev-python/sphinx )
|
||||
gold? ( >=sys-devel/binutils-2.22[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi[${MULTILIB_USEDEP}] )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+),${MULTILIB_USEDEP}] )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi[${MULTILIB_USEDEP}] )
|
||||
clang? (
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
static-analyzer? (
|
||||
dev-lang/perl
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
)
|
||||
udis86? ( dev-libs/udis86[pic(+),${MULTILIB_USEDEP}] )
|
||||
clang? ( !<=sys-devel/clang-3.3-r99
|
||||
!>=sys-devel/clang-9999 )
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
|
||||
|
||||
# pypy gives me around 1700 unresolved tests due to open file limit
|
||||
# being exceeded. probably GC does not close them fast enough.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
test? ( || ( $(python_gen_useflags 'python*') ) )"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
pkg_pretend() {
|
||||
# in megs
|
||||
# !clang !debug !multitarget -O2 400
|
||||
# !clang !debug multitarget -O2 550
|
||||
# clang !debug !multitarget -O2 950
|
||||
# clang !debug multitarget -O2 1200
|
||||
# !clang debug multitarget -O2 5G
|
||||
# clang !debug multitarget -O0 -g 12G
|
||||
# clang debug multitarget -O2 16G
|
||||
# clang debug multitarget -O0 -g 14G
|
||||
|
||||
local build_size=550
|
||||
use clang && build_size=1200
|
||||
|
||||
if use debug; then
|
||||
ewarn "USE=debug is known to increase the size of package considerably"
|
||||
ewarn "and cause the tests to fail."
|
||||
ewarn
|
||||
|
||||
(( build_size *= 14 ))
|
||||
elif is-flagq -g || is-flagq -ggdb; then
|
||||
ewarn "The C++ compiler -g option is known to increase the size of the package"
|
||||
ewarn "considerably. If you run out of space, please consider removing it."
|
||||
ewarn
|
||||
|
||||
(( build_size *= 10 ))
|
||||
fi
|
||||
|
||||
# Multiply by number of ABIs :).
|
||||
local abis=( $(multilib_get_enabled_abis) )
|
||||
(( build_size *= ${#abis[@]} ))
|
||||
|
||||
local CHECKREQS_DISK_BUILD=${build_size}M
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pkg_pretend
|
||||
|
||||
# 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_unpack() {
|
||||
default
|
||||
|
||||
rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
|
||||
|| die "symlinks removal failed"
|
||||
|
||||
if use clang; then
|
||||
mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
|
||||
|| die "clang source directory move failed"
|
||||
mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \
|
||||
|| die "compiler-rt source directory move failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use clang; then
|
||||
# Automatically select active system GCC's libraries, bugs #406163 and #417913
|
||||
epatch "${FILESDIR}"/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
|
||||
|
||||
# Fix search paths on FreeBSD, bug #409269
|
||||
# This patch causes problem for multilib on fbsd, see comments in the patch
|
||||
# (aballier@g.o)
|
||||
# epatch "${FILESDIR}"/clang-3.1-gentoo-freebsd-fix-lib-path.patch
|
||||
|
||||
# Fix regression caused by removal of USE=system-cxx-headers, bug #417541
|
||||
# Needs to be updated for 3.2
|
||||
#epatch "${FILESDIR}"/clang-3.1-gentoo-freebsd-fix-cxx-paths-v2.patch
|
||||
fi
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${P}-R600_debug.patch
|
||||
epatch "${FILESDIR}"/${PN}-3.3-gentoo-install.patch
|
||||
use clang && epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch
|
||||
|
||||
local sub_files=(
|
||||
Makefile.config.in
|
||||
Makefile.rules
|
||||
tools/llvm-config/llvm-config.cpp
|
||||
)
|
||||
use clang && sub_files+=(
|
||||
tools/clang/lib/Driver/Tools.cpp
|
||||
tools/clang/tools/scan-build/scan-build
|
||||
)
|
||||
|
||||
# unfortunately ./configure won't listen to --mandir and the-like, so take
|
||||
# care of this.
|
||||
# note: we're setting the main libdir intentionally.
|
||||
# where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
|
||||
einfo "Fixing install dirs"
|
||||
sed -e "s,@libdir@,$(get_libdir),g" \
|
||||
-e "s,@PF@,${PF},g" \
|
||||
-e "s,@EPREFIX@,${EPREFIX},g" \
|
||||
-i "${sub_files[@]}" \
|
||||
|| die "install paths sed failed"
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local CONF_FLAGS="--enable-keep-symbols
|
||||
--enable-shared
|
||||
--with-optimize-option=
|
||||
$(use_enable !debug optimized)
|
||||
$(use_enable debug assertions)
|
||||
$(use_enable debug expensive-checks)"
|
||||
|
||||
if use clang; then
|
||||
CONF_FLAGS+="
|
||||
--with-clang-resource-dir=../lib/clang/${PV}"
|
||||
fi
|
||||
|
||||
if use multitarget; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-targets=host,cpp"
|
||||
fi
|
||||
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
if multilib_is_native_abi && use gold; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-binutils-include=${EPREFIX}/usr/include/"
|
||||
fi
|
||||
if multilib_is_native_abi && 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 video_cards_radeon; then
|
||||
CONF_FLAGS="${CONF_FLAGS}
|
||||
--enable-experimental-targets=R600"
|
||||
fi
|
||||
|
||||
if use libffi; then
|
||||
append-cppflags "$(pkg-config --cflags libffi)"
|
||||
fi
|
||||
CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
|
||||
|
||||
# build with a suitable Python version
|
||||
python_export_best
|
||||
|
||||
# llvm prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake VERBOSE=1 REQUIRES_RTTI=1 GENTOO_LIBDIR=$(get_libdir)
|
||||
|
||||
if multilib_is_native_abi && use doc; then
|
||||
emake -C "${S}"/docs -f Makefile.sphinx man
|
||||
emake -C "${S}"/docs -f Makefile.sphinx html
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
|
||||
pax-mark m Debug+Asserts+Checks/bin/lli
|
||||
else
|
||||
pax-mark m Release/bin/llvm-rtdyld
|
||||
pax-mark m Release/bin/lli
|
||||
fi
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
|
||||
pax-mark m unittests/Support/Release/SupportTests
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
default
|
||||
|
||||
use clang && emake -C tools/clang test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/llvm/Config/config.h
|
||||
/usr/include/llvm/Config/llvm-config.h
|
||||
)
|
||||
|
||||
use clang && MULTILIB_WRAPPED_HEADERS+=(
|
||||
/usr/include/clang/Config/config.h
|
||||
)
|
||||
|
||||
multilib-minimal_src_install
|
||||
|
||||
# Remove unnecessary headers on FreeBSD, bug #417171
|
||||
use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" GENTOO_LIBDIR=$(get_libdir) install
|
||||
|
||||
# Fix rpaths.
|
||||
chrpath -r "${EPREFIX}"/usr/$(get_libdir)/llvm \
|
||||
"${ED}"/usr/bin/* || die
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
# Move files back.
|
||||
if path_exists -o "${ED}"/tmp/llvm-config.*; then
|
||||
mv "${ED}"/tmp/llvm-config.* "${ED}"/usr/bin || die
|
||||
fi
|
||||
else
|
||||
# Preserve ABI-variant of llvm-config,
|
||||
# then drop all the executables since LLVM doesn't like to
|
||||
# clobber when installing.
|
||||
mkdir -p "${ED}"/tmp || die
|
||||
mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/llvm-config.${ABI} || die
|
||||
rm -r "${ED}"/usr/bin || die
|
||||
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= libpv=${PV}
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
eval $(grep PACKAGE_VERSION= configure)
|
||||
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
|
||||
for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
|
||||
# libEnhancedDisassembly is Darwin10 only, so non-fatal
|
||||
# + omit clang libs if not enabled
|
||||
[[ -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}/lib{LTO,clang}.dylib ; do
|
||||
# omit clang libs if not enabled
|
||||
[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
|
||||
|
||||
odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
|
||||
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
|
||||
install_name_tool \
|
||||
-change "${odylib}" \
|
||||
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
|
||||
-change "@rpath/libclang.dylib" \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
-change "${S}"/Release/lib/libclang.dylib \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
"${f}"
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
if use doc; then
|
||||
doman docs/_build/man/*.1
|
||||
dohtml -r docs/_build/html/
|
||||
else
|
||||
doman "${WORKDIR}"/${P}-manpages/*.1
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins utils/vim/*.vim
|
||||
|
||||
if use clang; then
|
||||
cd tools/clang || die
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
python_inst() {
|
||||
if use static-analyzer ; then
|
||||
pushd tools/scan-view >/dev/null || die
|
||||
|
||||
python_doscript scan-view
|
||||
|
||||
touch __init__.py || die
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
pushd bindings/python/clang >/dev/null || die
|
||||
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py cindex.py enumerations.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# AddressSanitizer symbolizer (currently separate)
|
||||
python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
}
|
||||
python_foreach_impl python_inst
|
||||
fi
|
||||
}
|
@ -1,218 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.3.ebuild,v 1.4 2013/07/28 15:59:24 aballier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
# pypy gives me around 1700 unresolved tests due to open file limit
|
||||
# being exceeded. probably GC does not close them fast enough.
|
||||
PYTHON_COMPAT=( python{2_5,2_6,2_7} )
|
||||
|
||||
inherit eutils flag-o-matic multilib python-any-r1 toolchain-funcs pax-utils
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
|
||||
!doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug doc gold +libffi multitarget ocaml test udis86 vim-syntax video_cards_radeon"
|
||||
|
||||
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-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
|
||||
)
|
||||
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
|
||||
sys-libs/zlib
|
||||
doc? ( dev-python/sphinx )
|
||||
gold? ( >=sys-devel/binutils-2.22[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+)] )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi )
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
S=${WORKDIR}/${P}.src
|
||||
|
||||
pkg_setup() {
|
||||
# Required for test and build
|
||||
python-any-r1_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 "/ActiveLibDir = ActivePrefix/s/lib/$(get_libdir)\/${PN}/" \
|
||||
-i tools/llvm-config/llvm-config.cpp || 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
|
||||
|
||||
# FileCheck is needed at least for dragonegg tests
|
||||
sed -e "/NO_INSTALL = 1/s/^/#/" -i utils/FileCheck/Makefile \
|
||||
|| die "FileCheck Makefile sed failed"
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${P}-R600_debug.patch
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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,cpp"
|
||||
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 video_cards_radeon; then
|
||||
CONF_FLAGS="${CONF_FLAGS}
|
||||
--enable-experimental-targets=R600"
|
||||
fi
|
||||
|
||||
if use libffi; then
|
||||
append-cppflags "$(pkg-config --cflags libffi)"
|
||||
fi
|
||||
CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
|
||||
|
||||
# llvm prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1
|
||||
|
||||
if use doc; then
|
||||
emake -C docs -f Makefile.sphinx man
|
||||
emake -C docs -f Makefile.sphinx html
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
pax-mark m Debug+Asserts+Checks/bin/lli
|
||||
else
|
||||
pax-mark m Release/bin/lli
|
||||
fi
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
|
||||
pax-mark m unittests/Support/Release/SupportTests
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install
|
||||
|
||||
if use doc; then
|
||||
doman docs/_build/man/*.1
|
||||
dohtml -r docs/_build/html/
|
||||
else
|
||||
doman "${WORKDIR}"/${P}-manpages/*.1
|
||||
fi
|
||||
|
||||
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= libpv=${PV}
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
eval $(grep PACKAGE_VERSION= configure)
|
||||
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
|
||||
for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt}.dylib {BugpointPasses,LLVMHello}.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-${libpv}.dylib)
|
||||
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
|
||||
install_name_tool \
|
||||
-change "${odylib}" \
|
||||
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
|
||||
"${f}"
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
@ -1,376 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.48 2013/08/02 12:25:46 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_5,2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit subversion eutils flag-o-matic multilib multilib-minimal \
|
||||
python-r1 toolchain-funcs pax-utils check-reqs
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="http://llvm.org/"
|
||||
SRC_URI=""
|
||||
ESVN_REPO_URI="http://llvm.org/svn/llvm-project/llvm/trunk"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="clang debug doc gold +libffi multitarget ocaml python
|
||||
+static-analyzer test udis86 video_cards_radeon"
|
||||
|
||||
DEPEND="app-admin/chrpath
|
||||
dev-lang/perl
|
||||
dev-python/sphinx
|
||||
>=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-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
|
||||
)
|
||||
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
|
||||
sys-libs/zlib
|
||||
gold? ( >=sys-devel/binutils-2.22[cxx] )
|
||||
libffi? ( virtual/pkgconfig
|
||||
virtual/libffi[${MULTILIB_USEDEP}] )
|
||||
ocaml? ( dev-lang/ocaml )
|
||||
udis86? ( dev-libs/udis86[pic(+),${MULTILIB_USEDEP}] )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="dev-lang/perl
|
||||
libffi? ( virtual/libffi[${MULTILIB_USEDEP}] )
|
||||
clang? (
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
static-analyzer? (
|
||||
dev-lang/perl
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
)
|
||||
udis86? ( dev-libs/udis86[pic(+),${MULTILIB_USEDEP}] )
|
||||
clang? ( !<=sys-devel/clang-9999-r99 )
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
|
||||
|
||||
# pypy gives me around 1700 unresolved tests due to open file limit
|
||||
# being exceeded. probably GC does not close them fast enough.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
test? ( || ( $(python_gen_useflags 'python*') ) )"
|
||||
|
||||
pkg_pretend() {
|
||||
# in megs
|
||||
# !clang !debug !multitarget -O2 400
|
||||
# !clang !debug multitarget -O2 550
|
||||
# clang !debug !multitarget -O2 950
|
||||
# clang !debug multitarget -O2 1200
|
||||
# !clang debug multitarget -O2 5G
|
||||
# clang !debug multitarget -O0 -g 12G
|
||||
# clang debug multitarget -O2 16G
|
||||
# clang debug multitarget -O0 -g 14G
|
||||
|
||||
local build_size=550
|
||||
use clang && build_size=1200
|
||||
|
||||
if use debug; then
|
||||
ewarn "USE=debug is known to increase the size of package considerably"
|
||||
ewarn "and cause the tests to fail."
|
||||
ewarn
|
||||
|
||||
(( build_size *= 14 ))
|
||||
elif is-flagq -g || is-flagq -ggdb; then
|
||||
ewarn "The C++ compiler -g option is known to increase the size of the package"
|
||||
ewarn "considerably. If you run out of space, please consider removing it."
|
||||
ewarn
|
||||
|
||||
(( build_size *= 10 ))
|
||||
fi
|
||||
|
||||
# Multiply by number of ABIs :).
|
||||
local abis=( $(multilib_get_enabled_abis) )
|
||||
(( build_size *= ${#abis[@]} ))
|
||||
|
||||
local CHECKREQS_DISK_BUILD=${build_size}M
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pkg_pretend
|
||||
|
||||
# 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_unpack() {
|
||||
if use clang; then
|
||||
ESVN_PROJECT=compiler-rt S="${S}"/projects/compiler-rt subversion_fetch "http://llvm.org/svn/llvm-project/compiler-rt/trunk"
|
||||
|
||||
# Force version match between LLVM, compiler-rt & clang
|
||||
# but first work-around subversion.eclass smartness, bug #282486.
|
||||
ESVN_PROJECT=compiler-rt subversion_wc_info "http://llvm.org/svn/llvm-project/compiler-rt/trunk"
|
||||
local ESVN_REVISION=${ESVN_WC_REVISION}
|
||||
|
||||
ESVN_PROJECT=clang S="${S}"/tools/clang subversion_fetch "http://llvm.org/svn/llvm-project/cfe/trunk"
|
||||
fi
|
||||
|
||||
# Do llvm last so that ESVN_WC_* is top-level.
|
||||
subversion_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
|
||||
epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch
|
||||
use clang && epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch
|
||||
|
||||
local sub_files=(
|
||||
Makefile.config.in
|
||||
Makefile.rules
|
||||
tools/llvm-config/llvm-config.cpp
|
||||
)
|
||||
use clang && sub_files+=(
|
||||
tools/clang/lib/Driver/Tools.cpp
|
||||
tools/clang/tools/scan-build/scan-build
|
||||
)
|
||||
|
||||
# unfortunately ./configure won't listen to --mandir and the-like, so take
|
||||
# care of this.
|
||||
# note: we're setting the main libdir intentionally.
|
||||
# where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
|
||||
einfo "Fixing install dirs"
|
||||
sed -e "s,@libdir@,$(get_libdir),g" \
|
||||
-e "s,@PF@,${PF},g" \
|
||||
-e "s,@EPREFIX@,${EPREFIX},g" \
|
||||
-i "${sub_files[@]}" \
|
||||
|| die "install paths sed failed"
|
||||
|
||||
# User patches
|
||||
epatch_user
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local CONF_FLAGS="--enable-keep-symbols
|
||||
--enable-shared
|
||||
--with-optimize-option=
|
||||
$(use_enable !debug optimized)
|
||||
$(use_enable debug assertions)
|
||||
$(use_enable debug expensive-checks)"
|
||||
|
||||
if use clang; then
|
||||
CONF_FLAGS+="
|
||||
--with-clang-resource-dir=../lib/clang/3.4"
|
||||
fi
|
||||
|
||||
if use multitarget; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
|
||||
else
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-targets=host,cpp"
|
||||
if use video_cards_radeon; then
|
||||
CONF_FLAGS="${CONF_FLAGS},r600"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
|
||||
fi
|
||||
|
||||
if multilib_is_native_abi && use gold; then
|
||||
CONF_FLAGS="${CONF_FLAGS} --with-binutils-include=${EPREFIX}/usr/include/"
|
||||
fi
|
||||
if multilib_is_native_abi && 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)"
|
||||
|
||||
# build with a suitable Python version
|
||||
python_export_best
|
||||
|
||||
# llvm prefers clang over gcc, so we may need to force that
|
||||
tc-export CC CXX
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf ${CONF_FLAGS}
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake VERBOSE=1 REQUIRES_RTTI=1 GENTOO_LIBDIR=$(get_libdir)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
emake -C "${S}"/docs -f Makefile.sphinx man
|
||||
use doc && emake -C "${S}"/docs -f Makefile.sphinx html
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
|
||||
pax-mark m Debug+Asserts+Checks/bin/lli
|
||||
else
|
||||
pax-mark m Release/bin/llvm-rtdyld
|
||||
pax-mark m Release/bin/lli
|
||||
fi
|
||||
if use test; then
|
||||
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
|
||||
pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
|
||||
pax-mark m unittests/Support/Release/SupportTests
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
default
|
||||
|
||||
use clang && emake -C tools/clang test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/llvm/Config/config.h
|
||||
/usr/include/llvm/Config/llvm-config.h
|
||||
)
|
||||
|
||||
use clang && MULTILIB_WRAPPED_HEADERS+=(
|
||||
/usr/include/clang/Config/config.h
|
||||
)
|
||||
|
||||
multilib-minimal_src_install
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" GENTOO_LIBDIR=$(get_libdir) install
|
||||
|
||||
# Fix rpaths.
|
||||
chrpath -r "${EPREFIX}"/usr/$(get_libdir)/llvm \
|
||||
"${ED}"/usr/bin/* || die
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
# Move files back.
|
||||
if path_exists -o "${ED}"/tmp/llvm-config.*; then
|
||||
mv "${ED}"/tmp/llvm-config.* "${ED}"/usr/bin || die
|
||||
fi
|
||||
else
|
||||
# Preserve ABI-variant of llvm-config,
|
||||
# then drop all the executables since LLVM doesn't like to
|
||||
# clobber when installing.
|
||||
mkdir -p "${ED}"/tmp || die
|
||||
mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/llvm-config.${ABI} || die
|
||||
rm -r "${ED}"/usr/bin || die
|
||||
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= libpv=${PV}
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
eval $(grep PACKAGE_VERSION= configure)
|
||||
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
|
||||
for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
|
||||
# libEnhancedDisassembly is Darwin10 only, so non-fatal
|
||||
# + omit clang libs if not enabled
|
||||
[[ -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}/lib{LTO,clang}.dylib ; do
|
||||
# omit clang libs if not enabled
|
||||
[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
|
||||
|
||||
odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
|
||||
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
|
||||
install_name_tool \
|
||||
-change "${odylib}" \
|
||||
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
|
||||
-change "@rpath/libclang.dylib" \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
-change "${S}"/Release/lib/libclang.dylib \
|
||||
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
|
||||
"${f}"
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
doman docs/_build/man/*.1
|
||||
use doc && dohtml -r docs/_build/html/
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins utils/vim/*.vim
|
||||
|
||||
if use clang; then
|
||||
cd tools/clang || die
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
python_inst() {
|
||||
if use static-analyzer ; then
|
||||
pushd tools/scan-view >/dev/null || die
|
||||
|
||||
python_doscript scan-view
|
||||
|
||||
touch __init__.py || die
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
pushd bindings/python/clang >/dev/null || die
|
||||
|
||||
python_moduleinto clang
|
||||
python_domodule __init__.py cindex.py enumerations.py
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# AddressSanitizer symbolizer (currently separate)
|
||||
python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
|
||||
}
|
||||
python_foreach_impl python_inst
|
||||
fi
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
<?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>
|
||||
<maintainer>
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</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='clang'>Build the clang C/C++ compiler</flag>
|
||||
<flag name='doc'>Build and install the HTML documentation and regenerate the man pages</flag>
|
||||
<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='static-analyzer'>Install the Clang static analyzer (requires USE=clang)</flag>
|
||||
<flag name='udis86'>Enable support for <pkg>dev-libs/udis86</pkg> disassembler library</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
Loading…
Reference in New Issue
Block a user