Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/, sys-devel/llvm/files/
Date: Tue, 05 Jul 2016 19:04:46
Message-Id: 1467745475.d77c5d128cd577ccc618b0ba2b3317a519405526.mgorny@gentoo
1 commit: d77c5d128cd577ccc618b0ba2b3317a519405526
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jun 4 20:33:59 2016 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 5 19:04:35 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d77c5d12
7
8 sys-devel/llvm: Drop 3.4.2
9
10 sys-devel/llvm/Manifest | 5 -
11 ...clang-3.1-gentoo-runtime-gcc-detection-v3.patch | 29 --
12 .../llvm/files/clang-3.4-darwin_build_fix.patch | 47 --
13 .../llvm/files/clang-3.4-gentoo-install.patch | 80 ---
14 .../llvm/files/llvm-3.3-cmake-modulepath.patch | 24 -
15 .../llvm/files/llvm-3.4-cmake-configparser.patch | 35 --
16 sys-devel/llvm/files/llvm-3.4-gentoo-install.patch | 96 ----
17 sys-devel/llvm/llvm-3.4.2.ebuild | 571 ---------------------
18 sys-devel/llvm/metadata.xml | 2 -
19 9 files changed, 889 deletions(-)
20
21 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
22 index be88838..b21128e 100644
23 --- a/sys-devel/llvm/Manifest
24 +++ b/sys-devel/llvm/Manifest
25 @@ -1,16 +1,13 @@
26 -DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd
27 DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7
28 DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
29 DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
30 DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
31 DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3
32 -DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
33 DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
34 DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
35 DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
36 DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
37 DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9
38 -DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
39 DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
40 DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
41 DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
42 @@ -18,8 +15,6 @@ DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e3
43 DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5
44 DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
45 DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049
46 -DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6
47 -DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c
48 DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819
49 DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1
50 DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256
51
52 diff --git a/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch b/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
53 deleted file mode 100644
54 index 49f1085..0000000
55 --- a/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
56 +++ /dev/null
57 @@ -1,29 +0,0 @@
58 -diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
59 ---- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:32:31.593191000 -0400
60 -+++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:38:31.733163513 -0400
61 -@@ -1145,6 +1145,25 @@ Generic_GCC::GCCInstallationDetector::GC
62 - Prefixes.push_back(D.InstalledDir + "/..");
63 - }
64 -
65 -+ llvm::OwningPtr<llvm::MemoryBuffer> File;
66 -+ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) {
67 -+ if (!llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str(), File))
68 -+ {
69 -+ bool Exists;
70 -+ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str();
71 -+ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText;
72 -+ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
73 -+ {
74 -+ Version = GCCVersion::Parse(VersionText);
75 -+ GCCInstallPath = GentooPath;
76 -+ GCCParentLibPath = GCCInstallPath + "/../../..";
77 -+ GCCTriple.setTriple(CandidateTripleAliases[k]);
78 -+ IsValid = true;
79 -+ return;
80 -+ }
81 -+ }
82 -+ }
83 -+
84 - // Loop over the various components which exist and select the best GCC
85 - // installation available. GCC installs are ranked by version number.
86 - Version = GCCVersion::Parse("0.0.0");
87
88 diff --git a/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch b/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch
89 deleted file mode 100644
90 index 113b04b..0000000
91 --- a/sys-devel/llvm/files/clang-3.4-darwin_build_fix.patch
92 +++ /dev/null
93 @@ -1,47 +0,0 @@
94 -Our (gcc/binutils) toolchain doesn't do ARM targets, hence we will get
95 -"unable to interface with target machine" errors while building if we
96 -attempt to. Disable those targets.
97 -
98 -Patch by Reza Jelveh from
99 -https://github.com/fishman/timebomb-gentoo-osx-overlay/blob/master/sys-devel/llvm/files/llvm-3.4-fix_darwin_build.patch
100 -
101 ---- a/projects/compiler-rt/make/platform/clang_darwin_embedded.mk
102 -+++ b/projects/compiler-rt/make/platform/clang_darwin_embedded.mk
103 -@@ -27,20 +27,20 @@ UniversalArchs :=
104 - # Soft-float version of the runtime. No floating-point instructions will be used
105 - # and the ABI (out of necessity) passes floating values in normal registers:
106 - # non-VFP variant of the AAPCS.
107 --Configs += soft_static
108 --UniversalArchs.soft_static := armv6m armv7m armv7em armv7
109 -+# Configs += soft_static
110 -+# UniversalArchs.soft_static := armv6m armv7m armv7em armv7
111 -
112 - # Hard-float version of the runtime. On ARM VFP instructions and registers are
113 - # allowed, and floating point values get passed in them. VFP variant of the
114 - # AAPCS.
115 - Configs += hard_static
116 --UniversalArchs.hard_static := armv7em armv7 i386 x86_64
117 -+UniversalArchs.hard_static := i386 x86_64
118 -
119 --Configs += soft_pic
120 --UniversalArchs.soft_pic := armv6m armv7m armv7em armv7
121 -+# Configs += soft_pic
122 -+# UniversalArchs.soft_pic := armv6m armv7m armv7em armv7
123 -
124 - Configs += hard_pic
125 --UniversalArchs.hard_pic := armv7em armv7 i386 x86_64
126 -+UniversalArchs.hard_pic := i386 x86_64
127 -
128 - CFLAGS := -Wall -Werror -Oz -fomit-frame-pointer -ffreestanding
129 -
130 ---- a/tools/clang/runtime/compiler-rt/Makefile
131 -+++ b/tools/clang/runtime/compiler-rt/Makefile
132 -@@ -85,7 +85,7 @@ RuntimeLibrary.darwin.Configs := \
133 - profile_osx.a profile_ios.a \
134 - ubsan_osx.a
135 - RuntimeLibrary.darwin_embedded.Configs := \
136 -- soft_static.a hard_static.a soft_pic.a hard_pic.a
137 -+ hard_static.a hard_pic.a
138 -
139 - # Support building compiler-rt with relocatable SDKs.
140 - #
141
142 diff --git a/sys-devel/llvm/files/clang-3.4-gentoo-install.patch b/sys-devel/llvm/files/clang-3.4-gentoo-install.patch
143 deleted file mode 100644
144 index 0a1d9eb..0000000
145 --- a/sys-devel/llvm/files/clang-3.4-gentoo-install.patch
146 +++ /dev/null
147 @@ -1,80 +0,0 @@
148 -From a12fc090b3b43fe25c7de50c09782611e3834aeb Mon Sep 17 00:00:00 2001
149 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
150 -Date: Sat, 14 Jun 2014 19:35:33 +0200
151 -Subject: [PATCH] clang gentoo fixes
152 -
153 ----
154 - tools/clang/lib/Driver/Tools.cpp | 6 +++---
155 - tools/clang/tools/scan-build/scan-build | 4 ++--
156 - tools/clang/tools/scan-view/scan-view | 2 +-
157 - 3 files changed, 6 insertions(+), 6 deletions(-)
158 -
159 -diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
160 -index b013eb5..dbbcacb 100644
161 ---- a/tools/clang/lib/Driver/Tools.cpp
162 -+++ b/tools/clang/lib/Driver/Tools.cpp
163 -@@ -222,7 +222,7 @@ static void addProfileRT(const ToolChain &TC, const ArgList &Args,
164 - // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is
165 - // not supported by old linkers.
166 - std::string ProfileRT =
167 -- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a";
168 -+ "-l:libprofile_rt.a";
169 -
170 - CmdArgs.push_back(Args.MakeArgString(ProfileRT));
171 - }
172 -@@ -5911,7 +5911,7 @@ void freebsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
173 - // forward.
174 - if (D.IsUsingLTO(Args)) {
175 - CmdArgs.push_back("-plugin");
176 -- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
177 -+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so";
178 - CmdArgs.push_back(Args.MakeArgString(Plugin));
179 -
180 - // Try to pass driver level flags relevant to LTO code generation down to
181 -@@ -6534,7 +6534,7 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
182 - // forward.
183 - if (D.IsUsingLTO(Args)) {
184 - CmdArgs.push_back("-plugin");
185 -- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
186 -+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so";
187 - CmdArgs.push_back(Args.MakeArgString(Plugin));
188 -
189 - // Try to pass driver level flags relevant to LTO code generation down to
190 -diff --git a/tools/clang/tools/scan-build/scan-build b/tools/clang/tools/scan-build/scan-build
191 -index 0f119f6..58f78d9 100755
192 ---- a/tools/clang/tools/scan-build/scan-build
193 -+++ b/tools/clang/tools/scan-build/scan-build
194 -@@ -419,7 +419,7 @@ sub CopyFiles {
195 -
196 - my $Dir = shift;
197 -
198 -- my $JS = Cwd::realpath("$RealBin/sorttable.js");
199 -+ my $JS = Cwd::realpath("@EPREFIX@/usr/share/llvm/sorttable.js");
200 -
201 - DieDiag("Cannot find 'sorttable.js'.\n")
202 - if (! -r $JS);
203 -@@ -429,7 +429,7 @@ sub CopyFiles {
204 - DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
205 - if (! -r "$Dir/sorttable.js");
206 -
207 -- my $CSS = Cwd::realpath("$RealBin/scanview.css");
208 -+ my $CSS = Cwd::realpath("@EPREFIX@/usr/share/llvm/scanview.css");
209 -
210 - DieDiag("Cannot find 'scanview.css'.\n")
211 - if (! -r $CSS);
212 -diff --git a/tools/clang/tools/scan-view/scan-view b/tools/clang/tools/scan-view/scan-view
213 -index fb27da6..1f8ddb8 100755
214 ---- a/tools/clang/tools/scan-view/scan-view
215 -+++ b/tools/clang/tools/scan-view/scan-view
216 -@@ -54,7 +54,7 @@ def start_browser(port, options):
217 - webbrowser.open(url)
218 -
219 - def run(port, options, root):
220 -- import ScanView
221 -+ from clang import ScanView
222 - try:
223 - print 'Starting scan-view at: http://%s:%d'%(options.host,
224 - port)
225 ---
226 -2.0.0
227 -
228
229 diff --git a/sys-devel/llvm/files/llvm-3.3-cmake-modulepath.patch b/sys-devel/llvm/files/llvm-3.3-cmake-modulepath.patch
230 deleted file mode 100644
231 index 754ae46..0000000
232 --- a/sys-devel/llvm/files/llvm-3.3-cmake-modulepath.patch
233 +++ /dev/null
234 @@ -1,24 +0,0 @@
235 ---- cmake/modules/LLVMConfig.cmake.in.old 2013-12-30 14:40:54.888983600 +0100
236 -+++ cmake/modules/LLVMConfig.cmake.in 2013-12-30 14:44:15.448970509 +0100
237 -@@ -39,16 +39,10 @@
238 - set(LLVM_LIBRARY_DIRS ${LLVM_INSTALL_PREFIX}/lib)
239 - set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS")
240 -
241 --# We try to include using the current setting of CMAKE_MODULE_PATH,
242 --# which suppossedly was filled by the user with the directory where
243 --# this file was installed:
244 --include( LLVM-Config OPTIONAL RESULT_VARIABLE LLVMCONFIG_INCLUDED )
245 --
246 --# If failed, we assume that this is an un-installed build:
247 --if( NOT LLVMCONFIG_INCLUDED )
248 -- set(CMAKE_MODULE_PATH
249 -+# For some reasons without it it fails on Gentoo, see bug #496480
250 -+set(CMAKE_MODULE_PATH
251 - ${CMAKE_MODULE_PATH}
252 -- "@LLVM_SOURCE_DIR@/cmake/modules")
253 -- include( LLVM-Config )
254 --endif()
255 -+ "@LLVM_INSTALL_PREFIX@/share/llvm/cmake")
256 -+
257 -+include(LLVM-Config)
258 -
259
260 diff --git a/sys-devel/llvm/files/llvm-3.4-cmake-configparser.patch b/sys-devel/llvm/files/llvm-3.4-cmake-configparser.patch
261 deleted file mode 100644
262 index cda8bdc..0000000
263 --- a/sys-devel/llvm/files/llvm-3.4-cmake-configparser.patch
264 +++ /dev/null
265 @@ -1,35 +0,0 @@
266 -From 773560acfad511769017e971991c0305dbc0323d Mon Sep 17 00:00:00 2001
267 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
268 -Date: Wed, 11 Jun 2014 09:40:26 +0200
269 -Subject: [PATCH] Avoid using external configparser in favor of built-in
270 - ConfigParser.
271 -
272 -We only support Python 2 anyway, and configparser-3.2 is known to break
273 -the build. Since some packages actually force version 3.2, and we do not
274 -to pull in extra dependencies, forcing built-in seems to be the best
275 -option.
276 -
277 -Fixes: https://bugs.gentoo.org/show_bug.cgi?id=500856
278 ----
279 - utils/llvm-build/llvmbuild/componentinfo.py | 5 +----
280 - 1 file changed, 1 insertion(+), 4 deletions(-)
281 -
282 -diff --git a/utils/llvm-build/llvmbuild/componentinfo.py b/utils/llvm-build/llvmbuild/componentinfo.py
283 -index eda3a48..c963ef1 100644
284 ---- a/utils/llvm-build/llvmbuild/componentinfo.py
285 -+++ b/utils/llvm-build/llvmbuild/componentinfo.py
286 -@@ -3,10 +3,7 @@ Descriptor objects for entities that are part of the LLVM project.
287 - """
288 -
289 - from __future__ import absolute_import
290 --try:
291 -- import configparser
292 --except:
293 -- import ConfigParser as configparser
294 -+import ConfigParser as configparser
295 - import sys
296 -
297 - from llvmbuild.util import *
298 ---
299 -2.0.0
300 -
301
302 diff --git a/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch b/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch
303 deleted file mode 100644
304 index a2ba7de..0000000
305 --- a/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch
306 +++ /dev/null
307 @@ -1,96 +0,0 @@
308 -From b8846d389ff5e2b768a114f752cf39788accba26 Mon Sep 17 00:00:00 2001
309 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
310 -Date: Mon, 19 Aug 2013 13:22:46 +0200
311 -Subject: [PATCH] gentoo install fixes
312 -
313 ----
314 - Makefile.config.in | 6 +++---
315 - Makefile.rules | 6 +++---
316 - tools/llvm-config/BuildVariables.inc.in | 2 ++
317 - tools/llvm-config/Makefile | 4 ++++
318 - tools/llvm-config/llvm-config.cpp | 5 +++--
319 - utils/FileCheck/Makefile | 2 +-
320 - 7 files changed, 17 insertions(+), 10 deletions(-)
321 -
322 -diff --git a/Makefile.config.in b/Makefile.config.in
323 -index dcca45f..e75ae2e 100644
324 ---- a/Makefile.config.in
325 -+++ b/Makefile.config.in
326 -@@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix)
327 - endif
328 -
329 - PROJ_bindir := $(PROJ_prefix)/bin
330 --PROJ_libdir := $(PROJ_prefix)/lib
331 -+PROJ_libdir := $(PROJ_prefix)/$(GENTOO_LIBDIR)
332 - PROJ_datadir := $(PROJ_prefix)/share
333 --PROJ_docsdir := $(PROJ_prefix)/docs/llvm
334 --PROJ_etcdir := $(PROJ_prefix)/etc/llvm
335 -+PROJ_docsdir := $(PROJ_prefix)/share/doc/@PF@
336 -+PROJ_etcdir := @EPREFIX@/etc/llvm
337 - PROJ_includedir := $(PROJ_prefix)/include
338 - PROJ_infodir := $(PROJ_prefix)/info
339 - PROJ_mandir := $(PROJ_prefix)/share/man
340 -diff --git a/Makefile.rules b/Makefile.rules
341 -index e53598b..217f754 100644
342 ---- a/Makefile.rules
343 -+++ b/Makefile.rules
344 -@@ -275,7 +275,7 @@ ifeq ($(ENABLE_OPTIMIZED),1)
345 - BuildMode := Release
346 - # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
347 - ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin Darwin DragonFly FreeBSD GNU/kFreeBSD))
348 -- OmitFramePointer := -fomit-frame-pointer
349 -+ OmitFramePointer :=
350 - endif
351 -
352 - CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
353 -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
354 -index fe87afb..fd9f2c6 100644
355 ---- a/tools/llvm-config/BuildVariables.inc.in
356 -+++ b/tools/llvm-config/BuildVariables.inc.in
357 -@@ -25,3 +25,4 @@
358 - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
359 - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
360 - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
361 -+#define LLVM_LIBDIR "@LLVM_LIBDIR@"
362 -diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile
363 -index b20b6bf..fc56781 100644
364 ---- a/tools/llvm-config/Makefile
365 -+++ b/tools/llvm-config/Makefile
366 -@@ -55,6 +55,8 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
367 - >> temp.sed
368 - $(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \
369 - >> temp.sed
370 -+ $(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \
371 -+ >> temp.sed
372 - $(Verb) $(SED) -f temp.sed < $< > $@
373 - $(Verb) $(RM) temp.sed
374 -
375 -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
376 -index 3924e2e..f439c60 100644
377 ---- a/tools/llvm-config/llvm-config.cpp
378 -+++ b/tools/llvm-config/llvm-config.cpp
379 -@@ -250,7 +250,7 @@ int main(int argc, char **argv) {
380 - ActivePrefix = CurrentExecPrefix;
381 - ActiveIncludeDir = ActivePrefix + "/include";
382 - ActiveBinDir = ActivePrefix + "/bin";
383 -- ActiveLibDir = ActivePrefix + "/lib";
384 -+ ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR;
385 - ActiveIncludeOption = "-I" + ActiveIncludeDir;
386 - }
387 -
388 -diff --git a/utils/FileCheck/Makefile b/utils/FileCheck/Makefile
389 -index 268b7bc..e7674f9 100644
390 ---- a/utils/FileCheck/Makefile
391 -+++ b/utils/FileCheck/Makefile
392 -@@ -15,7 +15,7 @@ USEDLIBS = LLVMSupport.a
393 - TOOL_NO_EXPORTS = 1
394 -
395 - # Don't install this utility
396 --NO_INSTALL = 1
397 -+#NO_INSTALL = 1
398 -
399 - include $(LEVEL)/Makefile.common
400 -
401 ---
402 -1.8.4.2
403 -
404
405 diff --git a/sys-devel/llvm/llvm-3.4.2.ebuild b/sys-devel/llvm/llvm-3.4.2.ebuild
406 deleted file mode 100644
407 index c2ef13a..0000000
408 --- a/sys-devel/llvm/llvm-3.4.2.ebuild
409 +++ /dev/null
410 @@ -1,571 +0,0 @@
411 -# Copyright 1999-2015 Gentoo Foundation
412 -# Distributed under the terms of the GNU General Public License v2
413 -# $Id$
414 -
415 -EAPI=5
416 -
417 -PYTHON_COMPAT=( python2_7 pypy )
418 -# this causes some issues so make it optional for now.
419 -# 3.5 will have CMakeFiles support in autotools.
420 -WANT_CMAKE=cmake
421 -
422 -inherit cmake-utils eutils flag-o-matic multibuild multilib \
423 - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
424 -
425 -DESCRIPTION="Low Level Virtual Machine"
426 -HOMEPAGE="http://llvm.org/"
427 -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
428 - clang? ( http://llvm.org/releases/${PV}/compiler-rt-3.4.src.tar.gz
429 - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz
430 - http://llvm.org/releases/${PV}/clang-tools-extra-3.4.src.tar.gz )
431 - !doc? ( https://dev.gentoo.org/~mgorny/dist/${PN}-3.4-manpages.tar.bz2 )"
432 -
433 -LICENSE="UoI-NCSA"
434 -SLOT="0/3.4"
435 -KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
436 -IUSE="clang debug doc gold +libffi multitarget ncurses ocaml python
437 - +static-analyzer test udis86 xml video_cards_radeon
438 - kernel_Darwin kernel_FreeBSD"
439 -
440 -COMMON_DEPEND="
441 - sys-libs/zlib:0=
442 - clang? (
443 - python? ( ${PYTHON_DEPS} )
444 - static-analyzer? (
445 - dev-lang/perl:*
446 - ${PYTHON_DEPS}
447 - )
448 - xml? ( dev-libs/libxml2:2= )
449 - )
450 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
451 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
452 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
453 - ocaml? ( dev-lang/ocaml:0= )
454 - udis86? ( >=dev-libs/udis86-1.7-r2:0=[pic(+),${MULTILIB_USEDEP}] )"
455 -DEPEND="${COMMON_DEPEND}
456 - dev-lang/perl
457 - >=sys-devel/make-3.81
458 - >=sys-devel/flex-2.5.4
459 - >=sys-devel/bison-1.875d
460 - || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 >=sys-devel/llvm-3.3
461 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
462 - )
463 - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
464 - clang? ( xml? ( virtual/pkgconfig ) )
465 - doc? ( dev-python/sphinx )
466 - libffi? ( virtual/pkgconfig )
467 - ${PYTHON_DEPS}"
468 -RDEPEND="${COMMON_DEPEND}
469 - clang? ( !<=sys-devel/clang-${PV}-r99
470 - !>=sys-devel/clang-9999 )
471 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
472 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
473 -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
474 -
475 -# pypy gives me around 1700 unresolved tests due to open file limit
476 -# being exceeded. probably GC does not close them fast enough.
477 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
478 - test? ( || ( $(python_gen_useflags 'python*') ) )"
479 -
480 -S=${WORKDIR}/${P}.src
481 -
482 -# Some people actually override that in make.conf. That sucks since
483 -# we need to run install per-directory, and ninja can't do that...
484 -# so why did it call itself ninja in the first place?
485 -CMAKE_MAKEFILE_GENERATOR=emake
486 -
487 -MULTILIB_CHOST_TOOLS=(
488 - /usr/bin/llvm-config
489 -)
490 -
491 -pkg_pretend() {
492 - # in megs
493 - # !clang !debug !multitarget -O2 400
494 - # !clang !debug multitarget -O2 550
495 - # clang !debug !multitarget -O2 950
496 - # clang !debug multitarget -O2 1200
497 - # !clang debug multitarget -O2 5G
498 - # clang !debug multitarget -O0 -g 12G
499 - # clang debug multitarget -O2 16G
500 - # clang debug multitarget -O0 -g 14G
501 -
502 - local build_size=550
503 - use clang && build_size=1200
504 -
505 - if use debug; then
506 - ewarn "USE=debug is known to increase the size of package considerably"
507 - ewarn "and cause the tests to fail."
508 - ewarn
509 -
510 - (( build_size *= 14 ))
511 - elif is-flagq '-g?(gdb)?([1-9])'; then
512 - ewarn "The C++ compiler -g option is known to increase the size of the package"
513 - ewarn "considerably. If you run out of space, please consider removing it."
514 - ewarn
515 -
516 - (( build_size *= 10 ))
517 - fi
518 -
519 - # Multiply by number of ABIs :).
520 - local abis=( $(multilib_get_enabled_abis) )
521 - (( build_size *= ${#abis[@]} ))
522 -
523 - local CHECKREQS_DISK_BUILD=${build_size}M
524 - check-reqs_pkg_pretend
525 -}
526 -
527 -pkg_setup() {
528 - pkg_pretend
529 -
530 - # need to check if the active compiler is ok
531 -
532 - broken_gcc=( 3.2.2 3.2.3 3.3.2 4.1.1 )
533 - broken_gcc_x86=( 3.4.0 3.4.2 )
534 - broken_gcc_amd64=( 3.4.6 )
535 -
536 - gcc_vers=$(gcc-fullversion)
537 -
538 - if has "${gcc_vers}" "${broken_gcc[@]}"; then
539 - elog "Your version of gcc is known to miscompile llvm."
540 - elog "Check http://www.llvm.org/docs/GettingStarted.html for"
541 - elog "possible solutions."
542 - die "Your currently active version of gcc is known to miscompile llvm"
543 - fi
544 -
545 - if use abi_x86_32 && has "${gcc_vers}" "${broken_gcc_x86[@]}"; then
546 - elog "Your version of gcc is known to miscompile llvm on x86"
547 - elog "architectures. Check"
548 - elog "http://www.llvm.org/docs/GettingStarted.html for possible"
549 - elog "solutions."
550 - die "Your currently active version of gcc is known to miscompile llvm"
551 - fi
552 -
553 - if use abi_x86_64 && has "${gcc_vers}" "${broken_gcc_amd64[@]}"; then
554 - elog "Your version of gcc is known to miscompile llvm in amd64"
555 - elog "architectures. Check"
556 - elog "http://www.llvm.org/docs/GettingStarted.html for possible"
557 - elog "solutions."
558 - die "Your currently active version of gcc is known to miscompile llvm"
559 - fi
560 -}
561 -
562 -src_unpack() {
563 - default
564 -
565 - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
566 - || die "symlinks removal failed"
567 -
568 - if use clang; then
569 - mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \
570 - || die "clang source directory move failed"
571 - mv "${WORKDIR}"/compiler-rt-3.4 "${S}"/projects/compiler-rt \
572 - || die "compiler-rt source directory move failed"
573 - mv "${WORKDIR}"/clang-tools-extra-3.4 "${S}"/tools/clang/tools/extra \
574 - || die "clang-tools-extra source directory move failed"
575 - fi
576 -}
577 -
578 -src_prepare() {
579 - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
580 - epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch
581 - # Hack cmake search path for Gentoo, bug #496480
582 - epatch "${FILESDIR}"/${PN}-3.3-cmake-modulepath.patch
583 - # Use built-in ConfigParser to avoid failures with configparser-3.2
584 - # https://bugs.gentoo.org/show_bug.cgi?id=500856
585 - epatch "${FILESDIR}"/${PN}-3.4-cmake-configparser.patch
586 -
587 - if use clang; then
588 - # Automatically select active system GCC's libraries, bugs #406163 and #417913
589 - epatch "${FILESDIR}"/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
590 -
591 - epatch "${FILESDIR}"/clang-3.4-gentoo-install.patch
592 - epatch "${FILESDIR}"/clang-3.4-darwin_build_fix.patch
593 - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
594 - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
595 - fi
596 -
597 - if use prefix && use clang; then
598 - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
599 - projects/compiler-rt/make/platform/clang_*.mk || die
600 - fi
601 -
602 - local sub_files=(
603 - Makefile.config.in
604 - Makefile.rules
605 - tools/llvm-config/llvm-config.cpp
606 - )
607 - use clang && sub_files+=(
608 - tools/clang/lib/Driver/Tools.cpp
609 - tools/clang/tools/scan-build/scan-build
610 - )
611 -
612 - # unfortunately ./configure won't listen to --mandir and the-like, so take
613 - # care of this.
614 - # note: we're setting the main libdir intentionally.
615 - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
616 - einfo "Fixing install dirs"
617 - sed -e "s,@libdir@,$(get_libdir),g" \
618 - -e "s,@PF@,${PF},g" \
619 - -e "s,@EPREFIX@,${EPREFIX},g" \
620 - -i "${sub_files[@]}" \
621 - || die "install paths sed failed"
622 -
623 - if use clang; then
624 - # constantly fails for a long time, likely due to our patches
625 - rm tools/clang/test/Driver/cross-linux.c || die
626 - fi
627 -
628 - # User patches
629 - epatch_user
630 -
631 - python_setup
632 -}
633 -
634 -multilib_src_configure() {
635 - # disable timestamps since they confuse ccache
636 - local conf_flags=(
637 - --disable-timestamps
638 - --enable-keep-symbols
639 - --enable-shared
640 - --with-optimize-option=
641 - $(use_enable !debug optimized)
642 - $(use_enable debug assertions)
643 - $(use_enable debug expensive-checks)
644 - $(use_enable ncurses terminfo)
645 - $(use_enable libffi)
646 - )
647 -
648 - if use clang; then
649 - conf_flags+=( --with-clang-resource-dir=../lib/clang/${PV} )
650 - fi
651 - # well, it's used only by clang executable c-index-test
652 - if multilib_is_native_abi && use clang && use xml; then
653 - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
654 - else
655 - conf_flags+=( ac_cv_prog_XML2CONFIG="" )
656 - fi
657 -
658 - local targets bindings
659 - if use multitarget; then
660 - targets='all'
661 - else
662 - targets='host,cpp'
663 - use video_cards_radeon && targets+=',r600'
664 - fi
665 - conf_flags+=( --enable-targets=${targets} )
666 -
667 - if multilib_is_native_abi; then
668 - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
669 - # extra commas don't hurt
670 - use ocaml && bindings+=',ocaml'
671 - fi
672 -
673 - [[ ${bindings} ]] || bindings='none'
674 - conf_flags+=( --enable-bindings=${bindings} )
675 -
676 - if use udis86; then
677 - conf_flags+=( --with-udis86 )
678 - fi
679 -
680 - if use libffi; then
681 - local CPPFLAGS=${CPPFLAGS}
682 - append-cppflags "$(pkg-config --cflags libffi)"
683 - fi
684 -
685 - # llvm prefers clang over gcc, so we may need to force that
686 - tc-export CC CXX
687 -
688 - ECONF_SOURCE=${S} \
689 - econf "${conf_flags[@]}"
690 -
691 - multilib_is_native_abi && cmake_configure
692 -}
693 -
694 -cmake_configure() {
695 - # sadly, cmake doesn't seem to have host autodetection
696 - # but it's fairly easy to steal this from configured autotools
697 - local targets=$(sed -n -e 's/^TARGETS_TO_BUILD=//p' Makefile.config || die)
698 - local libdir=$(get_libdir)
699 - local mycmakeargs=(
700 - # just the stuff needed to get correct cmake modules
701 - $(cmake-utils_use ncurses LLVM_ENABLE_TERMINFO)
702 -
703 - -DLLVM_TARGETS_TO_BUILD="${targets// /;}"
704 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
705 - )
706 -
707 - BUILD_DIR=${S%/}_cmake \
708 - cmake-utils_src_configure
709 -}
710 -
711 -set_makeargs() {
712 - MAKEARGS=(
713 - VERBOSE=1
714 - REQUIRES_RTTI=1
715 - GENTOO_LIBDIR=$(get_libdir)
716 - )
717 -
718 - # for tests, we want it all! otherwise, we may use a little filtering...
719 - # adding ONLY_TOOLS also disables unittest building...
720 - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
721 - local tools=( llvm-config )
722 - use clang && tools+=( clang )
723 -
724 - if multilib_is_native_abi; then
725 - tools+=(
726 - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
727 - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
728 - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
729 - llvm-size llvm-stress llvm-mcmarkup llvm-symbolizer obj2yaml
730 - yaml2obj lto bugpoint
731 - )
732 -
733 - # the build system runs explicitly specified tools in parallel,
734 - # so we need to split it into two runs
735 - if [[ ${1} != -1 ]]; then
736 - # those require lto
737 - tools+=( llvm-lto )
738 - use gold && tools+=( gold )
739 -
740 - # those require clang :)
741 - # we need to explicitly specify all its tools
742 - # since we're passing BUILD_CLANG_ONLY
743 - use clang && tools+=(
744 - clang/tools/{clang-check,clang-format,extra}
745 - )
746 - fi
747 - fi
748 -
749 - MAKEARGS+=(
750 - # filter tools + disable unittests implicitly
751 - ONLY_TOOLS="${tools[*]}"
752 -
753 - # this disables unittests & docs from clang
754 - BUILD_CLANG_ONLY=YES
755 - )
756 - fi
757 -}
758 -
759 -multilib_src_compile() {
760 - local MAKEARGS
761 - set_makeargs -1
762 - emake "${MAKEARGS[@]}"
763 -
764 - if multilib_is_native_abi; then
765 - set_makeargs
766 - emake -C tools "${MAKEARGS[@]}"
767 -
768 - if use doc; then
769 - emake -C "${S}"/docs -f Makefile.sphinx man
770 - use clang && emake -C "${S}"/tools/clang/docs/tools \
771 - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
772 - emake -C "${S}"/docs -f Makefile.sphinx html
773 - fi
774 - fi
775 -
776 - if use debug; then
777 - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
778 - pax-mark m Debug+Asserts+Checks/bin/lli
779 - pax-mark m Debug+Asserts+Checks/bin/lli-child-target
780 - else
781 - pax-mark m Release/bin/llvm-rtdyld
782 - pax-mark m Release/bin/lli
783 - pax-mark m Release/bin/lli-child-target
784 - fi
785 -}
786 -
787 -multilib_src_test() {
788 - local MAKEARGS
789 - set_makeargs
790 -
791 - # build the remaining tools & unittests
792 - emake "${MAKEARGS[@]}"
793 -
794 - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
795 - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
796 - pax-mark m unittests/Support/Release/SupportTests
797 -
798 - # respect TMPDIR!
799 - local -x LIT_PRESERVES_TMP=1
800 - emake "${MAKEARGS[@]}" check
801 - use clang && emake "${MAKEARGS[@]}" -C tools/clang test
802 -}
803 -
804 -src_install() {
805 - local MULTILIB_WRAPPED_HEADERS=(
806 - /usr/include/llvm/Config/config.h
807 - /usr/include/llvm/Config/llvm-config.h
808 - )
809 -
810 - use clang && MULTILIB_WRAPPED_HEADERS+=(
811 - /usr/include/clang/Config/config.h
812 - )
813 -
814 - multilib-minimal_src_install
815 -
816 - # Remove unnecessary headers on FreeBSD, bug #417171
817 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h
818 -}
819 -
820 -multilib_src_install() {
821 - local MAKEARGS
822 - set_makeargs
823 -
824 - local root=${D}/_${ABI}
825 -
826 - emake "${MAKEARGS[@]}" DESTDIR="${root}" install
827 - multibuild_merge_root "${root}" "${D}"
828 -
829 - if ! multilib_is_native_abi; then
830 - # Backwards compat, will be happily removed someday.
831 - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
832 - else
833 - # Install docs.
834 - if use doc; then
835 - doman "${S}"/docs/_build/man/*.1
836 - use clang && doman "${T}"/clang.1
837 - dohtml -r "${S}"/docs/_build/html/
838 - else
839 - if ! use clang; then
840 - rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die
841 - fi
842 - doman "${WORKDIR}"/${PN}-3.4-manpages/*.1
843 - fi
844 -
845 - # Symlink the gold plugin.
846 - if use gold; then
847 - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
848 - dosym ../../../../$(get_libdir)/LLVMgold.so \
849 - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
850 - fi
851 -
852 - # install cmake modules
853 - if use cmake; then
854 - emake -C "${S%/}"_cmake/cmake/modules DESTDIR="${D}" install
855 - fi
856 - fi
857 -
858 - # apply CHOST and PV to clang executables
859 - # they're statically linked so we don't have to worry about the lib
860 - if use clang; then
861 - local clang_tools=( clang clang++ )
862 - local i
863 -
864 - # append ${PV} and symlink back
865 - # TODO: use alternatives.eclass? does that make any sense?
866 - # maybe with USE=-clang on :0 and USE=clang on older
867 - for i in "${clang_tools[@]}"; do
868 - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
869 - dosym "${i}"-${PV} /usr/bin/${i}
870 - done
871 -
872 - # now prepend ${CHOST} and let the multilib-build.eclass symlink it
873 - if ! multilib_is_native_abi; then
874 - # non-native? let's replace it with a simple wrapper
875 - for i in "${clang_tools[@]}"; do
876 - rm "${ED%/}/usr/bin/${i}-${PV}" || die
877 - cat > "${T}"/wrapper.tmp <<-_EOF_
878 - #!${EPREFIX}/bin/sh
879 - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
880 - _EOF_
881 - newbin "${T}"/wrapper.tmp "${i}-${PV}"
882 - done
883 - fi
884 - fi
885 -
886 - # Fix install_names on Darwin. The build system is too complicated
887 - # to just fix this, so we correct it post-install
888 - local lib= f= odylib= ndylib= libpv=${PV}
889 - if [[ ${CHOST} == *-darwin* ]] ; then
890 - eval $(grep PACKAGE_VERSION= configure)
891 - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
892 - libpvminor=${libpv%.[0-9]*}
893 - for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_{osx,iossim}_dynamic.dylib; do
894 - # libEnhancedDisassembly is Darwin10 only, so non-fatal
895 - # + omit clang libs if not enabled
896 - [[ -f ${ED}/usr/lib/${lib} ]] || continue
897 -
898 - ebegin "fixing install_name of $lib"
899 - install_name_tool \
900 - -id "${EPREFIX}"/usr/lib/${lib} \
901 - "${ED}"/usr/lib/${lib}
902 - eend $?
903 - done
904 - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
905 - # omit clang libs if not enabled
906 - [[ -f "${f}" ]] || continue
907 -
908 - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
909 - while read odylib ; do
910 - ndylib=
911 - case ${odylib} in
912 - */libclang.dylib)
913 - ndylib="${EPREFIX}"/usr/lib/libclang.dylib
914 - ;;
915 - */libLLVM-${libpv}.dylib)
916 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
917 - ;;
918 - */libLLVM-${libpvminor}.dylib)
919 - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
920 - ;;
921 - */libLTO.dylib)
922 - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
923 - ;;
924 - esac
925 - if [[ -n ${ndylib} ]] ; then
926 - ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
927 - install_name_tool \
928 - -change "${odylib}" "${ndylib}" \
929 - "${f}"
930 - eend $?
931 - fi
932 - done
933 - done
934 - fi
935 -}
936 -
937 -multilib_src_install_all() {
938 - insinto /usr/share/vim/vimfiles/syntax
939 - doins utils/vim/*.vim
940 -
941 - if use clang; then
942 - cd tools/clang || die
943 -
944 - if use static-analyzer ; then
945 - dobin tools/scan-build/ccc-analyzer
946 - dosym ccc-analyzer /usr/bin/c++-analyzer
947 - dobin tools/scan-build/scan-build
948 -
949 - insinto /usr/share/${PN}
950 - doins tools/scan-build/scanview.css
951 - doins tools/scan-build/sorttable.js
952 - fi
953 -
954 - python_inst() {
955 - if use static-analyzer ; then
956 - pushd tools/scan-view >/dev/null || die
957 -
958 - python_doscript scan-view
959 -
960 - touch __init__.py || die
961 - python_moduleinto clang
962 - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
963 -
964 - popd >/dev/null || die
965 - fi
966 -
967 - if use python ; then
968 - pushd bindings/python/clang >/dev/null || die
969 -
970 - python_moduleinto clang
971 - python_domodule __init__.py cindex.py enumerations.py
972 -
973 - popd >/dev/null || die
974 - fi
975 -
976 - # AddressSanitizer symbolizer (currently separate)
977 - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
978 - }
979 - python_foreach_impl python_inst
980 - fi
981 -}
982
983 diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
984 index 3a671d6..7371a1f 100644
985 --- a/sys-devel/llvm/metadata.xml
986 +++ b/sys-devel/llvm/metadata.xml
987 @@ -20,13 +20,11 @@
988 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>
989 <use>
990 <flag name="clang">Build the clang C/C++ compiler</flag>
991 - <flag name="cmake">Enable cmake support (experimental)</flag>
992 <flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
993 <flag name="gold">Build the gold linker plugin</flag>
994 <flag name="lldb">Build the lldb debugger</flag>
995 <flag name="multitarget">Build all host targets (default: host only)</flag>
996 <flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag>
997 <flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag>
998 - <flag name="udis86">Enable support for <pkg>dev-libs/udis86</pkg> disassembler library</flag>
999 </use>
1000 </pkgmetadata>