Some baseline thoughts

Stephan Bergmann sbergman at redhat.com
Wed May 31 09:27:16 UTC 2017


On 03/16/2017 12:48 PM, Miklos Vajna wrote:
> On Thu, Mar 16, 2017 at 12:20:54PM +0100, Stephan Bergmann <sbergman at redhat.com> wrote:
>> Bumping this to macOS 10.9 would get rid of the last known case of
>> !HAVE_THREADSAFE_STATICS (cf. <https://cgit.freedesktop.org/libreoffice/core/commit/?id=aa2fbfc4faa24cf7ee5aa9afdafddbd536ac4fec>
>> "Found out that Mac OS X 10.9 has working threadsafe statics").  What is
>> unknown however is the status on Android and iOS.  Having
>> HAVE_THREADSAFE_STATICS everywhere would allow to clean up code, see e.g.
>> <https://gerrit.libreoffice.org/#/c/35258/> "replace double-checked-locking
>> with C++11 static initializer".
> 
> master-android$ grep -R THREADSAFE config_*/*.h
> config_build/config_global.h:#define HAVE_THREADSAFE_STATICS 1
> config_host/config_global.h:#define HAVE_THREADSAFE_STATICS 0
> 
> But this is not set in stone, quite possibly the Android toolchain (NDK,
> which provides the C++ cross-compiler) can be updated to a newer
> version, and then the problem will go away. (See
> "with_android_ndk_toolchain_version=4.9" in configure.ac.)

So after the recent bump to macOS 10.9, HAVE_THREADSAFE_STATICS should 
effectively be true everywhere expect on Android (where configure.ac 
doesn't bother at all to decide whether or not it would be true, always 
leaving it false; either because it is known to be false for the current 
Android baseline, or because those setting up Android support didn't 
bother).

Can somebody clarify the actual situation on Android?


More information about the LibreOffice mailing list