summaryrefslogtreecommitdiff
path: root/sys-devel/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/llvm')
-rw-r--r--sys-devel/llvm/Manifest29
-rw-r--r--sys-devel/llvm/files/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch48
-rw-r--r--sys-devel/llvm/files/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch29
-rw-r--r--sys-devel/llvm/files/11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch55
-rw-r--r--sys-devel/llvm/files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch34
-rw-r--r--sys-devel/llvm/files/9999/musl-fixes.patch33
-rw-r--r--sys-devel/llvm/llvm-10.0.1.ebuild11
-rw-r--r--sys-devel/llvm/llvm-11.0.0.ebuild11
-rw-r--r--sys-devel/llvm/llvm-11.0.1.ebuild5
-rw-r--r--sys-devel/llvm/llvm-11.1.0.ebuild7
-rw-r--r--sys-devel/llvm/llvm-12.0.0.9999.ebuild5
-rw-r--r--sys-devel/llvm/llvm-12.0.0.ebuild (renamed from sys-devel/llvm/llvm-12.0.0_rc2.ebuild)9
-rw-r--r--sys-devel/llvm/llvm-12.0.0_rc3.ebuild525
-rw-r--r--sys-devel/llvm/llvm-13.0.0.9999.ebuild8
14 files changed, 26 insertions, 783 deletions
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3fbd66b8d0f2..85b1e3ade8ec 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,24 +1,23 @@
-AUX 10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch 1480 BLAKE2B 09057d1e7ad466ba316335b66d9acf7b55fabdb209bddf7d28e641ea7a922d8af51ad6a8f0ab41b28da7ff0e76148d5ea388ad447bcd828f11ad3e7d89d0f78d SHA512 366041f1c4a4d7c3af2b611f65b238cb0bd00806ad0afa1181f05900b512a84c8997b2f2843564a573478af2e7b225d6ccc7ffe7823d88acd2ede706bee49ffa
-AUX 10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch 983 BLAKE2B af7f06cf16ed45d446c7f879ccdc2d6ef50cd5e04f5eec40a2097f429063daeef610945e5201cb937349c041fc7d124df11319b253b4ea89f6b7baf701924ec9 SHA512 b39c0fc939d56cd6bb96b107d93cda23b01b76f51639000cf7b5516792c7bfcafbee56c0845b87cc30d172fa90f9fb2bdf137a5b27da272d405acec32bcc5b8d
-AUX 11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch 2450 BLAKE2B b070b1b90e63eda30caceda63076f44e7d72c41567b28f56ccaebffbb7b832cac72c2d444007988f5e535173eb961ba23b56d6e50a8bcbe18dbcf751527cb876 SHA512 c10f7fff5f951ef17a77c25ec85072e06a1cd672720cf2a3a5c72102f0968ee2123bf02fdcd5df41b7832564891ace6dd58ce5370c42f6be5e52c72780f2abfa
-AUX 9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch 1188 BLAKE2B 72311a8da991b9f3b98523baefe6f5b31aa7f9101c388f35484dd5f384a08e838ea42a17447ca17a0dfe6b7d3c20abbdf0e8afee72e8ad5d46ec38b8d55307c8 SHA512 0ada997db2a0eb875105fb212dc3fc3077b9c4f7804d78c33c4b1f512bf1267295f325153ae14c00404c86e576ae1c78a6aeb0a57d1d4525aabd1169c21806ef
-AUX 9999/musl-fixes.patch 1258 BLAKE2B fe275412bc908884239ea71de9a9ddf1d2f64debaa1a9ada18170195a7775c41571600ed3666343bf967aff5f9117900f73155f60de5077bc4584cfc2f782f53 SHA512 314dcbe846a66312c9f1634f4ff3f4670b3db1d3210bb550f1d3877a423333ba042da2e90c8736918a36be4d4faf58dab8d3236d4f26df5af7f7f019b0e0ec8f
DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
DIST llvm-11.0.1-manpages.tar.bz2 180888 BLAKE2B 9d70e83704d77aa5007cc8eb8e667fbb1f4dd3a8df607d0bbf4f3f5049ac04263e6e01bf8da0d212f456a49c90b853485746af68f0a1e2b5f3b704914bd45aaf SHA512 c67df394dd1a94ae632ce55ff1b1aa4cc4aa8b59b17521cd91932c1b44efe90f29e84233a0ebe882d39f54a5b28edf4ef40769e7ecc1a5f1021d64c5f99e33ad
DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1
+DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b537c0fb8f0cb923b0c5c9e5866785013df93efc6cb448c91b7635e856a8d663278a3ba40620a2e4c05c006b6fc5b482b4e SHA512 4a4f55da8da0cb7d4d9281b13168864a3c0b10000b3e750b22b93d9b4f68a2d9a2e1da10c94d27081a0bce9694fa55a9d5e723676f9066393dc8001382d1d6da
+DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
+DIST llvm-gentoo-patchset-11.0.0-1.tar.xz 6100 BLAKE2B 6f8fc9b7daa703f04b1283caaeb3665d4bec56ff80b1c5db35917c578fdd92617222bd2d2b83020144b8abdeaa261142b68aa3dee24350133f6721e41a167b78 SHA512 debdd92e6aa3133f474dfbd79f267e76d9d979e4e5d464c8d4343c6e6816b46376ca8080a9ee916152861907af9d0645ce71cf3582ef3dc31ec4ca3410fde9f6
+DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
+DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
+DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
-DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
-DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
-EBUILD llvm-10.0.1.ebuild 11889 BLAKE2B 680cfce8161a51c15033cb6c5db616f74d5d04fb165fb726df5e3f9ba88631add687954ca3ed823041c57099cb48eac5274a37ff9defcf40ab94d681e4383692 SHA512 3d690f86c806f4804bc16c365fc57a5525b160f2722773c79b19b89927fc514b259ea7393729d4df648a4f7e3e0ca90100ba621630cb8d25cd92dd7286259d70
-EBUILD llvm-11.0.0.ebuild 12872 BLAKE2B 684851dd05e8321c6dcc4d30f312fb13832a46b5e721bf39d70345fc3299a655d5a1db4b8f1bfb5219b210d7b6eda3c15bbd6a8e97d525ae081760cdcab01fd0 SHA512 a299f084bbfb8be92cf1bffbe628daa7d1ce6362ae65885a5cd04445661c4471b6cd7824a7edaf1dd6d63d6b65ced8712e25018cf23b90fe0a42a4a28f2fbcde
-EBUILD llvm-11.0.1.ebuild 12677 BLAKE2B fc6a4a314c58b2864f98219e45875ef18af1cf71b5ba29f16ee85ebb89ae79c7e5612b362527e26a60f0e5eb3c4bfd2bb6a40c2af03fe1a55b6de5b57252b34e SHA512 8df58d9a8d72f60f556d082d761d8da2c327162cf29493372783aec4439f0c6f435b323358459b591afc626ee42a51f7101fa428e8759d7be1dea229d43cc68d
-EBUILD llvm-11.1.0.ebuild 12680 BLAKE2B 8513e13238434a9fe48477f7c08a98c1b4e50d6db1e4d17df3b518cd981af4854f08485ed1bd4ff397da6c0ee3afc2aaac806a28f347bf0ce12c3e4aa4602ef4 SHA512 2eaf4e9990c9d52533864e04e61162e2fd35f228606b3bb959e8ce1c38ce0d66610287c1194f368c4b9271ba3aabbc4ed4822c5a7e016e8cbd0242bb4f356822
-EBUILD llvm-12.0.0.9999.ebuild 12707 BLAKE2B 4b1a0bdd938a7b1929ac0733ab5858deb39d4baec80819dca21fc3420f2e0d23da43053037e944dbcbdab484b8a44075e66fa6c83c548242b094985fa41be0f7 SHA512 daa950c95437fb5ccb188db3595de7e3a61ec5df5ae4f4141bb553d7672e9423882a31f227ba7ed767982796fd515637b51a6032aca7ce01e736ee8c6c0c6c82
-EBUILD llvm-12.0.0_rc2.ebuild 12857 BLAKE2B 42ba7b8df5bc10ccc22ea9f3958336325eb661e4d93385d38e36220a20e4a967adb407da1e70fe3f53dcda0cc13abe6d49103e0efc88bd37e3f2bd2006a11b21 SHA512 a24593b3e1ea3353556cee37ff990d649a99628abb3c8deb692e9441e2281e2b70395bf14c4aeb9dca03a025b1c4f9bd9c7e8b151fa7aba09dc7e83dd0c8d135
-EBUILD llvm-12.0.0_rc3.ebuild 12857 BLAKE2B 42ba7b8df5bc10ccc22ea9f3958336325eb661e4d93385d38e36220a20e4a967adb407da1e70fe3f53dcda0cc13abe6d49103e0efc88bd37e3f2bd2006a11b21 SHA512 a24593b3e1ea3353556cee37ff990d649a99628abb3c8deb692e9441e2281e2b70395bf14c4aeb9dca03a025b1c4f9bd9c7e8b151fa7aba09dc7e83dd0c8d135
-EBUILD llvm-13.0.0.9999.ebuild 12707 BLAKE2B 4b1a0bdd938a7b1929ac0733ab5858deb39d4baec80819dca21fc3420f2e0d23da43053037e944dbcbdab484b8a44075e66fa6c83c548242b094985fa41be0f7 SHA512 daa950c95437fb5ccb188db3595de7e3a61ec5df5ae4f4141bb553d7672e9423882a31f227ba7ed767982796fd515637b51a6032aca7ce01e736ee8c6c0c6c82
+DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+EBUILD llvm-10.0.1.ebuild 11490 BLAKE2B 40960dd1109655157b04396283d704ea1a0af35ffd09ec9bab2718d62fde888508246ea77a473cd7512c1818b5a3a8d7b72e5786d64faf43bd42ff823b765e22 SHA512 75767e94d55ca1f9f7a769abfc0c916388e69ccd51620c8083f8bb184bf9649d2b9c75efaed46d96f8e0932cb3e6beb71d51a3b1565243218a3efd5144238296
+EBUILD llvm-11.0.0.ebuild 12503 BLAKE2B d73320f648d63cb3decf25f30af36974b78c01c77974c7a7061bf28af75b7896898492e1b099a618dfed47704d7c412339bc00be0ea4e552db8b6d575fcc25ff SHA512 33b8eab470f07dd330b463e72cb20e4b264d9669268e520e7103ee924cd6e0e1420d7d81b667093f31acbe636712be33eb240501ed4f4af188557c2bbf502614
+EBUILD llvm-11.0.1.ebuild 12505 BLAKE2B f0e169f9928142a88e6dd19b522b83a1c7b26f97cfb0bb9f5fa3ef9b4f211af72ea18759a38499d4aa94af8e1d94f0d545e6c7758e996a6b3fec369de4946719 SHA512 d90113444cf39001e4d155d0b1f73c6a73ea712b597b7f34ea2aaac28ca119250f5748468b5a595fef9d638759a964a200b31ef580aa84629be501165c9c98a4
+EBUILD llvm-11.1.0.ebuild 12505 BLAKE2B f0e169f9928142a88e6dd19b522b83a1c7b26f97cfb0bb9f5fa3ef9b4f211af72ea18759a38499d4aa94af8e1d94f0d545e6c7758e996a6b3fec369de4946719 SHA512 d90113444cf39001e4d155d0b1f73c6a73ea712b597b7f34ea2aaac28ca119250f5748468b5a595fef9d638759a964a200b31ef580aa84629be501165c9c98a4
+EBUILD llvm-12.0.0.9999.ebuild 12533 BLAKE2B 11655c8c777803817c302b0c527fc169b13961ce29c426e11a71de70fbe47b5f440b6cc6a976a762badea202486b77279b0e288fb44ee996d33e0a179b9f5166 SHA512 1e84d291d1ce1496457a53f472929862f61f807f85efc3754978ce16e204f53962b45ff51e9454a2bfe17234bbf4a5bebacf030326b14a80659ad0dada3c3a96
+EBUILD llvm-12.0.0.ebuild 12771 BLAKE2B 49c4745c3b9d909b18dd696991933873598c020f0ad40f49f328eea678ecd37c0fc4bceba6cdd4bb0409b007ef5a11fe3caeccc923a82d04bb1848fe341533a7 SHA512 c634b510390b33451038c9bcbaa59ffa18314d068bfb1936189a1079f888fd95dd85fa2450ad65859732186485455feceb6123895fefff075b9b5ee2f8c6f363
+EBUILD llvm-13.0.0.9999.ebuild 12552 BLAKE2B 33578989a0fd53a66fb962ea2dd937c19af3ce0bee1c5e7f37ee58edf3fdf19a4b9220ab47c05f9b5537e41d0d7b1a0f89a4e18938598bbcb61c9b167fbda7e9 SHA512 13bbfd61ac634dbe8a845af29016f122e36e5340d0a35ac6bc301c7f9c5322fbc1f301ea50c423613690dad584ba759724e963522146e0379ef5b735887d3e28
MISC metadata.xml 2563 BLAKE2B ca85030788fb213fc891d895238fd75562cdd25cc5fe4271d709cb1c00ef56b0e8b367dc70cc18f7d185d6fbdb57333e219a984220b60141d28fb4784b2cb94a SHA512 8de68ee7f964e6eb2613bd2ff584f834e0f5a3ae8b303b5f2f10fda718a87af9b8ddfc19399950fe4eb8be515930124ced8018190af0f69da7ec5fe8180a68a2
diff --git a/sys-devel/llvm/files/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch b/sys-devel/llvm/files/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
deleted file mode 100644
index 445cb6de2c32..000000000000
--- a/sys-devel/llvm/files/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From bc3be897be6994da7f52ba1b5735aa81150084a4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 16 Jun 2020 12:16:52 +0200
-Subject: [PATCH 1/4] [llvm] Avoid linking llvm-cfi-verify to duplicate libs
-
-Fix the CMake rules for LLVMCFIVerify library not to pull duplicate
-LLVM .a libraries when linking to the dylib. This prevents problems
-due to duplicate symbols and apparently fixes mingw32.
-
-This is an alternative approach to D44650 that just forces .a libraries
-instead. However, there doesn't seem to be any reason to do that.
----
- llvm/tools/llvm-cfi-verify/lib/CMakeLists.txt | 20 +++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/llvm/tools/llvm-cfi-verify/lib/CMakeLists.txt b/llvm/tools/llvm-cfi-verify/lib/CMakeLists.txt
-index 82ca42e624a..41d55ed9321 100644
---- a/llvm/tools/llvm-cfi-verify/lib/CMakeLists.txt
-+++ b/llvm/tools/llvm-cfi-verify/lib/CMakeLists.txt
-@@ -7,13 +7,17 @@ add_library(LLVMCFIVerify
- )
-
- llvm_update_compile_flags(LLVMCFIVerify)
--llvm_map_components_to_libnames(libs
-- DebugInfoDWARF
-- MC
-- MCParser
-- Object
-- Support
-- Symbolize
-- )
-+if (LLVM_LINK_LLVM_DYLIB)
-+ set(libs LLVM)
-+else()
-+ llvm_map_components_to_libnames(libs
-+ DebugInfoDWARF
-+ MC
-+ MCParser
-+ Object
-+ Support
-+ Symbolize
-+ )
-+endif()
- target_link_libraries(LLVMCFIVerify ${libs})
- set_target_properties(LLVMCFIVerify PROPERTIES FOLDER "Libraries")
---
-2.27.0
-
diff --git a/sys-devel/llvm/files/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch b/sys-devel/llvm/files/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
deleted file mode 100644
index 24786905c4d9..000000000000
--- a/sys-devel/llvm/files/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 07b6fdcde1ed64043244965b97788a2b12af4d6d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 16 Jun 2020 12:31:36 +0200
-Subject: [PATCH 2/4] [llvm] Disable linking llvm-exegesis to dylib
-
-Force linking llvm-exegesis to static LLVM libraries instead of dylib
-to prevent duplicate symbols due to linking both. Ideally, we'd want
-to link to the dylib only here but the target sub-libraries use hidden
-symbols from LLVM target libraries and therefore linking the dylib
-fails.
----
- llvm/tools/llvm-exegesis/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/llvm/tools/llvm-exegesis/CMakeLists.txt b/llvm/tools/llvm-exegesis/CMakeLists.txt
-index a59e1b74024..0575f2a06bb 100644
---- a/llvm/tools/llvm-exegesis/CMakeLists.txt
-+++ b/llvm/tools/llvm-exegesis/CMakeLists.txt
-@@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS
- )
-
- add_llvm_tool(llvm-exegesis
-+ DISABLE_LLVM_LINK_LLVM_DYLIB
- llvm-exegesis.cpp
- )
-
---
-2.27.0
-
diff --git a/sys-devel/llvm/files/11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch b/sys-devel/llvm/files/11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch
deleted file mode 100644
index 73959afb2677..000000000000
--- a/sys-devel/llvm/files/11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8dcb88f7705fb3927938dd9bd103efcabafcefb0 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Tue, 27 Oct 2020 18:20:56 -0700
-Subject: [PATCH] backport D88371, guard `find_library(tensorflow_c_api ...)`
-
-Differential Revision: https://reviews.llvm.org/D88371
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- llvm/CMakeLists.txt | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
-index 1f137f0..4112def 100644
---- a/llvm/CMakeLists.txt
-+++ b/llvm/CMakeLists.txt
-@@ -832,6 +832,11 @@ configure_file(
- ${LLVM_INCLUDE_DIR}/llvm/Config/Targets.def
- )
-
-+# They are not referenced. See set_output_directory().
-+set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin )
-+set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
-+set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
-+
- # For up-to-date instructions for installing the Tensorflow dependency, refer to
- # the bot setup script: https://github.com/google/ml-compiler-opt/blob/master/buildbot/buildbot_init.sh
- # In this case, the latest C API library is available for download from
-@@ -840,9 +845,9 @@ configure_file(
- # LLVM_HAVE_TF_API, through llvm-config.h, so that a user of the LLVM library may
- # also leverage the dependency.
- set(TENSORFLOW_C_LIB_PATH "" CACHE PATH "Path to TensorFlow C library install")
--find_library(tensorflow_c_api tensorflow PATHS ${TENSORFLOW_C_LIB_PATH}/lib)
-
--if (tensorflow_c_api)
-+if (TENSORFLOW_C_LIB_PATH)
-+ find_library(tensorflow_c_api tensorflow PATHS ${TENSORFLOW_C_LIB_PATH}/lib NO_DEFAULT_PATH REQUIRED)
- set(LLVM_HAVE_TF_API "ON" CACHE BOOL "Full Tensorflow API available")
- include_directories(${TENSORFLOW_C_LIB_PATH}/include)
- endif()
-@@ -877,12 +882,6 @@ add_custom_target(srpm
- COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE})
- set_target_properties(srpm PROPERTIES FOLDER "Misc")
-
--
--# They are not referenced. See set_output_directory().
--set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin )
--set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
--set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
--
- if(APPLE AND DARWIN_LTO_LIBRARY)
- set(CMAKE_EXE_LINKER_FLAGS
- "${CMAKE_EXE_LINKER_FLAGS} -Wl,-lto_library -Wl,${DARWIN_LTO_LIBRARY}")
---
-2.26.2
-
diff --git a/sys-devel/llvm/files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch b/sys-devel/llvm/files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
deleted file mode 100644
index cf52314ce755..000000000000
--- a/sys-devel/llvm/files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 628b899be14a6bab4b32dbd53aabd447dcc16cb7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 20 Aug 2016 23:47:41 +0200
-Subject: [PATCH] llvm-config: Clean up exported values, update for shared
- linking
-
-Gentoo-specific fixup for llvm-config, including:
-- making --src-root return invalid path (/dev/null).
-
-Thanks to Steven Newbury for the initial patch.
-
-Bug: https://bugs.gentoo.org/565358
-Bug: https://bugs.gentoo.org/501684
-
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index d780094861c..c61c72ff48c 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -549,7 +550,11 @@ int main(int argc, char **argv) {
- } else if (Arg == "--obj-root") {
- OS << ActivePrefix << '\n';
- } else if (Arg == "--src-root") {
-- OS << LLVM_SRC_ROOT << '\n';
-+ if (IsInDevelopmentTree) {
-+ OS << LLVM_SRC_ROOT << '\n';
-+ } else {
-+ OS << "/dev/null\n";
-+ }
- } else if (Arg == "--ignore-libllvm") {
- LinkDyLib = false;
- LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
---
-2.11.0
-
diff --git a/sys-devel/llvm/files/9999/musl-fixes.patch b/sys-devel/llvm/files/9999/musl-fixes.patch
deleted file mode 100644
index 5c516534abc1..000000000000
--- a/sys-devel/llvm/files/9999/musl-fixes.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
-index 7798e3c..ade2b96 100644
---- a/include/llvm/Analysis/TargetLibraryInfo.def
-+++ b/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -27,6 +27,15 @@
- #define TLI_DEFINE_STRING_INTERNAL(string_repr) string_repr,
- #endif
-
-+// avoid name conflicts with musl-libc
-+#undef fopen64
-+#undef fseeko64
-+#undef ftello64
-+#undef fstat64
-+#undef lstat64
-+#undef stat64
-+#undef tmpfile64
-+
- /// void *new(unsigned int);
- TLI_DEFINE_ENUM_INTERNAL(msvc_new_int)
- TLI_DEFINE_STRING_INTERNAL("??2@YAPAXI@Z")
-diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp
-index 9a7aeb5..e98ad80 100644
---- a/lib/Support/DynamicLibrary.cpp
-+++ b/lib/Support/DynamicLibrary.cpp
-@@ -143,7 +143,7 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char *symbolName) {
- // On linux we have a weird situation. The stderr/out/in symbols are both
- // macros and global variables because of standards requirements. So, we
- // boldly use the EXPLICIT_SYMBOL macro without checking for a #define first.
--#if defined(__linux__) and !defined(__ANDROID__)
-+#if defined(__linux__) && defined(__GLIBC__)
- {
- EXPLICIT_SYMBOL(stderr);
- EXPLICIT_SYMBOL(stdout);
diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild
index cd9bb97a261d..3e8131297bcb 100644
--- a/sys-devel/llvm/llvm-10.0.1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1.ebuild
@@ -11,6 +11,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=10.0.1-3
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -67,12 +68,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-PATCHES=(
- # Fix linking to dylib and .a libs simultaneously
- "${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
- "${FILESDIR}"/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
-)
-
python_check_deps() {
use doc || return 0
@@ -141,10 +136,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild
index f22b711d4e9f..2206aa4141f8 100644
--- a/sys-devel/llvm/llvm-11.0.0.ebuild
+++ b/sys-devel/llvm/llvm-11.0.0.ebuild
@@ -11,6 +11,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=11.0.0-1
llvm.org_set_globals
# Those are in lib/Targets, without explicit CMakeLists.txt mention
@@ -68,12 +69,6 @@ RDEPEND="${RDEPEND}
PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
-PATCHES=(
- # backport tensorflow finding fix (avoids broken automagic dep)
- # https://bugs.gentoo.org/748444
- "${FILESDIR}"/11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch
-)
-
python_check_deps() {
use doc || return 0
@@ -174,10 +169,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-11.0.1.ebuild b/sys-devel/llvm/llvm-11.0.1.ebuild
index ca05d9a5a55e..a85dbb33df5d 100644
--- a/sys-devel/llvm/llvm-11.0.1.ebuild
+++ b/sys-devel/llvm/llvm-11.0.1.ebuild
@@ -67,6 +67,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=11.1.0-1
llvm.org_set_globals
python_check_deps() {
@@ -169,10 +170,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-11.1.0.ebuild b/sys-devel/llvm/llvm-11.1.0.ebuild
index 9b74cd6a434a..a85dbb33df5d 100644
--- a/sys-devel/llvm/llvm-11.1.0.ebuild
+++ b/sys-devel/llvm/llvm-11.1.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
@@ -67,6 +67,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=11.1.0-1
llvm.org_set_globals
python_check_deps() {
@@ -169,10 +170,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index b5396d6a1545..09568c1ceda7 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -67,6 +67,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
llvm.org_set_globals
python_check_deps() {
@@ -169,10 +170,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
diff --git a/sys-devel/llvm/llvm-12.0.0_rc2.ebuild b/sys-devel/llvm/llvm-12.0.0.ebuild
index 099dadeda31b..9e1dbd1c764f 100644
--- a/sys-devel/llvm/llvm-12.0.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.ebuild
@@ -26,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="$(ver_cut 1)"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
@@ -66,7 +66,8 @@ PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
+LLVM_MANPAGES=pregenerated
+LLVM_PATCHSET=12.0.0-1
llvm.org_set_globals
python_check_deps() {
@@ -169,10 +170,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# Disable LBR tests that are broken on non-Intel CPUs
# https://bugs.llvm.org/show_bug.cgi?id=48918
rm -r test/tools/llvm-exegesis/X86/lbr || die
diff --git a/sys-devel/llvm/llvm-12.0.0_rc3.ebuild b/sys-devel/llvm/llvm-12.0.0_rc3.ebuild
deleted file mode 100644
index 099dadeda31b..000000000000
--- a/sys-devel/llvm/llvm-12.0.0_rc3.ebuild
+++ /dev/null
@@ -1,525 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
- "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
- kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- gold? ( sys-libs/binutils-libs )"
-BDEPEND="
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- ${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
- !sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
- gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
- # reorder
- all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
- eqawarn "ALL_LLVM_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
- eqawarn "Expected: ${all_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(ninja -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
- # Disable LBR tests that are broken on non-Intel CPUs
- # https://bugs.llvm.org/show_bug.cgi?id=48918
- rm -r test/tools/llvm-exegesis/X86/lbr || die
-
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the live ebuild is up-to-date
- check_live_ebuild
-
- llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
- local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
- HAVE_LIBCXX
-#endif
-'
- local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
- [[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-elfabi
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-undname
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use gold && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if is_libcxx_linked; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use gold && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
index b5396d6a1545..81a972bb2714 100644
--- a/sys-devel/llvm/llvm-13.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="https://llvm.org/"
# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
# Keep in sync with CMakeLists.txt
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
@@ -67,6 +67,7 @@ PDEPEND="sys-devel/llvm-common
LLVM_COMPONENTS=( llvm )
LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
llvm.org_set_globals
python_check_deps() {
@@ -169,10 +170,6 @@ check_distribution_components() {
}
src_prepare() {
- # Fix llvm-config for shared linking and sane flags
- # https://bugs.gentoo.org/show_bug.cgi?id=565358
- eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
-
# disable use of SDK on OSX, bug #568758
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
@@ -277,6 +274,7 @@ get_distribution_components() {
llvm-objcopy
llvm-objdump
llvm-opt-report
+ llvm-otool
llvm-pdbutil
llvm-profdata
llvm-profgen