From 21edc54de5e7feb6a3138100853785141480914d Mon Sep 17 00:00:00 2001 From: Bernard Cafarelli Date: Wed, 21 Jan 2015 09:26:50 +0000 Subject: [PATCH] Version bump Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0xC74525F2 --- sys-devel/clang/ChangeLog | 8 +- sys-devel/clang/Manifest | 9 +- sys-devel/clang/clang-3.5.1-r100.ebuild | 36 ++ sys-devel/dragonegg/ChangeLog | 9 +- sys-devel/dragonegg/Manifest | 11 +- sys-devel/dragonegg/dragonegg-3.5.1.ebuild | 48 ++ sys-devel/llvm/ChangeLog | 7 +- sys-devel/llvm/Manifest | 13 +- sys-devel/llvm/llvm-3.5.1.ebuild | 524 +++++++++++++++++++++ 9 files changed, 649 insertions(+), 16 deletions(-) create mode 100644 sys-devel/clang/clang-3.5.1-r100.ebuild create mode 100644 sys-devel/dragonegg/dragonegg-3.5.1.ebuild create mode 100644 sys-devel/llvm/llvm-3.5.1.ebuild diff --git a/sys-devel/clang/ChangeLog b/sys-devel/clang/ChangeLog index 67abfce324c5..8793ec453476 100644 --- a/sys-devel/clang/ChangeLog +++ b/sys-devel/clang/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-devel/clang # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.116 2015/01/01 20:52:48 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.117 2015/01/21 09:26:47 voyageur Exp $ + +*clang-3.5.1-r100 (21 Jan 2015) + + 21 Jan 2015; Bernard Cafarelli + +clang-3.5.1-r100.ebuild: + Version bump 01 Jan 2015; Markus Meier clang-3.5.0-r100.ebuild: arm stable, bug #530882 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index 577b1c06bc2b..ee2f0dc5c824 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -41,14 +41,15 @@ EBUILD clang-3.2.ebuild 6522 SHA256 795a7e1e2fbdb0f09cd02584cbe5e7a45c5da5351494 EBUILD clang-3.3-r100.ebuild 1245 SHA256 131ec94b63ca98b5bc7946ed7bbc653d1448f0be8094c5f04b25d56dad591589 SHA512 f963c85f35138cb95e0fab0c3c575d970855521e9d4855a774107a03762f2ce9723cbd0f54bd9f12f99505bc6b6e71599544c8afa14ee1118d76637b1ddb12de WHIRLPOOL c01519b962c25117cfebc59292738246f14eccac064da93a0772c809e32f11520b84d714bc4a56a37d136cf52ed2c2f2f62b444c36e0e780998c8423edbb8c85 EBUILD clang-3.4.2-r100.ebuild 1253 SHA256 ab26bd84f4af9df8ecf2c1d33f7dc7b06ff87da24f8a961e09657bc308f43be1 SHA512 1be2f14b79ad90fc4f957fff7f9733416944750a79ad5989481c31d2f9e22465f4b6ec7ce22e7c30b9332dedd72780cf214c193c61f2770b3cf032ca01fa56b5 WHIRLPOOL ff1f69cd17ad1cf313a59f70890bc43881afe2cdd5e4c3a32a15c493e7da4240b09700665475d400f7eaa793562f4972eef2392cbb6b962bf58bf9d778bcae5d EBUILD clang-3.5.0-r100.ebuild 1247 SHA256 ba003508c0bf840b74f19dc3a82237efdab47be1e8883c109330ae2badcc0f35 SHA512 700ccbc21dc18045912f662a57f3fa585d6d3d1f18da6b6db1d5b19cfe9f980aaf650d22169906020c3d424d9c0ec5a0eb12eb690e380095a0bcb1269db06eda WHIRLPOOL 9345a2a047c4825d90a46643639ac343d5991449fcec971249ee092b35233c4bcc2c5319265664bf826514b9f0934532fa0baa6897e460bb20f8393e452ec7d1 +EBUILD clang-3.5.1-r100.ebuild 1253 SHA256 4a2bbc2a0f7177fe9ec11d16efed49c16c4dea3891bf192d197c4798b36753df SHA512 4dd0b0db3781d8877c79b1e67c245b796b438721225245459e254df9fb566c183e7a3bb93e141d4b876b3842369f5baca288fafee9f83667ff056a055ac1af51 WHIRLPOOL 2686d4948fadaa65e388dd4ea7a87c7ccaf0365a910096ff1a044513a22c31fba4b121b643ca715ef00b5f3ef41948bea55ddf918a512ec4a27fe5db588319fb EBUILD clang-9999-r100.ebuild 1139 SHA256 d7d4078b16c78d7e0ab6bd91a3ad6e1c54f815439e14d4e41a2724b108e68d51 SHA512 6c4985c89701ff3550a84d1e9cce4fb14d494ef2f5a11c891f1802f42bc958df1e344965851a2b0ba40d60096bbaa2a848a8131a7ea39c0b660eb2d986bfaeb7 WHIRLPOOL a708b44763db1b505b9b390acb40463b1fdaba9d837567a7b125124bee9ef701f6d219a27825bb35ffd937ff7751aa9d2c518c7ec0f155c126ea62281a0e1d25 EBUILD clang-9999.ebuild 5992 SHA256 ccd346a9e3a61aabefb861eb81cbceafbda9fc96ee50e1a1d685b62c79c269c7 SHA512 42666495c287cec9b86b0cc213efa4f7d945df38ac2159b33684a73543f0138455903f6fa861822fdea1099616dfb83975d0cea220e93f38fb4f7329232ccc25 WHIRLPOOL 964fbdce41fb19711d1435356da996022f0d69f62799c29a77b202d63f0ef5eaa4eb2270052c0525aae7e8b4a3e57e4bfaec57ee67642bdfc55796aa941fa5d4 -MISC ChangeLog 21313 SHA256 79856f61ba9981d89941dc75aa3083452f87d6a5ff2878a2eb717def5fee47d2 SHA512 3de8958b1665fa346d20dcfa63d628c3f238abaab7e1934fc4a5eec651a1f4076f5fef2228ae45055ccdefdcf29136c26135bf329109a5db4c55db7a6b1517c0 WHIRLPOOL 94456c2685fdf9a3f09508072ead264af356e0b170b1242fe182c59485f7b9945780ec41ff2d3e914d9d41c57cb3397d11f7109aa2ef1ab49303d4a1251c5cb2 +MISC ChangeLog 21447 SHA256 d27b7e89ee4589f532ecd35eb5f2861c6ebbe56b356b366309db135c02c83935 SHA512 6f0ca25ae8ae56ab17aae737522b7f1096bca666b0c45033b84906cc40bcaa35a3d4d24fe16aef7b14e2e02fae5e67325addca062f39ca6edb27c14b52fbaad9 WHIRLPOOL 6fcfb1db73e2771c5584876023232366a821b9f07be4058b63f390979360451cfe3f0201aa43432274b4a37a032b8214fdae166df2a44b33fcb402227aaff72a MISC metadata.xml 1347 SHA256 ac44c316696ae0c3b3b10dd9b1529e4bad85b0a3d5f6ac2b0ec6b657f559451c SHA512 faf5c07813f2556cdca2967741dc68ad53d56584bf1570fd2d25289b889f9ce3c4fe503b7b0a7f0f2145f6244c7ae33ad0e7b24762c5de2794b1c7d565f36968 WHIRLPOOL 3fcc87924c756e6ffe507caacc112b7a1507bdd5dca1cc2e4f5b3251d9f34fd6bdfb28c76ada06ecf58abea8be5b41e19cf2d412e4b84c68b508e2d0758e008b -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iEYEAREIAAYFAlSls6cACgkQkKaRLQcq0GIr/QCeLgqqMv4/A+1f6WFFFRX9EPjX -tdQAnjXXwSQUdKSXgLAtnFvFWNb0lMlL -=l/0n +iF4EAREIAAYFAlS/cNgACgkQFYEBGcdFJfK6wwD/ZOdl2ytJz06OsycGLa51rN88 +Fd1rloEprFSMzuIGVfgA/1sGGIgcaVtSOd0eODpGfO9IR9wSpeR9AdoclZRdlSP/ +=wbZX -----END PGP SIGNATURE----- diff --git a/sys-devel/clang/clang-3.5.1-r100.ebuild b/sys-devel/clang/clang-3.5.1-r100.ebuild new file mode 100644 index 000000000000..41f0a84ab614 --- /dev/null +++ b/sys-devel/clang/clang-3.5.1-r100.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.5.1-r100.ebuild,v 1.1 2015/01/21 09:26:47 voyageur Exp $ + +EAPI=5 + +inherit multilib-build + +DESCRIPTION="C language family frontend for LLVM (meta-ebuild)" +HOMEPAGE="http://clang.llvm.org/" +SRC_URI="" + +LICENSE="UoI-NCSA" +SLOT="0/3.5" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="debug multitarget python +static-analyzer" + +RDEPEND="~sys-devel/llvm-${PV}[clang(-),debug=,multitarget?,python?,static-analyzer,${MULTILIB_USEDEP}]" + +# Please keep this package around since it's quite likely that we'll +# return to separate LLVM & clang ebuilds when the cmake build system +# is complete. + +pkg_postinst() { + if has_version ">=dev-util/ccache-3.1.9-r2" ; then + #add ccache links as clang might get installed after ccache + "${EROOT}"/usr/bin/ccache-config --install-links + fi +} + +pkg_postrm() { + if has_version ">=dev-util/ccache-3.1.9-r2" && [[ -z ${REPLACED_BY_VERSION} ]]; then + # --remove-links would remove all links, --install-links updates them + "${EROOT}"/usr/bin/ccache-config --install-links + fi +} diff --git a/sys-devel/dragonegg/ChangeLog b/sys-devel/dragonegg/ChangeLog index 3d13fe90e98c..2e8888e552e1 100644 --- a/sys-devel/dragonegg/ChangeLog +++ b/sys-devel/dragonegg/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/dragonegg -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/ChangeLog,v 1.20 2014/09/17 23:13:12 voyageur Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/ChangeLog,v 1.21 2015/01/21 09:26:42 voyageur Exp $ + +*dragonegg-3.5.1 (21 Jan 2015) + + 21 Jan 2015; Bernard Cafarelli +dragonegg-3.5.1.ebuild: + Version bump *dragonegg-3.5.0 (17 Sep 2014) diff --git a/sys-devel/dragonegg/Manifest b/sys-devel/dragonegg/Manifest index 4c280f1eaf79..0d3d760ae9c8 100644 --- a/sys-devel/dragonegg/Manifest +++ b/sys-devel/dragonegg/Manifest @@ -2,15 +2,18 @@ Hash: SHA256 DIST dragonegg-3.5.0.src.tar.xz 373932 SHA256 591133384cbdf329fa12975689e108e8b7c6272333749da6a6633a2b606234ec SHA512 10d8a59442c4469c34e3314de3a7dfba0afe6c7fbedb2a5d8550f2e0b91d3e040585b1467c18944a7cb08bbdd4250681f080f3d932c6ea9ae0e29e593f6527f6 WHIRLPOOL eabbc8fdd6f9aa8f027f95f71eaa3d55c676f3ae61ba38537ddb5e24319ae090f80db62e9e85957ee9225c39ffa5cb228e4184b6676dcd72857455d002158996 +DIST dragonegg-3.5.1.src.tar.xz 374928 SHA256 65e7974a34406463cdfb8c0badd4dfe293ebe771a3d00c4d674d73c8007706e6 SHA512 546bef95aeea39e677b7e20a6d3085e3acac199dbebac12aa38b0991dc6420a07dd4e80466fd5a91285411095b33b0a23a4973dc911667fb4cc3461ef3af5a22 WHIRLPOOL f389644ad8829fb4be37ec1472ef6f5e2ee0f5a52e61395180ba97b70d624c5480463a77d1b4899a9472ec9771bb9789f1d5521e65edc2a9e3ff4eba4fb41b99 DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1 +DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606 EBUILD dragonegg-3.5.0.ebuild 1346 SHA256 0de93fedb9af7a55379601f0d6473beddfcdc331d5b30ca567e223571b2ecd51 SHA512 05b81644969223c69f195c4d36a42dc10c0e612ad0ae1ea63212782fbcdb35d07ec97601a56fd3e2baf540be44b07bd0267694ec4385866ed2b54429a47c9cfe WHIRLPOOL c37b8bea123c98f7629ef73c1ea7b0c79811a9bb7a9479e369efcdc5b80a2f51dc944cd6e6c45fb86d9c17923758bb586bcb721aeeefafd45b878551a749ad0b +EBUILD dragonegg-3.5.1.ebuild 1346 SHA256 6c0e7c51ac9b22cf7b3da4a157c96d1a66fd1c64d6cefab2827ccb1140104596 SHA512 01c8ef1ccb7a4d12c40c67244b7cfc816568a26f6eb2e9e1cbc7b1f252f735f5a952ae7d87458d8153db710f20cf1e06a8aa3908874ce7f70f15f1c444743c99 WHIRLPOOL 1639933ed0102bca759c4b58c003f6d23bcd91b1d931f41a25bcac8a1cd7e662ca16c0040bd80d3529996fe2debaadbd3b6e52500df4faad1c0c69ad4326ad0b EBUILD dragonegg-9999.ebuild 1444 SHA256 1292f7a40858cf03807c2b48506554e2e55272c350f265798afd08221297af06 SHA512 a226d9a76f3294856e8535380fa74fbb518b12bea79e4d7f3bfb4af48a196e0ed47bd7002046e2eb8cf1b56c62c826a419fbab2ecbb4d7050ee0ef3f6ed779c7 WHIRLPOOL 7647d408f455ef43f7b038b9fc8a1e201ec22d0dc043de3c4f08a6d8dcd5e36411e9bd326a3f41344ddad2d7c3004130d170bd3b42d4247b260d8e3c71332ab0 -MISC ChangeLog 3736 SHA256 438e15613374b186d860c6e48d6abe654dfe8af5d82e88b41aeea8954c891e81 SHA512 90c17e52fa8f926e37fa8d337ba20a5919a838b466eb04a475d1cfeced64c506141add71fd23e8dc07b2b9778b2c2e8c047ebcf9c036ea419574d18ffaa792e1 WHIRLPOOL fb1a719ca8b98b0d3c64e4481cd99069eea75b6fe7d54603fd6e9257168145fc6c6ddd03659d1af817afad9a61f0d16854a640545b60e043186065fac04b4c14 +MISC ChangeLog 3864 SHA256 e07276870cd2bdc0637817a138c6fc20779ea29da0a99884b209607a947f60c3 SHA512 8151b3583abe57982d354450ce2b90eee1d27213e69ad39fda0c378c77df8b8c6521182c5a57c12814f391f92aa8371cb2be07738c135d6a167721d40bf4b99a WHIRLPOOL a185edd7b142166cee809174c01108e2002f337104880f55b3225d0614289e6800a3bd60f3903e91542baefa63f1f7c5b53b5af53ee5c4c69011f2134fa90434 MISC metadata.xml 492 SHA256 30b11ba6c1fb003706253651ad24ef789018d994e3e1d452e6639133a5a0b6f2 SHA512 6bf3c7b000bb563c104894cea43dad7f603155af8ffdfa2f90deac59c300429f28f34675f4c30e927626dd7cf037951cca497d48ddcf5da1e3f7bd07acbe14de WHIRLPOOL 8ead3c6d688f4037bce4901e464d19c425f9357658de2527113172dcc771806b0c52c2a0485e62f05c341b5c15c345b30122ca5decee233b3cf9807ff0158fda -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iF4EAREIAAYFAlQaFY4ACgkQFYEBGcdFJfJJEQEAqMWg9vakhPAz0IxYLCq0BCqt -1ln1MNkZhUrR3a4kE48BAJcwm9hDNsE9YZP7yW3PCtDdZ9CqxyfbjQkzJBV9LDdM -=xbQT +iF4EAREIAAYFAlS/cNMACgkQFYEBGcdFJfIJEQD+OW92rmIC0QPYp+huYtv1v2hV +xIIaZCJjn9UjJ+NenlkA/1ki0QgVjPny8QSKcl3N89ty/ovbLADA5RW9MrU4zglW +=VNtz -----END PGP SIGNATURE----- diff --git a/sys-devel/dragonegg/dragonegg-3.5.1.ebuild b/sys-devel/dragonegg/dragonegg-3.5.1.ebuild new file mode 100644 index 000000000000..98ae5a6cde88 --- /dev/null +++ b/sys-devel/dragonegg/dragonegg-3.5.1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/dragonegg-3.5.1.ebuild,v 1.1 2015/01/21 09:26:42 voyageur Exp $ + +EAPI=5 +inherit eutils multilib toolchain-funcs + +DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation" +HOMEPAGE="http://dragonegg.llvm.org/" +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz + test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="test" + +DEPEND=">=sys-devel/gcc-4.5 + =sys-devel/llvm-${PV}*" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${P}.src + +src_compile() { + # GCC: compiler to use plugin with + emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1 +} + +src_test() { + # GCC languages are determined via locale-dependant gcc -v output + export LC_ALL=C + + emake LIT_DIR="${WORKDIR}"/llvm-${PV}.src/utils/lit check +} + +src_install() { + exeinto /usr/$(get_libdir) + doexe dragonegg.so + + dodoc README +} + +pkg_postinst() { + elog "To use dragonegg, run gcc as usual, with an extra command line argument:" + elog " -fplugin=/usr/$(get_libdir)/dragonegg.so" + elog "If you change the active gcc profile, or update gcc to a new version," + elog "you will have to remerge this package to update the plugin" +} diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog index 90a2cca9c4e2..78ae5e40b662 100644 --- a/sys-devel/llvm/ChangeLog +++ b/sys-devel/llvm/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/llvm # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.218 2015/01/11 20:05:43 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.219 2015/01/21 09:26:20 voyageur Exp $ + +*llvm-3.5.1 (21 Jan 2015) + + 21 Jan 2015; Bernard Cafarelli +llvm-3.5.1.ebuild: + Version bump 11 Jan 2015; Fabian Groffen +files/clang-3.4-darwin_old_linker.patch, llvm-3.4.2.ebuild: diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index 3b7402cbe43d..133388aa3b32 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -43,11 +43,14 @@ AUX llvm-3.6-gentoo-install.patch 3169 SHA256 318288e667623e22c441f7a1da8c3e27b3 DIST cfe-3.3.src.tar.gz 9425539 SHA256 b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 SHA512 06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc WHIRLPOOL 8b97b527f19015dd3283b9e174615170e639793f64c635ccc4ee4d8216f8de759fd0121a8ef3513fa1c6ad19b31aa3529091ffb44a01ee858edfef400881596a DIST cfe-3.4.2.src.tar.gz 10612313 SHA256 5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10 SHA512 e01fa8e312e9b3b7b3cb572ac21349161aaa50078ecfe7bded273b75db4a0c44acde524f8fdfcbeec54c61eeeb8339e9917d1f205a8fda18e34fe7ccbe89c36d WHIRLPOOL 153208b1a60bb5fbe92a7162cb26bbe70d591e7db9dcf06fcd54efc539bbff0403ec88e64236969c9f256e5586bc333840bd6178fd158577d6fe228d9edd4dcd DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7 +DIST cfe-3.5.1.src.tar.xz 8268140 SHA256 6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c SHA512 bd904586f6155c05d2f7ddd05b86c28feae883cdc60e2cb3b48d4ae0ce55916064bcea414a46518d0fb73618f18a3f3fca6cc4cad81083428a2221299f5c5c7f WHIRLPOOL eca619b84ae6dfbca4b3d46601419d2c5a0cd77d643336c560d4bc358f4a2b0f7123d3e87248119c3e447143859da20b9b2e94721ebb14053627f0a158d843f5 DIST clang-tools-extra-3.4.src.tar.gz 230729 SHA256 ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4 SHA512 9656678acea490fd5674b2d47ad30ec69e5aedb450924e566a90418c94ce6483faa254e7dde0d5163cb0643153113d27b6b000fea7bba08f0ba55741b35873b1 WHIRLPOOL c41ec11d0b88678c56d77d285c4383a39cabab16aae8a4457666014e0927aa4b04cf77e73af0275e6bfc603a9531598eca98ab61d5d81288e2920682088d9eaf DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11 +DIST clang-tools-extra-3.5.1.src.tar.xz 215776 SHA256 e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906 SHA512 eefacd6857584c9a3186815a7d015a595f32cd926f6c221245d388b8cb9266c52e0980a8e94f01f49c452510fdd42e659b02f116619d3d0e35170566f0704712 WHIRLPOOL a3d14e21f201cc02649833edd67ba04f17c88486fbf399327dbb76d21e151b956a4f58cd7446b8563f72fa1cee06a8bd4abbc53234761a3a69fc1afc99ced87d 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 compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2 +DIST compiler-rt-3.5.1.src.tar.xz 1092452 SHA256 adf4b526f33e681aff5961f0821f5b514d3fc375410008842640b56a2e6a837a SHA512 3a4f093972b080f439c81c8b08793c311cea71afeda7ba7b4e32f19378b1cb420da7b594fa9f6a6f7826570438f67d42d3243c4b3503e1cf8a7dcedf52e8e590 WHIRLPOOL edbf11837139b48207fc6f82ecad39fbc6983cf5bd1441cbe6d50e5e484566b63c5afa2fc64cd29fb8560f07015a98c00b58c926ca7e9af47b7eea92133d0db4 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 @@ -60,6 +63,7 @@ DIST llvm-3.4-manpages.tar.bz2 33753 SHA256 dc2616104cf333dd9ef56b2d31f9a36e8130 DIST llvm-3.4.2.src.tar.gz 15938155 SHA256 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 SHA512 6c1453f7d9d9110257db3574cc4f6227fed8938705cbb09851ac09a868089b48f1556a1b6e758aff6d97520b08b5605d3ed20411ad9dd22cdc573d62176905f0 WHIRLPOOL f8b4d5167469e6f350ec41aede04e7b756e18f3d8e78b3270beb5791310a7b9b13c69e57c8bcfefbd0a78efc0c40e3b75a9a158eac72c025b7c77146e8dfaf7c DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819 DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1 +DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606 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 @@ -68,13 +72,14 @@ EBUILD llvm-3.2.ebuild 6534 SHA256 eb16cc91887fdb035722d268caaa3e4843825403786fc EBUILD llvm-3.3-r3.ebuild 14190 SHA256 d16d933d6791ef7dbe08aa43340bb9924e063af11fa9e13ca8230509240d2c15 SHA512 c986e970f489f7ff79188043db397383e3c567735c8f4a1e8a13b89ef6a3a9f4b8550218444eadd04ef3a14143ab05dc839b3dbe935128f5437157d3aaec02cf WHIRLPOOL 910f7d65902548270835371a5076c746534c0b57487fb8fb149a893454e86e942beed284d6b7491cfb2f043a6e19554f97aec829067938192e75f64bd0fd7a7c EBUILD llvm-3.4.2.ebuild 15684 SHA256 bf48165569f4e1d74e59315ad96183c2275a4ebd909460e9478ea5ece021da23 SHA512 0885736fb3e33aa6aa76c8f83e9280e66482e4748722f9ebb767e1ca47fa94e00ab2007702c7aa35a36c06103fa41ce00fa3a8123e9adc14bcc0778edc211cad WHIRLPOOL a659c1f8dc8452299ce98e7b9d7e66515b1c8fcf8922d97888bc761acbe4e6d40412c635e5bbee9207c68cdf9c46d13b3c8e4012f38abb54c930a1b2eab5348d EBUILD llvm-3.5.0.ebuild 15104 SHA256 f3f8698353f9c5d2c9e28ade63b4573e6efb5cbace7da0ee400cfcd7e3e486b6 SHA512 a3434a4ef8050300f9e7309e35693c0b928bb5b438d95c54cf76298f29669b16466711f341ef0d37a3b6817342667f18130d106a2e839fcac0855a0db519758a WHIRLPOOL 4f662cdf9fb8b53d17c6c958b9734e91a7d085bcba0d7ad32c8a21e079adc57f62ef925ae1d1016e1642452e62d2cba1e8a9e39241d783cca8baad43bf9045e5 +EBUILD llvm-3.5.1.ebuild 15060 SHA256 bda12820f3ca90a7e4fcccca111f8e52182b8e3c8c5d711beeb910edeaac44c9 SHA512 f66ec4463a87960e6a4ffef03c1d2fbc86c2e4871c23be260d2c4a11a6d54e4f81332735e1506575dbc77a9644a07107fedbd664a41cd4d96ef06bba099445e0 WHIRLPOOL 76855732a46f1096bbb374788ba2b8435f8a1ca30f974de3679517cfd7a87cdfaf2d79d4b5a14d6fba8267fdee9315a88c262d94f992629afa728670a557c400 EBUILD llvm-9999.ebuild 13914 SHA256 96c731cfe077bec0da28a5dc82179e6e70bda7fc77c8c25ed4d64eca845738f8 SHA512 ed6a18ae0a1c59c3327d118d478a03e4a73953d9a5a3b2c0953ce80076f2d07db9e83e078a7af00e094191d2dc1c3372640340a63ccb7bac77a9756f679c5f98 WHIRLPOOL e70e3977d37f1dcbda3541f028c1d45065453f23ec280bba2aaab69386f390a2a2fea5cbfc7050ae16ef5beb0ff3336839e988b6cf8d95235097713d627fba8b -MISC ChangeLog 36623 SHA256 a1108a138848d014a912f723b56f8d0eeadd83e69d1cf2a1184ea34a78fcda8e SHA512 f84c418730416b6d98205569b19bc785da6db4a3b2a133baf1f161a729eb322d236be6d3b3051587364675c987bc1a9eaa63e6f04b845776acf239f25c71ac73 WHIRLPOOL f1c950813fdabbcb0f787286ba3b6a859e317850ccab2bf7f70f55dfe02083a09294f5b1ddb983f63935a981006e52144d00d1a00606f4d644ce631172300b49 +MISC ChangeLog 36742 SHA256 f9616bfd26333f3cdda2f3667ea16cde962110537eaeab9b99471f2a7b7f4a54 SHA512 7ea0a63e9f9e46e42d448328c1e4dcc1a72f84a82a85014a6a259669f225e50ce82c5ca7beac63430795d638afbae27b581871055773c0bbc5620a61579c50ea WHIRLPOOL 9757ebf428044f6087f64ca9b627e252a7d6433257c5a9e4d04e23928a2ff1f340d85dc9da6941d2aa4718182cd4b2b6e01f8f61c46a617318abf61116b95f29 MISC metadata.xml 2787 SHA256 22dc7b91c98fb4258271cc9cd4bd99f214b30f258bbdfea83dc37ac74df8d498 SHA512 4fca0d2551a889e7800c688077adf405697d05730bf66621ac53fdefeeeaddb7a8d868973edc9a6fe48e9a07734f1d43fd88229bae693fe181a7dbb95eeb9481 WHIRLPOOL 6284033d40bef02510f924ec1e6a9d3e1072bf26945fdedde0ddaf1d6d35c3d30971cdefa583a8e4d9db3da67bee04145ace15ded4cee63f534588b66633c76b -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iEYEAREIAAYFAlSy15gACgkQX3X2B8XHTomntwCfVZV45AJNM38X/2JAWimDDZ8I -oN8AoKF+OlmWFey20yKClAzAexi7Vea4 -=pVzl +iF4EAREIAAYFAlS/cMIACgkQFYEBGcdFJfIHogD+JOmzHmDpNc31flU7P9ma3LTw +EdWo/QtK0q/1mYxY8CsBAJXKtxPR+TJ3AHTQ+iik5MiXSOkoglS2KLoLEF+emeie +=UpIE -----END PGP SIGNATURE----- diff --git a/sys-devel/llvm/llvm-3.5.1.ebuild b/sys-devel/llvm/llvm-3.5.1.ebuild new file mode 100644 index 000000000000..be5e9b353203 --- /dev/null +++ b/sys-devel/llvm/llvm-3.5.1.ebuild @@ -0,0 +1,524 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.5.1.ebuild,v 1.1 2015/01/21 09:26:20 voyageur Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 pypy ) + +inherit eutils flag-o-matic multibuild multilib \ + multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="http://llvm.org/" +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz + clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz + http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz + http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) + !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${PN}-3.5.0-manpages.tar.bz2 )" + +LICENSE="UoI-NCSA" +SLOT="0/3.5" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python + +static-analyzer test 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] ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:5=[${MULTILIB_USEDEP}] ) + ocaml? ( dev-lang/ocaml:0= )" +# configparser-3.2 breaks the build (3.3 or none at all are fine) +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + 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 ) + !! "${T}"/test.cxx || die + ebegin "Trying to build a C++11 test program" + if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then + eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" + eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" + eerror "to gcc-4.7 or an equivalent version supporting C++11." + die "Currently active compiler does not support -std=c++11" + fi + eend ${?} + fi +} + +pkg_setup() { + pkg_pretend +} + +src_unpack() { + default + + rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ + || die "symlinks removal failed" + + if use clang; then + mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \ + || die "clang source directory move failed" + mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \ + || die "compiler-rt source directory move failed" + mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \ + || die "clang-tools-extra source directory move failed" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch + epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch + epatch "${FILESDIR}"/${PN}-3.5-gentoo-install.patch + + if use clang; then + # Automatically select active system GCC's libraries, bugs #406163 and #417913 + epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch + + epatch "${FILESDIR}"/clang-3.5-gentoo-install.patch + epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch + eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp + fi + + if use prefix && use clang; then + sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ + projects/compiler-rt/make/platform/clang_*.mk || die + fi + + local sub_files=( + Makefile.config.in + Makefile.rules + tools/llvm-config/llvm-config.cpp + ) + use clang && sub_files+=( + tools/clang/lib/Driver/Tools.cpp + tools/clang/tools/scan-build/scan-build + ) + + # unfortunately ./configure won't listen to --mandir and the-like, so take + # care of this. + # note: we're setting the main libdir intentionally. + # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. + einfo "Fixing install dirs" + sed -e "s,@libdir@,$(get_libdir),g" \ + -e "s,@PF@,${PF},g" \ + -e "s,@EPREFIX@,${EPREFIX},g" \ + -i "${sub_files[@]}" \ + || die "install paths sed failed" + + if use clang; then + # constantly fails for a long time, likely due to our patches + rm tools/clang/test/Driver/cross-linux.c || die + fi + + # User patches + epatch_user + + python_setup +} + +multilib_src_configure() { + # disable timestamps since they confuse ccache + local conf_flags=( + --disable-timestamps + --enable-keep-symbols + --enable-shared + --with-optimize-option= + $(tc-is-static-only && echo --disable-shared) + $(use_enable !debug optimized) + $(use_enable debug assertions) + $(use_enable debug expensive-checks) + $(use_enable libedit) + $(use_enable ncurses terminfo) + $(use_enable libffi) + ) + + # well, it's used only by clang executable c-index-test + if multilib_is_native_abi && use clang && use xml; then + conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) + else + conf_flags+=( ac_cv_prog_XML2CONFIG="" ) + fi + + local targets bindings + if use multitarget; then + targets='all' + else + targets='host,cpp' + use video_cards_radeon && targets+=',r600' + fi + conf_flags+=( --enable-targets=${targets} ) + + if multilib_is_native_abi; then + use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) + # extra commas don't hurt + use ocaml && bindings+=',ocaml' + fi + + [[ ${bindings} ]] || bindings='none' + conf_flags+=( --enable-bindings=${bindings} ) + + if use libffi; then + local CPPFLAGS=${CPPFLAGS} + append-cppflags "$(pkg-config --cflags libffi)" + fi + + # llvm prefers clang over gcc, so we may need to force that + tc-export CC CXX + + ECONF_SOURCE=${S} \ + econf "${conf_flags[@]}" +} + +set_makeargs() { + MAKEARGS=( + VERBOSE=1 + REQUIRES_RTTI=1 + GENTOO_LIBDIR=$(get_libdir) + ) + + # for tests, we want it all! otherwise, we may use a little filtering... + # adding ONLY_TOOLS also disables unittest building... + if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then + local tools=( llvm-config ) + use clang && tools+=( clang ) + + if multilib_is_native_abi; then + tools+=( + opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli + llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump + llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov + llvm-size llvm-stress llvm-mcmarkup llvm-profdata + llvm-symbolizer obj2yaml yaml2obj lto bugpoint + ) + + # the build system runs explicitly specified tools in parallel, + # so we need to split it into two runs + if [[ ${1} != -1 ]]; then + # those require lto + tools+=( llvm-lto ) + use gold && tools+=( gold ) + + # those require clang :) + # we need to explicitly specify all its tools + # since we're passing BUILD_CLANG_ONLY + use clang && tools+=( + clang/tools/{clang-check,clang-format,extra} + ) + fi + fi + + MAKEARGS+=( + # filter tools + disable unittests implicitly + ONLY_TOOLS="${tools[*]}" + + # this disables unittests & docs from clang + BUILD_CLANG_ONLY=YES + ) + fi +} + +multilib_src_compile() { + local MAKEARGS + set_makeargs -1 + emake "${MAKEARGS[@]}" + + if multilib_is_native_abi; then + set_makeargs + emake -C tools "${MAKEARGS[@]}" + + if use doc; then + emake -C "${S}"/docs -f Makefile.sphinx man + use clang && emake -C "${S}"/tools/clang/docs/tools \ + BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man + emake -C "${S}"/docs -f Makefile.sphinx html + fi + fi + + if use debug; then + pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld + pax-mark m Debug+Asserts+Checks/bin/lli + pax-mark m Debug+Asserts+Checks/bin/lli-child-target + else + pax-mark m Release/bin/llvm-rtdyld + pax-mark m Release/bin/lli + pax-mark m Release/bin/lli-child-target + fi +} + +multilib_src_test() { + local MAKEARGS + set_makeargs + + # build the remaining tools & unittests + emake "${MAKEARGS[@]}" + + pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests + pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests + pax-mark m unittests/Support/Release/SupportTests + + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + emake "${MAKEARGS[@]}" check + use clang && emake "${MAKEARGS[@]}" -C tools/clang test +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/config.h + /usr/include/llvm/Config/llvm-config.h + ) + + if use clang; then + # note: magic applied below + MULTILIB_CHOST_TOOLS+=( + /usr/bin/clang + /usr/bin/clang++ + /usr/bin/clang-${PV} + /usr/bin/clang++-${PV} + ) + + MULTILIB_WRAPPED_HEADERS+=( + /usr/include/clang/Config/config.h + ) + fi + + multilib-minimal_src_install + + # Remove unnecessary headers on FreeBSD, bug #417171 + use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h +} + +multilib_src_install() { + local MAKEARGS + set_makeargs + + local root=${D}/_${ABI} + + emake "${MAKEARGS[@]}" DESTDIR="${root}" install + multibuild_merge_root "${root}" "${D}" + + if ! multilib_is_native_abi; then + # Backwards compat, will be happily removed someday. + dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} + else + # Install docs. + if use doc; then + doman "${S}"/docs/_build/man/*.1 + use clang && doman "${T}"/clang.1 + dohtml -r "${S}"/docs/_build/html/ + else + if ! use clang; then + rm "${WORKDIR}"/${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 + fi + + # apply CHOST and PV to clang executables + # they're statically linked so we don't have to worry about the lib + if use clang; then + local clang_tools=( clang clang++ ) + local i + + # append ${PV} and symlink back + # TODO: use alternatives.eclass? does that make any sense? + # maybe with USE=-clang on :0 and USE=clang on older + for i in "${clang_tools[@]}"; do + mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die + dosym "${i}"-${PV} /usr/bin/${i} + done + + # now prepend ${CHOST} and let the multilib-build.eclass symlink it + if ! multilib_is_native_abi; then + # non-native? let's replace it with a simple wrapper + for i in "${clang_tools[@]}"; do + rm "${ED%/}/usr/bin/${i}-${PV}" || die + cat > "${T}"/wrapper.tmp <<-_EOF_ + #!${EPREFIX}/bin/sh + exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" + _EOF_ + newbin "${T}"/wrapper.tmp "${i}-${PV}" + done + fi + fi + + # Fix install_names on Darwin. The build system is too complicated + # to just fix this, so we correct it post-install + local lib= f= odylib= ndylib= libpv=${PV} + if [[ ${CHOST} == *-darwin* ]] ; then + eval $(grep PACKAGE_VERSION= configure) + [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} + for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_osx_dynamic.dylib; do + # libEnhancedDisassembly is Darwin10 only, so non-fatal + # + omit clang libs if not enabled + [[ -f ${ED}/usr/lib/${lib} ]] || continue + + ebegin "fixing install_name of $lib" + install_name_tool \ + -id "${EPREFIX}"/usr/lib/${lib} \ + "${ED}"/usr/lib/${lib} + eend $? + done + for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do + # omit clang libs if not enabled + [[ -f ${ED}/usr/lib/${lib} ]] || continue + + scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ + while read odylib ; do + ndylib= + case ${odylib} in + */libclang.dylib) + ndylib="${EPREFIX}"/usr/lib/libclang.dylib + ;; + */libLLVM-${libpv}.dylib) + ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib + ;; + */libLTO.dylib) + ndylib="${EPREFIX}"/usr/lib/libLTO.dylib + ;; + esac + if [[ -n ${ndylib} ]] ; then + ebegin "fixing install_name reference to ${odylib} of ${f##*/}" + install_name_tool \ + -change "${odylib}" "${ndylib}" \ + "${f}" + eend $? + fi + done + done + fi +} + +multilib_src_install_all() { + insinto /usr/share/vim/vimfiles/syntax + doins utils/vim/*.vim + + if use clang; then + cd tools/clang || die + + if use static-analyzer ; then + dobin tools/scan-build/ccc-analyzer + dosym ccc-analyzer /usr/bin/c++-analyzer + dobin tools/scan-build/scan-build + + insinto /usr/share/${PN} + doins tools/scan-build/scanview.css + doins tools/scan-build/sorttable.js + fi + + python_inst() { + if use static-analyzer ; then + pushd tools/scan-view >/dev/null || die + + python_doscript scan-view + + touch __init__.py || die + python_moduleinto clang + python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py + + popd >/dev/null || die + fi + + if use python ; then + pushd bindings/python/clang >/dev/null || die + + python_moduleinto clang + python_domodule __init__.py cindex.py enumerations.py + + popd >/dev/null || die + fi + + # AddressSanitizer symbolizer (currently separate) + python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py + } + python_foreach_impl python_inst + fi +} -- 2.26.2