From 5b5df25227111ef465caf5c52bcfb66dac3219cd Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 19 Jan 2018 20:11:46 +0000 Subject: gentoo resync : 19.01.2018 --- sys-devel/clang/Manifest | 15 +- sys-devel/clang/clang-4.0.1.ebuild | 4 +- sys-devel/clang/clang-5.0.0.ebuild | 294 --------------------- sys-devel/clang/clang-5.0.1.ebuild | 6 +- ...arch-type-to-find-compiler-rt-libraries-o.patch | 136 ---------- .../files/5.0.0/darwin_prefix-include-paths.patch | 18 -- ...ang-library-dir-in-LD_LIBRARY_PATH-For-st.patch | 83 ------ ...arch-type-to-find-compiler-rt-libraries-o.patch | 136 ++++++++++ .../files/5.0.1/darwin_prefix-include-paths.patch | 18 ++ ...ang-library-dir-in-LD_LIBRARY_PATH-For-st.patch | 83 ++++++ 10 files changed, 247 insertions(+), 546 deletions(-) delete mode 100644 sys-devel/clang/clang-5.0.0.ebuild delete mode 100644 sys-devel/clang/files/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch delete mode 100644 sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch delete mode 100644 sys-devel/clang/files/5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch create mode 100644 sys-devel/clang/files/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch create mode 100644 sys-devel/clang/files/5.0.1/darwin_prefix-include-paths.patch create mode 100644 sys-devel/clang/files/5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch (limited to 'sys-devel/clang') diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index f3a42993f87b..8d511c2e9324 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -1,29 +1,24 @@ AUX 4.0.1/0001-Frontend-Correct-values-of-ATOMIC_-_LOCK_FREE-to-mat.patch 4083 BLAKE2B aab48f1ed38bc7711363e86f9ff4f768bb4328eaa3e557c753f3b012ae13c08ffffafbb21645eb1d8a2f2d171362b28e2c41790eef8469c40d9be9c408307930 SHA512 2154b896d9a0ea50cec17c778ea62da525fc054fc24b0f59bebbad8c66ab17a0d607d87a3d0faa801770e74b8fc4bf3ede4103b6e344b7cc915d0dab16bbd31f AUX 4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch 2214 BLAKE2B 6c1860f2ba0586d8b8b9b3d055f57ccda1037e100789a2a9e5bfb84a2b21e6ec088ef43314790b773c8d56ba5716944a0e7e34f0972992bdf5a3ec9573b77c71 SHA512 211203f373a882672a712b742b1e4562103fda0a0ac86d602576c105a07af335006da325817ec0ee1f21158a67d0246c7c7ea1d6b3d78abae543f8e69814f885 AUX 4.0.1/extra/0001-test-Fix-test-dependencies-when-using-installed-tool.patch 1527 BLAKE2B 12692e8eb21a341ceb206f94e24a2585b7080adc2b7dcd6098f78654010dcebdaaccb180ee63b38ed49d2d3b5da34d3fb8e1147eb3515278c9d50ace4c982f96 SHA512 10e3f8a2b5fb1c16f38347f77bba3b171d9f6044c1f96c73368c9df2448cbad0c4a0147f1e1ec10b127ef5eb5a3187c4b56030ac4444269aad97e5ec3dac5f2b -AUX 5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch 6888 BLAKE2B e6d9907b05f99fb21008e7533f348348a3fe81249e6bcd0c473b82ba2dbb3651f7c27ba8c84053eb9c5832de1df4de7632971fc48d47aa9fff673f76e5688263 SHA512 6d1f35f39c15b11ce631477eefcca7ade90cb08e5992839273f97c339ef6bf0deecf9625fdacbad6e8cc61e4fd213e0e1c582c407ac051d99545962e310344fe -AUX 5.0.0/darwin_prefix-include-paths.patch 690 BLAKE2B cfb96eb259fb7d557d215be08ea3babcae6dc1353171fad7f297f787d476d28768c7c1bbe6efc7404ea638f1dc6b4b36e1c17e141faf82be623bbd96d5e09118 SHA512 5f8ecabaf43853964bffeb3953b205bea7e8928fd53637d01842723ac8344e19cc639f6f06c199f2be88b73e60b6eab1987bc5ee7dfeaea5e710eacab90f3533 -AUX 5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch 3411 BLAKE2B a47f686dffa3e710435291670b8be7b99ea89d86092230f9acce328d24efa7ee43a5023b8deb482a497c1b54eec02c89291e4f10ad2c60382cc4ebe7c913981e SHA512 1ebfe7a6d06dd2991923cd1142c5c5b09ba2d06a3c7e0cbcb5b0f1d34aee57bf585941c0dd44ab331e9427828e5c63ea7475d673ccd3ec8617b99c59c56229a0 +AUX 5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch 6888 BLAKE2B e6d9907b05f99fb21008e7533f348348a3fe81249e6bcd0c473b82ba2dbb3651f7c27ba8c84053eb9c5832de1df4de7632971fc48d47aa9fff673f76e5688263 SHA512 6d1f35f39c15b11ce631477eefcca7ade90cb08e5992839273f97c339ef6bf0deecf9625fdacbad6e8cc61e4fd213e0e1c582c407ac051d99545962e310344fe +AUX 5.0.1/darwin_prefix-include-paths.patch 690 BLAKE2B cfb96eb259fb7d557d215be08ea3babcae6dc1353171fad7f297f787d476d28768c7c1bbe6efc7404ea638f1dc6b4b36e1c17e141faf82be623bbd96d5e09118 SHA512 5f8ecabaf43853964bffeb3953b205bea7e8928fd53637d01842723ac8344e19cc639f6f06c199f2be88b73e60b6eab1987bc5ee7dfeaea5e710eacab90f3533 +AUX 5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch 3411 BLAKE2B a47f686dffa3e710435291670b8be7b99ea89d86092230f9acce328d24efa7ee43a5023b8deb482a497c1b54eec02c89291e4f10ad2c60382cc4ebe7c913981e SHA512 1ebfe7a6d06dd2991923cd1142c5c5b09ba2d06a3c7e0cbcb5b0f1d34aee57bf585941c0dd44ab331e9427828e5c63ea7475d673ccd3ec8617b99c59c56229a0 DIST cfe-4.0.1.src.tar.xz 10933628 BLAKE2B bc1bb8875e83ccecd446a48cfa41f5c98a09d6ad24ff439a983f629711b4513b9c4bee4070f8df13b6b2a52d673b0706733a4c151ce5021a0233147debff14ac SHA512 936c9e1626b27e63a4fb11f3c0cb998eeaf9a520ad6e2bcd67cb4352e59e7781ecc700df79794f3fd70473d90b7e2ba418a39038eb0146b68e843f0705c1f964 -DIST cfe-5.0.0.src.tar.xz 11437024 BLAKE2B c848d9771951be4d5fb14d5ca3a0ad788675c0833bd4f2e2069475d64e6108297bb2dbae5129b516d35b6a8c51c020afec430fcf32058970455060e50442a73f SHA512 14acdd622310122b544c952ee5b932b7006d9d8424319f0e3974f2503d40a0cec4200fdd3d813a32ce0d877bcfbb9a5bd5c36f6142b4330e6c814f113ca2efe8 DIST cfe-5.0.1.src.tar.xz 11483036 BLAKE2B c4eb54cd8271b62cf7a2219db0b599b68c00b6e574d1946220efbd1633e841796e6717d6eeb35e84a6db32a731a3285b59cedeb3b1a8f3c3c502b799fdd0a720 SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2 DIST clang-tools-extra-4.0.1.src.tar.xz 581788 BLAKE2B 52ca89eda6fe1e0fbbdc46e17f4067f03a9a9440dcdcc98811651087d0c9ab24dfe3eefb0b80a32ec41abe0766cb3e47031de61c4cff02b7d0e08c8fd03e3faa SHA512 ea26d926f428e62e76cf8a073e63ffe05645f6592e05d7717d5c257908870ae9217727d3e1578227b14eda5937085872463f1a8e99970256179c68b8a92e69e0 -DIST clang-tools-extra-5.0.0.src.tar.xz 646416 BLAKE2B b2a69dc0d19adcbe92984024f612ddba702940b96f4066ea53040ef2fbc1c60574a56adbf75f4e3a07f7166398ed858752f439d65cbe685b0db6e10a49891a81 SHA512 bf51c4d851bdc25bd2162e186b3080a30ad523f68859fd3dbce6c1094465382f794917b66406088c3bb1b15bee49821bcef5ef4b1a1e18704596354f7d0639bc DIST clang-tools-extra-5.0.1.src.tar.xz 646328 BLAKE2B 472eb1e73a17564790919ec392dddcd91f131c1cbf2a5f3cab09a9f7126d4d18ec6785ffcb3c3230eec6edc90acbe2bf859367c37f62ba77d7542f4c18b925f3 SHA512 2e6a811cccd22281f7567f5626ff0484ed1fefee4a9244a717e3ccb9516dce9e7ff315044fb10e505e91c3f1c6d2774558debb9559915d053886599bcb153d7b DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d -DIST llvm-5.0.0.src.tar.xz 23411980 BLAKE2B bc3d8b75b766c83912252b51d6b57c8151c9d83415eff7bc771923d35138ed253a788d6c8e0a384c5e78ce1a1065f10d66ef5004df163b4c3b0c6274bb3aa6b7 SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a DIST llvm-5.0.1-manpages.tar.bz2 94004 BLAKE2B 34eb29361ad7aa881e64d1dd2992fd89ce44adafd2521284c27b6ffe7082bc7e70458204e6f34d582b704bf7c5dad93c6a6dc41fc7abc41862aab8f5ec53ed07 SHA512 3444cc8e06009f5dd2669b92af662a1049d9294c8ca0dcf45486e1dc1aaf10160860b7856d30ad70bbe5864b21d1539316e89f5237549f5653954e23baf64334 DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415 -DIST llvm-manpages-5.0.0.tar.bz2 94240 BLAKE2B 1657edefa2e839f401b7c30ba1c0cfde45bcb0fa9bcfc3ea6070bc0addc237be898c5a79e54b2120f98b2a9550ab286cfd0bc835751a4e8cc30005d4081fb9f9 SHA512 0bccfb00caa0796bed8ea4e591616e025e43d304f05589180820c17f8567fa3a1f1f76c323098ed0d0e4590765415b1c1c272a94c6e2e7544788f4088ef0ffea EBUILD clang-3.4.2-r100.ebuild 972 BLAKE2B b11888e71750e7de7363d0e74a43999b31baf54dd43438c98d037b5b49d4043a74fdda70dd2b0eb405451c2579ee0285404b28792cc525c1c26e81a07bfd2dc9 SHA512 b42ec4379b4a70eb638ae6a6d45a287cd83f5ac339ac25ade2c6c77bd8d05c208d389d6f09e4cfe567e67d3e616adfbaffa1b1a9a7f35f5ecb7a0e7ccdc720fc EBUILD clang-3.5.2-r100.ebuild 972 BLAKE2B 0f17918969ee1034e1febc34afe95a29dddcf6056caa53920ade66a887b57939933f31b022fb68fb29bf8a5e387f659f6e3b618594cda4cd50f913ec14d0f0de SHA512 1e9a9f67ecd1cea111599376e676c665c6c1e731514a06065751502d221f8c6d7033dc23376f21850a63d036a33fbf241845a9127beca6ee8549348866cdce3e EBUILD clang-3.6.2-r100.ebuild 972 BLAKE2B 865d1b2ca82dc3e4965f676adee77bcebb285fd3071caa37a399795426f541cbfb4a380e615673a2a1ca6c2832becd21e6252b678f2c1047a0605fdb5db2845c SHA512 604f7551a0081e7de09875f54a64502e8d2e97341bd44e4d2ae35ecd2392b22b7aea5fdf4923cf196cde1de5711f05868943d3f802d975118426ee43d0877f6f EBUILD clang-3.7.1-r100.ebuild 1121 BLAKE2B 9cf6e15e5a2fa9d400731747105f65c8ef14d20e5a982f02b53a13ad1f269b86c298603e6625340670fffd74e434c92df7fb22cfb4cd7af4d75501a0520b5106 SHA512 5280504ce38eba8da79cf1c31b21bcbd07ad9ecb3db59a7054f829ed43d48744d16760cbaab9ef32f01345a9e7f54f8a63091dda3687115654a110f5a0e227bf EBUILD clang-3.9.1-r100.ebuild 1534 BLAKE2B b269b09553ec5559ad90ffdfcaa20604c10fbe394651b7a9e037a9aaac878a6ef6cc2702a1cc6123cffa0ece705b851e908ac275f7fa854d099ec2ab8bafc9ed SHA512 84a3c016f9db31c6cbcee7620330b76af97702be3e92bd0db6e58883ccc054a792003a374cb5bf9d69b8f7c89165a2853ba495d58cd02d98524cf8025e99bcf0 -EBUILD clang-4.0.1.ebuild 9440 BLAKE2B 9ccc82a8f57e8c2e7a7ad1b55b0b6e8f88ad4da2b4d71bbdfaf5312e95d35abf08b31ee38114c7f31c435881ba06d5793bcff287c6dcd11e52e78e9ac90f1d9a SHA512 3b1ead95ef28a4f126e3111297c5c8682b34d74caf369db0d52ce92b334a5025f7894103b1bd4aa820e90368c3a8796139e663da8dc6e4c01683b6f4a84f9bd1 -EBUILD clang-5.0.0.ebuild 9394 BLAKE2B 70854a48bede330b76467f83d3adf52d05ffb629982ecdb38cff9585d9df9d4378f907191dc672ab62be669e77c203702c7a97e67a9082e41d55a021b60c4029 SHA512 99f117c00837dbf364e3070b4c51bccbfa3646f07a51c89494a79162b36901de3119a332af757cd1c1e15f37b9f64fe19e9d274a8ecacf5fcc8816d0c9e1a88b -EBUILD clang-5.0.1.ebuild 9655 BLAKE2B 3aee99d71253a1c5f65c7fe56d6e7346d1cf944676e683bcc9dfe58a4a08db1e89180b6c421d2f95ca6dc01968734203b059d13d3c76350bfdcf4c1418d12c83 SHA512 8e313805e3ff32d6606b1cb75f9b2b8ae3c0cb0e720168c292cd9dbf694964eddda31b9e657ac0acd977852b2ba3734ccb0f406e559dfddd7ba26ecb2aef96b9 +EBUILD clang-4.0.1.ebuild 9440 BLAKE2B c92c9b070fbbab2de8374f34297a5a9c16a81719bca21b0fd22549e405b6c199461a39ad59120204e28b5acb5a1cddc03edd1c65d3c0a7cbc3410cf59c2a16a2 SHA512 d3cfa79b3faa5a5a8539a534c3454a01ff9d8fa7ee70bd22a0f647db59ea5e203c0f22bb25f9c31791ce1f959e9d6c6936b219e83ec042523092e1b990bcdcf2 +EBUILD clang-5.0.1.ebuild 9654 BLAKE2B c426141d1589f3c04e25c3ca6ca4ecf9f0b1f1b6d8a1db4ed8fa2a5ce8b952e49caf4f5ce9681dc20ed95b32e9bd0ede75dec184b6e5f8e90b0ebc9d3de960f7 SHA512 257251487aa99372710a043fb596c3e1431f88e5414146591bb19adc4a3b0f07cb1e936da421ea8536626ba40ebd78d83310bf5f34489df72f13d5a46d633440 EBUILD clang-6.0.9999.ebuild 8789 BLAKE2B d5b5a969ef186359ef630a2633f217aff2455a6dddbcf931f4f7e45fe9d3603c138b71f2b27499af20bb180c17bb9c6cb82dff0c96adec48221271e7289abde0 SHA512 7bc571f18566262d1e6fda17a28cf8dd7568360f386161ea695745a5454251e413bd971d5032986f3275d87a66f49fcc54b4aa35a2429db17aaf642ca1c2dec5 EBUILD clang-9999.ebuild 8854 BLAKE2B db11809f43cbe407952ac0251102e1964ec212cbff15993144473f82d1662db4edd83a67f9e411f4dfd9a1cb4ea4091844c50c479102d3e4b71d138eb7c33089 SHA512 a3877379b48d385e1a16bf5f5889f747eb99db0792981a651aca8469b14160d6b866358e1e191c4d2f7ad53e21fa877012f015b49271b9ab15905aaaab6d440d MISC metadata.xml 1455 BLAKE2B 9dd88bba7158dfdc83bfc48fa4134e1f5a3357ab778cad400a51e348bbb4b44d2740ec417fdc888df0b4fd820441649e92b7adffdd4db558a2f4c3f4830a83a1 SHA512 369a87bd551e483e81ff56f5167177b1bcfedf9bc97f501ef2b07bfdfea3a25532f5e86af062568b3b22a53fe07318fd93dc55bd83b453dd10a0f4d3e88cb932 diff --git a/sys-devel/clang/clang-4.0.1.ebuild b/sys-devel/clang/clang-4.0.1.ebuild index 4481c3174911..7acf3a8d9f52 100644 --- a/sys-devel/clang/clang-4.0.1.ebuild +++ b/sys-devel/clang/clang-4.0.1.ebuild @@ -89,7 +89,7 @@ src_unpack() { src_prepare() { # fix finding compiler-rt libs - eapply "${FILESDIR}"/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch + eapply "${FILESDIR}"/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch # fix stand-alone doc build eapply "${FILESDIR}"/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch @@ -101,7 +101,7 @@ src_prepare() { cd tools/extra || die # fix stand-alone test build for extra tools eapply "${FILESDIR}"/4.0.1/extra/0001-test-Fix-test-dependencies-when-using-installed-tool.patch - eapply "${FILESDIR}"/5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch + eapply "${FILESDIR}"/5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch cd - >/dev/null || die # User patches diff --git a/sys-devel/clang/clang-5.0.0.ebuild b/sys-devel/clang/clang-5.0.0.ebuild deleted file mode 100644 index eed257be3e92..000000000000 --- a/sys-devel/clang/clang-5.0.0.ebuild +++ /dev/null @@ -1,294 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-utils flag-o-matic llvm multilib-minimal \ - python-single-r1 toolchain-funcs pax-utils versionator - -DESCRIPTION="C language family frontend for LLVM" -HOMEPAGE="https://llvm.org/" -SRC_URI="https://releases.llvm.org/${PV/_//}/cfe-${PV/_/}.src.tar.xz - https://releases.llvm.org/${PV/_//}/clang-tools-extra-${PV/_/}.src.tar.xz - test? ( https://releases.llvm.org/${PV/_//}/llvm-${PV/_/}.src.tar.xz ) - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-manpages-${PV}.tar.bz2 )" - -# Keep in sync with sys-devel/llvm -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC Sparc SystemZ X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} - -LICENSE="UoI-NCSA" -SLOT="$(get_major_version)" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer - test xml z3 kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" - -RDEPEND=" - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}] - static-analyzer? ( - dev-lang/perl:* - z3? ( sci-mathematics/z3:0= ) - ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS}" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${RDEPEND} - doc? ( dev-python/sphinx ) - test? ( ~dev-python/lit-${PV}[${PYTHON_USEDEP}] ) - xml? ( virtual/pkgconfig ) - !!/dev/null || die - - # User patches - cmake-utils_src_prepare -} - -multilib_src_configure() { - local llvm_version=$(llvm-config --version) || die - local clang_version=$(get_version_component_range 1-3 "${llvm_version}") - - local mycmakeargs=( - # ensure that the correct llvm-config is used - -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - # relative to bindir - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" - - -DBUILD_SHARED_LIBS=ON - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" - -DLLVM_BUILD_TESTS=$(usex test) - - # these are not propagated reliably, so redefine them - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) - # libgomp support fails to find headers without explicit -I - # furthermore, it provides only syntax checking - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp - - # override default stdlib and rtlib - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") - - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - # z3 is not multilib-friendly - -DCLANG_ANALYZER_BUILD_Z3=$(multilib_native_usex z3) - ) - use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLIT_COMMAND="${EPREFIX}/usr/bin/lit" - ) - - if multilib_is_native_abi; then - mycmakeargs+=( - # normally copied from LLVM_INCLUDE_DOCS but the latter - # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=$(usex doc) - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) - ) - use doc && mycmakeargs+=( - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) - use z3 && mycmakeargs+=( - -DZ3_INCLUDE_DIR="${EPREFIX}/usr/include/z3" - ) - else - mycmakeargs+=( - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF - ) - fi - - if tc-is-cross-compiler; then - [[ -x "/usr/bin/clang-tblgen" ]] \ - || die "/usr/bin/clang-tblgen not found or usable" - mycmakeargs+=( - -DCMAKE_CROSSCOMPILING=ON - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen - ) - fi - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile - - # provide a symlink for tests - if [[ ! -L ${WORKDIR}/lib/clang ]]; then - mkdir -p "${WORKDIR}"/lib || die - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - cmake-utils_src_make check-clang - # clang-tidy requires [static-analyzer] and tests are not split - # correctly, so they are all disabled when static-analyzer is off - if multilib_is_native_abi && use static-analyzer; then - cmake-utils_src_make check-clang-tools - fi -} - -src_install() { - MULTILIB_WRAPPED_HEADERS=( - /usr/include/clang/Config/config.h - ) - - multilib-minimal_src_install - - # Move runtime headers to /usr/lib/clang, where they belong - mv "${ED%/}"/usr/include/clangrt "${ED%/}"/usr/lib/clang || die - # move (remaining) wrapped headers back - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die - - # Apply CHOST and version suffix to clang tools - # note: we use two version components here (vs 3 in runtime path) - local llvm_version=$(llvm-config --version) || die - local clang_version=$(get_version_component_range 1-2 "${llvm_version}") - local clang_full_version=$(get_version_component_range 1-3 "${llvm_version}") - local clang_tools=( clang clang++ clang-cl clang-cpp ) - local abi i - - # cmake gives us: - # - clang-X.Y - # - clang -> clang-X.Y - # - clang++, clang-cl, clang-cpp -> clang - # we want to have: - # - clang-X.Y - # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y - # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y - # also in CHOST variant - for i in "${clang_tools[@]:1}"; do - rm "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" - done - - # now create target symlinks for all supported ABIs - for abi in $(get_all_abis); do - local abi_chost=$(get_abi_CHOST "${abi}") - for i in "${clang_tools[@]}"; do - dosym "${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" - dosym "${abi_chost}-${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" - done - done - - # Remove unnecessary headers on FreeBSD, bug #417171 - if use kernel_FreeBSD; then - rm "${ED}"usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die - fi -} - -multilib_src_install() { - cmake-utils_src_install - - # move headers to /usr/include for wrapping & ABI mismatch checks - # (also drop the version suffix from runtime headers) - rm -rf "${ED%/}"/usr/include || die - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die - mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || die -} - -multilib_src_install_all() { - python_fix_shebang "${ED}" - if use static-analyzer; then - python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view - fi - - # install pre-generated manpages - if ! use doc; then - insinto "/usr/lib/llvm/${SLOT}/share/man/man1" - doins "${WORKDIR}/x/y/llvm-manpages-${PV}/clang"/*.1 - fi - - docompress "/usr/lib/llvm/${SLOT}/share/man" - # match 'html' non-compression - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" - # +x for some reason; TODO: investigate - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" -} - -pkg_postinst() { - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow update all - fi -} - -pkg_postrm() { - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow clean all - fi -} diff --git a/sys-devel/clang/clang-5.0.1.ebuild b/sys-devel/clang/clang-5.0.1.ebuild index d348af818eec..c3f455ad8975 100644 --- a/sys-devel/clang/clang-5.0.1.ebuild +++ b/sys-devel/clang/clang-5.0.1.ebuild @@ -30,7 +30,7 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} LICENSE="UoI-NCSA" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="amd64 ~arm64 ~x86 ~ppc-macos ~x64-macos ~x86-macos" IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer test xml z3 kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}" @@ -67,9 +67,9 @@ CMAKE_BUILD_TYPE=RelWithDebInfo PATCHES=( # fix finding compiler-rt libs - "${FILESDIR}"/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch + "${FILESDIR}"/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch # add Prefix include paths for Darwin - "${FILESDIR}"/5.0.0/darwin_prefix-include-paths.patch + "${FILESDIR}"/5.0.1/darwin_prefix-include-paths.patch ) # Multilib notes: diff --git a/sys-devel/clang/files/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch b/sys-devel/clang/files/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch deleted file mode 100644 index 7d53cbdef3f3..000000000000 --- a/sys-devel/clang/files/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 19e3dc0ce4949cc7f869b4552c6a7f28cd59c3b7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Thu, 17 Nov 2016 14:19:18 +0100 -Subject: [PATCH] [Driver] Use arch type to find compiler-rt libraries (on - Linux) - -Use llvm::Triple::getArchTypeName() when looking for compiler-rt -libraries, rather than the exact arch string from the triple. This is -more correct as it matches the values used when building compiler-rt -(builtin-config-ix.cmake) which are the subset of the values allowed -in triples. - -For example, this fixes an issue when the compiler set for -i686-pc-linux-gnu triple would not find an i386 compiler-rt library, -while this is the exact arch that is detected by compiler-rt. The same -applies to any other i?86 variant allowed by LLVM. - -This also makes the special case for MSVC unnecessary, since now i386 -will be used reliably for all 32-bit x86 variants. ---- - lib/Driver/ToolChain.cpp | 5 +---- - .../usr/i686-unknown-linux/lib/.keep | 0 - .../usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o | 0 - test/Driver/linux-ld.c | 21 +++++++++++++++++++++ - test/Driver/nostdlib.c | 2 +- - test/Driver/print-libgcc-file-name-clangrt.c | 10 ++++++++-- - test/Driver/windows-cross.c | 2 +- - 7 files changed, 32 insertions(+), 8 deletions(-) - create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep - create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o - -diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp -index 6adc0386ee..7e4222f087 100644 ---- a/lib/Driver/ToolChain.cpp -+++ b/lib/Driver/ToolChain.cpp -@@ -283,15 +283,12 @@ static StringRef getArchNameForCompilerRTLib(const ToolChain &TC, - const llvm::Triple &Triple = TC.getTriple(); - bool IsWindows = Triple.isOSWindows(); - -- if (Triple.isWindowsMSVCEnvironment() && TC.getArch() == llvm::Triple::x86) -- return "i386"; -- - if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb) - return (arm::getARMFloatABI(TC, Args) == arm::FloatABI::Hard && !IsWindows) - ? "armhf" - : "arm"; - -- return TC.getArchName(); -+ return llvm::Triple::getArchTypeName(TC.getArch()); - } - - std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component, -diff --git a/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep b/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep -new file mode 100644 -index 0000000000..e69de29bb2 -diff --git a/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o b/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o -new file mode 100644 -index 0000000000..e69de29bb2 -diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c -index e5aa870866..92b199b9d4 100644 ---- a/test/Driver/linux-ld.c -+++ b/test/Driver/linux-ld.c -@@ -71,6 +71,27 @@ - // CHECK-LD-RT: libclang_rt.builtins-x86_64.a" - // - // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -+// RUN: --target=i686-unknown-linux \ -+// RUN: --gcc-toolchain="" \ -+// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -+// RUN: --rtlib=compiler-rt \ -+// RUN: | FileCheck --check-prefix=CHECK-LD-RT-I686 %s -+// CHECK-LD-RT-I686-NOT: warning: -+// CHECK-LD-RT-I686: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" -+// CHECK-LD-RT-I686: "--eh-frame-hdr" -+// CHECK-LD-RT-I686: "-m" "elf_i386" -+// CHECK-LD-RT-I686: "-dynamic-linker" -+// CHECK-LD-RT-I686: "{{.*}}/usr/lib/gcc/i686-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0" -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../../../i686-unknown-linux/lib" -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../.." -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/lib" -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib" -+// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a" -+// CHECK-LD-RT-I686: "-lc" -+// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a" -+// -+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ - // RUN: --target=arm-linux-androideabi \ - // RUN: --gcc-toolchain="" \ - // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ -diff --git a/test/Driver/nostdlib.c b/test/Driver/nostdlib.c -index a9ef665c57..c9793d968c 100644 ---- a/test/Driver/nostdlib.c -+++ b/test/Driver/nostdlib.c -@@ -27,5 +27,5 @@ - // - // CHECK-LINUX-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt' - // CHECK-LINUX-NOSTDLIB: "{{(.*[^.0-9A-Z_a-z])?}}ld{{(.exe)?}}" --// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i686.a" -+// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i386.a" - // CHECK-MSVC-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt' -diff --git a/test/Driver/print-libgcc-file-name-clangrt.c b/test/Driver/print-libgcc-file-name-clangrt.c -index 9f8120c31d..28c758881d 100644 ---- a/test/Driver/print-libgcc-file-name-clangrt.c -+++ b/test/Driver/print-libgcc-file-name-clangrt.c -@@ -6,6 +6,12 @@ - // CHECK-CLANGRT-X8664: libclang_rt.builtins-x86_64.a - - // RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ -+// RUN: --target=i386-pc-linux \ -+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s -+// CHECK-CLANGRT-I386: libclang_rt.builtins-i386.a -+ -+// Check whether alternate arch values map to the correct library. -+// -+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ - // RUN: --target=i686-pc-linux \ --// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I686 %s --// CHECK-CLANGRT-I686: libclang_rt.builtins-i686.a -+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s -diff --git a/test/Driver/windows-cross.c b/test/Driver/windows-cross.c -index 5a2fe52b09..78b4981c9d 100644 ---- a/test/Driver/windows-cross.c -+++ b/test/Driver/windows-cross.c -@@ -59,7 +59,7 @@ - // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS-EXE-X86 - - // CHECK-SANITIZE-ADDRESS-EXE-X86: "-fsanitize=address" --// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i686.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i686.lib" "--undefined" "___asan_seh_interceptor" -+// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i386.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i386.lib" "--undefined" "___asan_seh_interceptor" - - // RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -fsanitize=tsan -x c++ %s 2>&1 \ - // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-TSAN --- -2.11.0 - diff --git a/sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch b/sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch deleted file mode 100644 index 7744b942d0e5..000000000000 --- a/sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -233,6 +233,7 @@ - case llvm::Triple::Bitrig: - break; - default: -+ AddPath("@GENTOO_PORTAGE_EPREFIX@/usr/include", System, false); - // FIXME: temporary hack: hard-coded paths. - AddPath("/usr/local/include", System, false); - break; -@@ -505,6 +506,7 @@ - // Add the default framework include paths on Darwin. - if (HSOpts.UseStandardSystemIncludes) { - if (triple.isOSDarwin()) { -+ AddPath("@GENTOO_PORTAGE_EPREFIX@/Frameworks", System, true); - AddPath("/System/Library/Frameworks", System, true); - AddPath("/Library/Frameworks", System, true); - } diff --git a/sys-devel/clang/files/5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch b/sys-devel/clang/files/5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch deleted file mode 100644 index 22f6d5685f33..000000000000 --- a/sys-devel/clang/files/5.0.0/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch +++ /dev/null @@ -1,83 +0,0 @@ -From f3ff810e81c35133f6a7e463d860bcd4ca30be84 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Sun, 19 Feb 2017 12:13:04 +0100 -Subject: [PATCH 2/2] [test] Fix clang library dir in LD_LIBRARY_PATH For - stand-alone build - -Prepend the clang library directory (determined using SHLIBDIR, alike -in clang) to the LD_LIBRARY_PATH to ensure that just-built clang -libraries will be used instead of a previous installed version. - -When a stand-alone build is performed, LLVM_LIBS_DIR contains the path -to installed LLVM library directory. The same directory frequently -contains a previously installed version of clang. SHLIBDIR, on the other -hand, is always the build-tree directory, and therefore contains -the freshly built clang libraries. - -In a non-stand-alone build, both paths will be the same and therefore -including them both will not cause any issues. ---- - test/Unit/lit.cfg | 9 ++++++--- - test/lit.cfg | 5 ++++- - test/lit.site.cfg.in | 1 + - 3 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/test/Unit/lit.cfg b/test/Unit/lit.cfg -index ff70123c..3a1da187 100644 ---- a/test/Unit/lit.cfg -+++ b/test/Unit/lit.cfg -@@ -41,14 +41,17 @@ elif platform.system() == 'Windows': - shlibpath_var = 'PATH' - - # Point the dynamic loader at dynamic libraries in 'lib'. -+shlibdir = getattr(config, 'shlibdir', None) -+if not shlibdir: -+ lit_config.fatal('No shlibdir set!') - llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) - if not llvm_libs_dir: - lit_config.fatal('No LLVM libs dir set!') --shlibpath = os.path.pathsep.join((llvm_libs_dir, -+shlibpath = os.path.pathsep.join((shlibdir, llvm_libs_dir, - config.environment.get(shlibpath_var,''))) - - # Win32 seeks DLLs along %PATH%. --if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir): -- shlibpath = os.path.pathsep.join((config.shlibdir, shlibpath)) -+if sys.platform in ['win32', 'cygwin'] and os.path.isdir(shlibdir): -+ shlibpath = os.path.pathsep.join((shlibdir, shlibpath)) - - config.environment[shlibpath_var] = shlibpath -diff --git a/test/lit.cfg b/test/lit.cfg -index bb592936..0e7de849 100644 ---- a/test/lit.cfg -+++ b/test/lit.cfg -@@ -99,10 +99,13 @@ if clang_tools_binary_dir is not None: - clang_tools_dir, llvm_tools_dir, config.environment['PATH'])) - config.environment['PATH'] = path - -+ clang_libs_dir = getattr(config, 'clang_libs_dir', None) -+ if not clang_libs_dir: -+ lit_config.fatal('No Clang libs dir set!') - llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) - if not llvm_libs_dir: - lit_config.fatal('No LLVM libs dir set!') -- path = os.path.pathsep.join((llvm_libs_dir, -+ path = os.path.pathsep.join((clang_libs_dir, llvm_libs_dir, - config.environment.get('LD_LIBRARY_PATH',''))) - config.environment['LD_LIBRARY_PATH'] = path - -diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in -index dfd0164c..f310b59a 100644 ---- a/test/lit.site.cfg.in -+++ b/test/lit.site.cfg.in -@@ -7,6 +7,7 @@ config.llvm_libs_dir = "@LLVM_LIBS_DIR@" - config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@" - config.clang_tools_binary_dir = "@CLANG_TOOLS_BINARY_DIR@" - config.clang_tools_dir = "@CLANG_TOOLS_DIR@" -+config.clang_libs_dir = "@SHLIBDIR@" - config.python_executable = "@PYTHON_EXECUTABLE@" - config.target_triple = "@TARGET_TRIPLE@" - --- -2.12.0 - diff --git a/sys-devel/clang/files/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch b/sys-devel/clang/files/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch new file mode 100644 index 000000000000..7d53cbdef3f3 --- /dev/null +++ b/sys-devel/clang/files/5.0.1/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch @@ -0,0 +1,136 @@ +From 19e3dc0ce4949cc7f869b4552c6a7f28cd59c3b7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 17 Nov 2016 14:19:18 +0100 +Subject: [PATCH] [Driver] Use arch type to find compiler-rt libraries (on + Linux) + +Use llvm::Triple::getArchTypeName() when looking for compiler-rt +libraries, rather than the exact arch string from the triple. This is +more correct as it matches the values used when building compiler-rt +(builtin-config-ix.cmake) which are the subset of the values allowed +in triples. + +For example, this fixes an issue when the compiler set for +i686-pc-linux-gnu triple would not find an i386 compiler-rt library, +while this is the exact arch that is detected by compiler-rt. The same +applies to any other i?86 variant allowed by LLVM. + +This also makes the special case for MSVC unnecessary, since now i386 +will be used reliably for all 32-bit x86 variants. +--- + lib/Driver/ToolChain.cpp | 5 +---- + .../usr/i686-unknown-linux/lib/.keep | 0 + .../usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o | 0 + test/Driver/linux-ld.c | 21 +++++++++++++++++++++ + test/Driver/nostdlib.c | 2 +- + test/Driver/print-libgcc-file-name-clangrt.c | 10 ++++++++-- + test/Driver/windows-cross.c | 2 +- + 7 files changed, 32 insertions(+), 8 deletions(-) + create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep + create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o + +diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp +index 6adc0386ee..7e4222f087 100644 +--- a/lib/Driver/ToolChain.cpp ++++ b/lib/Driver/ToolChain.cpp +@@ -283,15 +283,12 @@ static StringRef getArchNameForCompilerRTLib(const ToolChain &TC, + const llvm::Triple &Triple = TC.getTriple(); + bool IsWindows = Triple.isOSWindows(); + +- if (Triple.isWindowsMSVCEnvironment() && TC.getArch() == llvm::Triple::x86) +- return "i386"; +- + if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb) + return (arm::getARMFloatABI(TC, Args) == arm::FloatABI::Hard && !IsWindows) + ? "armhf" + : "arm"; + +- return TC.getArchName(); ++ return llvm::Triple::getArchTypeName(TC.getArch()); + } + + std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component, +diff --git a/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep b/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep +new file mode 100644 +index 0000000000..e69de29bb2 +diff --git a/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o b/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o +new file mode 100644 +index 0000000000..e69de29bb2 +diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c +index e5aa870866..92b199b9d4 100644 +--- a/test/Driver/linux-ld.c ++++ b/test/Driver/linux-ld.c +@@ -71,6 +71,27 @@ + // CHECK-LD-RT: libclang_rt.builtins-x86_64.a" + // + // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=i686-unknown-linux \ ++// RUN: --gcc-toolchain="" \ ++// RUN: --sysroot=%S/Inputs/basic_linux_tree \ ++// RUN: --rtlib=compiler-rt \ ++// RUN: | FileCheck --check-prefix=CHECK-LD-RT-I686 %s ++// CHECK-LD-RT-I686-NOT: warning: ++// CHECK-LD-RT-I686: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" ++// CHECK-LD-RT-I686: "--eh-frame-hdr" ++// CHECK-LD-RT-I686: "-m" "elf_i386" ++// CHECK-LD-RT-I686: "-dynamic-linker" ++// CHECK-LD-RT-I686: "{{.*}}/usr/lib/gcc/i686-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" ++// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0" ++// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../../../i686-unknown-linux/lib" ++// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../.." ++// CHECK-LD-RT-I686: "-L[[SYSROOT]]/lib" ++// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib" ++// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a" ++// CHECK-LD-RT-I686: "-lc" ++// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ + // RUN: --target=arm-linux-androideabi \ + // RUN: --gcc-toolchain="" \ + // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ +diff --git a/test/Driver/nostdlib.c b/test/Driver/nostdlib.c +index a9ef665c57..c9793d968c 100644 +--- a/test/Driver/nostdlib.c ++++ b/test/Driver/nostdlib.c +@@ -27,5 +27,5 @@ + // + // CHECK-LINUX-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt' + // CHECK-LINUX-NOSTDLIB: "{{(.*[^.0-9A-Z_a-z])?}}ld{{(.exe)?}}" +-// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i686.a" ++// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i386.a" + // CHECK-MSVC-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt' +diff --git a/test/Driver/print-libgcc-file-name-clangrt.c b/test/Driver/print-libgcc-file-name-clangrt.c +index 9f8120c31d..28c758881d 100644 +--- a/test/Driver/print-libgcc-file-name-clangrt.c ++++ b/test/Driver/print-libgcc-file-name-clangrt.c +@@ -6,6 +6,12 @@ + // CHECK-CLANGRT-X8664: libclang_rt.builtins-x86_64.a + + // RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ ++// RUN: --target=i386-pc-linux \ ++// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s ++// CHECK-CLANGRT-I386: libclang_rt.builtins-i386.a ++ ++// Check whether alternate arch values map to the correct library. ++// ++// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ + // RUN: --target=i686-pc-linux \ +-// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I686 %s +-// CHECK-CLANGRT-I686: libclang_rt.builtins-i686.a ++// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s +diff --git a/test/Driver/windows-cross.c b/test/Driver/windows-cross.c +index 5a2fe52b09..78b4981c9d 100644 +--- a/test/Driver/windows-cross.c ++++ b/test/Driver/windows-cross.c +@@ -59,7 +59,7 @@ + // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS-EXE-X86 + + // CHECK-SANITIZE-ADDRESS-EXE-X86: "-fsanitize=address" +-// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i686.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i686.lib" "--undefined" "___asan_seh_interceptor" ++// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i386.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i386.lib" "--undefined" "___asan_seh_interceptor" + + // RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -fsanitize=tsan -x c++ %s 2>&1 \ + // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-TSAN +-- +2.11.0 + diff --git a/sys-devel/clang/files/5.0.1/darwin_prefix-include-paths.patch b/sys-devel/clang/files/5.0.1/darwin_prefix-include-paths.patch new file mode 100644 index 000000000000..7744b942d0e5 --- /dev/null +++ b/sys-devel/clang/files/5.0.1/darwin_prefix-include-paths.patch @@ -0,0 +1,18 @@ +--- a/lib/Frontend/InitHeaderSearch.cpp ++++ b/lib/Frontend/InitHeaderSearch.cpp +@@ -233,6 +233,7 @@ + case llvm::Triple::Bitrig: + break; + default: ++ AddPath("@GENTOO_PORTAGE_EPREFIX@/usr/include", System, false); + // FIXME: temporary hack: hard-coded paths. + AddPath("/usr/local/include", System, false); + break; +@@ -505,6 +506,7 @@ + // Add the default framework include paths on Darwin. + if (HSOpts.UseStandardSystemIncludes) { + if (triple.isOSDarwin()) { ++ AddPath("@GENTOO_PORTAGE_EPREFIX@/Frameworks", System, true); + AddPath("/System/Library/Frameworks", System, true); + AddPath("/Library/Frameworks", System, true); + } diff --git a/sys-devel/clang/files/5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch b/sys-devel/clang/files/5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch new file mode 100644 index 000000000000..22f6d5685f33 --- /dev/null +++ b/sys-devel/clang/files/5.0.1/extra/0002-test-Fix-clang-library-dir-in-LD_LIBRARY_PATH-For-st.patch @@ -0,0 +1,83 @@ +From f3ff810e81c35133f6a7e463d860bcd4ca30be84 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sun, 19 Feb 2017 12:13:04 +0100 +Subject: [PATCH 2/2] [test] Fix clang library dir in LD_LIBRARY_PATH For + stand-alone build + +Prepend the clang library directory (determined using SHLIBDIR, alike +in clang) to the LD_LIBRARY_PATH to ensure that just-built clang +libraries will be used instead of a previous installed version. + +When a stand-alone build is performed, LLVM_LIBS_DIR contains the path +to installed LLVM library directory. The same directory frequently +contains a previously installed version of clang. SHLIBDIR, on the other +hand, is always the build-tree directory, and therefore contains +the freshly built clang libraries. + +In a non-stand-alone build, both paths will be the same and therefore +including them both will not cause any issues. +--- + test/Unit/lit.cfg | 9 ++++++--- + test/lit.cfg | 5 ++++- + test/lit.site.cfg.in | 1 + + 3 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/test/Unit/lit.cfg b/test/Unit/lit.cfg +index ff70123c..3a1da187 100644 +--- a/test/Unit/lit.cfg ++++ b/test/Unit/lit.cfg +@@ -41,14 +41,17 @@ elif platform.system() == 'Windows': + shlibpath_var = 'PATH' + + # Point the dynamic loader at dynamic libraries in 'lib'. ++shlibdir = getattr(config, 'shlibdir', None) ++if not shlibdir: ++ lit_config.fatal('No shlibdir set!') + llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) + if not llvm_libs_dir: + lit_config.fatal('No LLVM libs dir set!') +-shlibpath = os.path.pathsep.join((llvm_libs_dir, ++shlibpath = os.path.pathsep.join((shlibdir, llvm_libs_dir, + config.environment.get(shlibpath_var,''))) + + # Win32 seeks DLLs along %PATH%. +-if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir): +- shlibpath = os.path.pathsep.join((config.shlibdir, shlibpath)) ++if sys.platform in ['win32', 'cygwin'] and os.path.isdir(shlibdir): ++ shlibpath = os.path.pathsep.join((shlibdir, shlibpath)) + + config.environment[shlibpath_var] = shlibpath +diff --git a/test/lit.cfg b/test/lit.cfg +index bb592936..0e7de849 100644 +--- a/test/lit.cfg ++++ b/test/lit.cfg +@@ -99,10 +99,13 @@ if clang_tools_binary_dir is not None: + clang_tools_dir, llvm_tools_dir, config.environment['PATH'])) + config.environment['PATH'] = path + ++ clang_libs_dir = getattr(config, 'clang_libs_dir', None) ++ if not clang_libs_dir: ++ lit_config.fatal('No Clang libs dir set!') + llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) + if not llvm_libs_dir: + lit_config.fatal('No LLVM libs dir set!') +- path = os.path.pathsep.join((llvm_libs_dir, ++ path = os.path.pathsep.join((clang_libs_dir, llvm_libs_dir, + config.environment.get('LD_LIBRARY_PATH',''))) + config.environment['LD_LIBRARY_PATH'] = path + +diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in +index dfd0164c..f310b59a 100644 +--- a/test/lit.site.cfg.in ++++ b/test/lit.site.cfg.in +@@ -7,6 +7,7 @@ config.llvm_libs_dir = "@LLVM_LIBS_DIR@" + config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@" + config.clang_tools_binary_dir = "@CLANG_TOOLS_BINARY_DIR@" + config.clang_tools_dir = "@CLANG_TOOLS_DIR@" ++config.clang_libs_dir = "@SHLIBDIR@" + config.python_executable = "@PYTHON_EXECUTABLE@" + config.target_triple = "@TARGET_TRIPLE@" + +-- +2.12.0 + -- cgit v1.2.3