1 |
commit: cfedf0e8a3762f656d83c7e2db1f0c55ad82eef0 |
2 |
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Nov 4 10:47:10 2015 +0000 |
4 |
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Nov 4 10:47:21 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfedf0e8 |
7 |
|
8 |
sys-devel/llvm: clean unused versions |
9 |
|
10 |
Package-Manager: portage-2.2.23 |
11 |
|
12 |
sys-devel/llvm/Manifest | 13 - |
13 |
sys-devel/llvm/llvm-3.5.1.ebuild | 530 ----------------------------------- |
14 |
sys-devel/llvm/llvm-3.6.0.ebuild | 534 ----------------------------------- |
15 |
sys-devel/llvm/llvm-3.6.1.ebuild | 541 ------------------------------------ |
16 |
sys-devel/llvm/llvm-3.7.0-r1.ebuild | 499 --------------------------------- |
17 |
sys-devel/llvm/llvm-3.7.0.ebuild | 492 -------------------------------- |
18 |
6 files changed, 2609 deletions(-) |
19 |
|
20 |
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest |
21 |
index 112f58f..51b1602 100644 |
22 |
--- a/sys-devel/llvm/Manifest |
23 |
+++ b/sys-devel/llvm/Manifest |
24 |
@@ -1,27 +1,18 @@ |
25 |
DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a |
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.1.src.tar.xz 8268140 SHA256 6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c SHA512 bd904586f6155c05d2f7ddd05b86c28feae883cdc60e2cb3b48d4ae0ce55916064bcea414a46518d0fb73618f18a3f3fca6cc4cad81083428a2221299f5c5c7f WHIRLPOOL eca619b84ae6dfbca4b3d46601419d2c5a0cd77d643336c560d4bc358f4a2b0f7123d3e87248119c3e447143859da20b9b2e94721ebb14053627f0a158d843f5 |
29 |
DIST cfe-3.5.2.src.tar.xz 8268008 SHA256 4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620 SHA512 2ad9a7daa8e62cdbf47b001aa6b937a06ae7e6396dcd1832797e2d98036522443ccfca9f1253e16d531a99d1edf237fcd2b457c55491ff68ca4534a2396ca52f WHIRLPOOL 51789ba2a3193d404b26d26b999fc47f1bc4b56b45048078cc51e4ff5c31d834d360ee0c2d16096c060f85acab6de9055dc375569348ae3307e4b280406f2d9e |
30 |
-DIST cfe-3.6.0.src.tar.xz 8640776 SHA256 be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d SHA512 dc137bdf9c2c5adb25498c995f0b944016699267156a595cc1fe6127f6961d45162275023d194db42691d80fa8fc74f56abad9c145ef1ff492881f547ca76cfe WHIRLPOOL 0df122c9d32dba5a00a97bec4a54b7b7bd8241ef625357bcf9997e3670e7c4775becec971f572073f3ffad86c7ccf616a94c06926ef9b0528248e34958e9b43f |
31 |
-DIST cfe-3.6.1.src.tar.xz 8616132 SHA256 74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7 SHA512 a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743 WHIRLPOOL 1b4b8bb33fc7dbaeb03f32ba3544580bf0424889705b9d5130127be4d514c6d2aae5e224d71e20595a31441fc4bdd7bbf647e99e57d2c1e17fff3cff9022faa1 |
32 |
DIST cfe-3.6.2.src.tar.xz 8617576 SHA256 ae9180466a23acb426d12444d866b266ff2289b266064d362462e44f8d4699f3 SHA512 ed837c48f38d8998efd675b56477c8681dcedfcf3f71bba65930f145501289bebb6fe6a6d9de336548f94c381d016b99f10c58e046b885449755d44ac782de03 WHIRLPOOL a17419cea329999c8662c0008dbd0391ed5f52045d0175488979e7620f6a9a21b08e451a5e21d3bf944597bb37934a8228fa89c09d773882359822d59bd447a8 |
33 |
DIST cfe-3.7.0.src.tar.xz 9147204 SHA256 4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc SHA512 099d34cb019ea548c6ee85efd22b150beba0aa92061394fa3e423b1ebfe4a5c98c0586e5d56fc5c39e2b1606d36db59f442c056cc59473e32df76c8790c9d0ae WHIRLPOOL 1078d962edfb1b90044f19921f64a28c32259e34d983ddf9f9c198d13c8cd0679778a640d7a06c0bf1224d982602294c79a510034276216e3a6de21c739e6c39 |
34 |
DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf |
35 |
DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11 |
36 |
-DIST clang-tools-extra-3.5.1.src.tar.xz 215776 SHA256 e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906 SHA512 eefacd6857584c9a3186815a7d015a595f32cd926f6c221245d388b8cb9266c52e0980a8e94f01f49c452510fdd42e659b02f116619d3d0e35170566f0704712 WHIRLPOOL a3d14e21f201cc02649833edd67ba04f17c88486fbf399327dbb76d21e151b956a4f58cd7446b8563f72fa1cee06a8bd4abbc53234761a3a69fc1afc99ced87d |
37 |
DIST clang-tools-extra-3.5.2.src.tar.xz 215804 SHA256 f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004 SHA512 6a8e662d2704147296c13626fbc5885911c646c67404f12eacc67ee2995221445bf4f6122b271b9cb3a56b716f550a651024822f72358d400b9052bf50423669 WHIRLPOOL 088d2725a88a439a1a2c4048e0eaf540587078078bd1c9823a4804200265cab4d32606abf5e72be76da45ea4aa6e7a7201a2bdbddc78d5f9e0024b0d7b59e222 |
38 |
-DIST clang-tools-extra-3.6.0.src.tar.xz 248688 SHA256 3aa949ba82913490a75697287d9ee8598c619fae0aa6bb8fddf0095ff51bc812 SHA512 52e0cd3cce3047bb98d52e5c03ac4a8c549fcdc628f57492727f3e7659b2d4bd29ad98ab4ebab387233911fbb098861ec020b28c051e6b2c17d73dd490beebf3 WHIRLPOOL 423f018a2943d16ac605d36bece61046423974c2ffbcc7e4a9aebc5efbb2444ecead70e46bc05f51f4fedbfef338d177b5b16969e8fb0df0bbc911200ce483ae |
39 |
-DIST clang-tools-extra-3.6.1.src.tar.xz 248592 SHA256 f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6 SHA512 3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9 WHIRLPOOL b35c2118efff758358ed9945384218327767a48ae18acdaf2233a5b97e1dc5a682023ddf78d989d1278119c277aecec596c37c5dab8ea2b16a1c9348eb40d9e6 |
40 |
DIST clang-tools-extra-3.6.2.src.tar.xz 248624 SHA256 6a0ec627d398f501ddf347060f7a2ccea4802b2494f1d4fd7bda3e0442d04feb SHA512 1b7710a7deee30cefb6a3b4edb026a96d8935a0c6f3056ccdb7a45564d10baf01a4f6722ae853ad9a3bad17e8de32a3c0ec99c5cf6144647a5e182809d403f7a WHIRLPOOL 3dc8888c302bac84f53b673784dec092a2c59ea2985d9983e87f057b9aa7b5d3e34cf13d2b0f1f60ea44f342b8167377204a510036872a087037cf02335c19cd |
41 |
DIST clang-tools-extra-3.7.0.src.tar.xz 276628 SHA256 8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd SHA512 c266eb327e2f50767b7d37c9d5713d6c70f590b59e4fe09d997f2eba0d54c9229ef6c8a2a903196380f67dffa7e35ebb47a9e5f2f097fd2a3c363481b72202eb WHIRLPOOL 681a5c14301990bb945e26375d0d31fa22b795101f342bcaaeb9d3e015c0f0f6b260b913388d086cb3054fc357845b34a6813e34614cdfa0de2c58fc6db7c64c |
42 |
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1 |
43 |
DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc |
44 |
DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2 |
45 |
-DIST compiler-rt-3.5.1.src.tar.xz 1092452 SHA256 adf4b526f33e681aff5961f0821f5b514d3fc375410008842640b56a2e6a837a SHA512 3a4f093972b080f439c81c8b08793c311cea71afeda7ba7b4e32f19378b1cb420da7b594fa9f6a6f7826570438f67d42d3243c4b3503e1cf8a7dcedf52e8e590 WHIRLPOOL edbf11837139b48207fc6f82ecad39fbc6983cf5bd1441cbe6d50e5e484566b63c5afa2fc64cd29fb8560f07015a98c00b58c926ca7e9af47b7eea92133d0db4 |
46 |
DIST compiler-rt-3.5.2.src.tar.xz 1093000 SHA256 542d7aadd21e7fe35bea0a7912bc965f08a1a566746cebcca76f96dcfeb74dc3 SHA512 319a8a1dbe07eb4f1fcccfe79a1fa445f348fb854a441500e89fa0a128e45716b65d06347f19a63de32e9294cd2331e914ae0d5fe8224f0b2452c39b79ac96ff WHIRLPOOL 6e9286c56a60a515006c8232ca01622ae844185a5f31fb49bce632868862c5e560619f1c45da66878b5322a764f91a284cd296e9f13105d6f74e055a17321d93 |
47 |
-DIST compiler-rt-3.6.0.src.tar.xz 1140616 SHA256 7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11 SHA512 2758bc2b78dcfb9b6509b83ebc4ebc86907ca3dc2a5f151f580771c674b934432cae055e342ed73096a08331b2f7b129ff65629b27932458b1877aeb554b6328 WHIRLPOOL 1836b59c2369457aac79dc113b9a76623da30195a460afd0e25997aa21855991cdee78d5aec12b45d05d7d14e42d5fc7678f1c169b5a7fd500681a34d02d4468 |
48 |
-DIST compiler-rt-3.6.1.src.tar.xz 1128460 SHA256 fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f SHA512 121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a WHIRLPOOL fabbf5a63734f879d1698cd65846beb1cfa8559009b37bf5b5f4e239e62c9a9014d484233674cf357fb7aabb04ac8df840e832c764caf4b4a3b662ff0a51115e |
49 |
DIST compiler-rt-3.6.2.src.tar.xz 1128080 SHA256 0f2ff37d80a64575fecd8cf0d5c50f7ac1f837ddf700d1855412bb7547431d87 SHA512 7dafcc5bd4822475de649d8a84ae51af3c4ed4d0958f76b1b55ba79219638f3e78eb94a1986c6e9ba0e7f1ccf3ec834d546b5ca60e8b08083fea5880ecdf17a3 WHIRLPOOL dd77e7df43c9028a6873ed903da67560fdb04968013016a7f0ad2d2e9a81b3a3d890b95e4f49a6bdef349806d6507defcd80a0a9fb50c1c9f778e7eff42dbc5d |
50 |
DIST compiler-rt-3.7.0.src.tar.xz 1192832 SHA256 227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b SHA512 2ba6abb3d6ec7f1469cfe1d48fde2069e9a767d19144f80f05516ac63f353ace90a9df3e9d1c1f708f3c397aba0ec61b12e4f105b25a2e1cd26b25b0dd252bc9 WHIRLPOOL 8bb535b667a7fdc1710d32e0912daee3798049f78cf70a03abc409157f02602b77f290b66185a35c464e512e55d57aab0125be6ae4843f6233f4017228afb579 |
51 |
DIST lldb-3.7.0.src.tar.xz 10649660 SHA256 f4d7505bc111044eaa4033af012221e492938405b62522b8e3e354c20c4b71e9 SHA512 52157782ef13e2c8b7b35ff3ccc05887195fe46ddb6bafcf0707a3c46c1e034734b55342b8dbfc46cae7a8c3cb1012345284e4bedb2344c5016b8d19a12e90df WHIRLPOOL 8c0803a51820ec67944e27061c858e95a92aefa38a1540241fead2b63c5b065c1268cf958b14d8841f62fc8aea5da1e20204704426598bfc2c4e61bcda135c43 |
52 |
@@ -37,12 +28,8 @@ DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e8130 |
53 |
DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c |
54 |
DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819 |
55 |
DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1 |
56 |
-DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606 |
57 |
DIST llvm-3.5.2.src.tar.xz 11876128 SHA256 44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575 SHA512 0f6a83cc61a385387e7baf8fb8f0d9f18e3fd00d2d389a3c7e2c3792be7d82ed095506cac52c24e65ae3c1f94456a441d39440feef6125e25ef18447ec9dd406 WHIRLPOOL b41de51907d6d2c2d04a4c498b44f0ed560cc710e6e2d8678f5ef93a9009d140bc7c2406f4b25d5b901fd026689d48edce77a2e435687b489b835156a512e256 |
58 |
-DIST llvm-3.6.0-manpages.tar.bz2 35140 SHA256 53b14a7896f6db547fa692b43fb5b08898b251699ec505a2b9d9c9c3b632eed7 SHA512 2efe21ecaf10ced3e078e7675918f5b7fe6cfa3ba6371906f832690858024c57f4868a3af54b6de18c980d6008992d08ae21bc2a678ef12652a0a0eabad52a15 WHIRLPOOL f6bfc9ec0432566b70ab16aa99628a64e0d9f325db72a37cb1b04d6a3521625b37b858770ac1c9e313612d9475d7832f683fbbc2c3acad97c99daeb39383df45 |
59 |
-DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce SHA512 ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 WHIRLPOOL 4f9de6b8dd2514e7b55e8c6e6af2ab9d355ebf49f1bd113a652f71809d74060792a95f6cee5b8b3bd64d92586b46e7778f616027702c98eb726ee84375e4eea6 |
60 |
DIST llvm-3.6.1-manpages.tar.bz2 38338 SHA256 b27c6198e09b11421841a7184d4e8a0f8878d4f1313405da28d643134a55688a SHA512 a47aeb0b4632329eaaa1d6c774446fea5822d7692d81533a9a5c5de1c6a3b37fdd6b7c1fc6433339649f4d3a53a753065e73afb30fd84f253ad31d5fb3d48662 WHIRLPOOL 022b214b6340365490915b5c873e515bf16be90d04cd32f09024a3607c23edc2c2e241d295102f045bd08a442c4e5aaf134ac89f7e59a027ec1633330a95989b |
61 |
-DIST llvm-3.6.1.src.tar.xz 12798852 SHA256 2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a SHA512 fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f WHIRLPOOL c6340956e9935c0e4a986f1a8da9458ca3b3a7bdff376d33c7a3c60bc5154fb5820bfaf43fb4118f28ab9b0f356f436672fd2f984bc629eeee01233b703030fb |
62 |
DIST llvm-3.6.2.src.tar.xz 12802380 SHA256 f60dc158bfda6822de167e87275848969f0558b3134892ff54fced87e4667b94 SHA512 42b44ce69cfb96e2dc12dc2246f0de8ff983a99741206e2c46ccf074b3248aaab9c0f22c6baad802de851d06f202f40db9dd62fe38aab4479b3f70026c936b36 WHIRLPOOL 1a15e16793fe4120f1c14a5334362c36db26745c493e7289281351b7c18c523d781ff9425dddfe1a2add9ea1e8aebb92f2313787da5f286259b55b0884b3039f |
63 |
DIST llvm-3.7.0-manpages.tar.bz2 38095 SHA256 8597fa532464c6336aefbbef0b1ce452aaa98d474fa58108c6a6f57a9ccd6785 SHA512 ea70ac15dbaef3740b31f66aa798338f7f9b82484586582aa62e0364f9d74bf175be2f4f29721df253b8157c1cbc146ab9045c0656c42a6375434e994786b643 WHIRLPOOL 743b339b0df7c52d270a5197e9e765dfd92d4b5acee94cf9d9d7713e1a75aa9d987b3f5adab0952e7267febf88b318d0f31cb45847e2b0b42c7c7373b2358358 |
64 |
DIST llvm-3.7.0.src.tar.xz 14636252 SHA256 ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153 SHA512 fe3bfefd3d49423831ad12b89f944ac9f469aaaaafdea1dd94fc7fb6d5cc9fbe66b6463796aeaabfc145ae474ec3ad68da41c4a011e8aa4bc650f1835af75388 WHIRLPOOL 4787fc417042cbb4470887358225c367c6617ccd6cb90f1e4f226ec1565b302e4d70458fc13ceedca5b3ac270523637398bb7503c8c423c81fd9682a41c0289f |
65 |
|
66 |
diff --git a/sys-devel/llvm/llvm-3.5.1.ebuild b/sys-devel/llvm/llvm-3.5.1.ebuild |
67 |
deleted file mode 100644 |
68 |
index 52f8309..0000000 |
69 |
--- a/sys-devel/llvm/llvm-3.5.1.ebuild |
70 |
+++ /dev/null |
71 |
@@ -1,530 +0,0 @@ |
72 |
-# Copyright 1999-2015 Gentoo Foundation |
73 |
-# Distributed under the terms of the GNU General Public License v2 |
74 |
-# $Id$ |
75 |
- |
76 |
-EAPI=5 |
77 |
- |
78 |
-PYTHON_COMPAT=( python2_7 pypy ) |
79 |
- |
80 |
-inherit eutils flag-o-matic multibuild multilib \ |
81 |
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix |
82 |
- |
83 |
-DESCRIPTION="Low Level Virtual Machine" |
84 |
-HOMEPAGE="http://llvm.org/" |
85 |
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz |
86 |
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz |
87 |
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz |
88 |
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) |
89 |
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )" |
90 |
- |
91 |
-LICENSE="UoI-NCSA" |
92 |
-SLOT="0/3.5" |
93 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
94 |
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python |
95 |
- +static-analyzer test xml video_cards_radeon |
96 |
- kernel_Darwin kernel_FreeBSD" |
97 |
- |
98 |
-COMMON_DEPEND=" |
99 |
- sys-libs/zlib:0= |
100 |
- clang? ( |
101 |
- python? ( ${PYTHON_DEPS} ) |
102 |
- static-analyzer? ( |
103 |
- dev-lang/perl:* |
104 |
- ${PYTHON_DEPS} |
105 |
- ) |
106 |
- xml? ( dev-libs/libxml2:2= ) |
107 |
- ) |
108 |
- gold? ( >=sys-devel/binutils-2.22:*[cxx] ) |
109 |
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) |
110 |
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) |
111 |
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |
112 |
- ocaml? ( dev-lang/ocaml:0= )" |
113 |
-# configparser-3.2 breaks the build (3.3 or none at all are fine) |
114 |
-DEPEND="${COMMON_DEPEND} |
115 |
- app-arch/xz-utils |
116 |
- dev-lang/perl |
117 |
- >=sys-devel/make-3.81 |
118 |
- >=sys-devel/flex-2.5.4 |
119 |
- >=sys-devel/bison-1.875d |
120 |
- || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 |
121 |
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) |
122 |
- ) |
123 |
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) |
124 |
- clang? ( xml? ( virtual/pkgconfig ) ) |
125 |
- doc? ( dev-python/sphinx ) |
126 |
- libffi? ( virtual/pkgconfig ) |
127 |
- !!<dev-python/configparser-3.3.0.2 |
128 |
- ${PYTHON_DEPS}" |
129 |
-RDEPEND="${COMMON_DEPEND} |
130 |
- clang? ( !<=sys-devel/clang-${PV}-r99 |
131 |
- !>=sys-devel/clang-9999 ) |
132 |
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 |
133 |
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" |
134 |
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" |
135 |
- |
136 |
-# pypy gives me around 1700 unresolved tests due to open file limit |
137 |
-# being exceeded. probably GC does not close them fast enough. |
138 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE} |
139 |
- test? ( || ( $(python_gen_useflags 'python*') ) )" |
140 |
- |
141 |
-S=${WORKDIR}/${P}.src |
142 |
- |
143 |
-# Some people actually override that in make.conf. That sucks since |
144 |
-# we need to run install per-directory, and ninja can't do that... |
145 |
-# so why did it call itself ninja in the first place? |
146 |
-CMAKE_MAKEFILE_GENERATOR=emake |
147 |
- |
148 |
-pkg_pretend() { |
149 |
- # in megs |
150 |
- # !clang !debug !multitarget -O2 400 |
151 |
- # !clang !debug multitarget -O2 550 |
152 |
- # clang !debug !multitarget -O2 950 |
153 |
- # clang !debug multitarget -O2 1200 |
154 |
- # !clang debug multitarget -O2 5G |
155 |
- # clang !debug multitarget -O0 -g 12G |
156 |
- # clang debug multitarget -O2 16G |
157 |
- # clang debug multitarget -O0 -g 14G |
158 |
- |
159 |
- local build_size=550 |
160 |
- use clang && build_size=1200 |
161 |
- |
162 |
- if use debug; then |
163 |
- ewarn "USE=debug is known to increase the size of package considerably" |
164 |
- ewarn "and cause the tests to fail." |
165 |
- ewarn |
166 |
- |
167 |
- (( build_size *= 14 )) |
168 |
- elif is-flagq '-g?(gdb)?([1-9])'; then |
169 |
- ewarn "The C++ compiler -g option is known to increase the size of the package" |
170 |
- ewarn "considerably. If you run out of space, please consider removing it." |
171 |
- ewarn |
172 |
- |
173 |
- (( build_size *= 10 )) |
174 |
- fi |
175 |
- |
176 |
- # Multiply by number of ABIs :). |
177 |
- local abis=( $(multilib_get_enabled_abis) ) |
178 |
- (( build_size *= ${#abis[@]} )) |
179 |
- |
180 |
- local CHECKREQS_DISK_BUILD=${build_size}M |
181 |
- check-reqs_pkg_pretend |
182 |
- |
183 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
184 |
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die |
185 |
- ebegin "Trying to build a C++11 test program" |
186 |
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then |
187 |
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" |
188 |
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" |
189 |
- eerror "to gcc-4.7 or an equivalent version supporting C++11." |
190 |
- die "Currently active compiler does not support -std=c++11" |
191 |
- fi |
192 |
- eend ${?} |
193 |
- fi |
194 |
-} |
195 |
- |
196 |
-pkg_setup() { |
197 |
- pkg_pretend |
198 |
-} |
199 |
- |
200 |
-src_unpack() { |
201 |
- default |
202 |
- |
203 |
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ |
204 |
- || die "symlinks removal failed" |
205 |
- |
206 |
- if use clang; then |
207 |
- mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \ |
208 |
- || die "clang source directory move failed" |
209 |
- mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \ |
210 |
- || die "compiler-rt source directory move failed" |
211 |
- mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \ |
212 |
- || die "clang-tools-extra source directory move failed" |
213 |
- fi |
214 |
-} |
215 |
- |
216 |
-src_prepare() { |
217 |
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch |
218 |
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch |
219 |
- epatch "${FILESDIR}"/${PN}-3.5-gentoo-install.patch |
220 |
- # Make ocaml warnings non-fatal, bug #537308 |
221 |
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/Ocaml/*ml || die |
222 |
- |
223 |
- if use clang; then |
224 |
- # Automatically select active system GCC's libraries, bugs #406163 and #417913 |
225 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch |
226 |
- |
227 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-install.patch |
228 |
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch |
229 |
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp |
230 |
- fi |
231 |
- |
232 |
- if use prefix && use clang; then |
233 |
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ |
234 |
- projects/compiler-rt/make/platform/clang_*.mk || die |
235 |
- fi |
236 |
- |
237 |
- local sub_files=( |
238 |
- Makefile.config.in |
239 |
- Makefile.rules |
240 |
- tools/llvm-config/llvm-config.cpp |
241 |
- ) |
242 |
- use clang && sub_files+=( |
243 |
- tools/clang/lib/Driver/Tools.cpp |
244 |
- tools/clang/tools/scan-build/scan-build |
245 |
- ) |
246 |
- |
247 |
- # unfortunately ./configure won't listen to --mandir and the-like, so take |
248 |
- # care of this. |
249 |
- # note: we're setting the main libdir intentionally. |
250 |
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. |
251 |
- einfo "Fixing install dirs" |
252 |
- sed -e "s,@libdir@,$(get_libdir),g" \ |
253 |
- -e "s,@PF@,${PF},g" \ |
254 |
- -e "s,@EPREFIX@,${EPREFIX},g" \ |
255 |
- -i "${sub_files[@]}" \ |
256 |
- || die "install paths sed failed" |
257 |
- |
258 |
- if use clang; then |
259 |
- # constantly fails for a long time, likely due to our patches |
260 |
- rm tools/clang/test/Driver/cross-linux.c || die |
261 |
- fi |
262 |
- |
263 |
- # User patches |
264 |
- epatch_user |
265 |
- |
266 |
- python_setup |
267 |
-} |
268 |
- |
269 |
-multilib_src_configure() { |
270 |
- # disable timestamps since they confuse ccache |
271 |
- local conf_flags=( |
272 |
- --disable-timestamps |
273 |
- --enable-keep-symbols |
274 |
- --enable-shared |
275 |
- --with-optimize-option= |
276 |
- $(tc-is-static-only && echo --disable-shared) |
277 |
- $(use_enable !debug optimized) |
278 |
- $(use_enable debug assertions) |
279 |
- $(use_enable debug expensive-checks) |
280 |
- $(use_enable libedit) |
281 |
- $(use_enable ncurses terminfo) |
282 |
- $(use_enable libffi) |
283 |
- ) |
284 |
- |
285 |
- # well, it's used only by clang executable c-index-test |
286 |
- if multilib_is_native_abi && use clang && use xml; then |
287 |
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) |
288 |
- else |
289 |
- conf_flags+=( ac_cv_prog_XML2CONFIG="" ) |
290 |
- fi |
291 |
- |
292 |
- local targets bindings |
293 |
- if use multitarget; then |
294 |
- targets='all' |
295 |
- else |
296 |
- targets='host,cpp' |
297 |
- use video_cards_radeon && targets+=',r600' |
298 |
- fi |
299 |
- conf_flags+=( --enable-targets=${targets} ) |
300 |
- |
301 |
- if multilib_is_native_abi; then |
302 |
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) |
303 |
- # extra commas don't hurt |
304 |
- use ocaml && bindings+=',ocaml' |
305 |
- fi |
306 |
- |
307 |
- [[ ${bindings} ]] || bindings='none' |
308 |
- conf_flags+=( --enable-bindings=${bindings} ) |
309 |
- |
310 |
- if use libffi; then |
311 |
- local CPPFLAGS=${CPPFLAGS} |
312 |
- append-cppflags "$(pkg-config --cflags libffi)" |
313 |
- fi |
314 |
- |
315 |
- # llvm prefers clang over gcc, so we may need to force that |
316 |
- tc-export CC CXX |
317 |
- |
318 |
- ECONF_SOURCE=${S} \ |
319 |
- econf "${conf_flags[@]}" |
320 |
-} |
321 |
- |
322 |
-set_makeargs() { |
323 |
- MAKEARGS=( |
324 |
- VERBOSE=1 |
325 |
- REQUIRES_RTTI=1 |
326 |
- GENTOO_LIBDIR=$(get_libdir) |
327 |
- ) |
328 |
- |
329 |
- # for tests, we want it all! otherwise, we may use a little filtering... |
330 |
- # adding ONLY_TOOLS also disables unittest building... |
331 |
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then |
332 |
- local tools=( llvm-config ) |
333 |
- use clang && tools+=( clang ) |
334 |
- |
335 |
- if multilib_is_native_abi; then |
336 |
- tools+=( |
337 |
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli |
338 |
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump |
339 |
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov |
340 |
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata |
341 |
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint |
342 |
- ) |
343 |
- |
344 |
- # the build system runs explicitly specified tools in parallel, |
345 |
- # so we need to split it into two runs |
346 |
- if [[ ${1} != -1 ]]; then |
347 |
- # those require lto |
348 |
- tools+=( llvm-lto ) |
349 |
- use gold && tools+=( gold ) |
350 |
- |
351 |
- # those require clang :) |
352 |
- # we need to explicitly specify all its tools |
353 |
- # since we're passing BUILD_CLANG_ONLY |
354 |
- use clang && tools+=( |
355 |
- clang/tools/{clang-check,clang-format,extra} |
356 |
- ) |
357 |
- fi |
358 |
- fi |
359 |
- |
360 |
- MAKEARGS+=( |
361 |
- # filter tools + disable unittests implicitly |
362 |
- ONLY_TOOLS="${tools[*]}" |
363 |
- |
364 |
- # this disables unittests & docs from clang |
365 |
- BUILD_CLANG_ONLY=YES |
366 |
- ) |
367 |
- fi |
368 |
-} |
369 |
- |
370 |
-multilib_src_compile() { |
371 |
- local MAKEARGS |
372 |
- set_makeargs -1 |
373 |
- emake "${MAKEARGS[@]}" |
374 |
- |
375 |
- if multilib_is_native_abi; then |
376 |
- set_makeargs |
377 |
- emake -C tools "${MAKEARGS[@]}" |
378 |
- |
379 |
- if use doc; then |
380 |
- emake -C "${S}"/docs -f Makefile.sphinx man |
381 |
- use clang && emake -C "${S}"/tools/clang/docs/tools \ |
382 |
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man |
383 |
- emake -C "${S}"/docs -f Makefile.sphinx html |
384 |
- fi |
385 |
- fi |
386 |
- |
387 |
- if use debug; then |
388 |
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld |
389 |
- pax-mark m Debug+Asserts+Checks/bin/lli |
390 |
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target |
391 |
- else |
392 |
- pax-mark m Release/bin/llvm-rtdyld |
393 |
- pax-mark m Release/bin/lli |
394 |
- pax-mark m Release/bin/lli-child-target |
395 |
- fi |
396 |
-} |
397 |
- |
398 |
-multilib_src_test() { |
399 |
- local MAKEARGS |
400 |
- set_makeargs |
401 |
- |
402 |
- # build the remaining tools & unittests |
403 |
- emake "${MAKEARGS[@]}" |
404 |
- |
405 |
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests |
406 |
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests |
407 |
- pax-mark m unittests/Support/Release/SupportTests |
408 |
- |
409 |
- # respect TMPDIR! |
410 |
- local -x LIT_PRESERVES_TMP=1 |
411 |
- emake "${MAKEARGS[@]}" check |
412 |
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test |
413 |
-} |
414 |
- |
415 |
-src_install() { |
416 |
- local MULTILIB_CHOST_TOOLS=( |
417 |
- /usr/bin/llvm-config |
418 |
- ) |
419 |
- |
420 |
- local MULTILIB_WRAPPED_HEADERS=( |
421 |
- /usr/include/llvm/Config/config.h |
422 |
- /usr/include/llvm/Config/llvm-config.h |
423 |
- ) |
424 |
- |
425 |
- if use clang; then |
426 |
- # note: magic applied below |
427 |
- MULTILIB_CHOST_TOOLS+=( |
428 |
- /usr/bin/clang |
429 |
- /usr/bin/clang++ |
430 |
- /usr/bin/clang-${PV} |
431 |
- /usr/bin/clang++-${PV} |
432 |
- ) |
433 |
- |
434 |
- MULTILIB_WRAPPED_HEADERS+=( |
435 |
- /usr/include/clang/Config/config.h |
436 |
- ) |
437 |
- fi |
438 |
- |
439 |
- multilib-minimal_src_install |
440 |
- |
441 |
- # Remove unnecessary headers on FreeBSD, bug #417171 |
442 |
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h |
443 |
-} |
444 |
- |
445 |
-multilib_src_install() { |
446 |
- local MAKEARGS |
447 |
- set_makeargs |
448 |
- |
449 |
- local root=${D}/_${ABI} |
450 |
- |
451 |
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install |
452 |
- multibuild_merge_root "${root}" "${D}" |
453 |
- |
454 |
- if ! multilib_is_native_abi; then |
455 |
- # Backwards compat, will be happily removed someday. |
456 |
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} |
457 |
- else |
458 |
- # Install docs. |
459 |
- if use doc; then |
460 |
- doman "${S}"/docs/_build/man/*.1 |
461 |
- use clang && doman "${T}"/clang.1 |
462 |
- dohtml -r "${S}"/docs/_build/html/ |
463 |
- else |
464 |
- if ! use clang; then |
465 |
- rm "${WORKDIR}"/${PN}-3.5.0-manpages/clang.1 || die |
466 |
- fi |
467 |
- doman "${WORKDIR}"/${PN}-3.5.0-manpages/*.1 |
468 |
- fi |
469 |
- |
470 |
- # Symlink the gold plugin. |
471 |
- if use gold; then |
472 |
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins |
473 |
- dosym ../../../../$(get_libdir)/LLVMgold.so \ |
474 |
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so |
475 |
- fi |
476 |
- fi |
477 |
- |
478 |
- # apply CHOST and PV to clang executables |
479 |
- # they're statically linked so we don't have to worry about the lib |
480 |
- if use clang; then |
481 |
- local clang_tools=( clang clang++ ) |
482 |
- local i |
483 |
- |
484 |
- # append ${PV} and symlink back |
485 |
- # TODO: use alternatives.eclass? does that make any sense? |
486 |
- # maybe with USE=-clang on :0 and USE=clang on older |
487 |
- for i in "${clang_tools[@]}"; do |
488 |
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die |
489 |
- dosym "${i}"-${PV} /usr/bin/${i} |
490 |
- done |
491 |
- |
492 |
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it |
493 |
- if ! multilib_is_native_abi; then |
494 |
- # non-native? let's replace it with a simple wrapper |
495 |
- for i in "${clang_tools[@]}"; do |
496 |
- rm "${ED%/}/usr/bin/${i}-${PV}" || die |
497 |
- cat > "${T}"/wrapper.tmp <<-_EOF_ |
498 |
- #!${EPREFIX}/bin/sh |
499 |
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" |
500 |
- _EOF_ |
501 |
- newbin "${T}"/wrapper.tmp "${i}-${PV}" |
502 |
- done |
503 |
- fi |
504 |
- fi |
505 |
- |
506 |
- # Fix install_names on Darwin. The build system is too complicated |
507 |
- # to just fix this, so we correct it post-install |
508 |
- local lib= f= odylib= ndylib= libpv=${PV} |
509 |
- if [[ ${CHOST} == *-darwin* ]] ; then |
510 |
- eval $(grep PACKAGE_VERSION= configure) |
511 |
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} |
512 |
- libpvminor=${libpv%.[0-9]*} |
513 |
- 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 |
514 |
- # libEnhancedDisassembly is Darwin10 only, so non-fatal |
515 |
- # + omit clang libs if not enabled |
516 |
- [[ -f ${ED}/usr/lib/${lib} ]] || continue |
517 |
- |
518 |
- ebegin "fixing install_name of $lib" |
519 |
- install_name_tool \ |
520 |
- -id "${EPREFIX}"/usr/lib/${lib} \ |
521 |
- "${ED}"/usr/lib/${lib} |
522 |
- eend $? |
523 |
- done |
524 |
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do |
525 |
- # omit clang libs if not enabled |
526 |
- [[ -f "${f}" ]] || continue |
527 |
- |
528 |
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ |
529 |
- while read odylib ; do |
530 |
- ndylib= |
531 |
- case ${odylib} in |
532 |
- */libclang.dylib) |
533 |
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib |
534 |
- ;; |
535 |
- */libLLVM-${libpv}.dylib) |
536 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib |
537 |
- ;; |
538 |
- */libLLVM-${libpvminor}.dylib) |
539 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib |
540 |
- ;; |
541 |
- */libLTO.dylib) |
542 |
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib |
543 |
- ;; |
544 |
- esac |
545 |
- if [[ -n ${ndylib} ]] ; then |
546 |
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}" |
547 |
- install_name_tool \ |
548 |
- -change "${odylib}" "${ndylib}" \ |
549 |
- "${f}" |
550 |
- eend $? |
551 |
- fi |
552 |
- done |
553 |
- done |
554 |
- fi |
555 |
-} |
556 |
- |
557 |
-multilib_src_install_all() { |
558 |
- insinto /usr/share/vim/vimfiles/syntax |
559 |
- doins utils/vim/*.vim |
560 |
- |
561 |
- if use clang; then |
562 |
- cd tools/clang || die |
563 |
- |
564 |
- if use static-analyzer ; then |
565 |
- dobin tools/scan-build/ccc-analyzer |
566 |
- dosym ccc-analyzer /usr/bin/c++-analyzer |
567 |
- dobin tools/scan-build/scan-build |
568 |
- |
569 |
- insinto /usr/share/${PN} |
570 |
- doins tools/scan-build/scanview.css |
571 |
- doins tools/scan-build/sorttable.js |
572 |
- fi |
573 |
- |
574 |
- python_inst() { |
575 |
- if use static-analyzer ; then |
576 |
- pushd tools/scan-view >/dev/null || die |
577 |
- |
578 |
- python_doscript scan-view |
579 |
- |
580 |
- touch __init__.py || die |
581 |
- python_moduleinto clang |
582 |
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py |
583 |
- |
584 |
- popd >/dev/null || die |
585 |
- fi |
586 |
- |
587 |
- if use python ; then |
588 |
- pushd bindings/python/clang >/dev/null || die |
589 |
- |
590 |
- python_moduleinto clang |
591 |
- python_domodule __init__.py cindex.py enumerations.py |
592 |
- |
593 |
- popd >/dev/null || die |
594 |
- fi |
595 |
- |
596 |
- # AddressSanitizer symbolizer (currently separate) |
597 |
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py |
598 |
- } |
599 |
- python_foreach_impl python_inst |
600 |
- fi |
601 |
-} |
602 |
|
603 |
diff --git a/sys-devel/llvm/llvm-3.6.0.ebuild b/sys-devel/llvm/llvm-3.6.0.ebuild |
604 |
deleted file mode 100644 |
605 |
index b789793..0000000 |
606 |
--- a/sys-devel/llvm/llvm-3.6.0.ebuild |
607 |
+++ /dev/null |
608 |
@@ -1,534 +0,0 @@ |
609 |
-# Copyright 1999-2015 Gentoo Foundation |
610 |
-# Distributed under the terms of the GNU General Public License v2 |
611 |
-# $Id$ |
612 |
- |
613 |
-EAPI=5 |
614 |
- |
615 |
-PYTHON_COMPAT=( python2_7 pypy ) |
616 |
- |
617 |
-inherit eutils flag-o-matic multibuild multilib \ |
618 |
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix |
619 |
- |
620 |
-DESCRIPTION="Low Level Virtual Machine" |
621 |
-HOMEPAGE="http://llvm.org/" |
622 |
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz |
623 |
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz |
624 |
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz |
625 |
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) |
626 |
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" |
627 |
- |
628 |
-LICENSE="UoI-NCSA" |
629 |
-SLOT="0/3.6" |
630 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
631 |
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python |
632 |
- +static-analyzer test xml video_cards_radeon |
633 |
- kernel_Darwin kernel_FreeBSD" |
634 |
- |
635 |
-COMMON_DEPEND=" |
636 |
- sys-libs/zlib:0= |
637 |
- clang? ( |
638 |
- python? ( ${PYTHON_DEPS} ) |
639 |
- static-analyzer? ( |
640 |
- dev-lang/perl:* |
641 |
- ${PYTHON_DEPS} |
642 |
- ) |
643 |
- xml? ( dev-libs/libxml2:2= ) |
644 |
- ) |
645 |
- gold? ( >=sys-devel/binutils-2.22:*[cxx] ) |
646 |
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) |
647 |
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) |
648 |
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |
649 |
- ocaml? ( |
650 |
- dev-lang/ocaml:0= |
651 |
- dev-ml/findlib |
652 |
- dev-ml/ocaml-ctypes )" |
653 |
-# configparser-3.2 breaks the build (3.3 or none at all are fine) |
654 |
-DEPEND="${COMMON_DEPEND} |
655 |
- app-arch/xz-utils |
656 |
- dev-lang/perl |
657 |
- >=sys-devel/make-3.81 |
658 |
- >=sys-devel/flex-2.5.4 |
659 |
- >=sys-devel/bison-1.875d |
660 |
- || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 |
661 |
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) |
662 |
- ) |
663 |
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) |
664 |
- clang? ( xml? ( virtual/pkgconfig ) ) |
665 |
- doc? ( dev-python/sphinx ) |
666 |
- libffi? ( virtual/pkgconfig ) |
667 |
- !!<dev-python/configparser-3.3.0.2 |
668 |
- ocaml? ( test? ( dev-ml/ounit ) ) |
669 |
- ${PYTHON_DEPS}" |
670 |
-RDEPEND="${COMMON_DEPEND} |
671 |
- clang? ( !<=sys-devel/clang-${PV}-r99 |
672 |
- !>=sys-devel/clang-9999 ) |
673 |
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 |
674 |
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" |
675 |
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" |
676 |
- |
677 |
-# pypy gives me around 1700 unresolved tests due to open file limit |
678 |
-# being exceeded. probably GC does not close them fast enough. |
679 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE} |
680 |
- test? ( || ( $(python_gen_useflags 'python*') ) )" |
681 |
- |
682 |
-S=${WORKDIR}/${P/_}.src |
683 |
- |
684 |
-# Some people actually override that in make.conf. That sucks since |
685 |
-# we need to run install per-directory, and ninja can't do that... |
686 |
-# so why did it call itself ninja in the first place? |
687 |
-CMAKE_MAKEFILE_GENERATOR=emake |
688 |
- |
689 |
-pkg_pretend() { |
690 |
- # in megs |
691 |
- # !clang !debug !multitarget -O2 400 |
692 |
- # !clang !debug multitarget -O2 550 |
693 |
- # clang !debug !multitarget -O2 950 |
694 |
- # clang !debug multitarget -O2 1200 |
695 |
- # !clang debug multitarget -O2 5G |
696 |
- # clang !debug multitarget -O0 -g 12G |
697 |
- # clang debug multitarget -O2 16G |
698 |
- # clang debug multitarget -O0 -g 14G |
699 |
- |
700 |
- local build_size=550 |
701 |
- use clang && build_size=1200 |
702 |
- |
703 |
- if use debug; then |
704 |
- ewarn "USE=debug is known to increase the size of package considerably" |
705 |
- ewarn "and cause the tests to fail." |
706 |
- ewarn |
707 |
- |
708 |
- (( build_size *= 14 )) |
709 |
- elif is-flagq '-g?(gdb)?([1-9])'; then |
710 |
- ewarn "The C++ compiler -g option is known to increase the size of the package" |
711 |
- ewarn "considerably. If you run out of space, please consider removing it." |
712 |
- ewarn |
713 |
- |
714 |
- (( build_size *= 10 )) |
715 |
- fi |
716 |
- |
717 |
- # Multiply by number of ABIs :). |
718 |
- local abis=( $(multilib_get_enabled_abis) ) |
719 |
- (( build_size *= ${#abis[@]} )) |
720 |
- |
721 |
- local CHECKREQS_DISK_BUILD=${build_size}M |
722 |
- check-reqs_pkg_pretend |
723 |
- |
724 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
725 |
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die |
726 |
- ebegin "Trying to build a C++11 test program" |
727 |
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then |
728 |
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" |
729 |
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" |
730 |
- eerror "to gcc-4.7 or an equivalent version supporting C++11." |
731 |
- die "Currently active compiler does not support -std=c++11" |
732 |
- fi |
733 |
- eend ${?} |
734 |
- fi |
735 |
-} |
736 |
- |
737 |
-pkg_setup() { |
738 |
- pkg_pretend |
739 |
-} |
740 |
- |
741 |
-src_unpack() { |
742 |
- default |
743 |
- |
744 |
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ |
745 |
- || die "symlinks removal failed" |
746 |
- |
747 |
- if use clang; then |
748 |
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ |
749 |
- || die "clang source directory move failed" |
750 |
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ |
751 |
- || die "compiler-rt source directory move failed" |
752 |
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ |
753 |
- || die "clang-tools-extra source directory move failed" |
754 |
- fi |
755 |
-} |
756 |
- |
757 |
-src_prepare() { |
758 |
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch |
759 |
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch |
760 |
- epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch |
761 |
- # Make ocaml warnings non-fatal, bug #537308 |
762 |
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die |
763 |
- |
764 |
- if use clang; then |
765 |
- # Automatically select active system GCC's libraries, bugs #406163 and #417913 |
766 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch |
767 |
- |
768 |
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch |
769 |
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch |
770 |
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp |
771 |
- fi |
772 |
- |
773 |
- if use prefix && use clang; then |
774 |
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ |
775 |
- projects/compiler-rt/make/platform/clang_*.mk || die |
776 |
- fi |
777 |
- |
778 |
- local sub_files=( |
779 |
- Makefile.config.in |
780 |
- Makefile.rules |
781 |
- tools/llvm-config/llvm-config.cpp |
782 |
- ) |
783 |
- use clang && sub_files+=( |
784 |
- tools/clang/lib/Driver/Tools.cpp |
785 |
- tools/clang/tools/scan-build/scan-build |
786 |
- ) |
787 |
- |
788 |
- # unfortunately ./configure won't listen to --mandir and the-like, so take |
789 |
- # care of this. |
790 |
- # note: we're setting the main libdir intentionally. |
791 |
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. |
792 |
- einfo "Fixing install dirs" |
793 |
- sed -e "s,@libdir@,$(get_libdir),g" \ |
794 |
- -e "s,@PF@,${PF},g" \ |
795 |
- -e "s,@EPREFIX@,${EPREFIX},g" \ |
796 |
- -i "${sub_files[@]}" \ |
797 |
- || die "install paths sed failed" |
798 |
- |
799 |
- if use clang; then |
800 |
- # constantly fails for a long time, likely due to our patches |
801 |
- rm tools/clang/test/Driver/cross-linux.c || die |
802 |
- fi |
803 |
- |
804 |
- # User patches |
805 |
- epatch_user |
806 |
- |
807 |
- python_setup |
808 |
-} |
809 |
- |
810 |
-multilib_src_configure() { |
811 |
- # disable timestamps since they confuse ccache |
812 |
- local conf_flags=( |
813 |
- --disable-timestamps |
814 |
- --enable-keep-symbols |
815 |
- --enable-shared |
816 |
- --with-optimize-option= |
817 |
- $(tc-is-static-only && echo --disable-shared) |
818 |
- $(use_enable !debug optimized) |
819 |
- $(use_enable debug assertions) |
820 |
- $(use_enable debug expensive-checks) |
821 |
- $(use_enable libedit) |
822 |
- $(use_enable ncurses terminfo) |
823 |
- $(use_enable libffi) |
824 |
- ) |
825 |
- |
826 |
- # well, it's used only by clang executable c-index-test |
827 |
- if multilib_is_native_abi && use clang && use xml; then |
828 |
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) |
829 |
- else |
830 |
- conf_flags+=( ac_cv_prog_XML2CONFIG="" ) |
831 |
- fi |
832 |
- |
833 |
- local targets bindings |
834 |
- if use multitarget; then |
835 |
- targets='all' |
836 |
- else |
837 |
- targets='host,cpp' |
838 |
- use video_cards_radeon && targets+=',r600' |
839 |
- fi |
840 |
- conf_flags+=( --enable-targets=${targets} ) |
841 |
- |
842 |
- if multilib_is_native_abi; then |
843 |
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) |
844 |
- # extra commas don't hurt |
845 |
- use ocaml && bindings+=',ocaml' |
846 |
- fi |
847 |
- |
848 |
- [[ ${bindings} ]] || bindings='none' |
849 |
- conf_flags+=( --enable-bindings=${bindings} ) |
850 |
- |
851 |
- if use libffi; then |
852 |
- local CPPFLAGS=${CPPFLAGS} |
853 |
- append-cppflags "$(pkg-config --cflags libffi)" |
854 |
- fi |
855 |
- |
856 |
- # llvm prefers clang over gcc, so we may need to force that |
857 |
- tc-export CC CXX |
858 |
- |
859 |
- ECONF_SOURCE=${S} \ |
860 |
- econf "${conf_flags[@]}" |
861 |
-} |
862 |
- |
863 |
-set_makeargs() { |
864 |
- MAKEARGS=( |
865 |
- VERBOSE=1 |
866 |
- REQUIRES_RTTI=1 |
867 |
- GENTOO_LIBDIR=$(get_libdir) |
868 |
- ) |
869 |
- |
870 |
- # for tests, we want it all! otherwise, we may use a little filtering... |
871 |
- # adding ONLY_TOOLS also disables unittest building... |
872 |
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then |
873 |
- local tools=( llvm-config ) |
874 |
- use clang && tools+=( clang ) |
875 |
- |
876 |
- if multilib_is_native_abi; then |
877 |
- tools+=( |
878 |
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli |
879 |
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump |
880 |
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov |
881 |
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata |
882 |
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint |
883 |
- ) |
884 |
- |
885 |
- # the build system runs explicitly specified tools in parallel, |
886 |
- # so we need to split it into two runs |
887 |
- if [[ ${1} != -1 ]]; then |
888 |
- # those require lto |
889 |
- tools+=( llvm-lto ) |
890 |
- use gold && tools+=( gold ) |
891 |
- |
892 |
- # those require clang :) |
893 |
- # we need to explicitly specify all its tools |
894 |
- # since we're passing BUILD_CLANG_ONLY |
895 |
- use clang && tools+=( |
896 |
- clang/tools/{clang-check,clang-format,extra} |
897 |
- ) |
898 |
- fi |
899 |
- fi |
900 |
- |
901 |
- MAKEARGS+=( |
902 |
- # filter tools + disable unittests implicitly |
903 |
- ONLY_TOOLS="${tools[*]}" |
904 |
- |
905 |
- # this disables unittests & docs from clang |
906 |
- BUILD_CLANG_ONLY=YES |
907 |
- ) |
908 |
- fi |
909 |
-} |
910 |
- |
911 |
-multilib_src_compile() { |
912 |
- local MAKEARGS |
913 |
- set_makeargs -1 |
914 |
- emake "${MAKEARGS[@]}" |
915 |
- |
916 |
- if multilib_is_native_abi; then |
917 |
- set_makeargs |
918 |
- emake -C tools "${MAKEARGS[@]}" |
919 |
- |
920 |
- if use doc; then |
921 |
- emake -C "${S}"/docs -f Makefile.sphinx man |
922 |
- use clang && emake -C "${S}"/tools/clang/docs/tools \ |
923 |
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man |
924 |
- emake -C "${S}"/docs -f Makefile.sphinx html |
925 |
- fi |
926 |
- fi |
927 |
- |
928 |
- if use debug; then |
929 |
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld |
930 |
- pax-mark m Debug+Asserts+Checks/bin/lli |
931 |
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target |
932 |
- else |
933 |
- pax-mark m Release/bin/llvm-rtdyld |
934 |
- pax-mark m Release/bin/lli |
935 |
- pax-mark m Release/bin/lli-child-target |
936 |
- fi |
937 |
-} |
938 |
- |
939 |
-multilib_src_test() { |
940 |
- local MAKEARGS |
941 |
- set_makeargs |
942 |
- |
943 |
- # build the remaining tools & unittests |
944 |
- emake "${MAKEARGS[@]}" |
945 |
- |
946 |
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests |
947 |
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests |
948 |
- pax-mark m unittests/Support/Release/SupportTests |
949 |
- |
950 |
- # respect TMPDIR! |
951 |
- local -x LIT_PRESERVES_TMP=1 |
952 |
- emake "${MAKEARGS[@]}" check |
953 |
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test |
954 |
-} |
955 |
- |
956 |
-src_install() { |
957 |
- local MULTILIB_CHOST_TOOLS=( |
958 |
- /usr/bin/llvm-config |
959 |
- ) |
960 |
- |
961 |
- local MULTILIB_WRAPPED_HEADERS=( |
962 |
- /usr/include/llvm/Config/config.h |
963 |
- /usr/include/llvm/Config/llvm-config.h |
964 |
- ) |
965 |
- |
966 |
- if use clang; then |
967 |
- # note: magic applied below |
968 |
- MULTILIB_CHOST_TOOLS+=( |
969 |
- /usr/bin/clang |
970 |
- /usr/bin/clang++ |
971 |
- /usr/bin/clang-${PV} |
972 |
- /usr/bin/clang++-${PV} |
973 |
- ) |
974 |
- |
975 |
- MULTILIB_WRAPPED_HEADERS+=( |
976 |
- /usr/include/clang/Config/config.h |
977 |
- ) |
978 |
- fi |
979 |
- |
980 |
- multilib-minimal_src_install |
981 |
- |
982 |
- # Remove unnecessary headers on FreeBSD, bug #417171 |
983 |
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h |
984 |
-} |
985 |
- |
986 |
-multilib_src_install() { |
987 |
- local MAKEARGS |
988 |
- set_makeargs |
989 |
- |
990 |
- local root=${D}/_${ABI} |
991 |
- |
992 |
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install |
993 |
- multibuild_merge_root "${root}" "${D}" |
994 |
- |
995 |
- if ! multilib_is_native_abi; then |
996 |
- # Backwards compat, will be happily removed someday. |
997 |
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} |
998 |
- else |
999 |
- # Install docs. |
1000 |
- if use doc; then |
1001 |
- doman "${S}"/docs/_build/man/*.1 |
1002 |
- use clang && doman "${T}"/clang.1 |
1003 |
- dohtml -r "${S}"/docs/_build/html/ |
1004 |
- else |
1005 |
- if ! use clang; then |
1006 |
- rm "${WORKDIR}"/${P}-manpages/clang.1 || die |
1007 |
- fi |
1008 |
- doman "${WORKDIR}"/${P}-manpages/*.1 |
1009 |
- fi |
1010 |
- |
1011 |
- # Symlink the gold plugin. |
1012 |
- if use gold; then |
1013 |
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins |
1014 |
- dosym ../../../../$(get_libdir)/LLVMgold.so \ |
1015 |
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so |
1016 |
- fi |
1017 |
- fi |
1018 |
- |
1019 |
- # apply CHOST and PV to clang executables |
1020 |
- # they're statically linked so we don't have to worry about the lib |
1021 |
- if use clang; then |
1022 |
- local clang_tools=( clang clang++ ) |
1023 |
- local i |
1024 |
- |
1025 |
- # append ${PV} and symlink back |
1026 |
- # TODO: use alternatives.eclass? does that make any sense? |
1027 |
- # maybe with USE=-clang on :0 and USE=clang on older |
1028 |
- for i in "${clang_tools[@]}"; do |
1029 |
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die |
1030 |
- dosym "${i}"-${PV} /usr/bin/${i} |
1031 |
- done |
1032 |
- |
1033 |
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it |
1034 |
- if ! multilib_is_native_abi; then |
1035 |
- # non-native? let's replace it with a simple wrapper |
1036 |
- for i in "${clang_tools[@]}"; do |
1037 |
- rm "${ED%/}/usr/bin/${i}-${PV}" || die |
1038 |
- cat > "${T}"/wrapper.tmp <<-_EOF_ |
1039 |
- #!${EPREFIX}/bin/sh |
1040 |
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" |
1041 |
- _EOF_ |
1042 |
- newbin "${T}"/wrapper.tmp "${i}-${PV}" |
1043 |
- done |
1044 |
- fi |
1045 |
- fi |
1046 |
- |
1047 |
- # Fix install_names on Darwin. The build system is too complicated |
1048 |
- # to just fix this, so we correct it post-install |
1049 |
- local lib= f= odylib= ndylib= libpv=${PV} |
1050 |
- if [[ ${CHOST} == *-darwin* ]] ; then |
1051 |
- eval $(grep PACKAGE_VERSION= configure) |
1052 |
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} |
1053 |
- libpvminor=${libpv%.[0-9]*} |
1054 |
- 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 |
1055 |
- # libEnhancedDisassembly is Darwin10 only, so non-fatal |
1056 |
- # + omit clang libs if not enabled |
1057 |
- [[ -f ${ED}/usr/lib/${lib} ]] || continue |
1058 |
- |
1059 |
- ebegin "fixing install_name of $lib" |
1060 |
- install_name_tool \ |
1061 |
- -id "${EPREFIX}"/usr/lib/${lib} \ |
1062 |
- "${ED}"/usr/lib/${lib} |
1063 |
- eend $? |
1064 |
- done |
1065 |
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do |
1066 |
- # omit clang libs if not enabled |
1067 |
- [[ -f "${f}" ]] || continue |
1068 |
- |
1069 |
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ |
1070 |
- while read odylib ; do |
1071 |
- ndylib= |
1072 |
- case ${odylib} in |
1073 |
- */libclang.dylib) |
1074 |
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib |
1075 |
- ;; |
1076 |
- */libLLVM-${libpv}.dylib) |
1077 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib |
1078 |
- ;; |
1079 |
- */libLLVM-${libpvminor}.dylib) |
1080 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib |
1081 |
- ;; |
1082 |
- */libLTO.dylib) |
1083 |
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib |
1084 |
- ;; |
1085 |
- esac |
1086 |
- if [[ -n ${ndylib} ]] ; then |
1087 |
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}" |
1088 |
- install_name_tool \ |
1089 |
- -change "${odylib}" "${ndylib}" \ |
1090 |
- "${f}" |
1091 |
- eend $? |
1092 |
- fi |
1093 |
- done |
1094 |
- done |
1095 |
- fi |
1096 |
-} |
1097 |
- |
1098 |
-multilib_src_install_all() { |
1099 |
- insinto /usr/share/vim/vimfiles/syntax |
1100 |
- doins utils/vim/*.vim |
1101 |
- |
1102 |
- if use clang; then |
1103 |
- cd tools/clang || die |
1104 |
- |
1105 |
- if use static-analyzer ; then |
1106 |
- dobin tools/scan-build/ccc-analyzer |
1107 |
- dosym ccc-analyzer /usr/bin/c++-analyzer |
1108 |
- dobin tools/scan-build/scan-build |
1109 |
- |
1110 |
- insinto /usr/share/${PN} |
1111 |
- doins tools/scan-build/scanview.css |
1112 |
- doins tools/scan-build/sorttable.js |
1113 |
- fi |
1114 |
- |
1115 |
- python_inst() { |
1116 |
- if use static-analyzer ; then |
1117 |
- pushd tools/scan-view >/dev/null || die |
1118 |
- |
1119 |
- python_doscript scan-view |
1120 |
- |
1121 |
- touch __init__.py || die |
1122 |
- python_moduleinto clang |
1123 |
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py |
1124 |
- |
1125 |
- popd >/dev/null || die |
1126 |
- fi |
1127 |
- |
1128 |
- if use python ; then |
1129 |
- pushd bindings/python/clang >/dev/null || die |
1130 |
- |
1131 |
- python_moduleinto clang |
1132 |
- python_domodule __init__.py cindex.py enumerations.py |
1133 |
- |
1134 |
- popd >/dev/null || die |
1135 |
- fi |
1136 |
- |
1137 |
- # AddressSanitizer symbolizer (currently separate) |
1138 |
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py |
1139 |
- } |
1140 |
- python_foreach_impl python_inst |
1141 |
- fi |
1142 |
-} |
1143 |
|
1144 |
diff --git a/sys-devel/llvm/llvm-3.6.1.ebuild b/sys-devel/llvm/llvm-3.6.1.ebuild |
1145 |
deleted file mode 100644 |
1146 |
index 6cc8a46..0000000 |
1147 |
--- a/sys-devel/llvm/llvm-3.6.1.ebuild |
1148 |
+++ /dev/null |
1149 |
@@ -1,541 +0,0 @@ |
1150 |
-# Copyright 1999-2015 Gentoo Foundation |
1151 |
-# Distributed under the terms of the GNU General Public License v2 |
1152 |
-# $Id$ |
1153 |
- |
1154 |
-EAPI=5 |
1155 |
- |
1156 |
-PYTHON_COMPAT=( python2_7 pypy ) |
1157 |
- |
1158 |
-inherit eutils flag-o-matic multibuild multilib \ |
1159 |
- multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix |
1160 |
- |
1161 |
-DESCRIPTION="Low Level Virtual Machine" |
1162 |
-HOMEPAGE="http://llvm.org/" |
1163 |
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz |
1164 |
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz |
1165 |
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz |
1166 |
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) |
1167 |
- !doc? ( https://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" |
1168 |
- |
1169 |
-LICENSE="UoI-NCSA" |
1170 |
-SLOT="0/3.6" |
1171 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
1172 |
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python |
1173 |
- +static-analyzer test xml video_cards_radeon |
1174 |
- kernel_Darwin kernel_FreeBSD" |
1175 |
- |
1176 |
-COMMON_DEPEND=" |
1177 |
- sys-libs/zlib:0= |
1178 |
- clang? ( |
1179 |
- python? ( ${PYTHON_DEPS} ) |
1180 |
- static-analyzer? ( |
1181 |
- dev-lang/perl:* |
1182 |
- ${PYTHON_DEPS} |
1183 |
- ) |
1184 |
- xml? ( dev-libs/libxml2:2= ) |
1185 |
- ) |
1186 |
- gold? ( >=sys-devel/binutils-2.22:*[cxx] ) |
1187 |
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) |
1188 |
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) |
1189 |
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |
1190 |
- ocaml? ( |
1191 |
- dev-lang/ocaml:0= |
1192 |
- dev-ml/findlib |
1193 |
- dev-ml/ocaml-ctypes )" |
1194 |
-# configparser-3.2 breaks the build (3.3 or none at all are fine) |
1195 |
-DEPEND="${COMMON_DEPEND} |
1196 |
- app-arch/xz-utils |
1197 |
- dev-lang/perl |
1198 |
- >=sys-devel/make-3.81 |
1199 |
- >=sys-devel/flex-2.5.4 |
1200 |
- >=sys-devel/bison-1.875d |
1201 |
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 |
1202 |
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) |
1203 |
- ) |
1204 |
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) |
1205 |
- kernel_Darwin? ( sys-libs/libcxx ) |
1206 |
- clang? ( xml? ( virtual/pkgconfig ) ) |
1207 |
- doc? ( dev-python/sphinx ) |
1208 |
- libffi? ( virtual/pkgconfig ) |
1209 |
- !!<dev-python/configparser-3.3.0.2 |
1210 |
- ocaml? ( test? ( dev-ml/ounit ) ) |
1211 |
- ${PYTHON_DEPS}" |
1212 |
-RDEPEND="${COMMON_DEPEND} |
1213 |
- clang? ( !<=sys-devel/clang-${PV}-r99 |
1214 |
- !>=sys-devel/clang-9999 ) |
1215 |
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 |
1216 |
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" |
1217 |
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" |
1218 |
- |
1219 |
-# pypy gives me around 1700 unresolved tests due to open file limit |
1220 |
-# being exceeded. probably GC does not close them fast enough. |
1221 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE} |
1222 |
- test? ( || ( $(python_gen_useflags 'python*') ) )" |
1223 |
- |
1224 |
-S=${WORKDIR}/${P/_}.src |
1225 |
- |
1226 |
-# Some people actually override that in make.conf. That sucks since |
1227 |
-# we need to run install per-directory, and ninja can't do that... |
1228 |
-# so why did it call itself ninja in the first place? |
1229 |
-CMAKE_MAKEFILE_GENERATOR=emake |
1230 |
- |
1231 |
-pkg_pretend() { |
1232 |
- # in megs |
1233 |
- # !clang !debug !multitarget -O2 400 |
1234 |
- # !clang !debug multitarget -O2 550 |
1235 |
- # clang !debug !multitarget -O2 950 |
1236 |
- # clang !debug multitarget -O2 1200 |
1237 |
- # !clang debug multitarget -O2 5G |
1238 |
- # clang !debug multitarget -O0 -g 12G |
1239 |
- # clang debug multitarget -O2 16G |
1240 |
- # clang debug multitarget -O0 -g 14G |
1241 |
- |
1242 |
- local build_size=550 |
1243 |
- use clang && build_size=1200 |
1244 |
- |
1245 |
- if use debug; then |
1246 |
- ewarn "USE=debug is known to increase the size of package considerably" |
1247 |
- ewarn "and cause the tests to fail." |
1248 |
- ewarn |
1249 |
- |
1250 |
- (( build_size *= 14 )) |
1251 |
- elif is-flagq '-g?(gdb)?([1-9])'; then |
1252 |
- ewarn "The C++ compiler -g option is known to increase the size of the package" |
1253 |
- ewarn "considerably. If you run out of space, please consider removing it." |
1254 |
- ewarn |
1255 |
- |
1256 |
- (( build_size *= 10 )) |
1257 |
- fi |
1258 |
- |
1259 |
- # Multiply by number of ABIs :). |
1260 |
- local abis=( $(multilib_get_enabled_abis) ) |
1261 |
- (( build_size *= ${#abis[@]} )) |
1262 |
- |
1263 |
- local CHECKREQS_DISK_BUILD=${build_size}M |
1264 |
- check-reqs_pkg_pretend |
1265 |
- |
1266 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
1267 |
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die |
1268 |
- ebegin "Trying to build a C++11 test program" |
1269 |
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then |
1270 |
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" |
1271 |
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" |
1272 |
- eerror "to gcc-4.7 or an equivalent version supporting C++11." |
1273 |
- die "Currently active compiler does not support -std=c++11" |
1274 |
- fi |
1275 |
- eend ${?} |
1276 |
- fi |
1277 |
-} |
1278 |
- |
1279 |
-pkg_setup() { |
1280 |
- pkg_pretend |
1281 |
-} |
1282 |
- |
1283 |
-src_unpack() { |
1284 |
- default |
1285 |
- |
1286 |
- rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ |
1287 |
- || die "symlinks removal failed" |
1288 |
- |
1289 |
- if use clang; then |
1290 |
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ |
1291 |
- || die "clang source directory move failed" |
1292 |
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ |
1293 |
- || die "compiler-rt source directory move failed" |
1294 |
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ |
1295 |
- || die "clang-tools-extra source directory move failed" |
1296 |
- fi |
1297 |
-} |
1298 |
- |
1299 |
-src_prepare() { |
1300 |
- epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch |
1301 |
- epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch |
1302 |
- epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch |
1303 |
- epatch "${FILESDIR}"/${PN}-3.6.0-ocaml-ctypes-0.4.0.patch |
1304 |
- # Make ocaml warnings non-fatal, bug #537308 |
1305 |
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die |
1306 |
- |
1307 |
- if use clang; then |
1308 |
- # Automatically select active system GCC's libraries, bugs #406163 and #417913 |
1309 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch |
1310 |
- |
1311 |
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch |
1312 |
- epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch |
1313 |
- eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp |
1314 |
- |
1315 |
- # Fix build fails with using gcc-4.9 on Gentoo/FreeBSD, bug #548444 |
1316 |
- epatch "${FILESDIR}"/clang-3.6-fbsd-gcc49.patch |
1317 |
- fi |
1318 |
- |
1319 |
- if use prefix && use clang; then |
1320 |
- sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ |
1321 |
- projects/compiler-rt/make/platform/clang_*.mk || die |
1322 |
- fi |
1323 |
- |
1324 |
- local sub_files=( |
1325 |
- Makefile.config.in |
1326 |
- Makefile.rules |
1327 |
- tools/llvm-config/llvm-config.cpp |
1328 |
- ) |
1329 |
- use clang && sub_files+=( |
1330 |
- tools/clang/lib/Driver/Tools.cpp |
1331 |
- tools/clang/tools/scan-build/scan-build |
1332 |
- ) |
1333 |
- |
1334 |
- # unfortunately ./configure won't listen to --mandir and the-like, so take |
1335 |
- # care of this. |
1336 |
- # note: we're setting the main libdir intentionally. |
1337 |
- # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. |
1338 |
- einfo "Fixing install dirs" |
1339 |
- sed -e "s,@libdir@,$(get_libdir),g" \ |
1340 |
- -e "s,@PF@,${PF},g" \ |
1341 |
- -e "s,@EPREFIX@,${EPREFIX},g" \ |
1342 |
- -i "${sub_files[@]}" \ |
1343 |
- || die "install paths sed failed" |
1344 |
- |
1345 |
- if use clang; then |
1346 |
- # constantly fails for a long time, likely due to our patches |
1347 |
- rm tools/clang/test/Driver/cross-linux.c || die |
1348 |
- fi |
1349 |
- |
1350 |
- # User patches |
1351 |
- epatch_user |
1352 |
- |
1353 |
- python_setup |
1354 |
-} |
1355 |
- |
1356 |
-multilib_src_configure() { |
1357 |
- # disable timestamps since they confuse ccache |
1358 |
- local conf_flags=( |
1359 |
- --disable-timestamps |
1360 |
- --enable-keep-symbols |
1361 |
- --enable-shared |
1362 |
- --with-optimize-option= |
1363 |
- $(tc-is-static-only && echo --disable-shared) |
1364 |
- $(use_enable !debug optimized) |
1365 |
- $(use_enable debug assertions) |
1366 |
- $(use_enable debug expensive-checks) |
1367 |
- $(use_enable libedit) |
1368 |
- $(use_enable ncurses terminfo) |
1369 |
- $(use_enable libffi) |
1370 |
- ) |
1371 |
- |
1372 |
- # well, it's used only by clang executable c-index-test |
1373 |
- if multilib_is_native_abi && use clang && use xml; then |
1374 |
- conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) |
1375 |
- else |
1376 |
- conf_flags+=( ac_cv_prog_XML2CONFIG="" ) |
1377 |
- fi |
1378 |
- |
1379 |
- local targets bindings |
1380 |
- if use multitarget; then |
1381 |
- targets='all' |
1382 |
- else |
1383 |
- targets='host,cpp' |
1384 |
- use video_cards_radeon && targets+=',r600' |
1385 |
- fi |
1386 |
- conf_flags+=( --enable-targets=${targets} ) |
1387 |
- |
1388 |
- if multilib_is_native_abi; then |
1389 |
- use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) |
1390 |
- # extra commas don't hurt |
1391 |
- use ocaml && bindings+=',ocaml' |
1392 |
- fi |
1393 |
- |
1394 |
- [[ ${bindings} ]] || bindings='none' |
1395 |
- conf_flags+=( --enable-bindings=${bindings} ) |
1396 |
- |
1397 |
- if use libffi; then |
1398 |
- local CPPFLAGS=${CPPFLAGS} |
1399 |
- append-cppflags "$(pkg-config --cflags libffi)" |
1400 |
- fi |
1401 |
- |
1402 |
- # Enable large file support, bug #550708 |
1403 |
- append-lfs-flags |
1404 |
- # llvm prefers clang over gcc, so we may need to force that |
1405 |
- tc-export CC CXX |
1406 |
- |
1407 |
- ECONF_SOURCE=${S} \ |
1408 |
- econf "${conf_flags[@]}" |
1409 |
-} |
1410 |
- |
1411 |
-set_makeargs() { |
1412 |
- MAKEARGS=( |
1413 |
- VERBOSE=1 |
1414 |
- REQUIRES_RTTI=1 |
1415 |
- GENTOO_LIBDIR=$(get_libdir) |
1416 |
- ) |
1417 |
- |
1418 |
- # for tests, we want it all! otherwise, we may use a little filtering... |
1419 |
- # adding ONLY_TOOLS also disables unittest building... |
1420 |
- if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then |
1421 |
- local tools=( llvm-config ) |
1422 |
- use clang && tools+=( clang ) |
1423 |
- |
1424 |
- if multilib_is_native_abi; then |
1425 |
- tools+=( |
1426 |
- opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli |
1427 |
- llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump |
1428 |
- llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov |
1429 |
- llvm-size llvm-stress llvm-mcmarkup llvm-profdata |
1430 |
- llvm-symbolizer obj2yaml yaml2obj lto bugpoint |
1431 |
- ) |
1432 |
- |
1433 |
- # the build system runs explicitly specified tools in parallel, |
1434 |
- # so we need to split it into two runs |
1435 |
- if [[ ${1} != -1 ]]; then |
1436 |
- # those require lto |
1437 |
- tools+=( llvm-lto ) |
1438 |
- use gold && tools+=( gold ) |
1439 |
- |
1440 |
- # those require clang :) |
1441 |
- # we need to explicitly specify all its tools |
1442 |
- # since we're passing BUILD_CLANG_ONLY |
1443 |
- use clang && tools+=( |
1444 |
- clang/tools/{clang-check,clang-format,extra} |
1445 |
- ) |
1446 |
- fi |
1447 |
- fi |
1448 |
- |
1449 |
- MAKEARGS+=( |
1450 |
- # filter tools + disable unittests implicitly |
1451 |
- ONLY_TOOLS="${tools[*]}" |
1452 |
- |
1453 |
- # this disables unittests & docs from clang |
1454 |
- BUILD_CLANG_ONLY=YES |
1455 |
- ) |
1456 |
- fi |
1457 |
-} |
1458 |
- |
1459 |
-multilib_src_compile() { |
1460 |
- local MAKEARGS |
1461 |
- set_makeargs -1 |
1462 |
- emake "${MAKEARGS[@]}" |
1463 |
- |
1464 |
- if multilib_is_native_abi; then |
1465 |
- set_makeargs |
1466 |
- emake -C tools "${MAKEARGS[@]}" |
1467 |
- |
1468 |
- if use doc; then |
1469 |
- emake -C "${S}"/docs -f Makefile.sphinx man |
1470 |
- use clang && emake -C "${S}"/tools/clang/docs/tools \ |
1471 |
- BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man |
1472 |
- emake -C "${S}"/docs -f Makefile.sphinx html |
1473 |
- fi |
1474 |
- fi |
1475 |
- |
1476 |
- if use debug; then |
1477 |
- pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld |
1478 |
- pax-mark m Debug+Asserts+Checks/bin/lli |
1479 |
- pax-mark m Debug+Asserts+Checks/bin/lli-child-target |
1480 |
- else |
1481 |
- pax-mark m Release/bin/llvm-rtdyld |
1482 |
- pax-mark m Release/bin/lli |
1483 |
- pax-mark m Release/bin/lli-child-target |
1484 |
- fi |
1485 |
-} |
1486 |
- |
1487 |
-multilib_src_test() { |
1488 |
- local MAKEARGS |
1489 |
- set_makeargs |
1490 |
- |
1491 |
- # build the remaining tools & unittests |
1492 |
- emake "${MAKEARGS[@]}" |
1493 |
- |
1494 |
- pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests |
1495 |
- pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests |
1496 |
- pax-mark m unittests/Support/Release/SupportTests |
1497 |
- |
1498 |
- # respect TMPDIR! |
1499 |
- local -x LIT_PRESERVES_TMP=1 |
1500 |
- emake "${MAKEARGS[@]}" check |
1501 |
- use clang && emake "${MAKEARGS[@]}" -C tools/clang test |
1502 |
-} |
1503 |
- |
1504 |
-src_install() { |
1505 |
- local MULTILIB_CHOST_TOOLS=( |
1506 |
- /usr/bin/llvm-config |
1507 |
- ) |
1508 |
- |
1509 |
- local MULTILIB_WRAPPED_HEADERS=( |
1510 |
- /usr/include/llvm/Config/config.h |
1511 |
- /usr/include/llvm/Config/llvm-config.h |
1512 |
- ) |
1513 |
- |
1514 |
- if use clang; then |
1515 |
- # note: magic applied below |
1516 |
- MULTILIB_CHOST_TOOLS+=( |
1517 |
- /usr/bin/clang |
1518 |
- /usr/bin/clang++ |
1519 |
- /usr/bin/clang-${PV} |
1520 |
- /usr/bin/clang++-${PV} |
1521 |
- ) |
1522 |
- |
1523 |
- MULTILIB_WRAPPED_HEADERS+=( |
1524 |
- /usr/include/clang/Config/config.h |
1525 |
- ) |
1526 |
- fi |
1527 |
- |
1528 |
- multilib-minimal_src_install |
1529 |
- |
1530 |
- # Remove unnecessary headers on FreeBSD, bug #417171 |
1531 |
- use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h |
1532 |
-} |
1533 |
- |
1534 |
-multilib_src_install() { |
1535 |
- local MAKEARGS |
1536 |
- set_makeargs |
1537 |
- |
1538 |
- local root=${D}/_${ABI} |
1539 |
- |
1540 |
- emake "${MAKEARGS[@]}" DESTDIR="${root}" install |
1541 |
- multibuild_merge_root "${root}" "${D}" |
1542 |
- |
1543 |
- if ! multilib_is_native_abi; then |
1544 |
- # Backwards compat, will be happily removed someday. |
1545 |
- dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} |
1546 |
- else |
1547 |
- # Install docs. |
1548 |
- if use doc; then |
1549 |
- doman "${S}"/docs/_build/man/*.1 |
1550 |
- use clang && doman "${T}"/clang.1 |
1551 |
- dohtml -r "${S}"/docs/_build/html/ |
1552 |
- else |
1553 |
- if ! use clang; then |
1554 |
- rm "${WORKDIR}"/${P}-manpages/clang.1 || die |
1555 |
- fi |
1556 |
- doman "${WORKDIR}"/${P}-manpages/*.1 |
1557 |
- fi |
1558 |
- |
1559 |
- # Symlink the gold plugin. |
1560 |
- if use gold; then |
1561 |
- dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins |
1562 |
- dosym ../../../../$(get_libdir)/LLVMgold.so \ |
1563 |
- /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so |
1564 |
- fi |
1565 |
- fi |
1566 |
- |
1567 |
- # apply CHOST and PV to clang executables |
1568 |
- # they're statically linked so we don't have to worry about the lib |
1569 |
- if use clang; then |
1570 |
- local clang_tools=( clang clang++ ) |
1571 |
- local i |
1572 |
- |
1573 |
- # append ${PV} and symlink back |
1574 |
- # TODO: use alternatives.eclass? does that make any sense? |
1575 |
- # maybe with USE=-clang on :0 and USE=clang on older |
1576 |
- for i in "${clang_tools[@]}"; do |
1577 |
- mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die |
1578 |
- dosym "${i}"-${PV} /usr/bin/${i} |
1579 |
- done |
1580 |
- |
1581 |
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it |
1582 |
- if ! multilib_is_native_abi; then |
1583 |
- # non-native? let's replace it with a simple wrapper |
1584 |
- for i in "${clang_tools[@]}"; do |
1585 |
- rm "${ED%/}/usr/bin/${i}-${PV}" || die |
1586 |
- cat > "${T}"/wrapper.tmp <<-_EOF_ |
1587 |
- #!${EPREFIX}/bin/sh |
1588 |
- exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" |
1589 |
- _EOF_ |
1590 |
- newbin "${T}"/wrapper.tmp "${i}-${PV}" |
1591 |
- done |
1592 |
- fi |
1593 |
- fi |
1594 |
- |
1595 |
- # Fix install_names on Darwin. The build system is too complicated |
1596 |
- # to just fix this, so we correct it post-install |
1597 |
- local lib= f= odylib= ndylib= libpv=${PV} |
1598 |
- if [[ ${CHOST} == *-darwin* ]] ; then |
1599 |
- eval $(grep PACKAGE_VERSION= configure) |
1600 |
- [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} |
1601 |
- libpvminor=${libpv%.[0-9]*} |
1602 |
- 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 |
1603 |
- # libEnhancedDisassembly is Darwin10 only, so non-fatal |
1604 |
- # + omit clang libs if not enabled |
1605 |
- [[ -f ${ED}/usr/lib/${lib} ]] || continue |
1606 |
- |
1607 |
- ebegin "fixing install_name of $lib" |
1608 |
- install_name_tool \ |
1609 |
- -id "${EPREFIX}"/usr/lib/${lib} \ |
1610 |
- "${ED}"/usr/lib/${lib} |
1611 |
- eend $? |
1612 |
- done |
1613 |
- for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do |
1614 |
- # omit clang libs if not enabled |
1615 |
- [[ -f "${f}" ]] || continue |
1616 |
- |
1617 |
- scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ |
1618 |
- while read odylib ; do |
1619 |
- ndylib= |
1620 |
- case ${odylib} in |
1621 |
- */libclang.dylib) |
1622 |
- ndylib="${EPREFIX}"/usr/lib/libclang.dylib |
1623 |
- ;; |
1624 |
- */libLLVM-${libpv}.dylib) |
1625 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib |
1626 |
- ;; |
1627 |
- */libLLVM-${libpvminor}.dylib) |
1628 |
- ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpvminor}.dylib |
1629 |
- ;; |
1630 |
- */libLTO.dylib) |
1631 |
- ndylib="${EPREFIX}"/usr/lib/libLTO.dylib |
1632 |
- ;; |
1633 |
- esac |
1634 |
- if [[ -n ${ndylib} ]] ; then |
1635 |
- ebegin "fixing install_name reference to ${odylib} of ${f##*/}" |
1636 |
- install_name_tool \ |
1637 |
- -change "${odylib}" "${ndylib}" \ |
1638 |
- "${f}" |
1639 |
- eend $? |
1640 |
- fi |
1641 |
- done |
1642 |
- done |
1643 |
- fi |
1644 |
-} |
1645 |
- |
1646 |
-multilib_src_install_all() { |
1647 |
- insinto /usr/share/vim/vimfiles/syntax |
1648 |
- doins utils/vim/*.vim |
1649 |
- |
1650 |
- if use clang; then |
1651 |
- cd tools/clang || die |
1652 |
- |
1653 |
- if use static-analyzer ; then |
1654 |
- dobin tools/scan-build/ccc-analyzer |
1655 |
- dosym ccc-analyzer /usr/bin/c++-analyzer |
1656 |
- dobin tools/scan-build/scan-build |
1657 |
- |
1658 |
- insinto /usr/share/${PN} |
1659 |
- doins tools/scan-build/scanview.css |
1660 |
- doins tools/scan-build/sorttable.js |
1661 |
- fi |
1662 |
- |
1663 |
- python_inst() { |
1664 |
- if use static-analyzer ; then |
1665 |
- pushd tools/scan-view >/dev/null || die |
1666 |
- |
1667 |
- python_doscript scan-view |
1668 |
- |
1669 |
- touch __init__.py || die |
1670 |
- python_moduleinto clang |
1671 |
- python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py |
1672 |
- |
1673 |
- popd >/dev/null || die |
1674 |
- fi |
1675 |
- |
1676 |
- if use python ; then |
1677 |
- pushd bindings/python/clang >/dev/null || die |
1678 |
- |
1679 |
- python_moduleinto clang |
1680 |
- python_domodule __init__.py cindex.py enumerations.py |
1681 |
- |
1682 |
- popd >/dev/null || die |
1683 |
- fi |
1684 |
- |
1685 |
- # AddressSanitizer symbolizer (currently separate) |
1686 |
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py |
1687 |
- } |
1688 |
- python_foreach_impl python_inst |
1689 |
- fi |
1690 |
-} |
1691 |
|
1692 |
diff --git a/sys-devel/llvm/llvm-3.7.0-r1.ebuild b/sys-devel/llvm/llvm-3.7.0-r1.ebuild |
1693 |
deleted file mode 100644 |
1694 |
index 910b6e1..0000000 |
1695 |
--- a/sys-devel/llvm/llvm-3.7.0-r1.ebuild |
1696 |
+++ /dev/null |
1697 |
@@ -1,499 +0,0 @@ |
1698 |
-# Copyright 1999-2015 Gentoo Foundation |
1699 |
-# Distributed under the terms of the GNU General Public License v2 |
1700 |
-# $Id$ |
1701 |
- |
1702 |
-EAPI=5 |
1703 |
- |
1704 |
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja} |
1705 |
-PYTHON_COMPAT=( python2_7 pypy ) |
1706 |
- |
1707 |
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \ |
1708 |
- multilib-minimal python-r1 toolchain-funcs pax-utils |
1709 |
- |
1710 |
-DESCRIPTION="Low Level Virtual Machine" |
1711 |
-HOMEPAGE="http://llvm.org/" |
1712 |
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz |
1713 |
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz |
1714 |
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz |
1715 |
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) |
1716 |
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz ) |
1717 |
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" |
1718 |
- |
1719 |
-LICENSE="UoI-NCSA" |
1720 |
-SLOT="0/${PV}" |
1721 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
1722 |
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml |
1723 |
- python +static-analyzer test xml video_cards_radeon kernel_Darwin" |
1724 |
- |
1725 |
-COMMON_DEPEND=" |
1726 |
- sys-libs/zlib:0= |
1727 |
- clang? ( |
1728 |
- python? ( ${PYTHON_DEPS} ) |
1729 |
- static-analyzer? ( |
1730 |
- dev-lang/perl:* |
1731 |
- ${PYTHON_DEPS} |
1732 |
- ) |
1733 |
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) |
1734 |
- ) |
1735 |
- gold? ( >=sys-devel/binutils-2.22:*[cxx] ) |
1736 |
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) |
1737 |
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) |
1738 |
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |
1739 |
- ocaml? ( |
1740 |
- dev-lang/ocaml:0= |
1741 |
- dev-ml/findlib |
1742 |
- dev-ml/ocaml-ctypes )" |
1743 |
-# configparser-3.2 breaks the build (3.3 or none at all are fine) |
1744 |
-DEPEND="${COMMON_DEPEND} |
1745 |
- dev-lang/perl |
1746 |
- >=sys-devel/make-3.81 |
1747 |
- >=sys-devel/flex-2.5.4 |
1748 |
- >=sys-devel/bison-1.875d |
1749 |
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 |
1750 |
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) |
1751 |
- ) |
1752 |
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) |
1753 |
- kernel_Darwin? ( sys-libs/libcxx ) |
1754 |
- clang? ( xml? ( virtual/pkgconfig ) ) |
1755 |
- doc? ( dev-python/sphinx ) |
1756 |
- gold? ( sys-libs/binutils-libs ) |
1757 |
- libffi? ( virtual/pkgconfig ) |
1758 |
- lldb? ( dev-lang/swig ) |
1759 |
- !!<dev-python/configparser-3.3.0.2 |
1760 |
- ocaml? ( test? ( dev-ml/ounit ) ) |
1761 |
- ${PYTHON_DEPS}" |
1762 |
-RDEPEND="${COMMON_DEPEND} |
1763 |
- clang? ( !<=sys-devel/clang-${PV}-r99 ) |
1764 |
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 |
1765 |
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" |
1766 |
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" |
1767 |
- |
1768 |
-# pypy gives me around 1700 unresolved tests due to open file limit |
1769 |
-# being exceeded. probably GC does not close them fast enough. |
1770 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE} |
1771 |
- lldb? ( clang ) |
1772 |
- test? ( || ( $(python_gen_useflags 'python*') ) )" |
1773 |
- |
1774 |
-S=${WORKDIR}/${P/_}.src |
1775 |
- |
1776 |
-pkg_pretend() { |
1777 |
- # in megs |
1778 |
- # !clang !debug !multitarget -O2 400 |
1779 |
- # !clang !debug multitarget -O2 550 |
1780 |
- # clang !debug !multitarget -O2 950 |
1781 |
- # clang !debug multitarget -O2 1200 |
1782 |
- # !clang debug multitarget -O2 5G |
1783 |
- # clang !debug multitarget -O0 -g 12G |
1784 |
- # clang debug multitarget -O2 16G |
1785 |
- # clang debug multitarget -O0 -g 14G |
1786 |
- |
1787 |
- local build_size=550 |
1788 |
- use clang && build_size=1200 |
1789 |
- |
1790 |
- if use debug; then |
1791 |
- ewarn "USE=debug is known to increase the size of package considerably" |
1792 |
- ewarn "and cause the tests to fail." |
1793 |
- ewarn |
1794 |
- |
1795 |
- (( build_size *= 14 )) |
1796 |
- elif is-flagq '-g?(gdb)?([1-9])'; then |
1797 |
- ewarn "The C++ compiler -g option is known to increase the size of the package" |
1798 |
- ewarn "considerably. If you run out of space, please consider removing it." |
1799 |
- ewarn |
1800 |
- |
1801 |
- (( build_size *= 10 )) |
1802 |
- fi |
1803 |
- |
1804 |
- # Multiply by number of ABIs :). |
1805 |
- local abis=( $(multilib_get_enabled_abis) ) |
1806 |
- (( build_size *= ${#abis[@]} )) |
1807 |
- |
1808 |
- local CHECKREQS_DISK_BUILD=${build_size}M |
1809 |
- check-reqs_pkg_pretend |
1810 |
- |
1811 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
1812 |
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die |
1813 |
- ebegin "Trying to build a C++11 test program" |
1814 |
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then |
1815 |
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" |
1816 |
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" |
1817 |
- eerror "to gcc-4.7 or an equivalent version supporting C++11." |
1818 |
- die "Currently active compiler does not support -std=c++11" |
1819 |
- fi |
1820 |
- eend ${?} |
1821 |
- fi |
1822 |
-} |
1823 |
- |
1824 |
-pkg_setup() { |
1825 |
- pkg_pretend |
1826 |
-} |
1827 |
- |
1828 |
-src_unpack() { |
1829 |
- default |
1830 |
- |
1831 |
- if use clang; then |
1832 |
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ |
1833 |
- || die "clang source directory move failed" |
1834 |
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ |
1835 |
- || die "compiler-rt source directory move failed" |
1836 |
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ |
1837 |
- || die "clang-tools-extra source directory move failed" |
1838 |
- fi |
1839 |
- |
1840 |
- if use lldb; then |
1841 |
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \ |
1842 |
- || die "lldb source directory move failed" |
1843 |
- fi |
1844 |
-} |
1845 |
- |
1846 |
-src_prepare() { |
1847 |
- # Make ocaml warnings non-fatal, bug #537308 |
1848 |
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die |
1849 |
- # Fix libdir for ocaml bindings install, bug #559134 |
1850 |
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch |
1851 |
- |
1852 |
- # Make it possible to override Sphinx HTML install dirs |
1853 |
- # https://llvm.org/bugs/show_bug.cgi?id=23780 |
1854 |
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch |
1855 |
- |
1856 |
- # Prevent race conditions with parallel Sphinx runs |
1857 |
- # https://llvm.org/bugs/show_bug.cgi?id=23781 |
1858 |
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch |
1859 |
- |
1860 |
- # Prevent installing libgtest |
1861 |
- # https://llvm.org/bugs/show_bug.cgi?id=18341 |
1862 |
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch |
1863 |
- |
1864 |
- if use clang; then |
1865 |
- # Automatically select active system GCC's libraries, bugs #406163 and #417913 |
1866 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch |
1867 |
- |
1868 |
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch |
1869 |
- |
1870 |
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ |
1871 |
- tools/clang/tools/scan-build/scan-build || die |
1872 |
- |
1873 |
- # Install clang runtime into /usr/lib/clang |
1874 |
- # https://llvm.org/bugs/show_bug.cgi?id=23792 |
1875 |
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch |
1876 |
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch |
1877 |
- |
1878 |
- # Make it possible to override CLANG_LIBDIR_SUFFIX |
1879 |
- # (that is used only to find LLVMgold.so) |
1880 |
- # https://llvm.org/bugs/show_bug.cgi?id=23793 |
1881 |
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch |
1882 |
- |
1883 |
- # Fix WX sections, bug #421527 |
1884 |
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \ |
1885 |
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ |
1886 |
- -i {} \; || die |
1887 |
- fi |
1888 |
- |
1889 |
- if use lldb; then |
1890 |
- # Do not install dummy readline.so module from |
1891 |
- # https://llvm.org/bugs/show_bug.cgi?id=18841 |
1892 |
- sed -e 's/add_subdirectory(readline)/#&/' \ |
1893 |
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die |
1894 |
- fi |
1895 |
- |
1896 |
- # User patches |
1897 |
- epatch_user |
1898 |
- |
1899 |
- python_setup |
1900 |
- |
1901 |
- # Native libdir is used to hold LLVMgold.so |
1902 |
- NATIVE_LIBDIR=$(get_libdir) |
1903 |
-} |
1904 |
- |
1905 |
-multilib_src_configure() { |
1906 |
- local targets |
1907 |
- if use multitarget; then |
1908 |
- targets=all |
1909 |
- else |
1910 |
- targets='host;CppBackend' |
1911 |
- use video_cards_radeon && targets+=';AMDGPU' |
1912 |
- fi |
1913 |
- |
1914 |
- local ffi_cflags ffi_ldflags |
1915 |
- if use libffi; then |
1916 |
- ffi_cflags=$(pkg-config --cflags-only-I libffi) |
1917 |
- ffi_ldflags=$(pkg-config --libs-only-L libffi) |
1918 |
- fi |
1919 |
- |
1920 |
- local libdir=$(get_libdir) |
1921 |
- local mycmakeargs=( |
1922 |
- "${mycmakeargs[@]}" |
1923 |
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib} |
1924 |
- |
1925 |
- -DBUILD_SHARED_LIBS=ON |
1926 |
- -DLLVM_ENABLE_TIMESTAMPS=OFF |
1927 |
- -DLLVM_TARGETS_TO_BUILD="${targets}" |
1928 |
- -DLLVM_BUILD_TESTS=$(usex test) |
1929 |
- |
1930 |
- -DLLVM_ENABLE_FFI=$(usex libffi) |
1931 |
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses) |
1932 |
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug) |
1933 |
- -DLLVM_ENABLE_EH=ON |
1934 |
- -DLLVM_ENABLE_RTTI=ON |
1935 |
- |
1936 |
- -DWITH_POLLY=OFF # TODO |
1937 |
- |
1938 |
- -DLLVM_HOST_TRIPLE="${CHOST}" |
1939 |
- |
1940 |
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" |
1941 |
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" |
1942 |
- |
1943 |
- -DHAVE_HISTEDIT_H=$(usex libedit) |
1944 |
- ) |
1945 |
- |
1946 |
- if use lldb; then |
1947 |
- mycmakeargs+=( |
1948 |
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit) |
1949 |
- -DLLDB_DISABLE_CURSES=$(usex !ncurses) |
1950 |
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses) |
1951 |
- ) |
1952 |
- fi |
1953 |
- |
1954 |
- if ! multilib_is_native_abi || ! use ocaml; then |
1955 |
- mycmakeargs+=( |
1956 |
- -DOCAMLFIND=NO |
1957 |
- ) |
1958 |
- fi |
1959 |
-# Note: go bindings have no CMake rules at the moment |
1960 |
-# but let's kill the check in case they are introduced |
1961 |
-# if ! multilib_is_native_abi || ! use go; then |
1962 |
- mycmakeargs+=( |
1963 |
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND |
1964 |
- ) |
1965 |
-# fi |
1966 |
- |
1967 |
- if multilib_is_native_abi; then |
1968 |
- mycmakeargs+=( |
1969 |
- -DLLVM_BUILD_DOCS=$(usex doc) |
1970 |
- -DLLVM_ENABLE_SPHINX=$(usex doc) |
1971 |
- -DLLVM_ENABLE_DOXYGEN=OFF |
1972 |
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html" |
1973 |
- -DSPHINX_WARNINGS_AS_ERRORS=OFF |
1974 |
- -DLLVM_INSTALL_UTILS=ON |
1975 |
- ) |
1976 |
- |
1977 |
- if use clang; then |
1978 |
- mycmakeargs+=( |
1979 |
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang" |
1980 |
- ) |
1981 |
- fi |
1982 |
- |
1983 |
- if use gold; then |
1984 |
- mycmakeargs+=( |
1985 |
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include |
1986 |
- ) |
1987 |
- fi |
1988 |
- |
1989 |
- if use lldb; then |
1990 |
- mycmakeargs+=( |
1991 |
- -DLLDB_DISABLE_PYTHON=$(usex !python) |
1992 |
- ) |
1993 |
- fi |
1994 |
- |
1995 |
- else |
1996 |
- if use clang; then |
1997 |
- mycmakeargs+=( |
1998 |
- # disable compiler-rt on non-native ABI because: |
1999 |
- # 1. it fails to configure because of -m32 |
2000 |
- # 2. it is shared between ABIs so no point building |
2001 |
- # it multiple times |
2002 |
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF |
2003 |
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF |
2004 |
- ) |
2005 |
- fi |
2006 |
- if use lldb; then |
2007 |
- mycmakeargs+=( |
2008 |
- # only run swig on native abi |
2009 |
- -DLLDB_DISABLE_PYTHON=ON |
2010 |
- ) |
2011 |
- fi |
2012 |
- fi |
2013 |
- |
2014 |
- if use clang; then |
2015 |
- mycmakeargs+=( |
2016 |
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) |
2017 |
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) |
2018 |
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}" |
2019 |
- ) |
2020 |
- |
2021 |
- # -- not needed when compiler-rt is built with host compiler -- |
2022 |
- # cmake passes host C*FLAGS to compiler-rt build |
2023 |
- # which is performed using clang, so we need to filter out |
2024 |
- # some flags clang does not support |
2025 |
- # (if you know some more flags that don't work, let us know) |
2026 |
- #filter-flags -msahf -frecord-gcc-switches |
2027 |
- fi |
2028 |
- |
2029 |
- cmake-utils_src_configure |
2030 |
-} |
2031 |
- |
2032 |
-multilib_src_compile() { |
2033 |
- cmake-utils_src_compile |
2034 |
- # TODO: not sure why this target is not correctly called |
2035 |
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc |
2036 |
- |
2037 |
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld |
2038 |
- pax-mark m "${BUILD_DIR}"/bin/lli |
2039 |
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target |
2040 |
- |
2041 |
- if use test; then |
2042 |
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests |
2043 |
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests |
2044 |
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests |
2045 |
- fi |
2046 |
-} |
2047 |
- |
2048 |
-multilib_src_test() { |
2049 |
- # respect TMPDIR! |
2050 |
- local -x LIT_PRESERVES_TMP=1 |
2051 |
- local test_targets=( check ) |
2052 |
- # clang tests won't work on non-native ABI because we skip compiler-rt |
2053 |
- multilib_is_native_abi && use clang && test_targets+=( check-clang ) |
2054 |
- cmake-utils_src_make "${test_targets[@]}" |
2055 |
-} |
2056 |
- |
2057 |
-src_install() { |
2058 |
- local MULTILIB_CHOST_TOOLS=( |
2059 |
- /usr/bin/llvm-config |
2060 |
- ) |
2061 |
- |
2062 |
- local MULTILIB_WRAPPED_HEADERS=( |
2063 |
- /usr/include/llvm/Config/config.h |
2064 |
- /usr/include/llvm/Config/llvm-config.h |
2065 |
- ) |
2066 |
- |
2067 |
- if use clang; then |
2068 |
- # note: magic applied in multilib_src_install()! |
2069 |
- CLANG_VERSION=${PV%.*} |
2070 |
- |
2071 |
- MULTILIB_CHOST_TOOLS+=( |
2072 |
- /usr/bin/clang |
2073 |
- /usr/bin/clang++ |
2074 |
- /usr/bin/clang-cl |
2075 |
- /usr/bin/clang-${CLANG_VERSION} |
2076 |
- /usr/bin/clang++-${CLANG_VERSION} |
2077 |
- /usr/bin/clang-cl-${CLANG_VERSION} |
2078 |
- ) |
2079 |
- |
2080 |
- MULTILIB_WRAPPED_HEADERS+=( |
2081 |
- /usr/include/clang/Config/config.h |
2082 |
- ) |
2083 |
- fi |
2084 |
- |
2085 |
- multilib-minimal_src_install |
2086 |
-} |
2087 |
- |
2088 |
-multilib_src_install() { |
2089 |
- cmake-utils_src_install |
2090 |
- |
2091 |
- if multilib_is_native_abi; then |
2092 |
- # Install man pages. |
2093 |
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1 |
2094 |
- |
2095 |
- # Symlink the gold plugin. |
2096 |
- if use gold; then |
2097 |
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" |
2098 |
- dosym "../../../../$(get_libdir)/LLVMgold.so" \ |
2099 |
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so" |
2100 |
- fi |
2101 |
- fi |
2102 |
- |
2103 |
- # apply CHOST and CLANG_VERSION to clang executables |
2104 |
- # they're statically linked so we don't have to worry about the lib |
2105 |
- if use clang; then |
2106 |
- local clang_tools=( clang clang++ clang-cl ) |
2107 |
- local i |
2108 |
- |
2109 |
- # cmake gives us: |
2110 |
- # - clang-X.Y |
2111 |
- # - clang -> clang-X.Y |
2112 |
- # - clang++, clang-cl -> clang |
2113 |
- # we want to have: |
2114 |
- # - clang-X.Y |
2115 |
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y |
2116 |
- # - clang, clang++, clang-cl -> clang*-X.Y |
2117 |
- # so we need to fix the two tools |
2118 |
- for i in "${clang_tools[@]:1}"; do |
2119 |
- rm "${ED%/}/usr/bin/${i}" || die |
2120 |
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}" |
2121 |
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}" |
2122 |
- done |
2123 |
- |
2124 |
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it |
2125 |
- if ! multilib_is_native_abi; then |
2126 |
- # non-native? let's replace it with a simple wrapper |
2127 |
- for i in "${clang_tools[@]}"; do |
2128 |
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die |
2129 |
- cat > "${T}"/wrapper.tmp <<-_EOF_ |
2130 |
- #!${EPREFIX}/bin/sh |
2131 |
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}" |
2132 |
- _EOF_ |
2133 |
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}" |
2134 |
- done |
2135 |
- fi |
2136 |
- fi |
2137 |
-} |
2138 |
- |
2139 |
-multilib_src_install_all() { |
2140 |
- insinto /usr/share/vim/vimfiles |
2141 |
- doins -r utils/vim/*/ |
2142 |
- # some users may find it useful |
2143 |
- dodoc utils/vim/vimrc |
2144 |
- |
2145 |
- if use clang; then |
2146 |
- pushd tools/clang >/dev/null || die |
2147 |
- |
2148 |
- if use static-analyzer ; then |
2149 |
- pushd tools/scan-build >/dev/null || die |
2150 |
- |
2151 |
- dobin ccc-analyzer scan-build |
2152 |
- dosym ccc-analyzer /usr/bin/c++-analyzer |
2153 |
- doman scan-build.1 |
2154 |
- |
2155 |
- insinto /usr/share/llvm |
2156 |
- doins scanview.css sorttable.js |
2157 |
- |
2158 |
- popd >/dev/null || die |
2159 |
- fi |
2160 |
- |
2161 |
- python_inst() { |
2162 |
- if use static-analyzer ; then |
2163 |
- pushd tools/scan-view >/dev/null || die |
2164 |
- |
2165 |
- python_doscript scan-view |
2166 |
- |
2167 |
- touch __init__.py || die |
2168 |
- python_moduleinto clang |
2169 |
- python_domodule *.py Resources |
2170 |
- |
2171 |
- popd >/dev/null || die |
2172 |
- fi |
2173 |
- |
2174 |
- if use python ; then |
2175 |
- pushd bindings/python/clang >/dev/null || die |
2176 |
- |
2177 |
- python_moduleinto clang |
2178 |
- python_domodule *.py |
2179 |
- |
2180 |
- popd >/dev/null || die |
2181 |
- fi |
2182 |
- |
2183 |
- # AddressSanitizer symbolizer (currently separate) |
2184 |
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py |
2185 |
- } |
2186 |
- python_foreach_impl python_inst |
2187 |
- popd >/dev/null || die |
2188 |
- fi |
2189 |
-} |
2190 |
- |
2191 |
-pkg_postinst() { |
2192 |
- if use clang; then |
2193 |
- elog "To enable OpenMP support in clang, install sys-libs/libomp" |
2194 |
- elog "and use the '-fopenmp=libomp' command line option" |
2195 |
- fi |
2196 |
-} |
2197 |
|
2198 |
diff --git a/sys-devel/llvm/llvm-3.7.0.ebuild b/sys-devel/llvm/llvm-3.7.0.ebuild |
2199 |
deleted file mode 100644 |
2200 |
index 8da56ff..0000000 |
2201 |
--- a/sys-devel/llvm/llvm-3.7.0.ebuild |
2202 |
+++ /dev/null |
2203 |
@@ -1,492 +0,0 @@ |
2204 |
-# Copyright 1999-2015 Gentoo Foundation |
2205 |
-# Distributed under the terms of the GNU General Public License v2 |
2206 |
-# $Id$ |
2207 |
- |
2208 |
-EAPI=5 |
2209 |
- |
2210 |
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja} |
2211 |
-PYTHON_COMPAT=( python2_7 pypy ) |
2212 |
- |
2213 |
-inherit check-reqs cmake-utils eutils flag-o-matic multilib \ |
2214 |
- multilib-minimal python-r1 toolchain-funcs pax-utils |
2215 |
- |
2216 |
-DESCRIPTION="Low Level Virtual Machine" |
2217 |
-HOMEPAGE="http://llvm.org/" |
2218 |
-SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz |
2219 |
- clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz |
2220 |
- http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz |
2221 |
- http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) |
2222 |
- lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz ) |
2223 |
- !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" |
2224 |
- |
2225 |
-LICENSE="UoI-NCSA" |
2226 |
-SLOT="0/${PV}" |
2227 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
2228 |
-IUSE="clang debug doc gold libedit +libffi lldb multitarget ncurses ocaml |
2229 |
- python +static-analyzer test xml video_cards_radeon kernel_Darwin" |
2230 |
- |
2231 |
-COMMON_DEPEND=" |
2232 |
- sys-libs/zlib:0= |
2233 |
- clang? ( |
2234 |
- python? ( ${PYTHON_DEPS} ) |
2235 |
- static-analyzer? ( |
2236 |
- dev-lang/perl:* |
2237 |
- ${PYTHON_DEPS} |
2238 |
- ) |
2239 |
- xml? ( dev-libs/libxml2:2= ) |
2240 |
- ) |
2241 |
- gold? ( >=sys-devel/binutils-2.22:*[cxx] ) |
2242 |
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) |
2243 |
- libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) |
2244 |
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |
2245 |
- ocaml? ( |
2246 |
- dev-lang/ocaml:0= |
2247 |
- dev-ml/findlib |
2248 |
- dev-ml/ocaml-ctypes )" |
2249 |
-# configparser-3.2 breaks the build (3.3 or none at all are fine) |
2250 |
-DEPEND="${COMMON_DEPEND} |
2251 |
- dev-lang/perl |
2252 |
- >=sys-devel/make-3.81 |
2253 |
- >=sys-devel/flex-2.5.4 |
2254 |
- >=sys-devel/bison-1.875d |
2255 |
- || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 |
2256 |
- ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) |
2257 |
- ) |
2258 |
- || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) |
2259 |
- kernel_Darwin? ( sys-libs/libcxx ) |
2260 |
- clang? ( xml? ( virtual/pkgconfig ) ) |
2261 |
- doc? ( dev-python/sphinx ) |
2262 |
- libffi? ( virtual/pkgconfig ) |
2263 |
- lldb? ( dev-lang/swig ) |
2264 |
- !!<dev-python/configparser-3.3.0.2 |
2265 |
- ocaml? ( test? ( dev-ml/ounit ) ) |
2266 |
- ${PYTHON_DEPS}" |
2267 |
-RDEPEND="${COMMON_DEPEND} |
2268 |
- clang? ( !<=sys-devel/clang-${PV}-r99 ) |
2269 |
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 |
2270 |
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" |
2271 |
-PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" |
2272 |
- |
2273 |
-# pypy gives me around 1700 unresolved tests due to open file limit |
2274 |
-# being exceeded. probably GC does not close them fast enough. |
2275 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE} |
2276 |
- lldb? ( clang ) |
2277 |
- test? ( || ( $(python_gen_useflags 'python*') ) )" |
2278 |
- |
2279 |
-S=${WORKDIR}/${P/_}.src |
2280 |
- |
2281 |
-pkg_pretend() { |
2282 |
- # in megs |
2283 |
- # !clang !debug !multitarget -O2 400 |
2284 |
- # !clang !debug multitarget -O2 550 |
2285 |
- # clang !debug !multitarget -O2 950 |
2286 |
- # clang !debug multitarget -O2 1200 |
2287 |
- # !clang debug multitarget -O2 5G |
2288 |
- # clang !debug multitarget -O0 -g 12G |
2289 |
- # clang debug multitarget -O2 16G |
2290 |
- # clang debug multitarget -O0 -g 14G |
2291 |
- |
2292 |
- local build_size=550 |
2293 |
- use clang && build_size=1200 |
2294 |
- |
2295 |
- if use debug; then |
2296 |
- ewarn "USE=debug is known to increase the size of package considerably" |
2297 |
- ewarn "and cause the tests to fail." |
2298 |
- ewarn |
2299 |
- |
2300 |
- (( build_size *= 14 )) |
2301 |
- elif is-flagq '-g?(gdb)?([1-9])'; then |
2302 |
- ewarn "The C++ compiler -g option is known to increase the size of the package" |
2303 |
- ewarn "considerably. If you run out of space, please consider removing it." |
2304 |
- ewarn |
2305 |
- |
2306 |
- (( build_size *= 10 )) |
2307 |
- fi |
2308 |
- |
2309 |
- # Multiply by number of ABIs :). |
2310 |
- local abis=( $(multilib_get_enabled_abis) ) |
2311 |
- (( build_size *= ${#abis[@]} )) |
2312 |
- |
2313 |
- local CHECKREQS_DISK_BUILD=${build_size}M |
2314 |
- check-reqs_pkg_pretend |
2315 |
- |
2316 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
2317 |
- echo 'int main() {return 0;}' > "${T}"/test.cxx || die |
2318 |
- ebegin "Trying to build a C++11 test program" |
2319 |
- if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then |
2320 |
- eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" |
2321 |
- eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" |
2322 |
- eerror "to gcc-4.7 or an equivalent version supporting C++11." |
2323 |
- die "Currently active compiler does not support -std=c++11" |
2324 |
- fi |
2325 |
- eend ${?} |
2326 |
- fi |
2327 |
-} |
2328 |
- |
2329 |
-pkg_setup() { |
2330 |
- pkg_pretend |
2331 |
-} |
2332 |
- |
2333 |
-src_unpack() { |
2334 |
- default |
2335 |
- |
2336 |
- if use clang; then |
2337 |
- mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \ |
2338 |
- || die "clang source directory move failed" |
2339 |
- mv "${WORKDIR}"/compiler-rt-${PV/_}.src "${S}"/projects/compiler-rt \ |
2340 |
- || die "compiler-rt source directory move failed" |
2341 |
- mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src "${S}"/tools/clang/tools/extra \ |
2342 |
- || die "clang-tools-extra source directory move failed" |
2343 |
- fi |
2344 |
- |
2345 |
- if use lldb; then |
2346 |
- mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \ |
2347 |
- || die "lldb source directory move failed" |
2348 |
- fi |
2349 |
-} |
2350 |
- |
2351 |
-src_prepare() { |
2352 |
- # Make ocaml warnings non-fatal, bug #537308 |
2353 |
- sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die |
2354 |
- # Fix libdir for ocaml bindings install, bug #559134 |
2355 |
- epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch |
2356 |
- |
2357 |
- # Make it possible to override Sphinx HTML install dirs |
2358 |
- # https://llvm.org/bugs/show_bug.cgi?id=23780 |
2359 |
- epatch "${FILESDIR}"/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch |
2360 |
- |
2361 |
- # Prevent race conditions with parallel Sphinx runs |
2362 |
- # https://llvm.org/bugs/show_bug.cgi?id=23781 |
2363 |
- epatch "${FILESDIR}"/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch |
2364 |
- |
2365 |
- # Prevent installing libgtest |
2366 |
- # https://llvm.org/bugs/show_bug.cgi?id=18341 |
2367 |
- epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch |
2368 |
- |
2369 |
- if use clang; then |
2370 |
- # Automatically select active system GCC's libraries, bugs #406163 and #417913 |
2371 |
- epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch |
2372 |
- |
2373 |
- epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch |
2374 |
- |
2375 |
- sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ |
2376 |
- tools/clang/tools/scan-build/scan-build || die |
2377 |
- |
2378 |
- # Install clang runtime into /usr/lib/clang |
2379 |
- # https://llvm.org/bugs/show_bug.cgi?id=23792 |
2380 |
- epatch "${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch |
2381 |
- epatch "${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch |
2382 |
- |
2383 |
- # Make it possible to override CLANG_LIBDIR_SUFFIX |
2384 |
- # (that is used only to find LLVMgold.so) |
2385 |
- # https://llvm.org/bugs/show_bug.cgi?id=23793 |
2386 |
- epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch |
2387 |
- |
2388 |
- # Fix WX sections, bug #421527 |
2389 |
- find "${S}"/projects/compiler-rt/lib/builtins -type f -name \*.S -exec sed \ |
2390 |
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ |
2391 |
- -i {} \; || die |
2392 |
- |
2393 |
- # Workaround bug #553416 until upstream fixes it |
2394 |
- epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch |
2395 |
- fi |
2396 |
- |
2397 |
- if use lldb; then |
2398 |
- # Do not install dummy readline.so module from |
2399 |
- # https://llvm.org/bugs/show_bug.cgi?id=18841 |
2400 |
- sed -e 's/add_subdirectory(readline)/#&/' \ |
2401 |
- -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die |
2402 |
- fi |
2403 |
- |
2404 |
- # User patches |
2405 |
- epatch_user |
2406 |
- |
2407 |
- python_setup |
2408 |
- |
2409 |
- # Native libdir is used to hold LLVMgold.so |
2410 |
- NATIVE_LIBDIR=$(get_libdir) |
2411 |
-} |
2412 |
- |
2413 |
-multilib_src_configure() { |
2414 |
- local targets |
2415 |
- if use multitarget; then |
2416 |
- targets=all |
2417 |
- else |
2418 |
- targets='host;CppBackend' |
2419 |
- use video_cards_radeon && targets+=';AMDGPU' |
2420 |
- fi |
2421 |
- |
2422 |
- local ffi_cflags ffi_ldflags |
2423 |
- if use libffi; then |
2424 |
- ffi_cflags=$(pkg-config --cflags-only-I libffi) |
2425 |
- ffi_ldflags=$(pkg-config --libs-only-L libffi) |
2426 |
- fi |
2427 |
- |
2428 |
- local libdir=$(get_libdir) |
2429 |
- local mycmakeargs=( |
2430 |
- "${mycmakeargs[@]}" |
2431 |
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib} |
2432 |
- |
2433 |
- -DBUILD_SHARED_LIBS=ON |
2434 |
- -DLLVM_ENABLE_TIMESTAMPS=OFF |
2435 |
- -DLLVM_TARGETS_TO_BUILD="${targets}" |
2436 |
- -DLLVM_BUILD_TESTS=$(usex test) |
2437 |
- |
2438 |
- -DLLVM_ENABLE_FFI=$(usex libffi) |
2439 |
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses) |
2440 |
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug) |
2441 |
- -DLLVM_ENABLE_EH=ON |
2442 |
- -DLLVM_ENABLE_RTTI=ON |
2443 |
- |
2444 |
- -DWITH_POLLY=OFF # TODO |
2445 |
- |
2446 |
- -DLLVM_HOST_TRIPLE="${CHOST}" |
2447 |
- |
2448 |
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" |
2449 |
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" |
2450 |
- |
2451 |
- -DHAVE_HISTEDIT_H=$(usex libedit) |
2452 |
- ) |
2453 |
- |
2454 |
- if use lldb; then |
2455 |
- mycmakeargs+=( |
2456 |
- -DLLDB_DISABLE_LIBEDIT=$(usex !libedit) |
2457 |
- -DLLDB_DISABLE_CURSES=$(usex !ncurses) |
2458 |
- -DLLDB_ENABLE_TERMINFO=$(usex ncurses) |
2459 |
- ) |
2460 |
- fi |
2461 |
- |
2462 |
- if ! multilib_is_native_abi || ! use ocaml; then |
2463 |
- mycmakeargs+=( |
2464 |
- -DOCAMLFIND=NO |
2465 |
- ) |
2466 |
- fi |
2467 |
-# Note: go bindings have no CMake rules at the moment |
2468 |
-# but let's kill the check in case they are introduced |
2469 |
-# if ! multilib_is_native_abi || ! use go; then |
2470 |
- mycmakeargs+=( |
2471 |
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND |
2472 |
- ) |
2473 |
-# fi |
2474 |
- |
2475 |
- if multilib_is_native_abi; then |
2476 |
- mycmakeargs+=( |
2477 |
- -DLLVM_BUILD_DOCS=$(usex doc) |
2478 |
- -DLLVM_ENABLE_SPHINX=$(usex doc) |
2479 |
- -DLLVM_ENABLE_DOXYGEN=OFF |
2480 |
- -DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html" |
2481 |
- ) |
2482 |
- |
2483 |
- if use clang; then |
2484 |
- mycmakeargs+=( |
2485 |
- -DCLANG_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/clang" |
2486 |
- ) |
2487 |
- fi |
2488 |
- |
2489 |
- if use gold; then |
2490 |
- mycmakeargs+=( |
2491 |
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include |
2492 |
- ) |
2493 |
- fi |
2494 |
- |
2495 |
- if use lldb; then |
2496 |
- mycmakeargs+=( |
2497 |
- -DLLDB_DISABLE_PYTHON=$(usex !python) |
2498 |
- ) |
2499 |
- fi |
2500 |
- |
2501 |
- else |
2502 |
- if use clang; then |
2503 |
- mycmakeargs+=( |
2504 |
- # disable compiler-rt on non-native ABI because: |
2505 |
- # 1. it fails to configure because of -m32 |
2506 |
- # 2. it is shared between ABIs so no point building |
2507 |
- # it multiple times |
2508 |
- -DLLVM_EXTERNAL_COMPILER_RT_BUILD=OFF |
2509 |
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF |
2510 |
- ) |
2511 |
- fi |
2512 |
- if use lldb; then |
2513 |
- mycmakeargs+=( |
2514 |
- # only run swig on native abi |
2515 |
- -DLLDB_DISABLE_PYTHON=ON |
2516 |
- ) |
2517 |
- fi |
2518 |
- fi |
2519 |
- |
2520 |
- if use clang; then |
2521 |
- mycmakeargs+=( |
2522 |
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) |
2523 |
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) |
2524 |
- -DCLANG_LIBDIR_SUFFIX="${NATIVE_LIBDIR#lib}" |
2525 |
- ) |
2526 |
- |
2527 |
- # -- not needed when compiler-rt is built with host compiler -- |
2528 |
- # cmake passes host C*FLAGS to compiler-rt build |
2529 |
- # which is performed using clang, so we need to filter out |
2530 |
- # some flags clang does not support |
2531 |
- # (if you know some more flags that don't work, let us know) |
2532 |
- #filter-flags -msahf -frecord-gcc-switches |
2533 |
- fi |
2534 |
- |
2535 |
- cmake-utils_src_configure |
2536 |
-} |
2537 |
- |
2538 |
-multilib_src_compile() { |
2539 |
- cmake-utils_src_compile |
2540 |
- # TODO: not sure why this target is not correctly called |
2541 |
- multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc |
2542 |
- |
2543 |
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld |
2544 |
- pax-mark m "${BUILD_DIR}"/bin/lli |
2545 |
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target |
2546 |
- |
2547 |
- if use test; then |
2548 |
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests |
2549 |
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests |
2550 |
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests |
2551 |
- fi |
2552 |
-} |
2553 |
- |
2554 |
-multilib_src_test() { |
2555 |
- # respect TMPDIR! |
2556 |
- local -x LIT_PRESERVES_TMP=1 |
2557 |
- local test_targets=( check ) |
2558 |
- # clang tests won't work on non-native ABI because we skip compiler-rt |
2559 |
- multilib_is_native_abi && use clang && test_targets+=( check-clang ) |
2560 |
- cmake-utils_src_make "${test_targets[@]}" |
2561 |
-} |
2562 |
- |
2563 |
-src_install() { |
2564 |
- local MULTILIB_CHOST_TOOLS=( |
2565 |
- /usr/bin/llvm-config |
2566 |
- ) |
2567 |
- |
2568 |
- local MULTILIB_WRAPPED_HEADERS=( |
2569 |
- /usr/include/llvm/Config/config.h |
2570 |
- /usr/include/llvm/Config/llvm-config.h |
2571 |
- ) |
2572 |
- |
2573 |
- if use clang; then |
2574 |
- # note: magic applied in multilib_src_install()! |
2575 |
- CLANG_VERSION=${PV%.*} |
2576 |
- |
2577 |
- MULTILIB_CHOST_TOOLS+=( |
2578 |
- /usr/bin/clang |
2579 |
- /usr/bin/clang++ |
2580 |
- /usr/bin/clang-cl |
2581 |
- /usr/bin/clang-${CLANG_VERSION} |
2582 |
- /usr/bin/clang++-${CLANG_VERSION} |
2583 |
- /usr/bin/clang-cl-${CLANG_VERSION} |
2584 |
- ) |
2585 |
- |
2586 |
- MULTILIB_WRAPPED_HEADERS+=( |
2587 |
- /usr/include/clang/Config/config.h |
2588 |
- ) |
2589 |
- fi |
2590 |
- |
2591 |
- multilib-minimal_src_install |
2592 |
-} |
2593 |
- |
2594 |
-multilib_src_install() { |
2595 |
- cmake-utils_src_install |
2596 |
- |
2597 |
- if multilib_is_native_abi; then |
2598 |
- # Install man pages. |
2599 |
- use doc || doman "${WORKDIR}"/${P}-manpages/*.1 |
2600 |
- |
2601 |
- # Symlink the gold plugin. |
2602 |
- if use gold; then |
2603 |
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" |
2604 |
- dosym "../../../../$(get_libdir)/LLVMgold.so" \ |
2605 |
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so" |
2606 |
- fi |
2607 |
- fi |
2608 |
- |
2609 |
- # apply CHOST and CLANG_VERSION to clang executables |
2610 |
- # they're statically linked so we don't have to worry about the lib |
2611 |
- if use clang; then |
2612 |
- local clang_tools=( clang clang++ clang-cl ) |
2613 |
- local i |
2614 |
- |
2615 |
- # cmake gives us: |
2616 |
- # - clang-X.Y |
2617 |
- # - clang -> clang-X.Y |
2618 |
- # - clang++, clang-cl -> clang |
2619 |
- # we want to have: |
2620 |
- # - clang-X.Y |
2621 |
- # - clang++-X.Y, clang-cl-X.Y -> clang-X.Y |
2622 |
- # - clang, clang++, clang-cl -> clang*-X.Y |
2623 |
- # so we need to fix the two tools |
2624 |
- for i in "${clang_tools[@]:1}"; do |
2625 |
- rm "${ED%/}/usr/bin/${i}" || die |
2626 |
- dosym "clang-${CLANG_VERSION}" "/usr/bin/${i}-${CLANG_VERSION}" |
2627 |
- dosym "${i}-${CLANG_VERSION}" "/usr/bin/${i}" |
2628 |
- done |
2629 |
- |
2630 |
- # now prepend ${CHOST} and let the multilib-build.eclass symlink it |
2631 |
- if ! multilib_is_native_abi; then |
2632 |
- # non-native? let's replace it with a simple wrapper |
2633 |
- for i in "${clang_tools[@]}"; do |
2634 |
- rm "${ED%/}/usr/bin/${i}-${CLANG_VERSION}" || die |
2635 |
- cat > "${T}"/wrapper.tmp <<-_EOF_ |
2636 |
- #!${EPREFIX}/bin/sh |
2637 |
- exec "${i}-${CLANG_VERSION}" $(get_abi_CFLAGS) "\${@}" |
2638 |
- _EOF_ |
2639 |
- newbin "${T}"/wrapper.tmp "${i}-${CLANG_VERSION}" |
2640 |
- done |
2641 |
- fi |
2642 |
- fi |
2643 |
-} |
2644 |
- |
2645 |
-multilib_src_install_all() { |
2646 |
- insinto /usr/share/vim/vimfiles |
2647 |
- doins -r utils/vim/*/ |
2648 |
- # some users may find it useful |
2649 |
- dodoc utils/vim/vimrc |
2650 |
- |
2651 |
- if use clang; then |
2652 |
- pushd tools/clang >/dev/null || die |
2653 |
- |
2654 |
- if use static-analyzer ; then |
2655 |
- pushd tools/scan-build >/dev/null || die |
2656 |
- |
2657 |
- dobin ccc-analyzer scan-build |
2658 |
- dosym ccc-analyzer /usr/bin/c++-analyzer |
2659 |
- doman scan-build.1 |
2660 |
- |
2661 |
- insinto /usr/share/llvm |
2662 |
- doins scanview.css sorttable.js |
2663 |
- |
2664 |
- popd >/dev/null || die |
2665 |
- fi |
2666 |
- |
2667 |
- python_inst() { |
2668 |
- if use static-analyzer ; then |
2669 |
- pushd tools/scan-view >/dev/null || die |
2670 |
- |
2671 |
- python_doscript scan-view |
2672 |
- |
2673 |
- touch __init__.py || die |
2674 |
- python_moduleinto clang |
2675 |
- python_domodule *.py Resources |
2676 |
- |
2677 |
- popd >/dev/null || die |
2678 |
- fi |
2679 |
- |
2680 |
- if use python ; then |
2681 |
- pushd bindings/python/clang >/dev/null || die |
2682 |
- |
2683 |
- python_moduleinto clang |
2684 |
- python_domodule *.py |
2685 |
- |
2686 |
- popd >/dev/null || die |
2687 |
- fi |
2688 |
- |
2689 |
- # AddressSanitizer symbolizer (currently separate) |
2690 |
- python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py |
2691 |
- } |
2692 |
- python_foreach_impl python_inst |
2693 |
- popd >/dev/null || die |
2694 |
- fi |
2695 |
-} |