summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac10
-rw-r--r--external/boost/boost-android-unified.patch.112
-rw-r--r--external/libnumbertext/0002-regexp_match_not_null.diff12
-rw-r--r--external/libnumbertext/UnpackedTarball_libnumbertext.mk1
-rw-r--r--unotools/source/i18n/resmgr.cxx2
5 files changed, 22 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 527e24a49c1f..ca7d7a0ff157 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2766,16 +2766,6 @@ if test $_os = Darwin -o $_os = iOS; then
FRAMEWORKSHOME="$MACOSX_SDK_PATH/System/Library/Frameworks"
MACOSX_DEPLOYMENT_TARGET="$with_macosx_version_min_required"
- AC_MSG_CHECKING([whether Xcode is new enough])
- my_xcode_ver1=$(xcrun xcodebuild -version | head -n 1)
- my_xcode_ver2=${my_xcode_ver1#Xcode }
- my_xcode_ver3=$(printf %s "$my_xcode_ver2" | $AWK -F. '{ print $1*100+($2<100?$2:99) }')
- if test "$my_xcode_ver3" -ge 903; then
- AC_MSG_RESULT([yes ($my_xcode_ver2)])
- else
- AC_MSG_ERROR(["$my_xcode_ver1" is too old or unrecognized, must be at least Xcode 9.3])
- fi
-
case "$with_macosx_version_min_required" in
10.10)
MAC_OS_X_VERSION_MIN_REQUIRED="101000"
diff --git a/external/boost/boost-android-unified.patch.1 b/external/boost/boost-android-unified.patch.1
index 46181b862f49..6412cdcf6ded 100644
--- a/external/boost/boost-android-unified.patch.1
+++ b/external/boost/boost-android-unified.patch.1
@@ -1,22 +1,26 @@
--- a/boost/type_traits/detail/is_function_cxx_11.hpp
+++ b/boost/type_traits/detail/is_function_cxx_11.hpp
-@@ -18,7 +18,7 @@
+@@ -18,7 +18,9 @@
template <class T>
struct is_function : public false_type {};
-#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER)
-+#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER) && !(defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080)
++#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER) && \
++ !(defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080) && \
++ !(defined __apple_build_version__ && __apple_build_version__ <= 9000038)
#define BOOST_TT_NOEXCEPT_PARAM , bool NE
#define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
#else
--- a/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
+++ b/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
-@@ -31,7 +31,7 @@
+@@ -31,7 +31,9 @@
template <class T>
struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
-#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
-+#if (defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)) || (defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080)
++#if (defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)) || \
++ (defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080) || \
++ (defined __apple_build_version__ && __apple_build_version__ <= 9000038)
// MSVC can't handle noexcept(b) as a deduced template parameter
// so we will have to write everything out :(
#define BOOST_TT_NOEXCEPT_PARAM
diff --git a/external/libnumbertext/0002-regexp_match_not_null.diff b/external/libnumbertext/0002-regexp_match_not_null.diff
new file mode 100644
index 000000000000..30c4777ee75c
--- /dev/null
+++ b/external/libnumbertext/0002-regexp_match_not_null.diff
@@ -0,0 +1,12 @@
+diff -ur a/src/Soros.cxx b/src/Soros.cxx
+--- a/src/Soros.cxx 2018-10-09 10:33:20.000000000 +0200
++++ b/src/Soros.cxx 2018-11-15 16:49:08.000000000 +0100
+@@ -50,7 +50,7 @@
+ program = regex_replace(program, wregex(L"(^|[\n;])([^\n;#]*#[^\n]*\\[:[^\n:\\]]*:\\][^\n]*)"), L"$1#$2");
+ replace(filtered_lang, L"_", L"-");
+ program = regex_replace(program, wregex(L"(^|[\n;])#([^\n;#]*#[^\n]*\\[:" + filtered_lang + L":\\][^\n]*)"), L"$1$2");
+- program = regex_replace(program, wregex(L"(#[^\n]*)?(\n|$)"), L";"); // remove comments
++ program = regex_replace(program, wregex(L"(#[^\n]*)?(\n|$)"), L";", std::regex_constants::match_not_null); // remove comments
+ // __numbertext__ sets the place of left zero deletion rule
+ if (program.find(L"__numbertext__") == std::wstring::npos)
+ program.insert(0, L"__numbertext__;");
diff --git a/external/libnumbertext/UnpackedTarball_libnumbertext.mk b/external/libnumbertext/UnpackedTarball_libnumbertext.mk
index 67b147393e31..52a1230e5b2c 100644
--- a/external/libnumbertext/UnpackedTarball_libnumbertext.mk
+++ b/external/libnumbertext/UnpackedTarball_libnumbertext.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libnumbertext,1))
# <https://github.com/Numbertext/libnumbertext/pull/43>:
$(eval $(call gb_UnpackedTarball_add_patches,libnumbertext, \
external/libnumbertext/0001-Don-t-depend-on-en_US.UTF-8-locale.patch \
+ external/libnumbertext/0002-regexp_match_not_null.diff \
))
# vim: set noet sw=4 ts=4:
diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
index 654d3c2fae19..a2a525860254 100644
--- a/unotools/source/i18n/resmgr.cxx
+++ b/unotools/source/i18n/resmgr.cxx
@@ -21,7 +21,7 @@
// workdir/UnpackedTarball/boost/boost/locale/format.hpp using "std::auto_ptr<data> d;", but must
// come very early here in case <memory> is already (indirectly) included earlier:
#include <config_libcxx.h>
-#if HAVE_LIBCXX
+#if HAVE_LIBCXX && __cplusplus >= 201703L
#define _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR
#elif defined _MSC_VER
#define _HAS_AUTO_PTR_ETC 1