include/LibreOfficeKit/LibreOfficeKit.h | 2 include/LibreOfficeKit/LibreOfficeKitInit.h | 96 ++++++++++++ libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk | 4 libreofficekit/Library_libreofficekitgtk.mk | 4 libreofficekit/Module_libreofficekit.mk | 4 libreofficekit/StaticLibrary_libreofficekit.mk | 16 -- libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 1 libreofficekit/qa/unit/tiledrendering.cxx | 1 libreofficekit/source/shim.c | 82 ---------- smoketest/Executable_libtest.mk | 4 smoketest/libtest.cxx | 1 11 files changed, 99 insertions(+), 116 deletions(-)
New commits: commit 9e7bdb422d12d8be4b76eaf065e3aea8f9055f12 Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Mon Jul 28 20:23:03 2014 +0200 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 diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index 675eabc..9c74634 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -105,8 +105,6 @@ struct _LibreOfficeKitDocumentClass #endif // LOK_USE_UNSTABLE_API }; -LibreOfficeKit* lok_init (const char* pInstallPath); - #ifdef __cplusplus } #endif diff --git a/libreofficekit/source/shim.c b/include/LibreOfficeKit/LibreOfficeKitInit.h similarity index 80% rename from libreofficekit/source/shim.c rename to include/LibreOfficeKit/LibreOfficeKitInit.h index b533a61..ef01b1c 100644 --- a/libreofficekit/source/shim.c +++ b/include/LibreOfficeKit/LibreOfficeKitInit.h @@ -7,17 +7,24 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#ifdef LINUX +#ifndef INCLUDED_DESKTOP_INC_LIBREOFFICEKIT_INIT_H +#define INCLUDED_DESKTOP_INC_LIBREOFFICEKIT_INIT_H + +#include "LibreOfficeKit.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if defined(__linux__) || defined(_AIX) #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sal/types.h> -#include <LibreOfficeKit/LibreOfficeKit.h> - #include <dlfcn.h> -#ifdef AIX +#ifdef _AIX # include <sys/ldr.h> #endif @@ -26,7 +33,7 @@ typedef LibreOfficeKit *(HookFunction)( const char *install_path); -SAL_DLLPUBLIC_EXPORT LibreOfficeKit *lok_init( const char *install_path ) +static LibreOfficeKit *lok_init( const char *install_path ) { char *imp_lib; size_t partial_length; @@ -58,7 +65,8 @@ SAL_DLLPUBLIC_EXPORT LibreOfficeKit *lok_init( const char *install_path ) 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); + fprintf(stderr, "failed to open library '%s' or '%s' in '%s/'\n", + TARGET_LIB, TARGET_MERGED_LIB, install_path); free(imp_lib); return NULL; } @@ -77,6 +85,12 @@ SAL_DLLPUBLIC_EXPORT LibreOfficeKit *lok_init( const char *install_path ) return pSym( install_path ); } -#endif // not LINUX => port me ! +#endif // defined(__linux__) || defined(_AIX) + +#ifdef __cplusplus +} +#endif + +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk index 4b77fbf..cd03abe 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 be485cd..bcf1a5b 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 1f0771c..a5b9cb0 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 7a82670..0000000 --- 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 1887442..21cb179 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 9c035b4..4e1c0fa 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/smoketest/Executable_libtest.mk b/smoketest/Executable_libtest.mk index 881e604..3b3bd16 100644 --- a/smoketest/Executable_libtest.mk +++ b/smoketest/Executable_libtest.mk @@ -17,10 +17,6 @@ $(eval $(call gb_Executable_use_libraries,libtest,\ $(gb_UWINAPI) \ )) -$(eval $(call gb_Executable_use_static_libraries,libtest,\ - libreofficekit \ -)) - $(eval $(call gb_Executable_add_libs,libtest,\ -ldl \ -pthread \ diff --git a/smoketest/libtest.cxx b/smoketest/libtest.cxx index 8a0b724..91bbcae 100644 --- a/smoketest/libtest.cxx +++ b/smoketest/libtest.cxx @@ -14,6 +14,7 @@ #include <math.h> #include <sys/time.h> #include <sal/types.h> +#include <LibreOfficeKit/LibreOfficeKitInit.h> #include <LibreOfficeKit/LibreOfficeKit.hxx> using namespace ::lok; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits