summaryrefslogtreecommitdiff
path: root/clucene
diff options
context:
space:
mode:
Diffstat (limited to 'clucene')
-rw-r--r--clucene/UnpackedTarball_clucene.mk1
-rw-r--r--clucene/patches/clucene-libcpp.patch42
2 files changed, 43 insertions, 0 deletions
diff --git a/clucene/UnpackedTarball_clucene.mk b/clucene/UnpackedTarball_clucene.mk
index ed3c900cdd84..bc11f6db6493 100644
--- a/clucene/UnpackedTarball_clucene.mk
+++ b/clucene/UnpackedTarball_clucene.mk
@@ -24,6 +24,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,clucene,0))
# http://sourceforge.net/mailarchive/message.php?msg_id=29143260
$(eval $(call gb_UnpackedTarball_add_patches,clucene,\
clucene/patches/clucene-debug.patch \
+ clucene/patches/clucene-libcpp.patch \
clucene/patches/clucene-multimap-put.patch \
clucene/patches/clucene-narrowing-conversions.patch \
clucene/patches/clucene-nullptr.patch \
diff --git a/clucene/patches/clucene-libcpp.patch b/clucene/patches/clucene-libcpp.patch
new file mode 100644
index 000000000000..35235212c795
--- /dev/null
+++ b/clucene/patches/clucene-libcpp.patch
@@ -0,0 +1,42 @@
+--- src/shared/CLucene/LuceneThreads.h
++++ src/shared/CLucene/LuceneThreads.h
+@@ -7,6 +7,7 @@
+ #ifndef _LuceneThreads_h
+ #define _LuceneThreads_h
+
++#include "CLucene/config/_threads.h"
+
+ CL_NS_DEF(util)
+ class CLuceneThreadIdCompare;
+--- src/core/CLucene/util/VoidMap.h
++++ src/core/CLucene/util/VoidMap.h
+@@ -11,8 +11,13 @@
+ #include "CLucene/LuceneThreads.h"
+
+ #if defined(_CL_HAVE_TR1_UNORDERED_MAP) && defined(_CL_HAVE_TR1_UNORDERED_SET)
++#ifdef _LIBCPP_VERSION
++ #include <unordered_map>
++ #include <unordered_set>
++#else
+ #include <tr1/unordered_map>
+ #include <tr1/unordered_set>
++#endif
+ #elif defined(_CL_HAVE_HASH_MAP) && defined(_CL_HAVE_HASH_SET)
+ //hashing is all or nothing!
+ #include <hash_map>
+--- src/shared/CLucene/config/repl_tchar.h
++++ src/shared/CLucene/config/repl_tchar.h
+@@ -36,8 +36,13 @@
+ #define _tcsncpy wcsncpy //copy a specified amount of one string to another string.
+ #define _tcscat wcscat //copy a string onto the end of the other string
+ #define _tcsncat wcsncat
++#if defined(_LIBCPP_VERSION) && defined(__APPLE__)
++ #define _tcschr ::wcschr //find location of one character
++ #define _tcsstr ::wcsstr //find location of a string
++#else
+ #define _tcschr wcschr //find location of one character
+ #define _tcsstr wcsstr //find location of a string
++#endif
+ #define _tcslen wcslen //get length of a string
+ #define _tcscmp wcscmp //case sensitive compare two strings
+ #define _tcsncmp wcsncmp //case sensitive compare two strings