<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/ffbafb459235fdb74b19dd3221a4db73254eed99">https://github.com/macports/macports-ports/commit/ffbafb459235fdb74b19dd3221a4db73254eed99</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 ffbafb4  libcxx: Move libcxxabi into libcxx
</span>ffbafb4 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ffbafb459235fdb74b19dd3221a4db73254eed99
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Thu Dec 28 22:01:00 2017 -0800

<span style='display:block; white-space:pre;color:#404040;'>    libcxx: Move libcxxabi into libcxx
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 lang/libcxx/Portfile                               |  56 ++++--
 ...ndancy-on-__refstring-header-use-local-co.patch | 189 +++++++++++++++++++++
 ...dit-script-to-read-EXTRA_LDFLAGS-from-the.patch |  28 +++
 ...CPP_BUILDING_LIBRARY-during-build-to-supp.patch |  27 +++
 ...Use-undefined-dynamic_lookup-when-linking.patch |  28 +++
 .../files/3001-buildit-build-fix-for-Leopard.patch |  12 +-
 ...-compatibility-version-to-RC_ProjectSourc.patch |  12 +-
 ...nd-iterator-when-building-with-Lion-and-n.patch |  20 +--
 ...-long-long-math-prototypes-when-using-the.patch |  12 +-
 ...tomic-using-mutex-lock_guard-for-64b-ops-.patch |  18 +-
 ...e-LIBCXXABI_PATH-for-path-to-build-time-l.patch |  74 ++++++++
 lang/libcxx/files/Makefile                         |  22 +++
 lang/libcxxabi/Portfile                            | 131 +-------------
 13 files changed, 452 insertions(+), 177 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/Portfile b/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bb00057..f8be85c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortGroup               compiler_blacklist_versions 1.0
</span> name                    libcxx
 epoch                   1
 version                 3.9.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                2
</span> categories              lang
 platforms               darwin
 license                 MIT NCSA
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,10 +23,19 @@ master_sites            http://www.llvm.org/releases/${version}/
</span> dist_subdir             llvm
 
 use_xz                  yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                ${name}-${version}.src
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  43bcf879f60763425f5d296f4fa5ac0b9a0779f6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxxabi_distname  libcxxabi-${version}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_distname     libcxx-${version}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles               ${libcxxabi_distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${libcxx_distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               libcxx-3.9.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  43bcf879f60763425f5d296f4fa5ac0b9a0779f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        libcxxabi-3.9.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  fe3ed237640b0c1a8f8ce3b2654f78005308f1cd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  920d8be32e6f5574a3fb293f93a31225eeba15086820fcb942155bf50dc029e2
</span> 
 variant universal {}
 default_variants +universal
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,6 +44,9 @@ use_configure no
</span> set roots_path ${prefix}/var/system_roots/
 set root_name  ${name}-${version}-${revision}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxxabi_worksrcpath   [file join ${workpath} ${libcxxabi_distname}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_worksrcpath      [file join ${workpath} ${libcxx_distname}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin {
     if {${os.major} < 9} {
         pre-fetch {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,8 +80,6 @@ if {${os.major} < 11 || [variant_isset replacemnt_libcxx]} {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib port:libcxxabi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     supported_archs i386 x86_64 ppc
 
     if {[variant_isset universal] && [lsearch ${universal_archs} ppc] != -1} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,23 +87,42 @@ if {${os.major} < 11 || [variant_isset replacemnt_libcxx]} {
</span>         compiler.whitelist macports-clang-3.7 macports-clang-3.6
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch.pre_args -p3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # delete cxa_noexception.cpp as we're not using the cmake build system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # cmake would choose either cxa_exceptions or cxa_noexceptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # but the buildit script just builds every file in the src directory and you can't have both
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${libcxxabi_worksrcpath}/src/cxa_noexception.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${filespath}/Makefile ${workpath}/build
</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;'>+    patch.dir ${workpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch.pre_args -p0
</span>     patchfiles-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        0001-Remove-dependancy-on-__refstring-header-use-local-co.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch \
</span>         3001-buildit-build-fix-for-Leopard.patch \
         3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch \
         3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch \
         3004-Fix-missing-long-long-math-prototypes-when-using-the.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.dir ${worksrcpath}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.cmd ./buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.dir ${workpath}/build
</span>     build.env-append \
         CC="${configure.cc}" \
         CXX="${configure.cxx}" \
         RC_XBS=1 \
         RC_ProjectSourceVersion="${version}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        RC_CFLAGS="[get_canonical_archflags]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        RC_CFLAGS="[get_canonical_archflags] -I${libcxxabi_worksrcpath}/include -I${libcxx_worksrcpath}/include" \
</span>         TRIPLE="-apple-darwin${os.major}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        LIBCXXABI_PATH=${libcxxabi_worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        LIBCXX_PATH=${libcxx_worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        LIBCXXABI_DYLIB_PATH=${build.dir}/libc++abi.dylib
</span> 
     # We want to use the host's libc++ everywhere because we want to ensure
     # that only *ONE* copy of this library is in any process's address space.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,7 +135,10 @@ if {${os.major} < 11 || [variant_isset replacemnt_libcxx]} {
</span> 
     destroot {
         xinstall -m 755 -d ${destroot}${roots_path}/${root_name}/usr/lib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 ${worksrcpath}/lib/libc++.1.dylib ${destroot}${roots_path}/${root_name}/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 ${libcxxabi_worksrcpath}/lib/libc++abi.dylib ${destroot}${roots_path}/${root_name}/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 ${libcxx_worksrcpath}/lib/libc++.1.dylib ${destroot}${roots_path}/${root_name}/usr/lib
</span>         ln -s libc++.1.dylib ${destroot}${roots_path}/${root_name}/usr/lib/libc++.dylib
 
         system -W ${destroot}${roots_path}/${root_name} "tar czf ../${root_name}.tgz ."
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch b/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..1d9fe7a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,189 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 831c908f3f32c13bc3a099f0a4e1e81e75f423ed Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Eric Fiselier <eric@efcs.ca>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 12 Jul 2017 01:34:21 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1/4] Remove dependancy on __refstring header; use local copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch removes the dependancy on libc++'s __refstring header,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+which was only a header in the first place so that libc++abi could
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build library code using it, and not because libc++ needed it in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch allows libc++ to stop shipping <__refstring> publicaly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+at the cost of duplicating it across projects. Ideally libc++abi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+would always require the libc++ sources when building, but that's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a separate discussion I plan to start on the mailing lists shortly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307748 91177308-0d34-0410-b5e6-96231b3b80d8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 28942d3ba886b4f215ac6ddaa05c55d35d927621)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/include/refstring.h | 143 ++++++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/stdexcept.cpp       |   2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 144 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-3.9.1.src/src/include/refstring.h libcxxabi-3.9.1.src/src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..390e664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-3.9.1.src/src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,143 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//===------------------------ __refstring ---------------------------------===//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//                     The LLVM Compiler Infrastructure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// This file is dual licensed under the MIT and the University of Illinois Open
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Source Licenses. See LICENSE.TXT for details.
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// FIXME: This file is copied from libcxx/src/include/refstring.h. Instead of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// duplicating the file in libc++abi we should require that the libc++ sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// are available when building libc++abi.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <__config>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <cstddef>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <cstring>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <dlfcn.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_LIBCPP_BEGIN_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class _LIBCPP_HIDDEN __libcpp_refstring
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const char* str_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef int count_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    struct _Rep_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        std::size_t len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        std::size_t cap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        count_t     count;
</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;'>++    static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Rep_base*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    rep_from_data(const char *data_) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        char *data = const_cast<char *>(data_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return reinterpret_cast<_Rep_base *>(data - sizeof(_Rep_base));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    data_from_rep(_Rep_base *rep) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        char *data = reinterpret_cast<char *>(rep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return data + sizeof(*rep);
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const char*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    compute_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (handle == nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        void* sym = dlsym(handle, "_ZNSs4_Rep20_S_empty_rep_storageE");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (sym == nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return data_from_rep(reinterpret_cast<_Rep_base *>(sym));
</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;'>++    static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const char*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    get_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        static const char* p = compute_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return p;
</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;'>++    bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    uses_refcount() const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return str_ != get_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    uses_refcount() const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    explicit __libcpp_refstring(const char* msg) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        std::size_t len = strlen(msg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        _Rep_base* rep = static_cast<_Rep_base *>(::operator new(sizeof(*rep) + len + 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        rep->len = len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        rep->cap = len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        rep->count = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        char *data = data_from_rep(rep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        std::memcpy(data, msg, len + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        str_ = data;
</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;'>++    __libcpp_refstring(const __libcpp_refstring& s) _NOEXCEPT : str_(s.str_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            __sync_add_and_fetch(&rep_from_data(str_)->count, 1);
</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;'>++    __libcpp_refstring& operator=(const __libcpp_refstring& s) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        bool adjust_old_count = uses_refcount();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        struct _Rep_base *old_rep = rep_from_data(str_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        str_ = s.str_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            __sync_add_and_fetch(&rep_from_data(str_)->count, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (adjust_old_count)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (__sync_add_and_fetch(&old_rep->count, count_t(-1)) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                ::operator delete(old_rep);
</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;'>++        return *this;
</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;'>++    ~__libcpp_refstring()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            _Rep_base* rep = rep_from_data(str_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (__sync_add_and_fetch(&rep->count, count_t(-1)) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                ::operator delete(rep);
</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;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const char* c_str() const _NOEXCEPT {return str_;}
</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;'>++_LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif //_LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-3.9.1.src/src/stdexcept.cpp libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bd6789e..e3b7cd4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,7 +7,7 @@
</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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "__refstring"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "include/refstring.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "stdexcept"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "new"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cstdlib>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch b/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a6efec6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1b9006a32bb2bd9428f54253636db5266e928f80 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 11 Jan 2015 14:31:06 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2/4] Update buildit script to read EXTRA_LDFLAGS from the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ environment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 327c4e313aa524e95707b04cf6059d30dc797ba2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/buildit | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5a4a710..f63acd0 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,7 +91,7 @@ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-$CC *.o $RC_CFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$CC *.o $RC_CFLAGS $EXTRA_LDFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if [ -z $RC_XBS ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch b/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5c1d6a5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From eb79342cc9e42a13817dd9b6054fb53b8669a6e5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 28 Dec 2017 10:20:30 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3/4] Define _LIBCPP_BUILDING_LIBRARY during build to support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using newer STL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/buildit | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f63acd0..508a805 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,7 +32,7 @@ EXTRA_FLAGS="-std=c++11 -stdlib=libc++ -fstrict-aliasing -Wstrict-aliasing=2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              -Wmissing-field-initializers -Wchar-subscripts -Wmismatched-tags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              -Wmissing-braces -Wshorten-64-to-32 -Wsign-compare \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              -Wstrict-aliasing=2 -Wstrict-overflow=4 -Wunused-parameter \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             -Wnewline-eof"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++             -Wnewline-eof -D_LIBCPP_BUILDING_LIBRARY"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *-apple-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch b/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5dff041
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6948ad9d37b72c747f6fffb9e7fa7776fa113c71 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 28 Dec 2017 21:14:54 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 4/4] buildit: Use -undefined dynamic_lookup when linking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This parallels the change made in 71ba2871943cec379da0585c16f69fb5ac5a884b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 289123805bea83cc4c0a9a64722a22fcdf7af5b9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/buildit | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 508a805..d03e0e6 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,6 +52,7 @@ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         -current_version ${RC_ProjectSourceVersion} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         -compatibility_version 1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         -install_name /usr/lib/libc++abi.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        -Wl,-undefined,dynamic_lookup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         -lSystem"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if [ -f "${SDKROOT}/usr/local/lib/libCrashReporterClient.a" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch b/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index b85cf1e..44b9842 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +1,17 @@
</span> From d0d5d0265097c7ad2b30f67e94dfabee19b5ea76 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:10:35 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3001/3005] buildit build fix for Leopard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3001/3006] buildit build fix for Leopard
</span> 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 ---
  lib/buildit | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/lib/buildit macports_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6451a9b..237e5a7 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6451a9bfa..237e5a7fc 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/lib/buildit
</span> @@ -50,7 +50,7 @@ case $TRIPLE in
        RC_CFLAGS="-arch i386 -arch x86_64"
      fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,5 +31,5 @@ index 6451a9b..237e5a7 100755
</span>          if [ -n "$SDKROOT" ]
          then
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch b/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index fdcad12..4c650ac 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span> From f8bdf2f105db08162f868f898d9653eddbd39bf3 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:11:37 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3002/3005] buildit: Set compatibility version to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3002/3006] buildit: Set compatibility version to
</span>  RC_ProjectSourceVersion
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,10 +9,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  lib/buildit | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/lib/buildit macports_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 237e5a7..d313efe 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 237e5a7fc..d313efe1f 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/lib/buildit
</span> @@ -54,7 +54,8 @@ case $TRIPLE in
      then
          EXTRA_FLAGS="-nostdinc++ -std=c++11 -U__STRICT_ANSI__"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,5 +24,5 @@ index 237e5a7..d313efe 100755
</span>              -install_name /usr/lib/libc++.1.dylib \
              -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch b/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 92d4701..0da5702 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span> From 64d28394b6138803b1863178184a8863ddf9b1e0 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:34:36 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3003/3005] Fix <local> and <iterator> when building with Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3003/3006] Fix <local> and <iterator> when building with Lion
</span>  and newer Availability.h
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,10 +10,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  include/locale   | 4 ++--
  2 files changed, 4 insertions(+), 4 deletions(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/include/iterator macports_release_39/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0caabbb..72fdfac 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/include/iterator libcxx-3.9.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0caabbb2e..72fdfac0f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/include/iterator
</span> @@ -1005,8 +1005,8 @@ public:
      _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,10 +25,10 @@ index 0caabbb..72fdfac 100644
</span>  
      template <class _Ch, class _Tr>
      friend
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/include/locale macports_release_39/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3d804e8..a7bb0a5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/include/locale libcxx-3.9.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3d804e86f..a7bb0a577 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/include/locale
</span> @@ -1316,8 +1316,8 @@ __pad_and_output(_OutputIterator __s,
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,5 +41,5 @@ index 3d804e8..a7bb0a5 100644
</span>  template <class _CharT, class _Traits>
  _LIBCPP_HIDDEN
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch b/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 070b9fe..c7dc6ba 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span> From 0623b92d7c83e0950aa84c6ff655047ff900a414 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Sat, 17 Jan 2015 16:26:20 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3004/3005] Fix missing long long math prototypes when using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3004/3006] Fix missing long long math prototypes when using
</span>  the Snow Leopard SDK
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,10 +10,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  include/math.h | 26 ++++++++++++++++++++++++++
  1 file changed, 26 insertions(+)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/include/math.h macports_release_39/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2020554..9095594 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/include/math.h libcxx-3.9.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 20205544d..909559462 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/include/math.h
</span> @@ -300,6 +300,32 @@ long double    truncl(long double x);
  
  #include_next <math.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,5 +48,5 @@ index 2020554..9095594 100644
</span>  
  // We support including .h headers inside 'extern "C"' contexts, so switch
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch b/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index dd76e6d..ce95d47 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span> From eb55733b721b593ab1320db536c20e52e01257e4 Mon Sep 17 00:00:00 2001
 From: David Fang <fang@csl.cornell.edu>
 Date: Wed, 15 Jan 2014 21:27:34 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3005/3005] implement atomic<> using mutex/lock_guard for 64b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3005/3006] implement atomic<> using mutex/lock_guard for 64b
</span>  ops on 32b PPC not pretty, not fast, but passes atomic tests
 
 ---
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,11 +10,11 @@ Subject: [PATCH 3005/3005] implement atomic<> using mutex/lock_guard for 64b
</span>  2 files changed, 286 insertions(+)
  create mode 100644 include/__atomic_locked
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/include/__atomic_locked macports_release_39/projects/libcxx/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/include/__atomic_locked libcxx-3.9.1.src/include/__atomic_locked
</span> new file mode 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..f10dd74
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 000000000..f10dd747e
</span> --- /dev/null
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/include/__atomic_locked
</span> @@ -0,0 +1,240 @@
 +// -*- C++ -*-
 +//===--------------------------- __atomic_locked --------------------------===//
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -256,10 +256,10 @@ index 0000000..f10dd74
</span> +_LIBCPP_END_NAMESPACE_STD
 +
 +#endif  // _LIBCPP_ATOMIC_LOCKED
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_release_39/projects/libcxx/include/atomic macports_release_39/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 11f2152..2df36dd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_release_39/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_release_39/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/include/atomic libcxx-3.9.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 11f2152e5..2df36ddc6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/include/atomic
</span> @@ -1841,4 +1841,50 @@ typedef atomic<uintmax_t> atomic_uintmax_t;
  
  _LIBCPP_END_NAMESPACE_STD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -312,5 +312,5 @@ index 11f2152..2df36dd 100644
</span> +
  #endif  // _LIBCPP_ATOMIC
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch b/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a06b61d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,74 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0c751aa4c9397dcb5ad54bae04f03dd56f4c2855 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 28 Dec 2017 21:49:22 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3006/3006] MacPorts: Use LIBCXXABI_PATH for path to build-time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libc++abi.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/buildit | 32 +++++++++-----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 9 insertions(+), 23 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d313efe1f..50469fc07 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,6 +50,12 @@ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       RC_CFLAGS="-arch i386 -arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     SOEXT=dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if [ -z "${LIBCXXABI_DYLIB_PATH}" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        LIBCXXABI_DYLIB_PATH=/usr/lib/libc++abi.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if [ "$MACOSX_DEPLOYMENT_TARGET" = "10.5" ] || [ "$MACOSX_DEPLOYMENT_TARGET" = "10.6" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         EXTRA_FLAGS="-nostdinc++ -std=c++11 -U__STRICT_ANSI__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,31 +64,10 @@ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -current_version ${RC_ProjectSourceVersion} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -compatibility_version 1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -install_name /usr/lib/libc++.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            -Wl,-reexport_library,${LIBCXXABI_DYLIB_PATH} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -Wl,-unexported_symbols_list,libc++unexp.exp  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             /usr/lib/libSystem.B.dylib /usr/lib/libgcc_s.1.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if [ -n "$SDKROOT" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            EXTRA_FLAGS+="-isysroot ${SDKROOT} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if echo "${RC_ARCHS}" | grep -q "armv7"  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                RE_EXPORT_LINE="${SDKROOT}/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++sjlj-abi.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                RE_EXPORT_LINE="-Wl,-reexport_library,${SDKROOT}/usr/lib/libc++abi.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            CXX=`xcrun -sdk "${SDKROOT}"  -find clang++`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            CC=`xcrun -sdk "${SDKROOT}"  -find clang`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # Check if we have _LIBCPPABI_VERSION, to determine the reexport list to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if (echo "#include <cxxabi.h>" | $CXX -E -dM -x c++ - | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                grep _LIBCPPABI_VERSION > /dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi2.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         LDSHARED_FLAGS="-o libc++.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -dynamiclib -nodefaultlibs  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -current_version ${RC_ProjectSourceVersion} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,7 +75,8 @@ case $TRIPLE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -install_name /usr/lib/libc++.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -lSystem  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -Wl,-unexported_symbols_list,libc++unexp.exp  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            ${RE_EXPORT_LINE}  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            -Wl,-reexport_library,${LIBCXXABI_DYLIB_PATH} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            -Wl,-reexported_symbols_list,libc++abi2.exp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -Wl,-force_symbols_not_weak_list,notweak.exp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             -Wl,-force_symbols_weak_list,weak.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/Makefile b/lang/libcxx/files/Makefile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cfa2fc2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/Makefile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+all: libc++.1.dylib libc++abi.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+install: all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install -d -m 755 $(DESTDIR)/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install -m 755 libc++abi.dylib $(DESTDIR)/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install -m 755 libc++.1.dylib $(DESTDIR)/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ln -s libc++.1.dylib $(DESTDIR)/usr/lib/libc++.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$(LIBCXXABI_PATH)/lib/libc++abi.dylib: $(LIBCXXABI_PATH)/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cd $(LIBCXXABI_PATH)/lib && ./buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$(LIBCXX_PATH)/lib/libc++.1.dylib: libc++abi.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cd $(LIBCXX_PATH)/lib && ./buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libc++abi.dylib: $(LIBCXXABI_PATH)/lib/libc++abi.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libc++.1.dylib: $(LIBCXX_PATH)/lib/libc++.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libc++.dylib: libc++.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ln -s $< $@
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxxabi/Portfile b/lang/libcxxabi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9c96d20..4d5d8f0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxxabi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxxabi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +1,11 @@
</span> PortSystem              1.0
 PortGroup               compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
 name                    libcxxabi
 epoch                   1
 version                 3.9.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                3
</span> categories              lang
 platforms               darwin
 license                 MIT NCSA
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,130 +19,4 @@ long_description        ${description} \
</span>                         to replace the existing host implementation.
 
 homepage                http://libcxxabi.llvm.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            http://www.llvm.org/releases/${version}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dist_subdir             llvm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                ${name}-${version}.src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  fe3ed237640b0c1a8f8ce3b2654f78005308f1cd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  920d8be32e6f5574a3fb293f93a31225eeba15086820fcb942155bf50dc029e2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set roots_path ${prefix}/var/system_roots/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set root_name  ${name}-${version}-${revision}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args          -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0001-Remove-dependancy-on-__refstring-header-use-local-co.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants +universal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_configure no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} < 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${name} is not supported on Tiger or earlier."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            error "unsupported platform"
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dirs /
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${os.subplatform} eq "macosx"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend dirs ${developer_dir}/SDKs/MacOSX${macosx_version}.sdk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            foreach d ${dirs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system -W ${d} "tar xzf ${roots_path}/${root_name}.tgz"
</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;'>-    }
</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;'>-variant replacemnt_libcxx description {EXPERTS ONLY: Build a replacement libcxxabi and libcxx even if it is already part of the base OS.} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} < 11 || [variant_isset replacemnt_libcxx]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.blacklist *gcc* {clang < 300}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # clang 3.5 and newer are blacklisted to prevent dependency cycles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach ver {3.5 3.6 3.7 3.8 3.9 4.0 5.0 devel} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            compiler.blacklist-append macports-clang-${ver}
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs i386 x86_64 ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal] && [lsearch ${universal_archs} ppc] != -1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # http://trac.macports.org/wiki/LibcxxOnOlderSystems#Leopardppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler.whitelist macports-clang-3.7 macports-clang-3.6
</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;'>-    # delete cxa_noexception.cpp as we're not using the cmake build system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # cmake would choose either cxa_exceptions or cxa_noexceptions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # but the buildit script just builds every file in the src directory and you can't have both
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${worksrcpath}/src/cxa_noexception.cpp
</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;'>-    if {${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            port:libunwind \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            port:libmacho
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system "nm -g ${prefix}/lib/libmacho.a 2> /dev/null | grep ' \[DST\] ' | awk '{print \$3}' > ${worksrcpath}/unexported_symbols_macho"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system "nm -g ${prefix}/lib/libunwind.a 2> /dev/null | grep ' \[DST\] ' | awk '{print \$3}' | grep -v '^__Unwind' > ${worksrcpath}/unexported_symbols_unwind"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system "cat ${worksrcpath}/unexported_symbols_macho ${worksrcpath}/unexported_symbols_unwind > ${worksrcpath}/unexported_symbols"
</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;'>-        build.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            EXTRA_LDFLAGS="${prefix}/lib/libmacho.a ${prefix}/lib/libunwind.a -unexported_symbols_list ${worksrcpath}/unexported_symbols"
</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;'>-    build.dir ${worksrcpath}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.cmd ./buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CC="${configure.cc} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CXX="${configure.cxx} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        RC_XBS=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        RC_CFLAGS="[get_canonical_archflags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        RC_ProjectSourceVersion="${version}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        TRIPLE="-apple-darwin${os.major}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # We want to use the host's libc++abi everywhere because we want to ensure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # that only *ONE* copy of this library is in any process's address space.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # On Snow Leopard, this port provides this library in /usr for binary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # compatibility with Lion and later.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # On newer OS version, this port does not install the content to /usr and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # just leaves it to expert users who may want to replace their system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # runtime.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 -d ${destroot}${roots_path}/${root_name}/usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 ${worksrcpath}/lib/libc++abi.dylib ${destroot}${roots_path}/${root_name}/usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 -d ${destroot}${roots_path}/${root_name}/usr/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 ${worksrcpath}/include/__cxxabi_config.h ${destroot}${roots_path}/${root_name}/usr/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 ${worksrcpath}/include/cxxabi.h ${destroot}${roots_path}/${root_name}/usr/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system -W ${destroot}${roots_path}/${root_name} "tar czf ../${root_name}.tgz ."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${destroot}${roots_path}/${root_name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    distfiles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    fetch {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -d ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "echo ${name} is an empty port on this OS version because the functionality is already provided by the OS. > ${destroot}${prefix}/share/doc/${name}/README.txt"
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type          none
</span></pre><pre style='margin:0'>

</pre>