sys-devel/llvm: Drop 3.4.2

This commit is contained in:
Michał Górny
2016-06-04 22:33:59 +02:00
parent 10d0dcb1d6
commit d77c5d128c
9 changed files with 0 additions and 889 deletions

View File

@@ -1,16 +1,13 @@
DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd
DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8
DIST cfe-3.7.1.src.tar.xz 9110616 SHA256 56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 SHA512 8e3285a32ad0fd4721fa77c4fb9709f31bb4e4f7cb5245357aaf57b0767b6ef18a30d902b59d1437a6febffb6c2128214f9ce5aa913bb298743221a28c4f9de5 WHIRLPOOL ce300f5023bddda59ee055e4dccdca8bf459fae5d4e91c44262d2830c406b798d697d1bf3c6326ff41b969a8439f94a3c83570f1d0151a7f0223eb0d8f324f7b
DIST cfe-3.8.0.src.tar.xz 9627228 SHA256 04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9 SHA512 fef431d63f95a394d53e3857fb6a6bde7a7b27f40ef5111b4353bcb63ac26febec8a9eb84780187c49699ab099834f13f996f085d02c365676b3fa5bbcc03dcd WHIRLPOOL 10fd94f75f645318ed3436454ccffd570a88cafe35e870563b5f4d89c37b9bdbe282d8793301ca53db6774cc223b2ff7ab0af99293413cac3deefcf5150fcca3
DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd
DIST clang-tools-extra-3.7.1.src.tar.xz 277476 SHA256 4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b SHA512 06e2db8af75f1e6ee82da6ee723b5256b9e3f6ba196428f18944ec02d07df26d04329ca8824a083c5f25274ce7e3469aa75e3a29ccfbdb6375524841d65e3ad7 WHIRLPOOL 2c1a459d6aff6bc24d5c8d38120ab665adbef61394050781a9707d50e83dae1b4997ed19459086e9bd7f6dd38a09c295d135e33515c947d64a7f1ab714ad8beb
DIST clang-tools-extra-3.8.0.src.tar.xz 334072 SHA256 afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4 SHA512 f0e593a76df5485f403079bd2fbb4e51c3d1c3fc4e63e2c2910894e8f2a7c14b47265435f3c52f035fb3fe2f595812d0f9869235296157a39c071a23e6a8b178 WHIRLPOOL 4928669a3c019eebe0a98ee72e25ef70ddf3c1d29e6a4aa18e408276b2a870069460c39e0e8fbe960d8d56127bb6951433d1fd89015d192951004e527b065ec9
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d
@@ -18,8 +15,6 @@ DIST compiler-rt-3.7.1.src.tar.xz 1181772 SHA256 9d4769e4a927d3824bcb7a9c82b01e3
DIST compiler-rt-3.8.0.src.tar.xz 1270128 SHA256 c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0 SHA512 21ba548b6b35a79aa291adba7f83db14c33855fa3cf376f2ad75bd22bb454501b74f0ea4f71bc03a864135862c800b101d3cd790e54e687c2a3459c64218b9c3 WHIRLPOOL 63ceb498fbc4083afda4f4aa12e44b8a6d2b58408edacd7d578d3cd6a63f0c1074e453b950fae4fee51690b3f79700e7752b6ceb3e6980c88541314993ce71a5
DIST lldb-3.7.1.src.tar.xz 10650524 SHA256 9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01 SHA512 d2d3e1052026edd6ef9113ff5362acb4a32cef598098b4031c35e389301130ef2e1bda594f30de4d65c9fdc0beaecdd35afcf36676eb540baad34015aca294d1 WHIRLPOOL bba9c700788f0cf86ac1de51383a223e1c92f724719cdd327d83189cb77714c1e10fb78569aeed3b3c639062a3410bb114f646a271fd0d9e8c9a8e45d090330a
DIST lldb-3.8.0.src.tar.xz 10929768 SHA256 e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35 SHA512 a491209ae12b0c7d938ebd94362396a50922326ed24ed11f71b1f19b61274a34a92d2bd46857b44081e7fa3e6d0a641d148bd4022f8edf71f80ff2aa7a55ebef WHIRLPOOL c498c22acab867419143745ce0212c70bdfc141dbae19ab53221908eba7961aae6a029cbad01b8409e6fbc187550141ed87f32366dd847ac57754891fbbc4049
DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6
DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c
DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819
DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1
DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256

View File

@@ -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");

View File

@@ -1,47 +0,0 @@
Our (gcc/binutils) toolchain doesn't do ARM targets, hence we will get
"unable to interface with target machine" errors while building if we
attempt to. Disable those targets.
Patch by Reza Jelveh from
https://github.com/fishman/timebomb-gentoo-osx-overlay/blob/master/sys-devel/llvm/files/llvm-3.4-fix_darwin_build.patch
--- a/projects/compiler-rt/make/platform/clang_darwin_embedded.mk
+++ b/projects/compiler-rt/make/platform/clang_darwin_embedded.mk
@@ -27,20 +27,20 @@ UniversalArchs :=
# Soft-float version of the runtime. No floating-point instructions will be used
# and the ABI (out of necessity) passes floating values in normal registers:
# non-VFP variant of the AAPCS.
-Configs += soft_static
-UniversalArchs.soft_static := armv6m armv7m armv7em armv7
+# Configs += soft_static
+# UniversalArchs.soft_static := armv6m armv7m armv7em armv7
# Hard-float version of the runtime. On ARM VFP instructions and registers are
# allowed, and floating point values get passed in them. VFP variant of the
# AAPCS.
Configs += hard_static
-UniversalArchs.hard_static := armv7em armv7 i386 x86_64
+UniversalArchs.hard_static := i386 x86_64
-Configs += soft_pic
-UniversalArchs.soft_pic := armv6m armv7m armv7em armv7
+# Configs += soft_pic
+# UniversalArchs.soft_pic := armv6m armv7m armv7em armv7
Configs += hard_pic
-UniversalArchs.hard_pic := armv7em armv7 i386 x86_64
+UniversalArchs.hard_pic := i386 x86_64
CFLAGS := -Wall -Werror -Oz -fomit-frame-pointer -ffreestanding
--- a/tools/clang/runtime/compiler-rt/Makefile
+++ b/tools/clang/runtime/compiler-rt/Makefile
@@ -85,7 +85,7 @@ RuntimeLibrary.darwin.Configs := \
profile_osx.a profile_ios.a \
ubsan_osx.a
RuntimeLibrary.darwin_embedded.Configs := \
- soft_static.a hard_static.a soft_pic.a hard_pic.a
+ hard_static.a hard_pic.a
# Support building compiler-rt with relocatable SDKs.
#

View File

@@ -1,80 +0,0 @@
From a12fc090b3b43fe25c7de50c09782611e3834aeb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sat, 14 Jun 2014 19:35:33 +0200
Subject: [PATCH] clang gentoo fixes
---
tools/clang/lib/Driver/Tools.cpp | 6 +++---
tools/clang/tools/scan-build/scan-build | 4 ++--
tools/clang/tools/scan-view/scan-view | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
index b013eb5..dbbcacb 100644
--- a/tools/clang/lib/Driver/Tools.cpp
+++ b/tools/clang/lib/Driver/Tools.cpp
@@ -222,7 +222,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:libprofile_rt.a";
CmdArgs.push_back(Args.MakeArgString(ProfileRT));
}
@@ -5911,7 +5911,7 @@ void freebsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
// forward.
if (D.IsUsingLTO(Args)) {
CmdArgs.push_back("-plugin");
- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so";
CmdArgs.push_back(Args.MakeArgString(Plugin));
// Try to pass driver level flags relevant to LTO code generation down to
@@ -6534,7 +6534,7 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
// forward.
if (D.IsUsingLTO(Args)) {
CmdArgs.push_back("-plugin");
- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/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 0f119f6..58f78d9 100755
--- a/tools/clang/tools/scan-build/scan-build
+++ b/tools/clang/tools/scan-build/scan-build
@@ -419,7 +419,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);
@@ -429,7 +429,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)
--
2.0.0

View File

@@ -1,24 +0,0 @@
--- cmake/modules/LLVMConfig.cmake.in.old 2013-12-30 14:40:54.888983600 +0100
+++ cmake/modules/LLVMConfig.cmake.in 2013-12-30 14:44:15.448970509 +0100
@@ -39,16 +39,10 @@
set(LLVM_LIBRARY_DIRS ${LLVM_INSTALL_PREFIX}/lib)
set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS")
-# We try to include using the current setting of CMAKE_MODULE_PATH,
-# which suppossedly was filled by the user with the directory where
-# this file was installed:
-include( LLVM-Config OPTIONAL RESULT_VARIABLE LLVMCONFIG_INCLUDED )
-
-# If failed, we assume that this is an un-installed build:
-if( NOT LLVMCONFIG_INCLUDED )
- set(CMAKE_MODULE_PATH
+# For some reasons without it it fails on Gentoo, see bug #496480
+set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
- "@LLVM_SOURCE_DIR@/cmake/modules")
- include( LLVM-Config )
-endif()
+ "@LLVM_INSTALL_PREFIX@/share/llvm/cmake")
+
+include(LLVM-Config)

View File

@@ -1,35 +0,0 @@
From 773560acfad511769017e971991c0305dbc0323d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 11 Jun 2014 09:40:26 +0200
Subject: [PATCH] Avoid using external configparser in favor of built-in
ConfigParser.
We only support Python 2 anyway, and configparser-3.2 is known to break
the build. Since some packages actually force version 3.2, and we do not
to pull in extra dependencies, forcing built-in seems to be the best
option.
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=500856
---
utils/llvm-build/llvmbuild/componentinfo.py | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/utils/llvm-build/llvmbuild/componentinfo.py b/utils/llvm-build/llvmbuild/componentinfo.py
index eda3a48..c963ef1 100644
--- a/utils/llvm-build/llvmbuild/componentinfo.py
+++ b/utils/llvm-build/llvmbuild/componentinfo.py
@@ -3,10 +3,7 @@ Descriptor objects for entities that are part of the LLVM project.
"""
from __future__ import absolute_import
-try:
- import configparser
-except:
- import ConfigParser as configparser
+import ConfigParser as configparser
import sys
from llvmbuild.util import *
--
2.0.0

View File

@@ -1,96 +0,0 @@
From b8846d389ff5e2b768a114f752cf39788accba26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Mon, 19 Aug 2013 13:22:46 +0200
Subject: [PATCH] gentoo install fixes
---
Makefile.config.in | 6 +++---
Makefile.rules | 6 +++---
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(+), 10 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)
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 e53598b..217f754 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -275,7 +275,7 @@ ifeq ($(ENABLE_OPTIMIZED),1)
BuildMode := Release
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin Darwin DragonFly FreeBSD GNU/kFreeBSD))
- OmitFramePointer := -fomit-frame-pointer
+ OmitFramePointer :=
endif
CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
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,4 @@
#define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
#define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
#define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
+#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,8 @@ $(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_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;
ActiveIncludeOption = "-I" + ActiveIncludeDir;
}
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.4.2

View File

@@ -1,571 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
# this causes some issues so make it optional for now.
# 3.5 will have CMakeFiles support in autotools.
WANT_CMAKE=cmake
inherit cmake-utils eutils flag-o-matic multibuild multilib \
multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix
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-3.4.src.tar.gz
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz
http://llvm.org/releases/${PV}/clang-tools-extra-3.4.src.tar.gz )
!doc? ( https://dev.gentoo.org/~mgorny/dist/${PN}-3.4-manpages.tar.bz2 )"
LICENSE="UoI-NCSA"
SLOT="0/3.4"
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"
IUSE="clang debug doc gold +libffi multitarget ncurses ocaml python
+static-analyzer test udis86 xml video_cards_radeon
kernel_Darwin kernel_FreeBSD"
COMMON_DEPEND="
sys-libs/zlib:0=
clang? (
python? ( ${PYTHON_DEPS} )
static-analyzer? (
dev-lang/perl:*
${PYTHON_DEPS}
)
xml? ( dev-libs/libxml2:2= )
)
gold? ( >=sys-devel/binutils-2.22:*[cxx] )
libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
ocaml? ( dev-lang/ocaml:0= )
udis86? ( >=dev-libs/udis86-1.7-r2:0=[pic(+),${MULTILIB_USEDEP}] )"
DEPEND="${COMMON_DEPEND}
dev-lang/perl
>=sys-devel/make-3.81
>=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/llvm-3.3
( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
)
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 )
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
clang? ( !<=sys-devel/clang-${PV}-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(-)] )"
PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
# 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
# Some people actually override that in make.conf. That sucks since
# we need to run install per-directory, and ninja can't do that...
# so why did it call itself ninja in the first place?
CMAKE_MAKEFILE_GENERATOR=emake
MULTILIB_CHOST_TOOLS=(
/usr/bin/llvm-config
)
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?(gdb)?([1-9])'; 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 has "${gcc_vers}" "${broken_gcc[@]}"; 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 use abi_x86_32 && has "${gcc_vers}" "${broken_gcc_x86[@]}"; 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 use abi_x86_64 && has "${gcc_vers}" "${broken_gcc_amd64[@]}"; 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-3.4 "${S}"/projects/compiler-rt \
|| die "compiler-rt source directory move failed"
mv "${WORKDIR}"/clang-tools-extra-3.4 "${S}"/tools/clang/tools/extra \
|| die "clang-tools-extra source directory move failed"
fi
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch
# Hack cmake search path for Gentoo, bug #496480
epatch "${FILESDIR}"/${PN}-3.3-cmake-modulepath.patch
# Use built-in ConfigParser to avoid failures with configparser-3.2
# https://bugs.gentoo.org/show_bug.cgi?id=500856
epatch "${FILESDIR}"/${PN}-3.4-cmake-configparser.patch
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
epatch "${FILESDIR}"/clang-3.4-gentoo-install.patch
epatch "${FILESDIR}"/clang-3.4-darwin_build_fix.patch
epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch
eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp
fi
if use prefix && use clang; then
sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \
projects/compiler-rt/make/platform/clang_*.mk || die
fi
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"
if use clang; then
# constantly fails for a long time, likely due to our patches
rm tools/clang/test/Driver/cross-linux.c || die
fi
# User patches
epatch_user
python_setup
}
multilib_src_configure() {
# disable timestamps since they confuse ccache
local conf_flags=(
--disable-timestamps
--enable-keep-symbols
--enable-shared
--with-optimize-option=
$(use_enable !debug optimized)
$(use_enable debug assertions)
$(use_enable debug expensive-checks)
$(use_enable ncurses terminfo)
$(use_enable libffi)
)
if use clang; then
conf_flags+=( --with-clang-resource-dir=../lib/clang/${PV} )
fi
# well, it's used only by clang executable c-index-test
if multilib_is_native_abi && use clang && use xml; then
conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
else
conf_flags+=( ac_cv_prog_XML2CONFIG="" )
fi
local targets bindings
if use multitarget; then
targets='all'
else
targets='host,cpp'
use video_cards_radeon && targets+=',r600'
fi
conf_flags+=( --enable-targets=${targets} )
if multilib_is_native_abi; then
use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
# extra commas don't hurt
use ocaml && bindings+=',ocaml'
fi
[[ ${bindings} ]] || bindings='none'
conf_flags+=( --enable-bindings=${bindings} )
if use udis86; then
conf_flags+=( --with-udis86 )
fi
if use libffi; then
local CPPFLAGS=${CPPFLAGS}
append-cppflags "$(pkg-config --cflags libffi)"
fi
# llvm prefers clang over gcc, so we may need to force that
tc-export CC CXX
ECONF_SOURCE=${S} \
econf "${conf_flags[@]}"
multilib_is_native_abi && cmake_configure
}
cmake_configure() {
# sadly, cmake doesn't seem to have host autodetection
# but it's fairly easy to steal this from configured autotools
local targets=$(sed -n -e 's/^TARGETS_TO_BUILD=//p' Makefile.config || die)
local libdir=$(get_libdir)
local mycmakeargs=(
# just the stuff needed to get correct cmake modules
$(cmake-utils_use ncurses LLVM_ENABLE_TERMINFO)
-DLLVM_TARGETS_TO_BUILD="${targets// /;}"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
)
BUILD_DIR=${S%/}_cmake \
cmake-utils_src_configure
}
set_makeargs() {
MAKEARGS=(
VERBOSE=1
REQUIRES_RTTI=1
GENTOO_LIBDIR=$(get_libdir)
)
# for tests, we want it all! otherwise, we may use a little filtering...
# adding ONLY_TOOLS also disables unittest building...
if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
local tools=( llvm-config )
use clang && tools+=( clang )
if multilib_is_native_abi; then
tools+=(
opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
llvm-size llvm-stress llvm-mcmarkup llvm-symbolizer obj2yaml
yaml2obj lto bugpoint
)
# the build system runs explicitly specified tools in parallel,
# so we need to split it into two runs
if [[ ${1} != -1 ]]; then
# those require lto
tools+=( llvm-lto )
use gold && tools+=( gold )
# those require clang :)
# we need to explicitly specify all its tools
# since we're passing BUILD_CLANG_ONLY
use clang && tools+=(
clang/tools/{clang-check,clang-format,extra}
)
fi
fi
MAKEARGS+=(
# filter tools + disable unittests implicitly
ONLY_TOOLS="${tools[*]}"
# this disables unittests & docs from clang
BUILD_CLANG_ONLY=YES
)
fi
}
multilib_src_compile() {
local MAKEARGS
set_makeargs -1
emake "${MAKEARGS[@]}"
if multilib_is_native_abi; then
set_makeargs
emake -C tools "${MAKEARGS[@]}"
if use doc; then
emake -C "${S}"/docs -f Makefile.sphinx man
use clang && emake -C "${S}"/tools/clang/docs/tools \
BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
emake -C "${S}"/docs -f Makefile.sphinx html
fi
fi
if use debug; then
pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
pax-mark m Debug+Asserts+Checks/bin/lli
pax-mark m Debug+Asserts+Checks/bin/lli-child-target
else
pax-mark m Release/bin/llvm-rtdyld
pax-mark m Release/bin/lli
pax-mark m Release/bin/lli-child-target
fi
}
multilib_src_test() {
local MAKEARGS
set_makeargs
# build the remaining tools & unittests
emake "${MAKEARGS[@]}"
pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
pax-mark m unittests/Support/Release/SupportTests
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
emake "${MAKEARGS[@]}" check
use clang && emake "${MAKEARGS[@]}" -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/{std,float,iso,limits,tgmath,varargs}*.h
}
multilib_src_install() {
local MAKEARGS
set_makeargs
local root=${D}/_${ABI}
emake "${MAKEARGS[@]}" DESTDIR="${root}" install
multibuild_merge_root "${root}" "${D}"
if ! multilib_is_native_abi; then
# Backwards compat, will be happily removed someday.
dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
else
# Install docs.
if use doc; then
doman "${S}"/docs/_build/man/*.1
use clang && doman "${T}"/clang.1
dohtml -r "${S}"/docs/_build/html/
else
if ! use clang; then
rm "${WORKDIR}"/${PN}-3.4-manpages/clang.1 || die
fi
doman "${WORKDIR}"/${PN}-3.4-manpages/*.1
fi
# Symlink the gold plugin.
if use gold; then
dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
dosym ../../../../$(get_libdir)/LLVMgold.so \
/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
fi
# install cmake modules
if use cmake; then
emake -C "${S%/}"_cmake/cmake/modules DESTDIR="${D}" install
fi
fi
# apply CHOST and PV to clang executables
# they're statically linked so we don't have to worry about the lib
if use clang; then
local clang_tools=( clang clang++ )
local i
# append ${PV} and symlink back
# TODO: use alternatives.eclass? does that make any sense?
# maybe with USE=-clang on :0 and USE=clang on older
for i in "${clang_tools[@]}"; do
mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die
dosym "${i}"-${PV} /usr/bin/${i}
done
# now prepend ${CHOST} and let the multilib-build.eclass symlink it
if ! multilib_is_native_abi; then
# non-native? let's replace it with a simple wrapper
for i in "${clang_tools[@]}"; do
rm "${ED%/}/usr/bin/${i}-${PV}" || die
cat > "${T}"/wrapper.tmp <<-_EOF_
#!${EPREFIX}/bin/sh
exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}"
_EOF_
newbin "${T}"/wrapper.tmp "${i}-${PV}"
done
fi
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= ndylib= libpv=${PV}
if [[ ${CHOST} == *-darwin* ]] ; then
eval $(grep PACKAGE_VERSION= configure)
[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
libpvminor=${libpv%.[0-9]*}
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
# libEnhancedDisassembly is Darwin10 only, so non-fatal
# + omit clang libs if not enabled
[[ -f ${ED}/usr/lib/${lib} ]] || continue
ebegin "fixing install_name of $lib"
install_name_tool \
-id "${EPREFIX}"/usr/lib/${lib} \
"${ED}"/usr/lib/${lib}
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do
# omit clang libs if not enabled
[[ -f "${f}" ]] || continue
scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \
while read odylib ; do
ndylib=
case ${odylib} in
*/libclang.dylib)
ndylib="${EPREFIX}"/usr/lib/libclang.dylib
;;
*/libLLVM-${libpv}.dylib)
ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib
;;
*/libLLVM-${libpvminor}.dylib)
ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib
;;
*/libLTO.dylib)
ndylib="${EPREFIX}"/usr/lib/libLTO.dylib
;;
esac
if [[ -n ${ndylib} ]] ; then
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
-change "${odylib}" "${ndylib}" \
"${f}"
eend $?
fi
done
done
fi
}
multilib_src_install_all() {
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
}

View File

@@ -20,13 +20,11 @@
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="cmake">Enable cmake support (experimental)</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="lldb">Build the lldb debugger</flag>
<flag name="multitarget">Build all host targets (default: host only)</flag>
<flag name="ncurses">Support querying terminal properties using ncurses' terminfo</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>