diff --git a/config_host.mk.in b/config_host.mk.in index 8dd533aa3b35..11d95cdbd58b 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -32,6 +32,7 @@ export ATL_LIB=@ATL_LIB@ export AWTLIB=@AWTLIB@ export BARCODE_EXTENSION_PACK=@BARCODE_EXTENSION_PACK@ export BOOST_CPPFLAGS=@BOOST_CPPFLAGS@ +export BOOST_CXXFLAGS=@BOOST_CXXFLAGS@ export BOOST_DATE_TIME_LIB=@BOOST_DATE_TIME_LIB@ export BOOST_LDFLAGS=@BOOST_LDFLAGS@ export BOOST_SYSTEM_LIB=@BOOST_SYSTEM_LIB@ diff --git a/configure.ac b/configure.ac index 45980d873516..62d2f783ad73 100644 --- a/configure.ac +++ b/configure.ac @@ -5005,7 +5005,7 @@ if test "$GXX" = "yes"; then fi fi if test "$_gpp_majmin" -ge "401"; then - AC_MSG_ERROR([You need to use the g++-4.0 compiler (g++ $_gpp_version won't work with the MacOSX10.4u.sdk) - set CXX accordingly]) + AC_MSG_ERROR([You need to use the g++-4.0 compiler (g++ $_gpp_version will not work with the MacOSX10.4u.sdk) - set CXX accordingly]) else AC_MSG_RESULT([implicitly using CXX=$CXX]) fi @@ -5036,7 +5036,27 @@ if test "$GXX" = "yes"; then } ]])],[AC_MSG_ERROR([your version of the GNU C++ compile has a bug which prevents LibreOffice from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details.])],[AC_MSG_RESULT([no])],[]) fi + dnl see https://code.google.com/p/android/issues/detail?id=41770 + if test "$_gpp_majmin" -ge "407"; then + glibcxx_threads=no + AC_MSG_CHECKING([whether $CXX is broken with boost.thread]) + AC_LANG_PUSH([C++]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ + #include ]],[[ + #if !defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ + && !defined(_GLIBCXX__PTHREADS) \ + && !defined(_GLIBCXX_HAS_GTHREADS) + choke me + #endif + ]])],[AC_MSG_RESULT([yes]) + glibcxx_threads=yes],[AC_MSG_RESULT([no])]) + AC_LANG_POP([C++]) + if test $glibcxx_threads = yes; then + BOOST_CXXFLAGS="-D_GLIBCXX_HAS_GTHREADS" + fi + fi fi +AC_SUBST(BOOST_CXXFLAGS) # # prefx CXX with ccache if needed diff --git a/liborcus/ExternalProject_liborcus.mk b/liborcus/ExternalProject_liborcus.mk index 7b1230203881..e9326483ba75 100644 --- a/liborcus/ExternalProject_liborcus.mk +++ b/liborcus/ExternalProject_liborcus.mk @@ -67,7 +67,9 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) : --disable-spreadsheet-model \ --disable-werror \ $(if $(filter LINUX FREEBSD OPENBSD NETBSD DRAGONFLY ANDROID,$(OS)),$(if $(gb_ENABLE_DBGUTIL),CPPFLAGS=-D_GLIBCXX_DEBUG)) \ - $(if $(filter NO,$(SYSTEM_BOOST)),CXXFLAGS=-I$(call gb_UnpackedTarball_get_dir,boost),CXXFLAGS=$(BOOST_CPPFLAGS) LDFLAGS=$(BOOST_LDFLAGS)) \ + CXXFLAGS="$(BOOST_CXXFLAGS) $(if $(filter NO,$(SYSTEM_BOOST)),\ + -I$(call gb_UnpackedTarball_get_dir,boost),$(BOOST_CPPFLAGS))" \ + $(if $(filter YES,$(SYSTEM_BOOST)),LDFLAGS=$(BOOST_LDFLAGS)) \ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ && $(MAKE) \ )