summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/Library_cppuhelper.mk8
-rw-r--r--cppuhelper/Module_cppuhelper.mk2
-rw-r--r--cppuhelper/Package_findsofficepath.mk34
-rw-r--r--cppuhelper/StaticLibrary_findsofficepath.mk21
-rw-r--r--cppuhelper/inc/cppuhelper/implbase1.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase2.hxx2
-rw-r--r--cppuhelper/source/gcc3.map2
-rw-r--r--cppuhelper/source/shlib.cxx36
8 files changed, 52 insertions, 55 deletions
diff --git a/cppuhelper/Library_cppuhelper.mk b/cppuhelper/Library_cppuhelper.mk
index 59020c27ef96..9a761276e46b 100644
--- a/cppuhelper/Library_cppuhelper.mk
+++ b/cppuhelper/Library_cppuhelper.mk
@@ -29,10 +29,6 @@ $(eval $(call gb_Library_Library,cppuhelper))
$(eval $(call gb_Library_set_soversion_script,cppuhelper,3,$(SRCDIR)/cppuhelper/source/gcc3.map))
-$(eval $(call gb_Library_use_packages,cppuhelper,\
- cppuhelper_inc \
-))
-
$(eval $(call gb_Library_use_internal_comprehensive_api,cppuhelper,\
cppuhelper \
udkapi \
@@ -51,8 +47,8 @@ $(eval $(call gb_Library_use_libraries,cppuhelper,\
$(gb_UWINAPI) \
))
-$(eval $(call gb_Library_add_cobjects,cppuhelper,\
- cppuhelper/source/findsofficepath \
+$(eval $(call gb_Library_use_static_libraries,cppuhelper,\
+ findsofficepath \
))
$(eval $(call gb_Library_add_exception_objects,cppuhelper,\
diff --git a/cppuhelper/Module_cppuhelper.mk b/cppuhelper/Module_cppuhelper.mk
index 1fd498b1ba2e..b28a8634fbba 100644
--- a/cppuhelper/Module_cppuhelper.mk
+++ b/cppuhelper/Module_cppuhelper.mk
@@ -31,9 +31,9 @@ $(eval $(call gb_Module_add_targets,cppuhelper,\
CustomTarget_cppuhelper_allheaders \
InternalUnoApi_cppuhelper \
Library_cppuhelper \
- Package_findsofficepath \
Package_inc \
Package_unorc \
+ StaticLibrary_findsofficepath \
))
$(eval $(call gb_Module_add_check_targets,cppuhelper,\
diff --git a/cppuhelper/Package_findsofficepath.mk b/cppuhelper/Package_findsofficepath.mk
deleted file mode 100644
index b3b0e90264bd..000000000000
--- a/cppuhelper/Package_findsofficepath.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*-
-#
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# Major Contributor(s):
-# Copyright (C) 2011 Matúš Kukan <matus.kukan@gmail.com> (initial developer)
-#
-# All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-
-# UGLY HACK for odk/source/unoapploader/ where we need findsofficepath.o
-$(eval $(call gb_Package_Package,cppuhelper_findsofficepath,$(WORKDIR)/CObject/cppuhelper/source))
-
-$(eval $(call gb_Package_add_file,cppuhelper_findsofficepath,lib/findsofficepath.o,findsofficepath.o))
-$(eval $(call gb_Package_add_file,cppuhelper_findsofficepath,lib/findsofficepath.obj,findsofficepath.o))
-
-# vim: set noet sw=4 ts=4:
diff --git a/cppuhelper/StaticLibrary_findsofficepath.mk b/cppuhelper/StaticLibrary_findsofficepath.mk
new file mode 100644
index 000000000000..a33c13afc11a
--- /dev/null
+++ b/cppuhelper/StaticLibrary_findsofficepath.mk
@@ -0,0 +1,21 @@
+# -*- 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,findsofficepath))
+
+$(eval $(call gb_StaticLibrary_use_packages,findsofficepath,\
+ cppuhelper_inc \
+ sal_inc \
+))
+
+$(eval $(call gb_StaticLibrary_add_cobjects,findsofficepath,\
+ cppuhelper/source/findsofficepath \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/cppuhelper/inc/cppuhelper/implbase1.hxx b/cppuhelper/inc/cppuhelper/implbase1.hxx
index cf6125a2200b..57c71f566610 100644
--- a/cppuhelper/inc/cppuhelper/implbase1.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase1.hxx
@@ -104,7 +104,7 @@ namespace cppu
to implement 1 till 12 interfaces in your component.
*/
template< class Ifc1 >
- class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakImplHelper1
+ class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE SAL_DLLPUBLIC_EXPORT WeakImplHelper1
: public OWeakObject
, public com::sun::star::lang::XTypeProvider
, public Ifc1
diff --git a/cppuhelper/inc/cppuhelper/implbase2.hxx b/cppuhelper/inc/cppuhelper/implbase2.hxx
index 3ed5aacf90d5..95a1b9fba2fb 100644
--- a/cppuhelper/inc/cppuhelper/implbase2.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase2.hxx
@@ -100,7 +100,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2 >
- class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakImplHelper2
+ class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE SAL_DLLPUBLIC_EXPORT WeakImplHelper2
: public OWeakObject
, public com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2
diff --git a/cppuhelper/source/gcc3.map b/cppuhelper/source/gcc3.map
index 7840b2370f5f..abce1dbee7a5 100644
--- a/cppuhelper/source/gcc3.map
+++ b/cppuhelper/source/gcc3.map
@@ -408,7 +408,7 @@ global:
_ZThn*_N4cppu19OPropertySetHelper232enableChangeListenerNotificationEh;
} UDK_3.7;
-UDK_3.9 { # LibO 3.7
+LIBO_UDK_3.9 { # LibO 3.7
global:
_ZN4cppu15supportsServiceEPN3com3sun4star4lang12XServiceInfoERKN3rtl8OUStringE; # cppu::supportsService(com::sun::star::lang::XServiceInfo*, rtl::OUString const&)
} UDK_3.8;
diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx
index f783f870c62d..9bbdb8c024d0 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -41,11 +41,13 @@
#include "com/sun/star/beans/XPropertySet.hpp"
-#if OSL_DEBUG_LEVEL > 1
#include <stdio.h>
-#endif
#include <vector>
+#ifdef ANDROID
+#include <osl/detail/android-bootstrap.h>
+#endif
+
#ifdef IOS
#include <osl/detail/ios-bootstrap.h>
#endif
@@ -458,15 +460,18 @@ extern "C"
extern void * filterconfig1_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * fwk_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * introspection_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+ extern void * localebe1_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * package2_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * reflection_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * sfx_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * svl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+ extern void * tk_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * stocservices_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * i18npool_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * ucb_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * ucpfile_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * utl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+ extern void * vcl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * xstor_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
}
#endif
@@ -525,27 +530,36 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
oslGenericFunction pSym = NULL;
#ifdef DISABLE_DYNLOADING
+
// First test library names that aren't app-specific.
static lib_to_component_mapping non_app_specific_map[] = {
+ // Sigh, the name under which the bootstrap component is looked for
+ // varies a lot? Or then I just have been confused by some mixed-up
+ // incremental build.
{ "bootstrap.uno" SAL_DLLEXTENSION, bootstrap_component_getFactory },
{ "bootstrap.uno.a", bootstrap_component_getFactory },
- { "configmgr.uno.a", configmgr_component_getFactory },
- { "expwrap.uno.a", expwrap_component_getFactory },
- { "fastsax.uno.a", fastsax_component_getFactory },
- { "introspection.uno.a", introspection_component_getFactory },
- { "i18npool.uno.a", i18npool_component_getFactory },
+ { "libbootstrap.uno.a", bootstrap_component_getFactory },
+ // The rest seems to consistently have a "lib" prefix now
+ { "libconfigmgr.uno.a", configmgr_component_getFactory },
{ "libcomphelp" CPPU_STRINGIFY(CPPU_ENV) ".a", comphelp_component_getFactory },
+ { "libexpwrap.uno.a", expwrap_component_getFactory },
+ { "libfastsax.uno.a", fastsax_component_getFactory },
{ "libfilterconfiglo.a", filterconfig1_component_getFactory },
{ "libfwklo.a", fwk_component_getFactory },
+ { "libi18npool.uno.a", i18npool_component_getFactory },
+ { "libintrospection.uno.a", introspection_component_getFactory },
+ { "liblocalebe1.uno.a", localebe1_component_getFactory },
{ "libpackage2.a", package2_component_getFactory },
+ { "libreflection.uno.a", reflection_component_getFactory },
{ "libsfxlo.a", sfx_component_getFactory },
+ { "libstocservices.uno.a", stocservices_component_getFactory },
{ "libsvllo.a", svl_component_getFactory },
+ { "libtklo.a", tk_component_getFactory },
{ "libucb1.a", ucb_component_getFactory },
{ "libucpfile1.a", ucpfile_component_getFactory },
{ "libutllo.a", utl_component_getFactory },
+ { "libvcllo.a", vcl_component_getFactory },
{ "libxstor.a", xstor_component_getFactory },
- { "reflection.uno.a", reflection_component_getFactory },
- { "stocservices.uno.a", stocservices_component_getFactory },
{ NULL, NULL }
};
for (int i = 0; pSym == NULL && non_app_specific_map[i].lib != NULL; ++i)
@@ -565,9 +579,7 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
}
if ( pSym == NULL )
{
-#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "attempting to load unknown library %s\n", OUStringToOString( rLibName, RTL_TEXTENCODING_ASCII_US ).getStr() );
-#endif
assert( !"Attempt to load unknown library" );
}
}
@@ -590,7 +602,9 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
if (! xRet.is())
{
+#ifndef DISABLE_DYNLOADING
osl_unloadModule( lib );
+#endif
#if OSL_DEBUG_LEVEL > 1
out( "### cannot activate factory: " );
out( aExcMsg );