<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/940be0184457f975068bf3554c2374664e83a036">https://github.com/macports/macports-ports/commit/940be0184457f975068bf3554c2374664e83a036</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 940be01 clang-devel: refactor patch file
</span>940be01 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 940be0184457f975068bf3554c2374664e83a036
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sat Jul 6 07:31:09 2019 -0700
<span style='display:block; white-space:pre;color:#404040;'> clang-devel: refactor patch file
</span>---
lang/llvm-devel/Portfile | 14 +--
lang/llvm-devel/files/9001-macports-libstdcxx.diff | 99 +++++++++++-----------
2 files changed, 58 insertions(+), 55 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/Portfile b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b5cfa98..27b30a2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -587,14 +587,14 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>
variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # TODO: This variant is currently broken. We need to rebase this patch.
</span> patchfiles-append 9001-macports-libstdcxx.diff
post-patch {
reinplace "s|@@MACPORTS_GCC_INCLUDE_DIR@@|${prefix}/include/gcc/c++|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> reinplace "s|@@MACPORTS_HOST_NAME@@|${build_arch}-apple-darwin${os.major}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> reinplace "s|@@MACPORTS_libstdc++@@|${prefix}/lib/libgcc/libstdc++.6.dylib|g" \
${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -631,13 +631,13 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> }
reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@|${gcc_subdirectory_x86_64}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_i386@@|${gcc_subdirectory_i386}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@|${gcc_subdirectory_ppc64}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc@@|${gcc_subdirectory_ppc}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span> }
}
default_variants-append +libstdcxx
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9001-macports-libstdcxx.diff b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index c73a7b2..a5f6ad8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,6 @@
</span> --- orig/tools/clang/include/clang/Lex/HeaderSearchOptions.h
+++ new/tools/clang/include/clang/Lex/HeaderSearchOptions.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -185,6 +185,9 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,6 +184,9 @@ public:
</span> /// Use libc++ instead of the default libstdc++.
unsigned UseLibcxx : 1;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12,7 +12,7 @@
</span>
--- orig/tools/clang/lib/Frontend/CompilerInvocation.cpp
+++ new/tools/clang/lib/Frontend/CompilerInvocation.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1721,8 +1721,10 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1967,8 +1967,10 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args,
</span> Opts.UseBuiltinIncludes = !Args.hasArg(OPT_nobuiltininc);
Opts.UseStandardSystemIncludes = !Args.hasArg(OPT_nostdsysteminc);
Opts.UseStandardCXXIncludes = !Args.hasArg(OPT_nostdincxx);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +26,7 @@
</span> // Canonicalize -fmodules-cache-path before storing it.
--- orig/tools/clang/lib/Frontend/InitHeaderSearch.cpp
+++ new/tools/clang/lib/Frontend/InitHeaderSearch.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -111,7 +111,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,7 +110,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span> #if defined(_WIN32)
return !Path.empty() && llvm::sys::path::is_separator(Path[0]);
#else
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,47 +35,6 @@
</span> #endif
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -371,9 +371,17 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case llvm::Triple::ppc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case llvm::Triple::ppc64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "powerpc-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound = AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "powerpc-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "powerpc-apple-darwin8", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -381,9 +389,16 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case llvm::Triple::x86:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case llvm::Triple::x86_64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "i686-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound = AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_i386@@", "@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "i686-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IsBaseFound |= AddGnuCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "/usr/include/c++/4.0.0", "i686-apple-darwin8", "", "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span> --- orig/tools/clang/include/clang/Driver/ToolChain.h
+++ new/tools/clang/include/clang/Driver/ToolChain.h
@@ -91,7 +91,8 @@ public:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -90,7 +49,51 @@
</span> enum RuntimeLibType {
--- orig/tools/clang/lib/Driver/ToolChains/Darwin.cpp
+++ new/tools/clang/lib/Driver/ToolChains/Darwin.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1729,6 +1729,12 @@ void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1953,10 +1953,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case llvm::Triple::ppc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case llvm::Triple::ppc64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, "@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "@@MACPORTS_HOST_NAME@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch == llvm::Triple::ppc64 ? "@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@" : "@@MACPORTS_GCC_SUBDIRECTORY_ppc@@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "4.0.0", "powerpc-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1964,10 +1971,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case llvm::Triple::x86:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case llvm::Triple::x86_64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "i686-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, "@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "@@MACPORTS_HOST_NAME@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch == llvm::Triple::x86_64 ? "@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@" : "@@MACPORTS_GCC_SUBDIRECTORY_i386@@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "i686-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "4.0.0", "i686-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2010,6 +2024,12 @@ void DarwinClang::AddCXXStdlibLibArgs(co
</span> break;
case ToolChain::CST_Libstdcxx:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,7 +108,7 @@
</span> // platforms we care about it was -lstdc++.6, so we search for that
--- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -557,6 +557,8 @@ HexagonToolChain::GetCXXStdlibType(const ArgList &Args) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -551,6 +551,8 @@ HexagonToolChain::GetCXXStdlibType(const ArgList &Args) const {
</span> return ToolChain::CST_Libstdcxx;
StringRef Value = A->getValue();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,7 +119,7 @@
</span>
--- orig/tools/clang/lib/Driver/ToolChain.cpp
+++ new/tools/clang/lib/Driver/ToolChain.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -674,6 +674,8 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -766,6 +766,8 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
</span> return ToolChain::CST_Libcxx;
else if (LibName == "libstdc++")
return ToolChain::CST_Libstdcxx;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +128,7 @@
</span> else if (LibName == "platform")
return GetDefaultCXXStdlibType();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -755,6 +757,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -847,6 +849,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
</span> break;
case ToolChain::CST_Libstdcxx:
</pre><pre style='margin:0'>
</pre>