From dc71cb5f6eddf689df2d3f4823907a95daa3eb5e Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 28 Nov 2013 13:52:54 +0600 Subject: [PATCH] Fix Carve compilation on FreeBSD Based on the patch from Marcus von Appen, thanks! --- extern/carve/lib/triangulator.cpp | 7 +++++++ extern/carve/patches/clang_is_heap_fix.patch | 17 +++++++++++++++++ extern/carve/patches/series | 1 + 3 files changed, 25 insertions(+) create mode 100644 extern/carve/patches/clang_is_heap_fix.patch diff --git a/extern/carve/lib/triangulator.cpp b/extern/carve/lib/triangulator.cpp index 169e5a33805..bd5a30b0c2b 100644 --- a/extern/carve/lib/triangulator.cpp +++ b/extern/carve/lib/triangulator.cpp @@ -27,6 +27,13 @@ #include +// Support for latest Clang/LLVM on FreeBSD which does have different libcxx. +// +// TODO(sergey): Move it some some more generic header with platform-specific +// declarations. +#ifdef _LIBCPP_VERSION +# define __is_heap is_heap +#endif namespace { // private code related to hole patching. diff --git a/extern/carve/patches/clang_is_heap_fix.patch b/extern/carve/patches/clang_is_heap_fix.patch new file mode 100644 index 00000000000..435e408d6cd --- /dev/null +++ b/extern/carve/patches/clang_is_heap_fix.patch @@ -0,0 +1,17 @@ +diff -r 2e6e59022e6e lib/triangulator.cpp +--- a/lib/triangulator.cpp Fri Nov 09 09:35:35 2012 +1100 ++++ b/lib/triangulator.cpp Thu Nov 28 13:34:52 2013 +0600 +@@ -27,6 +27,13 @@ + + #include + ++// Support for latest Clang/LLVM on FreeBSD which does have different libcxx. ++// ++// TODO(sergey): Move it some some more generic header with platform-specific ++// declarations. ++#ifdef _LIBCPP_VERSION ++# define __is_heap is_heap ++#endif + + namespace { + // private code related to hole patching. diff --git a/extern/carve/patches/series b/extern/carve/patches/series index 0b1f731805e..5b72b49c8ca 100644 --- a/extern/carve/patches/series +++ b/extern/carve/patches/series @@ -3,3 +3,4 @@ win32.patch mesh_iterator.patch mingw.patch gcc46.patch +clang_is_heap_fix.patch