From 902258ccaa1c7b08979224418f5416cc38c7b0ec Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Thu, 11 Sep 2014 02:11:14 -0700 Subject: [PATCH] [boost][android][hack] To compile boost system lib files for Android --- 3party/boost/boost/core/demangle.hpp | 5 +++++ 3party/boost/boost/detail/utf8_codecvt_facet.hpp | 8 ++++---- 3party/boost/boost/detail/utf8_codecvt_facet.ipp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/3party/boost/boost/core/demangle.hpp b/3party/boost/boost/core/demangle.hpp index eebd0ce0f1..56f58e83a4 100644 --- a/3party/boost/boost/core/demangle.hpp +++ b/3party/boost/boost/core/demangle.hpp @@ -17,6 +17,10 @@ # pragma once #endif +#if defined(ANDROID) && (defined(__i386__) || defined(mips)) +// do not define anything to avoid compilation issue with libc++ in Android SDK +// it uses gabi for libc++ on mips and x86 +#else #if defined( __clang__ ) && defined( __has_include ) # if __has_include() # define BOOST_CORE_HAS_CXXABI_H @@ -24,6 +28,7 @@ #elif defined( __GLIBCXX__ ) || defined( __GLIBCPP__ ) # define BOOST_CORE_HAS_CXXABI_H #endif +#endif #if defined( BOOST_CORE_HAS_CXXABI_H ) # include diff --git a/3party/boost/boost/detail/utf8_codecvt_facet.hpp b/3party/boost/boost/detail/utf8_codecvt_facet.hpp index 753b339336..c2d042b96b 100644 --- a/3party/boost/boost/detail/utf8_codecvt_facet.hpp +++ b/3party/boost/boost/detail/utf8_codecvt_facet.hpp @@ -92,11 +92,11 @@ namespace std { } #endif -#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) - #define BOOST_CODECVT_DO_LENGTH_CONST const -#else +//#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) +// #define BOOST_CODECVT_DO_LENGTH_CONST const +//#else #define BOOST_CODECVT_DO_LENGTH_CONST -#endif +//#endif // maximum lenght of a multibyte string #define MB_LENGTH_MAX 8 diff --git a/3party/boost/boost/detail/utf8_codecvt_facet.ipp b/3party/boost/boost/detail/utf8_codecvt_facet.ipp index 8a13124657..da7529f073 100644 --- a/3party/boost/boost/detail/utf8_codecvt_facet.ipp +++ b/3party/boost/boost/detail/utf8_codecvt_facet.ipp @@ -171,7 +171,7 @@ std::codecvt_base::result utf8_codecvt_facet::do_out( // How many char objects can I process to get <= max_limit // wchar_t objects? int utf8_codecvt_facet::do_length( - const std::mbstate_t &, + std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit