mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-14 20:00:43 +00:00
Apply patch from upstream (r176557) to detect new search path for recent
Debian changes and Ubuntu 13.04
This commit is contained in:
parent
f3fcc93f65
commit
844570a82c
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
||||
llvm-toolchain-3.2 (1:3.2repack-1~exp4) UNRELEASED; urgency=low
|
||||
|
||||
* Apply patch from upstream (r176557) to detect new search path for recent
|
||||
Debian changes and Ubuntu 13.04
|
||||
|
||||
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 06 Mar 2013 19:06:05 +0100
|
||||
|
||||
llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low
|
||||
|
||||
* Remove package "clang". It is now provided by llvm-defaults.
|
||||
|
39
debian/patches/28-gcc-4.7-paths.diff
vendored
39
debian/patches/28-gcc-4.7-paths.diff
vendored
@ -1,39 +0,0 @@
|
||||
Index: llvm-3.2.src/clang/lib/Driver/ToolChains.cpp
|
||||
===================================================================
|
||||
--- llvm-3.2.src.orig/clang/lib/Driver/ToolChains.cpp 2013-01-18 15:57:25.240901367 +0100
|
||||
+++ llvm-3.2.src/clang/lib/Driver/ToolChains.cpp 2013-01-18 15:57:49.752900485 +0100
|
||||
@@ -36,6 +36,9 @@
|
||||
#include <cstdlib> // ::getenv
|
||||
|
||||
#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
|
||||
+#include "clang/Debian/debian_path.h"
|
||||
+
|
||||
+#include <iostream>
|
||||
|
||||
using namespace clang::driver;
|
||||
using namespace clang::driver::toolchains;
|
||||
@@ -2379,6 +2382,10 @@
|
||||
|
||||
const std::string IncludePathCandidates[] = {
|
||||
LibDir.str() + "/../include/c++/" + Version.str(),
|
||||
+ // Once more, Debian headers locations changed (since gcc version 4.7.2-5)
|
||||
+ // See Debian bug tracker #693240
|
||||
+ LibDir.str() + "/../include/"+ TripleStr.str() +"/c++/" + Version.str(),
|
||||
+ LibDir.str() + "/../include/" + DEB_HOST_MULTIARCH_TRIPLET + "/c++/" + Version.str(),
|
||||
// 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",
|
||||
@@ -2390,10 +2397,10 @@
|
||||
};
|
||||
|
||||
for (unsigned i = 0; i < llvm::array_lengthof(IncludePathCandidates); ++i) {
|
||||
- if (addLibStdCXXIncludePaths(IncludePathCandidates[i], (TripleStr +
|
||||
+ addLibStdCXXIncludePaths(IncludePathCandidates[i], (TripleStr +
|
||||
GCCInstallation.getMultiarchSuffix()),
|
||||
- DriverArgs, CC1Args))
|
||||
- break;
|
||||
+ DriverArgs, CC1Args);
|
||||
+
|
||||
}
|
||||
}
|
||||
|
52
debian/patches/28-search-path-new-gcc.diff
vendored
Normal file
52
debian/patches/28-search-path-new-gcc.diff
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
Index: llvm-3.2.src/clang/lib/Driver/ToolChains.cpp
|
||||
===================================================================
|
||||
--- llvm-3.2.src.orig/clang/lib/Driver/ToolChains.cpp 2013-03-06 19:03:34.720700869 +0100
|
||||
+++ llvm-3.2.src/clang/lib/Driver/ToolChains.cpp 2013-03-06 19:03:48.968700591 +0100
|
||||
@@ -2338,7 +2338,7 @@
|
||||
addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include");
|
||||
}
|
||||
|
||||
-/// \brief Helper to add the thre variant paths for a libstdc++ installation.
|
||||
+/// \brief Helper to add the three variant paths for a libstdc++ installation.
|
||||
/*static*/ bool Linux::addLibStdCXXIncludePaths(Twine Base, Twine TargetArchDir,
|
||||
const ArgList &DriverArgs,
|
||||
ArgStringList &CC1Args) {
|
||||
@@ -2350,6 +2350,22 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
+/// \brief Helper to add an extra variant path for an (Ubuntu) multilib
|
||||
+/// libstdc++ installation.
|
||||
+/*static*/ bool Linux::addLibStdCXXIncludePaths(Twine Base, Twine Suffix,
|
||||
+ Twine TargetArchDir,
|
||||
+ Twine MultiLibSuffix,
|
||||
+ const ArgList &DriverArgs,
|
||||
+ ArgStringList &CC1Args) {
|
||||
+ if (!addLibStdCXXIncludePaths(Base+Suffix, TargetArchDir + MultiLibSuffix,
|
||||
+ DriverArgs, CC1Args))
|
||||
+ return false;
|
||||
+
|
||||
+ addSystemInclude(DriverArgs, CC1Args, Base + "/" + TargetArchDir + Suffix
|
||||
+ + MultiLibSuffix);
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
|
||||
ArgStringList &CC1Args) const {
|
||||
if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
|
||||
@@ -2377,8 +2393,14 @@
|
||||
StringRef Version = GCCInstallation.getVersion().Text;
|
||||
StringRef TripleStr = GCCInstallation.getTriple().str();
|
||||
|
||||
+ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
|
||||
+ "/c++/" + Version.str(),
|
||||
+ TripleStr,
|
||||
+ GCCInstallation.getMultiarchSuffix(),
|
||||
+ DriverArgs, CC1Args))
|
||||
+ return;
|
||||
+
|
||||
const std::string IncludePathCandidates[] = {
|
||||
- LibDir.str() + "/../include/c++/" + Version.str(),
|
||||
// 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",
|
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -6,8 +6,8 @@
|
||||
26-disable_SplitsOnSpaces.diff
|
||||
27-fix_clang_stdint.diff
|
||||
26-set-correct-float-abi.diff
|
||||
28-search-path-new-gcc.diff
|
||||
profile_rt.diff
|
||||
28-gcc-4.7-paths.diff
|
||||
29-hurd.diff
|
||||
30-kfreebsd.diff
|
||||
0003-Debian-version-info-and-bugreport.patch
|
||||
|
Loading…
Reference in New Issue
Block a user