From 831ab93fa40160ee46a95b7604d64098b177c8dd Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 2 Feb 2015 15:22:52 +0100 Subject: libreofficekit_hook must be exported on iOS for dlsym() to find it Change-Id: I824e977e99e8889e5cb69403feb0f1d5e1d0cc31 --- desktop/source/lib/init.cxx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 154a8f5ae630..0072ecc824fa 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -847,7 +847,20 @@ static int lo_initialize(LibreOfficeKit* pThis, const char* pAppPath) return bInitialized; } -SAL_DLLPUBLIC_EXPORT LibreOfficeKit *libreofficekit_hook(const char* install_path) +// Undo our clever trick of having SAL_DLLPUBLIC_EXPORT actually not +// meaning what is says in for the DISABLE_DYNLOADING case. See +// . Normally, when building just one big dylib (Android) +// or executable (iOS), most of our "public" symbols don't need to be +// visible outside that resulting dylib/executable. But +// libreofficekit_hook must be exported for dlsym() to find it, +// though, at least on iOS. + +#if defined(__GNUC__) && defined(HAVE_GCC_VISIBILITY_FEATURE) && defined(DISABLE_DYNLOADING) +__attribute__ ((visibility("default"))) +#else +SAL_DLLPUBLIC_EXPORT +#endif +LibreOfficeKit *libreofficekit_hook(const char* install_path) { if (!gImpl) { -- cgit