diff options
author | Andrzej Hunt <andrzej.hunt@collabora.com> | 2014-07-28 20:23:03 +0200 |
---|---|---|
committer | Andrzej Hunt <andrzej.hunt@collabora.com> | 2014-07-29 07:11:20 +0200 |
commit | 9e7bdb422d12d8be4b76eaf065e3aea8f9055f12 (patch) | |
tree | a1854228e61d9904edae4cb3239a3b1846db2917 /libreofficekit | |
parent | 300845922eec7a28bc1da337acd21f138685d759 (diff) |
Kill the libreofficekit static library / shim.c.
It looks like the cleanest method of getting lok_init into
a LibreOfficeKitInit.h header (in a c89 compatible way) is to
have it as a static function.
(inline is only available in C99 or later -- this is actually
available on Linux which is the only place that we can actually
use lok_init anyways currently, however given we have to keep
c89 for the C code (for MSVC) compatibility, selectively enabling
c99 would likely be more messy.)
Change-Id: I0493e7a68ed5397479220bb6ba8c3db870b6dd32
Diffstat (limited to 'libreofficekit')
-rw-r--r-- | libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk | 4 | ||||
-rw-r--r-- | libreofficekit/Library_libreofficekitgtk.mk | 4 | ||||
-rw-r--r-- | libreofficekit/Module_libreofficekit.mk | 4 | ||||
-rw-r--r-- | libreofficekit/StaticLibrary_libreofficekit.mk | 16 | ||||
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 1 | ||||
-rw-r--r-- | libreofficekit/qa/unit/tiledrendering.cxx | 1 | ||||
-rw-r--r-- | libreofficekit/source/shim.c | 82 |
7 files changed, 2 insertions, 110 deletions
diff --git a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk index 4b77fbf3549d..cd03abecc229 100644 --- a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk +++ b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk @@ -42,10 +42,6 @@ endif $(eval $(call gb_CppunitTest_use_sdk_api,libreofficekit_tiledrendering)) -$(eval $(call gb_CppunitTest_use_static_libraries,libreofficekit_tiledrendering,\ - libreofficekit \ -)) - $(eval $(call gb_CppunitTest_use_ure,libreofficekit_tiledrendering)) #$(eval $(call gb_CppunitTest_use_vcl,libreofficekit_tiledrendering)) diff --git a/libreofficekit/Library_libreofficekitgtk.mk b/libreofficekit/Library_libreofficekitgtk.mk index be485cdf038f..bcf1a5b3044c 100644 --- a/libreofficekit/Library_libreofficekitgtk.mk +++ b/libreofficekit/Library_libreofficekitgtk.mk @@ -14,10 +14,6 @@ $(eval $(call gb_Library_use_externals,libreofficekitgtk,\ gtk \ )) -$(eval $(call gb_Library_use_static_libraries,libreofficekitgtk,\ - libreofficekit \ -)) - $(eval $(call gb_Library_add_cobjects,libreofficekitgtk,\ libreofficekit/source/gtk/lokdocview \ )) diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk index 1f0771cf0c78..a5b9cb06348c 100644 --- a/libreofficekit/Module_libreofficekit.mk +++ b/libreofficekit/Module_libreofficekit.mk @@ -11,10 +11,6 @@ $(eval $(call gb_Module_Module,libreofficekit)) ifeq ($(OS),LINUX) -$(eval $(call gb_Module_add_targets,libreofficekit,\ - StaticLibrary_libreofficekit \ -)) - # $(eval $(call gb_Module_add_check_targets,libreofficekit,\ # CppunitTest_libreofficekit_tiledrendering \ # )) diff --git a/libreofficekit/StaticLibrary_libreofficekit.mk b/libreofficekit/StaticLibrary_libreofficekit.mk deleted file mode 100644 index 7a82670ce68e..000000000000 --- a/libreofficekit/StaticLibrary_libreofficekit.mk +++ /dev/null @@ -1,16 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_StaticLibrary_StaticLibrary,libreofficekit)) - -$(eval $(call gb_StaticLibrary_add_cobjects,libreofficekit,\ - libreofficekit/source/shim \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 188744234afd..21cb179d4ecf 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -14,6 +14,7 @@ #include <gtk/gtk.h> #include <LibreOfficeKit/LibreOfficeKitGtk.h> +#include <LibreOfficeKit/LibreOfficeKitInit.h> #include "../lokdocview_quad/lokdocview_quad.h" static int help() diff --git a/libreofficekit/qa/unit/tiledrendering.cxx b/libreofficekit/qa/unit/tiledrendering.cxx index 9c035b43aa95..4e1c0fa8b02d 100644 --- a/libreofficekit/qa/unit/tiledrendering.cxx +++ b/libreofficekit/qa/unit/tiledrendering.cxx @@ -23,6 +23,7 @@ #include <vcl/pngwrite.hxx> #define LOK_USE_UNSTABLE_API +#include <LibreOfficeKit/LibreOfficeKitInit.h> #include <LibreOfficeKit/LibreOfficeKit.hxx> using namespace ::boost; diff --git a/libreofficekit/source/shim.c b/libreofficekit/source/shim.c deleted file mode 100644 index b533a61b2197..000000000000 --- a/libreofficekit/source/shim.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifdef LINUX - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <sal/types.h> -#include <LibreOfficeKit/LibreOfficeKit.h> - -#include <dlfcn.h> -#ifdef AIX -# include <sys/ldr.h> -#endif - -#define TARGET_LIB "lib" "sofficeapp" ".so" -#define TARGET_MERGED_LIB "lib" "mergedlo" ".so" - -typedef LibreOfficeKit *(HookFunction)( const char *install_path); - -SAL_DLLPUBLIC_EXPORT LibreOfficeKit *lok_init( const char *install_path ) -{ - char *imp_lib; - size_t partial_length; - void *dlhandle; - HookFunction *pSym; - - if (!install_path) - return NULL; - - // allocate large enough buffer - partial_length = strlen(install_path); - imp_lib = (char *) malloc(partial_length + sizeof(TARGET_LIB) + sizeof(TARGET_MERGED_LIB) + 2); - if (!imp_lib) - { - fprintf( stderr, "failed to open library : not enough memory\n"); - return NULL; - } - - strcpy(imp_lib, install_path); - - imp_lib[partial_length++] = '/'; - strcpy(imp_lib + partial_length, TARGET_LIB); - - dlhandle = dlopen(imp_lib, RTLD_LAZY); - if (!dlhandle) - { - strcpy(imp_lib + partial_length, TARGET_MERGED_LIB); - - dlhandle = dlopen(imp_lib, RTLD_LAZY); - if (!dlhandle) - { - fprintf(stderr, "failed to open library '%s' or '%s' in '%s/'\n", TARGET_LIB, TARGET_MERGED_LIB, install_path); - free(imp_lib); - return NULL; - } - } - - pSym = (HookFunction *) dlsym( dlhandle, "libreofficekit_hook" ); - if (!pSym) - { - fprintf( stderr, "failed to find hook in library '%s'\n", imp_lib ); - dlclose( dlhandle ); - free( imp_lib ); - return NULL; - } - - free( imp_lib ); - return pSym( install_path ); -} - -#endif // not LINUX => port me ! - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |