diff options
author | Tor Lillqvist <tml@collabora.com> | 2015-02-02 15:22:52 +0100 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2015-02-03 10:28:43 +0100 |
commit | 831ab93fa40160ee46a95b7604d64098b177c8dd (patch) | |
tree | af9889b4c173330d32f11c857442d25bee106c1b /desktop | |
parent | 75509c995bd51275d39cfd8fd2bd747b0f619b1c (diff) |
libreofficekit_hook must be exported on iOS for dlsym() to find it
Change-Id: I824e977e99e8889e5cb69403feb0f1d5e1d0cc31
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/lib/init.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
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 +// <sal/types.h>. 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) { |