[Libreoffice-commits] core.git: Branch 'feature/calctiledrendering5' - 2 commits - include/LibreOfficeKit libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk libreofficekit/Library_libreofficekitgtk.mk libreofficekit/Module_libreofficekit.mk libreofficekit/source libreofficekit/StaticLibrary_libreofficekit.mk smoketest/Executable_libtest.mk
Andrzej Hunt
andrzej.hunt at collabora.com
Mon Jul 28 07:23:37 PDT 2014
include/LibreOfficeKit/LibreOfficeKit.h | 89 +++++++++++-
libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk | 4
libreofficekit/Library_libreofficekitgtk.mk | 4
libreofficekit/Module_libreofficekit.mk | 7
libreofficekit/StaticLibrary_libreofficekit.mk | 16 --
libreofficekit/source/shim.c | 82 -----------
smoketest/Executable_libtest.mk | 4
7 files changed, 91 insertions(+), 115 deletions(-)
New commits:
commit 3bf863a1935d1eaba0b074434d0a32e849034e68
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date: Mon Jul 28 09:02:25 2014 +0200
DO NOT MERGE: reenable LOK tiled rendering test (BRANCH ONLY).
Change-Id: Ica4e570cafa25f4c642016608d8d510e668ed701
diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk
index 075cbdd..256068d 100644
--- a/libreofficekit/Module_libreofficekit.mk
+++ b/libreofficekit/Module_libreofficekit.mk
@@ -15,9 +15,9 @@ $(eval $(call gb_Module_add_targets,libreofficekit,\
Executable_lokconf_init \
))
-# $(eval $(call gb_Module_add_check_targets,libreofficekit,\
-# CppunitTest_libreofficekit_tiledrendering \
-# ))
+$(eval $(call gb_Module_add_check_targets,libreofficekit,\
+ CppunitTest_libreofficekit_tiledrendering \
+))
ifneq ($(ENABLE_GTK),)
$(eval $(call gb_Module_add_targets,libreofficekit,\
commit 45dd1ce04b5a684ea36f47111bc16cc3f2bbd7e6
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date: Mon Jul 28 09:01:59 2014 +0200
Kill the libreofficekit static library / shim.c.
It looks like the cleanest method of getting lok_init into
the LibreOfficeKit.h header (in a c89 compatible way) is to
have it as a static function. Unfortunately this provokes
unused function warnings where lok_init doesn't get used.
(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..7d88528 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.h
+++ b/include/LibreOfficeKit/LibreOfficeKit.h
@@ -105,7 +105,94 @@ struct _LibreOfficeKitDocumentClass
#endif // LOK_USE_UNSTABLE_API
};
-LibreOfficeKit* lok_init (const char* pInstallPath);
+#ifdef LINUX
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.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);
+
+
+#if defined(__GNUC__)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wunused-function"
+#endif
+
+#if defined(__clang__)
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Wunused-function"
+#endif
+
+static 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 );
+}
+
+#if defined(__GNUC__)
+# pragma GCC diagnostic pop
+#endif
+
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+
+#endif // not LINUX => port me !
#ifdef __cplusplus
}
diff --git a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk
index 9159a24..acc708f 100644
--- a/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk
+++ b/libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk
@@ -41,10 +41,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 8523b1a..075cbdd 100644
--- a/libreofficekit/Module_libreofficekit.mk
+++ b/libreofficekit/Module_libreofficekit.mk
@@ -12,7 +12,6 @@ $(eval $(call gb_Module_Module,libreofficekit))
ifeq ($(OS),LINUX)
$(eval $(call gb_Module_add_targets,libreofficekit,\
- StaticLibrary_libreofficekit \
Executable_lokconf_init \
))
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/source/shim.c b/libreofficekit/source/shim.c
deleted file mode 100644
index b533a61..0000000
--- 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: */
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 \
More information about the Libreoffice-commits
mailing list