<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/384d42c57c6434ad11a208ddd8529326ab1ffc20">https://github.com/macports/macports-ports/commit/384d42c57c6434ad11a208ddd8529326ab1ffc20</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 384d42c57c6434ad11a208ddd8529326ab1ffc20
</span>Author: kencu <ken.cunningham.webuse@gmail.com>
AuthorDate: Thu Dec 13 10:13:16 2018 -0800

<span style='display:block; white-space:pre;color:#404040;'>    clang-5.0: default to stdlib=libc++ if using LibcxxOnOlderSystems
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    if the user's system in macports.conf is configured to use
</span><span style='display:block; white-space:pre;color:#404040;'>    cxx_stdlib libc++
</span><span style='display:block; white-space:pre;color:#404040;'>    then default clang to use -stdlib=libc++
</span><span style='display:block; white-space:pre;color:#404040;'>    if not otherwise specified on the build line
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    this exactly matches the behaviour of newer systems
</span><span style='display:block; white-space:pre;color:#404040;'>    building against libstd++ or macports-libstdc++ is still possible
</span><span style='display:block; white-space:pre;color:#404040;'>    if specified on the build line
</span>---
 lang/llvm-5.0/Portfile                                      | 12 ++++++++++++
 ...ang-5.0-Toolchains-default-to-libcxx-on-all-systems.diff | 13 +++++++++++++
 2 files changed, 25 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-5.0/Portfile b/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1aa039b..c35e70a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -609,6 +609,18 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>         default_variants-append +emulated_tls
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant defaultlibcxx description {default to -stdlib=libc++ on all systems}  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #patch clang to always default to -stdlib=libc++ if not otherwise specified
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append 9003-patch-clang-5.0-Toolchains-default-to-libcxx-on-all-systems.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # if macports.conf is configured to stdlib=libc++ then make that the default if not otherwise specified
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # exactly matches the behaviour of newer systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${cxx_stdlib} eq "libc++" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants-append +defaultlibcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} {
 
         patchfiles-append 9001-macports-libstdcxx.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-5.0/files/9003-patch-clang-5.0-Toolchains-default-to-libcxx-on-all-systems.diff b/lang/llvm-5.0/files/9003-patch-clang-5.0-Toolchains-default-to-libcxx-on-all-systems.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..347115a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-5.0/files/9003-patch-clang-5.0-Toolchains-default-to-libcxx-on-all-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains/Darwin.cpp.orig    2018-01-22 19:03:16.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains/Darwin.cpp 2018-01-22 19:05:24.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -680,8 +680,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool MachO::HasNativeLLVMSupport() const { return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ToolChain::CXXStdlibType Darwin::GetDefaultCXXStdlibType() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  // Default to use libc++ on OS X 10.9+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if ((isTargetMacOS() && !isMacosxVersionLT(10, 9)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Default to use libc++ on OS X 10.4+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if ((isTargetMacOS() && !isMacosxVersionLT(10, 4)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        (isTargetIOSBased() && !isIPhoneOSVersionLT(7, 0)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        isTargetWatchOSBased())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return ToolChain::CST_Libcxx;
</span></pre><pre style='margin:0'>

</pre>