summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2014-01-06 21:06:19 +0000
committerMichał Górny <mgorny@gentoo.org>2014-01-06 21:06:19 +0000
commitde19bebe59da230354e69f5f5aad0a336089d398 (patch)
tree364d9d9963182286c11b343817600c3fee6a234d /sys-devel
parentBump metapackage along with LLVM. (diff)
downloadhistorical-de19bebe59da230354e69f5f5aad0a336089d398.tar.gz
historical-de19bebe59da230354e69f5f5aad0a336089d398.tar.bz2
historical-de19bebe59da230354e69f5f5aad0a336089d398.zip
Version bump.
Package-Manager: portage-2.2.8/cvs/Linux x86_64 Manifest-Sign-Key: 0xEFB4464E!
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/llvm/ChangeLog7
-rw-r--r--sys-devel/llvm/Manifest35
-rw-r--r--sys-devel/llvm/llvm-3.4.ebuild492
3 files changed, 518 insertions, 16 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index fcb589d09585..d9bd9c2c769e 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.165 2014/01/06 13:08:40 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.166 2014/01/06 21:06:15 mgorny Exp $
+
+*llvm-3.4 (06 Jan 2014)
+
+ 06 Jan 2014; Michał Górny <mgorny@gentoo.org> +llvm-3.4.ebuild:
+ Version bump.
*llvm-3.3-r3 (06 Jan 2014)
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a0c10c9d60b0..2160f109dedb 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -32,7 +32,9 @@ AUX llvm-3.3-r2-gentoo-install.patch 4043 SHA256 a8e24328888dc0459fb5c24e244c30b
AUX llvm-3.4-gentoo-install.patch 3528 SHA256 fa2de6dd186091b255832a9b5cb654edddd4c4a16f0f138357c813a40aa9a75b SHA512 e946e1fd422f49d2e150bd641bac0ffe6ea6757b2e6119465090a3c7f5cf69e17c00221bcf67a7fcf29628d93463fb1c57d0d009ff7834151440d779f2d33484 WHIRLPOOL 171f167802ee289716232e16a2c507e3b8dc7913b40df29c55a815ff88596871a1a970c891b0e9b361186cada4d8898e65920d014b4e6eb2178cc207f61bf6da
AUX llvm-3.5-gentoo-install.patch 3204 SHA256 0c97173613505ea92f0aa79d4e04e797f1917fdc33b34daee05752bb52336d53 SHA512 f60b04f1fc7798f7869f3d80e4c163086c398e01b81220d60ccff42be5899fa036d5ab95257933e89e4c5efd04267a09015917c6a617b86b82d7ab4f5d0de221 WHIRLPOOL 81ce5835b9eb1fe1b162f35d6e37762cc8d613e67c5791f078ecd0e354a87eb92e52452bd6e9a7f70953dabea99d197786e87ed64dc802223149b8e97d6de265
DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a
+DIST clang-3.4.src.tar.gz 10619607 SHA256 22a9780db3b85a7f2eb9ea1f7f6e00da0249e3d12851e8dea0f62f1783242b1b SHA512 eac282c26d46d04f3e74c6a34629aa6496882aa6f64387728be86de3eba963a97388fd4214aea7d47a801215e61c0a54663d65474effec8be2e39be1b1ed89f1 WHIRLPOOL b31e54dfdf3965ffee541a1f73725c00ff90c61ad6e23fd290c1403c055d4c4ba4d99ea9b0503af86653f6c84663730d7530b5f36d8ecbc1fe78ab53d05808b6
DIST compiler-rt-3.3.src.tar.gz 1568034 SHA256 0e2f3180d6316e6c43f064fdd406c5c6515e682c5f31c57c28335b68c7525423 SHA512 3e86aa8ab9810b4fbac54a40fc93a717a55c642520858c0db215a5324c1e495b4d8fcec9620251cca8e4e5f9afa34bc14364d7f785880a0700469d0201827929 WHIRLPOOL fcfd06bc860dfd901a7576cd4309f863e9d4363e36ab4c67e9e08fe3c8a37d627ee95eb96b9ed53eb6047dec06e73181b3c3e1555b1b49f1e893e6382f21ddc1
+DIST compiler-rt-3.4.src.tar.gz 1858593 SHA256 f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c SHA512 70efffaf12ff7c15befa87ce808489c6f6b6eb421d0ab5d8ecd525239efc8aab850c7ed34b31a993ff5e499657b72598619945cc4461fe3e5359e9a94aaac0c8 WHIRLPOOL ad558b5877a01e476d30d2757959ab04be0c385b2fe3442bcc578bf36c6f3214cd78b4adda24fcb1f3b2b84353db213b82e8d7d4c40e66c3f57aed3a49322dbc
DIST llvm-2.8-r1.tgz 9112527 SHA256 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b SHA512 8688d5cf415e8aef74cca6a14587af36234a6347e2238ac2c0d66805c42926b9399f36390e1a58a4081e902b0904adb818c1a360d5df572dfa893d6f79f5e35a WHIRLPOOL 0da9250e31242b55586c9138089e742aab5d414d5f3412ebf917ae8b9506f984c6134a932be93ec7e4c01c79f6c21d508cb0b2e0ec283419bd4ae4db745430ae
DIST llvm-2.9.tgz 9574781 SHA256 661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779 SHA512 9cb0fa0bb8ac02661fd6f926001a15e0ad4a9660683421dc86b03f1cf5184142c5815f9f9283ee7cdf8d474e01177f83406122253342e0e95ddc878821660070 WHIRLPOOL f7b445b6b5d455f29ca68c342511b8b5e6eedec525af1cc60440c4de544df2332aa241bffca29eda5d2428a3f518e093a626bd45c7f8a9e0656d0f68aef5d9d1
DIST llvm-3.0.tar.gz 10350539 SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477 SHA512 602bb5590b70cb9138bc19d8c630c62bbabdcb2132215c921fe4bce4e3f74dfc66440b9dcd458ff55a86047cc9cc0417c6563715c133e0db222e4b88f07c13bb WHIRLPOOL 6f4ece3ec747352cd78b08d25c5b1cda91140eb6957d509161e45395e47c074f8d2102bfcaeabcdef8c1f6672f2cf06d88e290667666122da029391b3528d440
@@ -41,6 +43,8 @@ DIST llvm-3.2-manpages.tar.bz2 25962 SHA256 159eaaaf59a2cee66f6aa0bbc93ca4c9fa37
DIST llvm-3.2.src.tar.gz 12275252 SHA256 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 SHA512 cc66171322dbbe40bcac0e0ea5b09df8ff52df63ded304f841f32f702270d6ab1512216413ee52498c3ebee8cd39c4cd23e3855d591944bc2ac0ae76f5be62cc WHIRLPOOL c3a39b2426293d0251b7769607ade873bb6bf8d54e7c8055773a9b75742bc8e39049fb71409a258c6f3d98775b78c280d4bfe4223ba91e5ed6ecae0eddf910e5
DIST llvm-3.3-manpages.tar.bz2 27098 SHA256 46bb22d63d5fe7dd04e1a7bb7e16c03d93f2ed51d31540cfb9d97ed70059aa77 SHA512 6f24b66b13025d0606908f91ad9b4fc6de1b4aac2d97d261f6b989065476cf153d2f84792f8dd4972b95fb1a45a3931c328df3bcf8ce5ab21170a7a912a39783 WHIRLPOOL 31b9c3635b698f404b75b87c7891b4b6be9cbeb6062bcb6fba5476b0b3069a486ba60c27ab2b12b8a2da9404f666617162041860f023951050a9fc4c7d27748a
DIST llvm-3.3.src.tar.gz 13602421 SHA256 68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578 SHA512 1b7f7c5e907a68f642dcbe48fdff9585cb1504022bc9d386f310ebe5d25103d0d5f7cf0abf19e0e3fd666970160a98c90033754e2b79b2fac0cf866c984f8038 WHIRLPOOL a89c0b470fde562a3402e7878b91bc0573d433ca0a60e62c9c46946d7948a4fb657b116b6bac032555e29c70d82c751876adb398fe240f5c8d0a9a2378ce1866
+DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e81303e2c5756ff8bc221e05b46f7e1cb SHA512 8e438a9392c9b896ccb2b1460a8f57ffa01633e3a6bba61e2bf2f718d970ff96c17d63b0bc0d4da1162e1d1dc4cb9b2a9e9a14a722e8a5b5d2f205f037ae665d WHIRLPOOL 1c037a9972442937f84bc3147d77d4bbc6d6c0812c3025f3107c2ee5f6259afab990f6e1bca564237fdca8089e2372df4b7ca45cbdea686fbf891f92d1bfbbe6
+DIST llvm-3.4.src.tar.gz 15920544 SHA256 25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628 SHA512 4ccd8c4fc15dd9abc43f93b62f0b1349c419a2afeba05304fa98c157325e31dbbdb1587afc18d0a3f5dba14c95d64a3d40a825efe89ddf6f93fa96002496675c WHIRLPOOL d1ba9f49dbb6a602d4852990fe7f03f6494ef458191a6b8b731a47f208e768e1b1ba4a7828828972449b9fc685a85a78d97f9813079c33a442c5878d940b7cd8
EBUILD llvm-2.8-r2.ebuild 6305 SHA256 0d3960a19619eaa4c532ec703afda259851e40649ddec4133148459bc7e667a2 SHA512 d397e3a098bcbf9ec91bcb0520d73fc188a00c68ef2392f66bdfa5ee7902f0e3d76bf2263c499f336489eb91391fd5f52ca1918e9e6e27a009c8d87c4058db70 WHIRLPOOL d8049c39b65046a93e10016c7b12cd49246228e032258e78726f74a4471873fba7dabf57db02d7d4a99539465cad653d02efeae54dd3aaeac4bf3a03a6a5a99b
EBUILD llvm-2.9-r2.ebuild 6380 SHA256 e95d4d6c0fefb602a04197b10d31fff3c4ef997ff7351deeb2b170033d4048a9 SHA512 afffc1450d8c6b45f88180187e13894aceb1cb8d62ba5ee3467d7d891e34259a29173db6596c43ad9f082430d75e5ce89612ef9de6c48716a410b69d05d62ea3 WHIRLPOOL 4659745840411d9787087d38368181054acab9ef5bd7359c56e96269ab8d169783ccb65b1a5948a9a2d35c401c91f46d61d3717730ce71d67bba6832286bc990
EBUILD llvm-3.0-r2.ebuild 5767 SHA256 62fca1169c63516f29102a3a1bb4ea74408dfd151d97a9edbfb165a2def317c3 SHA512 f7ee2bbf8b31d86c11ab07f530278e3240ec21f3c58144a9e627aef3c1fb7690935786f33368a6f56062b5daf501adebfc164fd6712985a91076897b89cdd85f WHIRLPOOL be1a6edd697e2504df033705c2cb8e37f6c17a13d77558d231172c00f91ec247785469b6e1265e25c42eb3f6f394614cf516e0e422cb54094d9ba25669c8406c
@@ -49,25 +53,26 @@ EBUILD llvm-3.2.ebuild 6534 SHA256 eb16cc91887fdb035722d268caaa3e4843825403786fc
EBUILD llvm-3.3-r1.ebuild 12007 SHA256 343a88ba35b67f4d86c20e29e1f4919640a9c4fbf9942fb1733945480ba1e8f5 SHA512 3db9e2ad26e803ac663b696ff615eed83a4342e4b771f161b74304bb83c61f171e02f2b176cf62663724206a57e20be52ec22cf49de234f72b32673bb2588512 WHIRLPOOL 1c423485f6161b40daa5a7ebdc38838b4bd2d6a9c540881eb3cfbf5f592b454da32758ad23c2607fe7a875c65891f7b64f3079a53ac77af5b2decb6490a6b8b4
EBUILD llvm-3.3-r3.ebuild 14232 SHA256 c93cc4b5d2f0b52fe3b61a024c192844cc7f5874ab0e620960d59aa16314dab6 SHA512 26ea2f5751cfd1c0acfffc910b3ff75fc8143acb8dc30f53e23e875d88a7e7e8a66af2eb9ec1df64e8d95615e973f84cf04a34a4deabc7121924d1837f27a2e1 WHIRLPOOL d784b48a07172fb1f8044b90ada8b24aee81655fec7fe7dc1f5e4ba1a69795f9cb522094de617712feefefecb242ab67afbeabce8e59bb27876ee91e890d2f2d
EBUILD llvm-3.3.ebuild 6798 SHA256 4e53042e76ce97e6a460cda74c5dbadc1cee9009345e8f0232e28d53c8f77579 SHA512 5513887c3b5a25a678713b68c216a40801ddecbf5a4dc58d7ad01c1ec8411589e20d8662c34f117e6d64924302504c8ce74b48f3edca1f292b56881eb6176271 WHIRLPOOL 79d6adefc281699477a271f76cb8eb7992d0946b6fcda9149a0976c30138ac882f735eff08c25c0edf37ccc8e31700f6d2d51d38c354c82c06695962e8f9243b
+EBUILD llvm-3.4.ebuild 14097 SHA256 5694c889995a4667511e8a66117ce129199f554f72e55eb33b2031b844d0b710 SHA512 b4de4570832f33d7f74243873b00e6551c86902fca663705712cb37fda1dc61d798948d20f7ab398d5a1a038f691cb117f9ab0fe283c16153cc03c944884b430 WHIRLPOOL 662e768a6b7a3d3455842f0d062a6777a71fbc398daecc7249eba3927c2d51be50ab60a6b7e96f9bf8d40aa2bc802cc84008b59b1b894118707a8df8a4a24bb8
EBUILD llvm-9999.ebuild 13388 SHA256 6d06ed7619491e838b26cf6b0c07a63b22a69fc50ae8adcbe0f8b5e9439d0dbf SHA512 8adcad5e994b10581906a6bd29c85606bb1ab272df667a8e3379a3b6fe907867be965d2240d7d52f8dc4d946be6557d725cf47f62692e9c48964d3529556be5f WHIRLPOOL 15e895413a6449c591cfdf02757b768964e2bc34f9a1faa2d6bc390b896b6b4ad604004b2d65917ce4c22cbd45b4e0e304188fb5a0a29e155b5085e20364d4a8
-MISC ChangeLog 27785 SHA256 0014b403781fe10a1d99a704b04fd09d6c99a8e82b585eb872d247ea178e3211 SHA512 cf1ce53d880eb64b169fdd9c4afad2b00b95d22f4877f8d2f6583884cf1b9957fc909a3d282393d246f1b97e52d6d5b3351fe0036ff0abbad17a7ac2f435c047 WHIRLPOOL b8ac70d8c361d193b7594f9307c383768487b69de5c259231f0ac1fb1debd101aaa1114f9f422afc677e97ac0775370c59da1ede99513f436a76648a5f22abc8
+MISC ChangeLog 27895 SHA256 aeff2c932fbe8757da74413a47585b3bdc5a9c0a9d176e7bb170d3f575f0a3a4 SHA512 ab5b10c5d596c1a9061a61f5dafd4a9aec487e19fa47aa978904cf43da9c9d06ffcab7a750fc525797128f9018b552919a4a3638ccff6537f9fb664a327a2d72 WHIRLPOOL 9e9148e377ce1229279969f38a25bf01ca222c04bf74db0e3e300232aa91ec16d65c337976e0b73462d0cc3e301bc1eae33755f241e37585325eefdca2b31340
MISC metadata.xml 2723 SHA256 d1bbe72da2553592ad60522f744b8339bce17487343abf372d966c1fe9cd163d SHA512 800f72039a5f0fdb175a8ddab7ae8f184907865802ffd5f139006f3a8c77053f114e2f7b01cef3f41f6fffb3f8f8b2b474fdf95461f27b2dc8ae31cbd732a14e WHIRLPOOL 462d3d2f22e29d3678621a9f89ed98a58ee60fde57da7be21fbca7fd61e106abbcb19c0e491424869302c19ca93b15c480cd7ca2a3181f2148174d44e891e190
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
-iQJ8BAEBCABmBQJSyqrhXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ8BAEBCABmBQJSyxrKXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC
-MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO2ScP/3KN6h6g5LkefYJw29HVe55L
-1qjeJOyoUdyKCYon0ayqptFO+Z+/KQN/ZVGLMHwzHicI6jeT/NW9EvIRpzElhYzi
-OkbQ9r4MN4H3GErMy6/ro/vCAW9SXIkRxUZjWMlrf8PRJtC6WIpPYjaKf2bw+yu2
-oI4CCQeoJhqqKr9B30eRheipp+MPVfOPkYwTHn2IL8TylIDOvSBv0z+QOVvU7P7g
-iGaEw7zOFY9IgHVOZDQGLFIz+BV+rjjiYAWSgbpVYdPqbjlfKjMPFNhzfTtVEf70
-uC7iAP6EU6rjOUK8PSeU3fF/TWE4ARoiLWpdIOC/IbEI/UOi6ks+IxpPBkiWD/2K
-Jf0IOyrinv+yHxCMI+y9CM2EskxYwLuXJzzQy8InS8+HtvrudxA9Jt+MK6FuEFag
-N0mjyNcPDVP+qn5lHkALwfeR5IulVcnaKrjhjBnDhjnukZ/3ijh7aHSEGXI+koi9
-1CfTcV4AAQITmNTUo6OfJ5rpVX3V5V1SkhS17B2NP3FX3l46lqjqGzSDt+42wVEe
-VfIOWE00If0W6/oghgwrcRI0GEddvNF7KNcEjruPN5H91IHQeClFJ6CDXX1jevYo
-pgCnQ+iW2qR/nsOHBcVD9KBNNz3PCPPdsQIML5YP3XwDonSgCMM4AmpNl29hr1OI
-A8qpMhViXjKY8EYoP0sm
-=/6Ba
+MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOcqQP/2F038NnAm6yTC4wUfZda6ko
+tYWD2GlWLJ72pmClb1UFvEN9YN0Bi4ybrcKqUTOVs1E1dWiuUw38RuOiEbKFQ7xA
+szDDzmzUOfgkKG81VCONFUSgVenOMGaYj5etUMcLRjlZMY9qUBNIuzmSIHS3rkz5
+LaoiCiISrwuqgIkIoauXQC17eB4swjMjZzxPikPzelPcY8UB2Spm3Hzte1V+Qscq
+F4WrkUDV/Q5G3iQFZlaiPw2LGRmRIiqWnzzFaEwnWqZwFVQwm+xwnT9lwc7d1+kf
++M224t+UdjE75Eu+/2YbCS8nZq+EnM2AHq6ip9lB/0xf4X4Tdi2iw8ntZtpJdXTK
+lERCn+RX1PN7WUDQvyX0treSNQ7s3PtwEJUULJ543kgLEccBUvO3CoLOviw/uvpx
+pNoOhPxoErqdEEf163uLQAibs62ToxUyLfcPk8n50OuHR8XMWbcstsAkwjN0p674
+GYM329uRKyfw5EeKBegfkp8m3U6bCJxhHIrd8qchST9bh7C3a4D5sKDhj0jOtiqx
+8qeUxRaNBdSJRYoCzg7yscfchpt0o4HNZQBcFl4bvSQ/kFlg2Pnen7UXfnVwETp4
+Q8Zaz9CcLBTdbbBtbGxXDRme/uun7Wg8Tw9moxafThAbKBuhMGUQ2JFz3w9WRfIf
+bdIlroVknov/sb+Jx51z
+=dydS
-----END PGP SIGNATURE-----
diff --git a/sys-devel/llvm/llvm-3.4.ebuild b/sys-devel/llvm/llvm-3.4.ebuild
new file mode 100644
index 000000000000..e964e0168446
--- /dev/null
+++ b/sys-devel/llvm/llvm-3.4.ebuild
@@ -0,0 +1,492 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild,v 1.1 2014/01/06 21:06:15 mgorny Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_6,2_7} pypy2_0 )
+
+inherit cmake-utils eutils flag-o-matic multilib multilib-minimal \
+ python-r1 toolchain-funcs pax-utils check-reqs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.gz
+ clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.gz
+ http://llvm.org/releases/${PV}/clang-${PV}.src.tar.gz )
+ !doc? ( http://dev.gentoo.org/~mgorny/dist/${P}-manpages.tar.bz2 )"
+
+LICENSE="UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="clang debug doc gold +libffi multitarget ncurses ocaml python
+ +static-analyzer test udis86 xml video_cards_radeon
+ kernel_Darwin kernel_FreeBSD"
+
+COMMON_DEPEND="
+ sys-libs/zlib:0=
+ clang? (
+ python? ( ${PYTHON_DEPS} )
+ static-analyzer? (
+ dev-lang/perl:*
+ ${PYTHON_DEPS}
+ )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ gold? ( >=sys-devel/binutils-2.22:*[cxx] )
+ libffi? ( virtual/libffi:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( sys-libs/ncurses:5=[${MULTILIB_USEDEP}] )
+ ocaml? ( dev-lang/ocaml:0= )
+ udis86? ( dev-libs/udis86:0=[pic(+),${MULTILIB_USEDEP}] )"
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=sys-devel/make-3.81
+ >=sys-devel/flex-2.5.4
+ >=sys-devel/bison-1.875d
+ || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1
+ ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
+ )
+ || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
+ clang? ( xml? ( virtual/pkgconfig ) )
+ doc? ( dev-python/sphinx )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+RDEPEND="${COMMON_DEPEND}
+ clang? ( !<=sys-devel/clang-3.4-r99
+ !>=sys-devel/clang-9999 )
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+PDEPEND="clang? ( =sys-devel/clang-3.4-r100 )"
+
+# pypy gives me around 1700 unresolved tests due to open file limit
+# being exceeded. probably GC does not close them fast enough.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ test? ( || ( $(python_gen_useflags 'python*') ) )"
+
+# Some people actually override that in make.conf. That sucks since
+# we need to run install per-directory, and ninja can't do that...
+# so why did it call itself ninja in the first place?
+CMAKE_MAKEFILE_GENERATOR=emake
+
+pkg_pretend() {
+ # in megs
+ # !clang !debug !multitarget -O2 400
+ # !clang !debug multitarget -O2 550
+ # clang !debug !multitarget -O2 950
+ # clang !debug multitarget -O2 1200
+ # !clang debug multitarget -O2 5G
+ # clang !debug multitarget -O0 -g 12G
+ # clang debug multitarget -O2 16G
+ # clang debug multitarget -O0 -g 14G
+
+ local build_size=550
+ use clang && build_size=1200
+
+ if use debug; then
+ ewarn "USE=debug is known to increase the size of package considerably"
+ ewarn "and cause the tests to fail."
+ ewarn
+
+ (( build_size *= 14 ))
+ elif is-flagq -g || is-flagq -ggdb; then
+ ewarn "The C++ compiler -g option is known to increase the size of the package"
+ ewarn "considerably. If you run out of space, please consider removing it."
+ ewarn
+
+ (( build_size *= 10 ))
+ fi
+
+ # Multiply by number of ABIs :).
+ local abis=( $(multilib_get_enabled_abis) )
+ (( build_size *= ${#abis[@]} ))
+
+ local CHECKREQS_DISK_BUILD=${build_size}M
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+
+ # need to check if the active compiler is ok
+
+ broken_gcc=( 3.2.2 3.2.3 3.3.2 4.1.1 )
+ broken_gcc_x86=( 3.4.0 3.4.2 )
+ broken_gcc_amd64=( 3.4.6 )
+
+ gcc_vers=$(gcc-fullversion)
+
+ if has "${gcc_vers}" "${broken_gcc[@]}"; then
+ elog "Your version of gcc is known to miscompile llvm."
+ elog "Check http://www.llvm.org/docs/GettingStarted.html for"
+ elog "possible solutions."
+ die "Your currently active version of gcc is known to miscompile llvm"
+ fi
+
+ if use abi_x86_32 && has "${gcc_vers}" "${broken_gcc_x86[@]}"; then
+ elog "Your version of gcc is known to miscompile llvm on x86"
+ elog "architectures. Check"
+ elog "http://www.llvm.org/docs/GettingStarted.html for possible"
+ elog "solutions."
+ die "Your currently active version of gcc is known to miscompile llvm"
+ fi
+
+ if use abi_x86_64 && has "${gcc_vers}" "${broken_gcc_amd64[@]}"; then
+ elog "Your version of gcc is known to miscompile llvm in amd64"
+ elog "architectures. Check"
+ elog "http://www.llvm.org/docs/GettingStarted.html for possible"
+ elog "solutions."
+ die "Your currently active version of gcc is known to miscompile llvm"
+ fi
+}
+
+src_unpack() {
+ default
+
+ rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \
+ || die "symlinks removal failed"
+
+ if use clang; then
+ mv "${WORKDIR}"/clang-${PV} "${S}"/tools/clang \
+ || die "clang source directory move failed"
+ mv "${WORKDIR}"/compiler-rt-${PV} "${S}"/projects/compiler-rt \
+ || die "compiler-rt source directory move failed"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
+ epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch
+ use clang && epatch "${FILESDIR}"/clang-3.4-gentoo-install.patch
+ # Hack cmake search path for Gentoo, bug #496480
+ epatch "${FILESDIR}"/${PN}-3.3-cmake-modulepath.patch
+
+ local sub_files=(
+ Makefile.config.in
+ Makefile.rules
+ tools/llvm-config/llvm-config.cpp
+ )
+ use clang && sub_files+=(
+ tools/clang/lib/Driver/Tools.cpp
+ tools/clang/tools/scan-build/scan-build
+ )
+
+ # unfortunately ./configure won't listen to --mandir and the-like, so take
+ # care of this.
+ # note: we're setting the main libdir intentionally.
+ # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
+ einfo "Fixing install dirs"
+ sed -e "s,@libdir@,$(get_libdir),g" \
+ -e "s,@PF@,${PF},g" \
+ -e "s,@EPREFIX@,${EPREFIX},g" \
+ -i "${sub_files[@]}" \
+ || die "install paths sed failed"
+
+ # User patches
+ epatch_user
+}
+
+multilib_src_configure() {
+ # disable timestamps since they confuse ccache
+ local conf_flags=(
+ --disable-timestamps
+ --enable-keep-symbols
+ --enable-shared
+ --with-optimize-option=
+ $(use_enable !debug optimized)
+ $(use_enable debug assertions)
+ $(use_enable debug expensive-checks)
+ $(use_enable ncurses terminfo)
+ $(use_enable libffi)
+ )
+
+ if use clang; then
+ conf_flags+=( --with-clang-resource-dir=../lib/clang/${PV} )
+ fi
+ # well, it's used only by clang executable c-index-test
+ if multilib_build_binaries && use clang && use xml; then
+ conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" )
+ else
+ conf_flags+=( ac_cv_prog_XML2CONFIG="" )
+ fi
+
+ local targets bindings
+ if use multitarget; then
+ targets='all'
+ else
+ targets='host,cpp'
+ use video_cards_radeon && targets+=',r600'
+ fi
+ conf_flags+=( --enable-targets=${targets} )
+
+ if multilib_build_binaries; then
+ use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ )
+ # extra commas don't hurt
+ use ocaml && bindings+=',ocaml'
+ fi
+
+ [[ ${bindings} ]] || bindings='none'
+ conf_flags+=( --enable-bindings=${bindings} )
+
+ if use udis86; then
+ conf_flags+=( --with-udis86 )
+ fi
+
+ if use libffi; then
+ local CPPFLAGS=${CPPFLAGS}
+ append-cppflags "$(pkg-config --cflags libffi)"
+ fi
+
+ # build with a suitable Python version
+ python_export_best
+
+ # llvm prefers clang over gcc, so we may need to force that
+ tc-export CC CXX
+
+ ECONF_SOURCE=${S} \
+ econf "${conf_flags[@]}"
+
+ multilib_build_binaries && cmake_configure
+}
+
+cmake_configure() {
+ # sadly, cmake doesn't seem to have host autodetection
+ # but it's fairly easy to steal this from configured autotools
+ local targets=$(sed -n -e 's/^TARGETS_TO_BUILD=//p' Makefile.config || die)
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # just the stuff needed to get correct cmake modules
+ $(cmake-utils_use ncurses LLVM_ENABLE_TERMINFO)
+
+ -DLLVM_TARGETS_TO_BUILD="${targets// /;}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ )
+
+ BUILD_DIR=${S%/}_cmake \
+ cmake-utils_src_configure
+}
+
+set_makeargs() {
+ MAKEARGS=(
+ VERBOSE=1
+ REQUIRES_RTTI=1
+ GENTOO_LIBDIR=$(get_libdir)
+ )
+
+ # for tests, we want it all! otherwise, we may use a little filtering...
+ # adding ONLY_TOOLS also disables unittest building...
+ if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then
+ local tools=( llvm-config )
+ use clang && tools+=( clang )
+
+ if multilib_build_binaries; then
+ tools+=(
+ opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli
+ llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump
+ llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov
+ llvm-size llvm-stress llvm-mcmarkup llvm-symbolizer obj2yaml
+ yaml2obj lto bugpoint
+ )
+
+ # those tools require 'lto' built first, so we need to delay
+ # building them to a second run
+ if [[ ${1} != -1 ]]; then
+ tools+=( llvm-lto )
+
+ use gold && tools+=( gold )
+ fi
+ fi
+
+ MAKEARGS+=(
+ # filter tools + disable unittests implicitly
+ ONLY_TOOLS="${tools[*]}"
+
+ # this disables unittests & docs from clang
+ BUILD_CLANG_ONLY=YES
+ )
+ fi
+}
+
+multilib_src_compile() {
+ local MAKEARGS
+ set_makeargs -1
+ emake "${MAKEARGS[@]}"
+
+ if multilib_build_binaries; then
+ set_makeargs
+ emake -C tools "${MAKEARGS[@]}"
+
+ if use doc; then
+ emake -C "${S}"/docs -f Makefile.sphinx man
+ use clang && emake -C "${S}"/tools/clang/docs/tools \
+ BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man
+ emake -C "${S}"/docs -f Makefile.sphinx html
+ fi
+ fi
+
+ if use debug; then
+ pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld
+ pax-mark m Debug+Asserts+Checks/bin/lli
+ else
+ pax-mark m Release/bin/llvm-rtdyld
+ pax-mark m Release/bin/lli
+ fi
+}
+
+multilib_src_test() {
+ local MAKEARGS
+ set_makeargs
+
+ # build the remaining tools & unittests
+ emake "${MAKEARGS[@]}"
+
+ pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests
+ pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests
+ pax-mark m unittests/Support/Release/SupportTests
+
+ emake "${MAKEARGS[@]}" check
+ use clang && emake "${MAKEARGS[@]}" -C tools/clang test
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/config.h
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ use clang && MULTILIB_WRAPPED_HEADERS+=(
+ /usr/include/clang/Config/config.h
+ )
+
+ multilib-minimal_src_install
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{arm_neon,std,float,iso,limits,tgmath,varargs}*.h
+}
+
+multilib_src_install() {
+ local MAKEARGS
+ set_makeargs
+
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+
+ # Preserve ABI-variant of llvm-config.
+ dodir /tmp
+ mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/"${CHOST}"-llvm-config || die
+
+ if ! multilib_build_binaries; then
+ # Drop all the executables since LLVM doesn't like to
+ # clobber when installing.
+ rm -r "${ED}"/usr/bin || die
+
+ # Backwards compat, will be happily removed someday.
+ dosym "${CHOST}"-llvm-config /tmp/llvm-config.${ABI}
+ else
+ # Move files back.
+ mv "${ED}"/tmp/*llvm-config* "${ED}"/usr/bin || die
+ # Create a symlink for host's llvm-config.
+ dosym "${CHOST}"-llvm-config /usr/bin/llvm-config
+
+ # Install docs.
+ if use doc; then
+ doman "${S}"/docs/_build/man/*.1
+ use clang && doman "${T}"/clang.1
+ dohtml -r "${S}"/docs/_build/html/
+ else
+ if ! use clang; then
+ rm "${WORKDIR}"/${P}-manpages/clang.1 || die
+ fi
+ doman "${WORKDIR}"/${P}-manpages/*.1
+ fi
+
+ # Symlink the gold plugin.
+ if use gold; then
+ dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins
+ dosym ../../../../$(get_libdir)/LLVMgold.so \
+ /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so
+ fi
+
+ # install cmake modules
+ emake -C "${S%/}"_cmake/cmake/modules DESTDIR="${D}" install
+ fi
+
+ # Fix install_names on Darwin. The build system is too complicated
+ # to just fix this, so we correct it post-install
+ local lib= f= odylib= libpv=${PV}
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ eval $(grep PACKAGE_VERSION= configure)
+ [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
+ for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib ; do
+ # libEnhancedDisassembly is Darwin10 only, so non-fatal
+ # + omit clang libs if not enabled
+ [[ -f ${ED}/usr/lib/${lib} ]] || continue
+
+ ebegin "fixing install_name of $lib"
+ install_name_tool \
+ -id "${EPREFIX}"/usr/lib/${lib} \
+ "${ED}"/usr/lib/${lib}
+ eend $?
+ done
+ for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib{LTO,clang}.dylib ; do
+ # omit clang libs if not enabled
+ [[ -f ${ED}/usr/lib/${lib} ]] || continue
+
+ odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
+ install_name_tool \
+ -change "${odylib}" \
+ "${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib \
+ -change "@rpath/libclang.dylib" \
+ "${EPREFIX}"/usr/lib/libclang.dylib \
+ -change "${S}"/Release/lib/libclang.dylib \
+ "${EPREFIX}"/usr/lib/libclang.dylib \
+ "${f}"
+ eend $?
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ insinto /usr/share/vim/vimfiles/syntax
+ doins utils/vim/*.vim
+
+ if use clang; then
+ cd tools/clang || die
+
+ if use static-analyzer ; then
+ dobin tools/scan-build/ccc-analyzer
+ dosym ccc-analyzer /usr/bin/c++-analyzer
+ dobin tools/scan-build/scan-build
+
+ insinto /usr/share/${PN}
+ doins tools/scan-build/scanview.css
+ doins tools/scan-build/sorttable.js
+ fi
+
+ python_inst() {
+ if use static-analyzer ; then
+ pushd tools/scan-view >/dev/null || die
+
+ python_doscript scan-view
+
+ touch __init__.py || die
+ python_moduleinto clang
+ python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py
+
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ pushd bindings/python/clang >/dev/null || die
+
+ python_moduleinto clang
+ python_domodule __init__.py cindex.py enumerations.py
+
+ popd >/dev/null || die
+ fi
+
+ # AddressSanitizer symbolizer (currently separate)
+ python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
+ }
+ python_foreach_impl python_inst
+ fi
+}