diff options
author | Michał Górny <mgorny@gentoo.org> | 2013-10-13 07:34:13 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2013-10-13 07:34:13 +0000 |
commit | af1e6bfe6804e194b405f7025b5b9c2bb8a4eae5 (patch) | |
tree | 4fd4e6120b08a54c0d2552cd6a6f90bebeda978a /sys-devel | |
parent | Bump libclc dep for multilib. (diff) | |
download | historical-af1e6bfe6804e194b405f7025b5b9c2bb8a4eae5.tar.gz historical-af1e6bfe6804e194b405f7025b5b9c2bb8a4eae5.tar.bz2 historical-af1e6bfe6804e194b405f7025b5b9c2bb8a4eae5.zip |
Backport g++-X.Y header location support. Fixes bug #487584.
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Manifest-Sign-Key: 0xEFB4464E!
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/llvm/ChangeLog | 6 | ||||
-rw-r--r-- | sys-devel/llvm/Manifest | 35 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.3-gcc-header-path.patch | 90 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.3-r1.ebuild | 8 |
4 files changed, 119 insertions, 20 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog index 133c9a498bab..83a7fe6970b8 100644 --- a/sys-devel/llvm/ChangeLog +++ b/sys-devel/llvm/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-devel/llvm # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.138 2013/10/04 15:43:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.139 2013/10/13 07:34:11 mgorny Exp $ + + 13 Oct 2013; Michał Górny <mgorny@gentoo.org> + +files/clang-3.3-gcc-header-path.patch, llvm-3.3-r1.ebuild: + Backport g++-X.Y header location support. Fixes bug #487584. 04 Oct 2013; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild, llvm-9999.ebuild: diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index 9282efa0f594..792c01dfdf27 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -4,6 +4,7 @@ Hash: SHA256 AUX cl-patches/0001-r600-Add-some-intrinsic-definitions.patch 2450 SHA256 b0a718800c8969e174f3a22e61c15a370376f477e031fe97fff6aaab152f9867 SHA512 d23f9645d3e3364b1e9ce522eb15022fd3f2a685741db88b117b409ee33a07344a8e9ba9d89dc3535e5289edf79c6beb7ff144659f4e725b1a8f2c4256f9aad0 WHIRLPOOL c549806dbe5309dc441b65c942de488c6afc8c511d060d5c1459a4f99b97a357acbec51ce51bd704e5e1e74437cd413755f15377ad6b96c235242bc370af096f AUX cl-patches/0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch 1189 SHA256 172bbb3cb1214e61ee2684c133317bb997e94a34c91dae94d4848cbd0c216436 SHA512 cf711149c421b4258bc64b81018d0a9474d8b4e4128d0cc0cea788b54c93e9512397b2310db8a1834c3507b4d893d5743dbc53183ac0daca23da55601b976c16 WHIRLPOOL 8e6bd9f005a6a941c55d7c8d9b127826191944fab9e404f8ed958efd07017f5f9301273739f869a73f15fc2a79af9dc18687ff85403acf24e175a464838b3f2e AUX clang-3.1-gentoo-runtime-gcc-detection-v3.patch 1457 SHA256 f4b22281d21e39bc4681519cec90243c0e50262ce56ae68b0a8d9e7d92ce0375 SHA512 81c582791f4b0b1ccfcf3e8c82fbb68312320c5287402236d8c6d2d76767bbba031094c26d2b7bd9581c473896b78dda5a6284c5a87726e1bc0c539ae9294763 WHIRLPOOL bb68797804c89f8797561964697a72a015daf2c951d92f490f8c83f38aac6f50ce1527f39b53ccc6a3d93f84ec8f868e40340a5472b9e7ee4c34ceaa4b9ca845 +AUX clang-3.3-gcc-header-path.patch 4309 SHA256 56e51c30b91f0ff264c27e332c5375672c035b8271a64860b9e940c918ebf7ac SHA512 568c82c34b56bd18e34122975a420f38ae9f190c9efec00383aa0802c1810297b1fef94a21093775ee20c4b30ad5800b4bbebd26e5cbc9358b11ce7b5165ac41 WHIRLPOOL 2ea6ba49110d6f0bb1f3c6f93f6788463cfcf67b19d9397a69ab4066d3fc1106d544bedc24668a5e515df561e992a7d59a27253a08fae02e622aad36962ace8f AUX clang-3.3-gentoo-install.patch 2825 SHA256 0c5e6247c025948f83dd6dea998cf149cd5239fb6b9e60cd1188e28ef44a10c5 SHA512 c7627ee7af54dfd6c43327b82161dc955010bef922ec2fddbd40ce4a01866d7f01e015f362f1b4300bd97f13b08e15241a1ac4cc830a95b11b9d6a76e176bd6e WHIRLPOOL 3a6a13116d16ea410e7b9a22fee2c967eba201a45ddd6de3481a00d6603e35544de04eebd36fa4fba46ebb564938263ebfb0d4925256911342757708e9ba922a AUX llvm-2.6-commandguide-nops.patch 975 SHA256 0e36fb43e020fa380230a8c6f2a79b9a19e12e857e833ef856e2b41aaa283649 SHA512 6842285e499b86581ca12fd94f5335e0dcd7afcaf0cdc5042ee8d84d0da6aba6659652eb639027bcad7caf77b0c994ac7e181a15bc609c4b3882e0f391c8cd33 WHIRLPOOL bf1212a8fd06214dba0916a73266842558bed740220d68e3447701ffeba1b3020ca4b4ab5c6d57772a60a6e09f153232f680b1e0b11cbd5d430bd9ef693d2926 AUX llvm-2.7-nodoctargz.patch 1878 SHA256 983657329ebede731b397ba0256d729b3958f39faea64c9f7d065ab8d2a3e7fd SHA512 3f9dd34437c6dba8246cdf5c8563889f805f3c8e579190c4f0fb06f72bf5aa112ecbfa18467a35eceaadcd470544f434f319f048cb58d6631170788b10fcc75b WHIRLPOOL 63182867bf8f0bd6ca1b7d97229fd13952526d59587192727348026e8a759f1c6b79db044760465e2424851fdbdf79e4122c5bb0285b505d20f151334063e8d1 @@ -40,27 +41,27 @@ EBUILD llvm-2.9-r2.ebuild 6380 SHA256 e95d4d6c0fefb602a04197b10d31fff3c4ef997ff7 EBUILD llvm-3.0-r2.ebuild 5767 SHA256 62fca1169c63516f29102a3a1bb4ea74408dfd151d97a9edbfb165a2def317c3 SHA512 f7ee2bbf8b31d86c11ab07f530278e3240ec21f3c58144a9e627aef3c1fb7690935786f33368a6f56062b5daf501adebfc164fd6712985a91076897b89cdd85f WHIRLPOOL be1a6edd697e2504df033705c2cb8e37f6c17a13d77558d231172c00f91ec247785469b6e1265e25c42eb3f6f394614cf516e0e422cb54094d9ba25669c8406c EBUILD llvm-3.1-r2.ebuild 6033 SHA256 9b9a587d30419fa646764a96e12fc6272f73f7246138c76ba577f0d6ab3afe59 SHA512 8b969084210af4203c029bb33d5b984e0b17f6770fd489dad818154ac9f6a87bfad069eff71776f678d9eb5d5136af472d3008d5bc73fab9dc1f36811af906c4 WHIRLPOOL 928459551d7cf6e8d18244026ba82cc3dbaf2b65bd6eac8adb617695c95535ba65bd013909730d5922de5764e9d6c6c4cf007aa6acd0b493826aa938d0389a5d EBUILD llvm-3.2.ebuild 6534 SHA256 eb16cc91887fdb035722d268caaa3e4843825403786fcf74643be2c6f8099f11 SHA512 e781a4e4416a4acee667029744dab7f8e52022df4fcbb89d4d9acf855549f1c0a1661b79ee0067fd052a36bad278f08a2ff7f6e6e44d8c3ea7f82910ac573d9b WHIRLPOOL 115d13959a22867266dd7c0133109ccba063e97972cc2c807fb7a6dd7d3fbef1726caf314e262f6683a97a2c3a6ff776f808de7d80923472fc692554eccbca27 -EBUILD llvm-3.3-r1.ebuild 11882 SHA256 b65e2ab23b43a95fc5a30548d4a123f64c84db115d50fc88e91b7d941207b5ee SHA512 37346d41ac971aa0d18a60e5e89ce1c96fcfca7c07d87b9e12033add5a12d08f462abcdf1956ce36c956cd202eec11c46600e7170694a4d0bc6b2ee130889924 WHIRLPOOL cf2eb6cef5eb43c94d7856c89c77012d1ddad545723bbe79d4ff59116b95da2cdbcaa7a15be5f5daef7fd20c164f8b932edd243c32f3aee5dd6539864544de04 +EBUILD llvm-3.3-r1.ebuild 11998 SHA256 567e12c2b7bccb6a44ed4ace7cb11e712260fecb1a00684b9d8add60e1417198 SHA512 1b40aeab3f01710865a4f5b6c28172dba23e19ef21f2b14c7035b09d6cb1630cb6f701c3fa343c7a8557a7eb9ead5d9d74b16e0d8f5974ac7350d5d73664dfe6 WHIRLPOOL 8adcc8eaf007cfe9601287fa7fede2710aced0d56c8db5838b0230651fbeb188741b34b93da89ce0c3045ec691952f2663659325c8ec655115bb84ba1f01d98c EBUILD llvm-3.3.ebuild 6798 SHA256 4e53042e76ce97e6a460cda74c5dbadc1cee9009345e8f0232e28d53c8f77579 SHA512 5513887c3b5a25a678713b68c216a40801ddecbf5a4dc58d7ad01c1ec8411589e20d8662c34f117e6d64924302504c8ce74b48f3edca1f292b56881eb6176271 WHIRLPOOL 79d6adefc281699477a271f76cb8eb7992d0946b6fcda9149a0976c30138ac882f735eff08c25c0edf37ccc8e31700f6d2d51d38c354c82c06695962e8f9243b EBUILD llvm-9999.ebuild 10752 SHA256 571793b471291e8611918b946c2c9b1d5a475213c362f565b8f4d3648736d6b2 SHA512 e270ce6e37949399f353cccd39dfaa75c82caaf591fd7c9b94ec88373d6f274690d17fec6ce3be816893a8d0c293472f0c6dc2ee82ce75a2f90bd435439391a5 WHIRLPOOL ddd0964326000c8095a9e890626ac8973b289534adb8512d36cc79ff2e835146f4e48fa5dfc43cb5c10cd3d6de909adaff3b010d6f9f3621f6bf5a3ce693184b -MISC ChangeLog 23229 SHA256 92edc120e5552c75189e88f27c30f4bef43928c9a874c96a5a2ef09992820a5b SHA512 d7801e61e77cdabc06958a9d77017156d43023687690b2152fe893046d4458225b52dfe22d49fb84ad15366eb8b6d3a550a4ab95b6b27580b5788df8ce13f0d8 WHIRLPOOL 6b40ebc8099b2e080758d8be375509662af7a058a005b83a058ae0b2faed8b9c3cb733e2ceca28399686763f6ce6e8d8c023303a3a1d8cc24dbe812f6500896e +MISC ChangeLog 23405 SHA256 dafcd455a757a925886e56faa38c702675934fbdd000d9882cd5e793d6e9375e SHA512 a0bb5f5b1ad39171f0782b2bef10170f55771b85558cd0a1d8d2605826fbfda2f4dec7731a60b3dcf8e8a49eca0929875882efa4fedf6a69b9d2309912f8ad02 WHIRLPOOL c0ab1c91cc2b542122357a8ed298db26beea02308dc8e2fa04afb9c39ebf18623e313fabe0b1ba235aaabf2a16164289e78e4839c3dc7377408f2badee1591c8 MISC metadata.xml 2632 SHA256 2600c9022e42659f3c9201ecc0387455d2b76d70225ba4c9be8420c55fa6ab07 SHA512 43702a59d30b6bbc57d7f33497b3889d3dddf228776e8a79946ca868269451e6fa5666f561ae99fe035851bb305c6e9d3eb5de5955f1cc84bd62d557ad4ec314 WHIRLPOOL 143e68e5f52836d6bc6de79e7c055d7f776e49b17d563bb71e84f37b16f207e0cede39ee6c4b29bc566fc1b102ecd16743e596509fdcf239ffb8bced13b15ac2 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.21 (GNU/Linux) +Version: GnuPG v2.0.22 (GNU/Linux) -iQJ8BAEBCABmBQJSTuJpXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJSWkz8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC -MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO3KIP/RSLChbFYpz9rIzgIsAtUjxV -Csg/fAMU8EQStKrFWhqoahyGV3u+nY1cBt3idUwgKDN54qdqUr7BKvmrFYKv8Aek -wVmPLSsdkxw4++k6qHf15XYt5Q0lDFtm9jw6woR1lerVsi4FaXCMkkmXJAYjEKz6 -6ezfrM0g4jV9V4wqdTytwjO9jqM1eDi64hF20Krii+b7uYnIFiBmjE4fZQ8LugIC -mDtN5vQYgTxwwPJb8CzgoB9fXKNt5xm7J91pZDkDqxfjGbmQB0J0Fz59+ynvyWV2 -bjrgWOHekcsIECpcLBcCtqnwm5vdLGAtnrfCf9+sJWEJg555dlwUCtSh9BZfkbGz -+Yvc+yu8r1GbhmsEr0oRmOC1zHi4xo/fda9t7zIEGOAZH1jHs54ieJleic979d3r -ImiZZKWeLKGDjHXjgMti0i6+by2z+J9y8Wv9nRKkSWX8b90MZueNnLOIr3VKW+5l -PZqan7H3bWiPKhlBfGMZsKUq77cURrXmw3BtwycFLvzJVzTwgfTDkDXKgCBht3xd -1/RIUfHEyXgDeup5SM+m1JptDbZEDlD/uVSmVEPDdlPVd50vkV8lVLAtPBMLKNUz -YOrz13SdA4MPRpDTxS85xJNN9mibd5w82LP6cqzG4lZKCrz9mdGNEanCBiRopteu -f/gNv6coMb/O4iseufPJ -=P/Nv +MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOVskP+wQ3Ub2PC5/QPnevFOqJt3Kb +GA38eBojlS5sbiPvasybsrt3P7ybN9IDRvzv/IOl7M/wgMhi1K0b6okQeVuptwB2 +Yn0TbJ3GayfByrjTPfGJ3eHOVu6hvYYhQ0gg0XeaQcGUIpFWvD0dR9YOvk8Lq3vJ +AkIId/f0OTBVD/T8lSOxxH3oXToE+14zmuW/QUAU864hVJ9qqJmfsWXGElw6PqIn +vBb2aQEFj1N274oTAZJfbZw7yPxaILiBahkN+KBi3wrf3HrzCLr1mouO0EYHt89M +3e7na5D37Qyow9MlxQ/usZwfdLme9Sz0AWZP64F9dNWc7DFPdyneC82J58RdZjgz +DpBDDt1xC7wRvy1AncJSUqGeVUx49K8+tD4tIDPwQW1AEYduFNiB7FCYq41jN/gK +4dunP0RahWxw/2dOR9N7r3SXIbk1hb+UY2FKZxzOgJ9Y7dRRpI+Km8MxFidj4HOr +BmpRHlYGS+jgJX6DLuOp5mGfXnWj0o2LRSSt5L1u/m59gDic7KsqzNyLtQqHe57w +YxIDolWMY4d9YMq8LY5vWoqOsPJLDwZ7+XNylCqNbb5HBvHClb3nljrqqR5NxInD ++fw/BZ6yNJUJcvHxhFZS+SPeEswHDGP3vRDpL0uN4cDvB/Kwhkv/+HhO5Fd8OLie +iLquJ6VmIkuLbTMfcnUT +=cjNH -----END PGP SIGNATURE----- diff --git a/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch b/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch new file mode 100644 index 000000000000..dc9a4f7bb79c --- /dev/null +++ b/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch @@ -0,0 +1,90 @@ +Backport handling of 'g++-vX.Y' header location. + +Fixes: https://bugs.gentoo.org/show_bug.cgi?id=487584 +--- + tools/clang/lib/Driver/ToolChains.cpp | 20 ++++++++++++-------- + tools/clang/lib/Driver/ToolChains.h | 3 +++ + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp +index 7c9e9c0..e38d42d 100644 +--- a/tools/clang/lib/Driver/ToolChains.cpp ++++ b/tools/clang/lib/Driver/ToolChains.cpp +@@ -917,17 +917,19 @@ Darwin_Generic_GCC::ComputeEffectiveClangTriple(const ArgList &Args, + /// This is the primary means of forming GCCVersion objects. + /*static*/ + Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) { +- const GCCVersion BadVersion = { VersionText.str(), -1, -1, -1, "" }; ++ const GCCVersion BadVersion = { VersionText.str(), -1, -1, -1, "", "", "" }; + std::pair<StringRef, StringRef> First = VersionText.split('.'); + std::pair<StringRef, StringRef> Second = First.second.split('.'); + +- GCCVersion GoodVersion = { VersionText.str(), -1, -1, -1, "" }; ++ GCCVersion GoodVersion = { VersionText.str(), -1, -1, -1, "", "", "" }; + if (First.first.getAsInteger(10, GoodVersion.Major) || + GoodVersion.Major < 0) + return BadVersion; ++ GoodVersion.MajorStr = First.first.str(); + if (Second.first.getAsInteger(10, GoodVersion.Minor) || + GoodVersion.Minor < 0) + return BadVersion; ++ GoodVersion.MinorStr = Second.first.str(); + + // First look for a number prefix and parse that if present. Otherwise just + // stash the entire patch string in the suffix, and leave the number +@@ -945,7 +947,7 @@ Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) { + if (PatchText.slice(0, EndNumber).getAsInteger(10, GoodVersion.Patch) || + GoodVersion.Patch < 0) + return BadVersion; +- GoodVersion.PatchSuffix = PatchText.substr(EndNumber).str(); ++ GoodVersion.PatchSuffix = PatchText.substr(EndNumber); + } + } + +@@ -2590,11 +2592,11 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, + // equivalent to '/usr/include/c++/X.Y' in almost all cases. + StringRef LibDir = GCCInstallation.getParentLibPath(); + StringRef InstallDir = GCCInstallation.getInstallPath(); +- StringRef Version = GCCInstallation.getVersion().Text; + StringRef TripleStr = GCCInstallation.getTriple().str(); ++ const GCCVersion &Version = GCCInstallation.getVersion(); + + if (addLibStdCXXIncludePaths(LibDir.str() + "/../include", +- "/c++/" + Version.str(), ++ "/c++/" + Version.Text, + TripleStr, + GCCInstallation.getMultiarchSuffix(), + DriverArgs, CC1Args)) +@@ -2602,10 +2604,12 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, + + const std::string IncludePathCandidates[] = { + // Gentoo is weird and places its headers inside the GCC install, so if the +- // first attempt to find the headers fails, try this pattern. +- InstallDir.str() + "/include/g++-v4", ++ // first attempt to find the headers fails, try these patterns. ++ InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." + ++ Version.MinorStr, ++ InstallDir.str() + "/include/g++-v" + Version.MajorStr, + // Android standalone toolchain has C++ headers in yet another place. +- LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.str(), ++ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, + // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++, + // without a subdirectory corresponding to the gcc version. + LibDir.str() + "/../include/c++", +diff --git a/tools/clang/lib/Driver/ToolChains.h b/tools/clang/lib/Driver/ToolChains.h +index 3afd8dd..04cf467 100644 +--- a/tools/clang/lib/Driver/ToolChains.h ++++ b/tools/clang/lib/Driver/ToolChains.h +@@ -48,6 +48,9 @@ protected: + /// \brief The parsed major, minor, and patch numbers. + int Major, Minor, Patch; + ++ /// \brief The text of the parsed major, and major+minor versions. ++ std::string MajorStr, MinorStr; ++ + /// \brief Any textual suffix on the patch number. + std::string PatchSuffix; + +-- +1.8.3.2 + diff --git a/sys-devel/llvm/llvm-3.3-r1.ebuild b/sys-devel/llvm/llvm-3.3-r1.ebuild index ab0651ddb65c..f88426e707e1 100644 --- a/sys-devel/llvm/llvm-3.3-r1.ebuild +++ b/sys-devel/llvm/llvm-3.3-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.3-r1.ebuild,v 1.13 2013/10/04 15:43:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.3-r1.ebuild,v 1.14 2013/10/13 07:34:11 mgorny Exp $ EAPI=5 @@ -165,7 +165,11 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch epatch "${FILESDIR}"/${P}-R600_debug.patch epatch "${FILESDIR}"/${PN}-3.3-gentoo-install.patch - use clang && epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch + if use clang; then + epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch + # backport support for g++-X.Y header location + epatch "${FILESDIR}"/clang-3.3-gcc-header-path.patch + fi local sub_files=( Makefile.config.in |