[Libreoffice-commits] .: 5 commits - cppuhelper/source ios/qa Module_tail_build.mk sal/inc sal/Package_inc.mk sc/source

Tor Lillqvist tml at kemper.freedesktop.org
Mon Apr 9 12:45:32 PDT 2012


 Module_tail_build.mk               |    3 -
 cppuhelper/source/shlib.cxx        |   46 ++++++++++++--------
 ios/qa/sc/Makefile                 |   11 ++++
 ios/qa/sc/filters-test.m           |   26 ++++++++++-
 sal/Package_inc.mk                 |    1 
 sal/inc/osl/detail/ios-bootstrap.h |   60 ++++++++++++++++++++++++++
 sc/source/filter/oox/biffcodec.cxx |   85 -------------------------------------
 7 files changed, 125 insertions(+), 107 deletions(-)

New commits:
commit d25ef83c1293f1596d2d2d4d4643e3278959823a
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Apr 9 22:40:58 2012 +0300

    Add the lo_get_libmap() for this test app

diff --git a/ios/qa/sc/Makefile b/ios/qa/sc/Makefile
index 5d3bcf5..d46e14e 100644
--- a/ios/qa/sc/Makefile
+++ b/ios/qa/sc/Makefile
@@ -15,6 +15,15 @@ APPDIR=build/Debug-$(PLATFORM)/$(APP).app
 
 # Stuff lifted from solenv/gbuild/platform/IOS_ARM_GCC.mk
 
+gb_OSDEFS := \
+	-D$(OS) \
+	-D_PTHREADS \
+	-DUNIX \
+	-DUNX \
+	-D_REENTRANT \
+	-DNO_PTHREAD_PRIORITY \
+	$(EXTRA_CDEFS) \
+
 gb_OBJC_OBJCXX_COMMON_FLAGS := -fobjc-abi-version=2 -fobjc-legacy-dispatch -D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 -g
 gb_OBJCFLAGS := -x objective-c $(gb_OBJC_OBJCXX_COMMON_FLAGS)
 gb_OBJCXXFLAGS := -x objective-c++ $(gb_OBJC_OBJCXX_COMMON_FLAGS)
@@ -36,7 +45,7 @@ all: $(APPDIR)/$(APP) stuff
 
 $(APPDIR)/$(APP): $(SRCS)
 	mkdir -p $(APPDIR)
-	$(CXX) -Wl,-map,$(APP).map.mangled -o $@ $(CFLAGS) $(gb_OBJCXXFLAGS) $(SRCS) $(LIBS)
+	$(CXX) -Wl,-map,$(APP).map.mangled -o $@ $(gb_OSDEFS) $(CFLAGS) $(gb_OBJCXXFLAGS) $(SRCS) $(LIBS)
 	c++filt <$(APP).map.mangled >$(APP).map && rm $(APP).map.mangled
 
 stuff:
diff --git a/ios/qa/sc/filters-test.m b/ios/qa/sc/filters-test.m
index c6650ea..42b0816 100644
--- a/ios/qa/sc/filters-test.m
+++ b/ios/qa/sc/filters-test.m
@@ -35,11 +35,32 @@
 #include "cppunit/plugin/TestPlugIn.h"
 //#include "cppunit/plugin/PlugInManager.h"
 
+#include <osl/detail/ios-bootstrap.h>
+
+#ifdef __cplusplus
 extern "C" {
-    extern CppUnitTestPlugIn *cppunitTestPlugIn(void);
-    extern int lo_main(int argc, const char **argv);
+#endif
+
+extern CppUnitTestPlugIn *cppunitTestPlugIn(void);
+extern int lo_main(int argc, const char **argv);
+
+extern void * sc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
+
+const lib_to_component_mapping *
+lo_get_libmap(void)
+{
+    static lib_to_component_mapping map[] = {
+        { "libsclo.a", sc_component_getFactory },
+        { NULL, NULL }
+    };
+
+    return map;
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 int 
 main(int argc, char ** argv)
 {
@@ -160,4 +181,3 @@ didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
 @end
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-
commit 0b67dd10f858caf46a1d55aff1de319d161f44cf
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Apr 9 22:40:17 2012 +0300

    Use lo_get_libmap()

diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx
index 8c12784..0627e30 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -46,6 +46,10 @@
 #endif
 #include <vector>
 
+#ifdef IOS
+#include <osl/detail/ios-bootstrap.h>
+#endif
+
 #define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
 
 
@@ -463,7 +467,6 @@ extern "C"
     extern void * configmgr_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 * i18npool_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
-    extern void * sc_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 );
 }
@@ -523,24 +526,33 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
     oslGenericFunction pSym = NULL;
 
 #ifdef DISABLE_DYNLOADING
-    if ( rLibName.equals( OUSTR("bootstrap.uno" SAL_DLLEXTENSION)) )
-        pSym = (oslGenericFunction) bootstrap_component_getFactory;
-    else if ( rLibName.equals( OUSTR("libucb1.a")) )
-        pSym = (oslGenericFunction) ucb_component_getFactory;
-    else if ( rLibName.equals( OUSTR("configmgr.uno.a")) )
-        pSym = (oslGenericFunction) configmgr_component_getFactory;
-    else if ( rLibName.equals( OUSTR("libucpfile1.a")) )
-        pSym = (oslGenericFunction) ucpfile_component_getFactory;
-    else if ( rLibName.equals( OUSTR("libsclo.a")) )
-        pSym = (oslGenericFunction) sc_component_getFactory;
-    else if ( rLibName.equals( OUSTR("libfwklo.a")) )
-        pSym = (oslGenericFunction) fwk_component_getFactory;
-    else if ( rLibName.equals( OUSTR("i18npool.uno.a")) )
-        pSym = (oslGenericFunction) i18npool_component_getFactory;
-    else
+    // First test library names that aren't app-specific.
+    static lib_to_component_mapping non_app_specific_map[] = {
+        { "bootstrap.uno" SAL_DLLEXTENSION, bootstrap_component_getFactory },
+        { "configmgr.uno.a", configmgr_component_getFactory },
+        { "i18npool.uno.a", i18npool_component_getFactory },
+        { "libfwklo.a", fwk_component_getFactory },
+        { "libucb1.a", ucb_component_getFactory },
+        { "libucpfile1.a", ucpfile_component_getFactory },
+        { NULL, NULL }
+    };
+    for (int i = 0; pSym == NULL && non_app_specific_map[i].lib != NULL; ++i)
     {
+        if ( rLibName.equalsAscii( non_app_specific_map[i].lib ) )
+            pSym = (oslGenericFunction) non_app_specific_map[i].component_getFactory_function;
+    }
+
+    if ( pSym == NULL)
+    {
+        const lib_to_component_mapping *map = lo_get_libmap();
+        for (int i = 0; pSym == NULL && map[i].lib != NULL; ++i)
+        {
+            if ( rLibName.equalsAscii( map[i].lib ) )
+                pSym = (oslGenericFunction) map[i].component_getFactory_function;
+        }
 #if OSL_DEBUG_LEVEL > 1
-        OSL_TRACE( "attempting to load unknown library %s", OUStringToOString( rLibName, RTL_TEXTENCODING_ASCII_US ).getStr() );
+        if ( pSym == NULL )
+            OSL_TRACE( "attempting to load unknown library %s", OUStringToOString( rLibName, RTL_TEXTENCODING_ASCII_US ).getStr() );
 #endif
     }
 #else
commit 0b165a6e0a2eb79b2267810edb8cfaa34107ba94
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Apr 9 22:38:26 2012 +0300

    Add a header for iOS-specific low-level stuff

diff --git a/sal/Package_inc.mk b/sal/Package_inc.mk
index 5350faf..1bce8ec 100644
--- a/sal/Package_inc.mk
+++ b/sal/Package_inc.mk
@@ -66,6 +66,7 @@ $(eval $(call gb_Package_add_file,sal_inc,inc/osl/util.h,osl/util.h))
 $(eval $(call gb_Package_add_file,sal_inc,inc/osl/detail/file.h,osl/detail/file.h))
 $(eval $(call gb_Package_add_file,sal_inc,inc/osl/detail/android_native_app_glue.h,osl/detail/android_native_app_glue.h))
 $(eval $(call gb_Package_add_file,sal_inc,inc/osl/detail/android-bootstrap.h,osl/detail/android-bootstrap.h))
+$(eval $(call gb_Package_add_file,sal_inc,inc/osl/detail/ios-bootstrap.h,osl/detail/ios-bootstrap.h))
 $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/allocator.hxx,rtl/allocator.hxx))
 $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/alloc.h,rtl/alloc.h))
 $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/bootstrap.h,rtl/bootstrap.h))
diff --git a/sal/inc/osl/detail/ios-bootstrap.h b/sal/inc/osl/detail/ios-bootstrap.h
new file mode 100644
index 0000000..ac8ccf6
--- /dev/null
+++ b/sal/inc/osl/detail/ios-bootstrap.h
@@ -0,0 +1,60 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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 Tor Lillqvist <tml at iki.fi> (initial developer)
+ * Copyright (C) 2011 SUSE Linux http://suse.com (initial developer's employer)
+ *
+ * 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.
+ */
+
+#ifndef IOS_BOOSTRAP_H
+#define IOS_BOOSTRAP_H
+
+#if defined(IOS)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* On iOS static linking is used. In order to get the needed UNO
+ * coponent linked in, the "main" code for an app needs to implement
+ * the lo_get_libmap() function to map UNO component library names as
+ * produced in a build for iOS (like configmgr.uno.a or libsclo.a) to
+ * the corresponding component_getFactory functions.
+ */
+
+typedef struct {
+    const char *lib;
+    void * (*component_getFactory_function)(const char *, void *, void *);
+} lib_to_component_mapping;
+
+const lib_to_component_mapping *lo_get_libmap(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // IOS
+#endif // IOS_BOOTSTRAP_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 78fbda359c1b745a271753a44b80512c040fac0f
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Apr 9 22:34:26 2012 +0300

    No xmlhelp for non-desktop OSes

diff --git a/Module_tail_build.mk b/Module_tail_build.mk
index 44b8413..cd69300 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -92,7 +92,8 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
     writerfilter \
     writerperfect \
     xmerge \
-    xmlhelp \
+	$(if $(filter XMLHELP,$(BUILD_TYPE)), \
+	    xmlhelp) \
     xmloff \
     xmlscript \
     xmlsecurity \
commit 4cc509293851d29ff5ed38cea11d47a27d09c05c
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Apr 9 21:50:40 2012 +0300

    WaE: unused functions

diff --git a/sc/source/filter/oox/biffcodec.cxx b/sc/source/filter/oox/biffcodec.cxx
index 26fee95..c0f1498 100644
--- a/sc/source/filter/oox/biffcodec.cxx
+++ b/sc/source/filter/oox/biffcodec.cxx
@@ -257,91 +257,6 @@ void BiffDecoder_RCF::implDecode( sal_uInt8* pnDestData, const sal_uInt8* pnSrcD
     }
 }
 
-// ============================================================================
-
-namespace {
-
-const sal_uInt16 BIFF_FILEPASS_XOR                  = 0;
-const sal_uInt16 BIFF_FILEPASS_RCF                  = 1;
-
-const sal_uInt16 BIFF_FILEPASS_BIFF8_RCF            = 1;
-const sal_uInt16 BIFF_FILEPASS_BIFF8_CRYPTOAPI_2003 = 2;
-const sal_uInt16 BIFF_FILEPASS_BIFF8_CRYPTOAPI_2007 = 3;
-
-// ----------------------------------------------------------------------------
-
-BiffDecoderRef lclReadFilePass_XOR( BiffInputStream& rStrm )
-{
-    BiffDecoderRef xDecoder;
-    OSL_ENSURE( rStrm.getRemaining() == 4, "lclReadFilePass_XOR - wrong record size" );
-    if( rStrm.getRemaining() == 4 )
-    {
-        sal_uInt16 nBaseKey, nHash;
-        rStrm >> nBaseKey >> nHash;
-        xDecoder.reset( new BiffDecoder_XOR( nBaseKey, nHash ) );
-    }
-    return xDecoder;
-}
-
-BiffDecoderRef lclReadFilePass_RCF( BiffInputStream& rStrm )
-{
-    BiffDecoderRef xDecoder;
-    OSL_ENSURE( rStrm.getRemaining() == 48, "lclReadFilePass_RCF - wrong record size" );
-    if( rStrm.getRemaining() == 48 )
-    {
-        sal_uInt8 pnSalt[ 16 ];
-        sal_uInt8 pnVerifier[ 16 ];
-        sal_uInt8 pnVerifierHash[ 16 ];
-        rStrm.readMemory( pnSalt, 16 );
-        rStrm.readMemory( pnVerifier, 16 );
-        rStrm.readMemory( pnVerifierHash, 16 );
-        xDecoder.reset( new BiffDecoder_RCF( pnSalt, pnVerifier, pnVerifierHash ) );
-    }
-    return xDecoder;
-}
-
-BiffDecoderRef lclReadFilePass_CryptoApi( BiffInputStream& /*rStrm*/ )
-{
-    // not supported
-    return BiffDecoderRef();
-}
-
-BiffDecoderRef lclReadFilePassBiff8( BiffInputStream& rStrm )
-{
-    BiffDecoderRef xDecoder;
-    switch( rStrm.readuInt16() )
-    {
-        case BIFF_FILEPASS_XOR:
-            xDecoder = lclReadFilePass_XOR( rStrm );
-        break;
-
-        case BIFF_FILEPASS_RCF:
-        {
-            sal_uInt16 nMajor = rStrm.readuInt16();
-            rStrm.skip( 2 );
-            switch( nMajor )
-            {
-                case BIFF_FILEPASS_BIFF8_RCF:
-                    xDecoder = lclReadFilePass_RCF( rStrm );
-                break;
-                case BIFF_FILEPASS_BIFF8_CRYPTOAPI_2003:
-                case BIFF_FILEPASS_BIFF8_CRYPTOAPI_2007:
-                    xDecoder = lclReadFilePass_CryptoApi( rStrm );
-                break;
-                default:
-                    OSL_FAIL( "lclReadFilePassBiff8 - unknown BIFF8 encryption sub mode" );
-            }
-        }
-        break;
-
-        default:
-            OSL_FAIL( "lclReadFilePassBiff8 - unknown encryption mode" );
-    }
-    return xDecoder;
-}
-
-} // namespace
-
 // ----------------------------------------------------------------------------
 
 BiffCodecHelper::BiffCodecHelper( const WorkbookHelper& rHelper ) :


More information about the Libreoffice-commits mailing list