Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/extern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-11-28 11:52:54 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-11-28 12:00:10 +0400
commitdc71cb5f6eddf689df2d3f4823907a95daa3eb5e (patch)
treed4c47fb1e98c9c7fff1d88309344cbd3463d4883 /extern
parenta628ca9ebe3a5296e197f12adf5988cb37f6050b (diff)
Fix Carve compilation on FreeBSD
Based on the patch from Marcus von Appen, thanks!
Diffstat (limited to 'extern')
-rw-r--r--extern/carve/lib/triangulator.cpp7
-rw-r--r--extern/carve/patches/clang_is_heap_fix.patch17
-rw-r--r--extern/carve/patches/series1
3 files changed, 25 insertions, 0 deletions
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 <algorithm>
+// 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 <algorithm>
+
++// 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