diff --git a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp index cd749d2..b5591f6 100644 --- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp @@ -393,51 +393,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple) { AddPath(*i, System, false, false, false); return; } - llvm::Triple::OSType os = triple.getOS(); - switch (os) { - case llvm::Triple::Win32: - { - std::string VSDir; - std::string WindowsSDKDir; - if (getVisualStudioDir(VSDir)) { - AddPath(VSDir + "\\VC\\include", System, false, false, false); - if (getWindowsSDKDir(WindowsSDKDir)) - AddPath(WindowsSDKDir, System, false, false, false); - else - AddPath(VSDir + "\\VC\\PlatformSDK\\Include", - System, false, false, false); - } - else { - // Default install paths. - AddPath("C:/Program Files/Microsoft Visual Studio 9.0/VC/include", - System, false, false, false); - AddPath( - "C:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include", - System, false, false, false); - AddPath("C:/Program Files/Microsoft Visual Studio 8/VC/include", - System, false, false, false); - AddPath( - "C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include", - System, false, false, false); - // For some clang developers. - AddPath("G:/Program Files/Microsoft Visual Studio 9.0/VC/include", - System, false, false, false); - AddPath( - "G:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include", - System, false, false, false); - } - } - break; - case llvm::Triple::MinGW64: - case llvm::Triple::MinGW32: - AddPath("c:/mingw/include", System, true, false, false); - break; - default: - break; - } - - AddPath("/usr/local/include", System, true, false, false); - AddPath("/usr/include", System, false, false, false); + AddPath(C_INCLUDE_PATH, System, false, false, false); } void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) { @@ -453,144 +409,9 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tripl CXX_INCLUDE_32BIT_DIR, CXX_INCLUDE_64BIT_DIR, triple); return; } - // FIXME: temporary hack: hard-coded paths. - switch (os) { - case llvm::Triple::Cygwin: - AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include", - System, true, false, false); - AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include/c++", - System, true, false, false); - break; - case llvm::Triple::MinGW64: - // Try gcc 4.4.0 - AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.4.0"); - // Try gcc 4.3.0 - AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.3.0"); - // Fall through. - case llvm::Triple::MinGW32: - // Try gcc 4.4.0 - AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.4.0"); - // Try gcc 4.3.0 - AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.3.0"); - break; - case llvm::Triple::Darwin: - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1", - "i686-apple-darwin10", "", "x86_64", triple); - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0", - "i686-apple-darwin8", "", "", triple); - break; - case llvm::Triple::DragonFly: - AddPath("/usr/include/c++/4.1", System, true, false, false); - break; - case llvm::Triple::Linux: - // Exherbo (2010-01-25) - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", - "x86_64-pc-linux-gnu", "32", "", triple); - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", - "i686-pc-linux-gnu", "", "", triple); - // Debian sid - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", - "x86_64-linux-gnu", "32", "", triple); - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", - "i486-linux-gnu", "64", "", triple); - // Ubuntu 7.10 - Gutsy Gibbon - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.3", - "i486-linux-gnu", "", "", triple); - // Ubuntu 9.04 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.3", - "x86_64-linux-gnu","32", "", triple); - // Ubuntu 9.10 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1", - "x86_64-linux-gnu", "32", "", triple); - // Fedora 8 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.2", - "i386-redhat-linux", "", "", triple); - // Fedora 9 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.0", - "i386-redhat-linux", "", "", triple); - // Fedora 10 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2", - "i386-redhat-linux","", "", triple); - - // Fedora 10 x86_64 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2", - "x86_64-redhat-linux", "32", "", triple); - - // Fedora 11 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1", - "i586-redhat-linux","", "", triple); - - // Fedora 12 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2", - "i686-redhat-linux","", "", triple); - - // Fedora 12 (February-2010+) - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", - "i686-redhat-linux","", "", triple); - - // openSUSE 11.1 32 bit - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", - "i586-suse-linux", "", "", triple); - // openSUSE 11.1 64 bit - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", - "x86_64-suse-linux", "32", "", triple); - // openSUSE 11.2 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", - "i586-suse-linux", "", "", triple); - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", - "x86_64-suse-linux", "", "", triple); - // Arch Linux 2008-06-24 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1", - "i686-pc-linux-gnu", "", "", triple); - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1", - "x86_64-unknown-linux-gnu", "", "", triple); - // Gentoo x86 2009.1 stable - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4", - "i686-pc-linux-gnu", "", "", triple); - // Gentoo x86 2009.0 stable - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4", - "i686-pc-linux-gnu", "", "", triple); - // Gentoo x86 2008.0 stable - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4", - "i686-pc-linux-gnu", "", "", triple); - // Ubuntu 8.10 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", - "i486-pc-linux-gnu", "", "", triple); - // Ubuntu 9.04 - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", - "i486-linux-gnu","", "", triple); - // Gentoo amd64 stable - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4", - "i686-pc-linux-gnu", "", "", triple); - - // Gentoo amd64 gcc 4.3.2 - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4", - "x86_64-pc-linux-gnu", "", "", triple); - - // Gentoo amd64 gcc 4.4.3 - AddGnuCPlusPlusIncludePaths( - "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4", - "x86_64-pc-linux-gnu", "32", "", triple); - - break; - case llvm::Triple::FreeBSD: - AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2", "", "", "", triple); - break; - case llvm::Triple::Solaris: - // Solaris - Fall though.. - case llvm::Triple::AuroraUX: - // AuroraUX - AddGnuCPlusPlusIncludePaths("/opt/gcc4/include/c++/4.2.4", - "i386-pc-solaris2.11", "", "", triple); - break; - default: - break; - } + AddGnuCPlusPlusIncludePaths( + CPP_INCLUDE_PATH, + CPP_HOST, "", "", triple); } void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang,