codemaker/source/cppumaker/cpputype.cxx |   31 ++++++++++++++++++++--
 configure.ac                            |   12 +++++---
 include/osl/detail/component-defines.h  |   44 ++++++++++++++++++++++++++++++++
 3 files changed, 79 insertions(+), 8 deletions(-)

New commits:
commit d70f5d1e5477f3fce6cf35884b3cecb260d504e1
Author: Douglas Mencken <dougmenc...@gmail.com>
Date:   Wed Dec 18 13:40:46 2013 -0500

    Don't enable OpenCL on OS X 10.5
    
    Change-Id: I5b74d9a043c793ff5176b10786c09041207509a6
    Reviewed-on: https://gerrit.libreoffice.org/7138
    Reviewed-by: Norbert Thiebaud <nthieb...@gmail.com>
    Tested-by: Norbert Thiebaud <nthieb...@gmail.com>

diff --git a/configure.ac b/configure.ac
index 534894a..1734796 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10448,13 +10448,15 @@ AC_MSG_CHECKING([whether to build with the OpenCL 
support.])
 ENABLE_OPENCL=
 
 if test $_os != iOS -a $_os != Android -a "x$enable_opencl" != "xno"; then
-    AC_MSG_RESULT([yes])
-    enable_opencl=yes
-    ENABLE_OPENCL=TRUE
-    AC_DEFINE(HAVE_FEATURE_OPENCL)
+    if test $_os = Darwin -a "$with_macosx_sdk" = "10.5"; then
+        AC_MSG_RESULT([disabled on OS X 10.5])
+    else
+        AC_MSG_RESULT([yes])
+        ENABLE_OPENCL=YES
+        AC_DEFINE(HAVE_FEATURE_OPENCL)
+    fi
 else
     AC_MSG_RESULT([no])
-    enable_opencl=no
 fi
 
 AC_SUBST(ENABLE_OPENCL)
commit 15abebbde560e17413f17b16b8b2e9c1f31f01a5
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Thu Dec 19 14:42:10 2013 +0100

    WIP: Direct service ctor calls at least on Android/iOS
    
    Change-Id: I8a1907bc4b8f2134efb15d38a0fb5176b4384317

diff --git a/codemaker/source/cppumaker/cpputype.cxx 
b/codemaker/source/cppumaker/cpputype.cxx
index 0a710a8..dc5874c 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -3408,6 +3408,17 @@ void ServiceType::dumpHxxFile(
     OUString headerDefine(dumpHeaderDefine(o, "HPP"));
     o << "\n";
     includes.dump(o, 0);
+    if (!entity_->getConstructors().empty()) {
+        o << ("\n#if defined ANDROID || defined IOS //TODO\n"
+              "#include <osl/detail/component-defines.h>\n#endif\n\n"
+              "#if defined LO_URE_CURRENT_ENV && defined LO_URE_CTOR_ENV_")
+          << name_.replaceAll(".", "_dot_")
+          << " && (LO_URE_CURRENT_ENV) == (LO_URE_CTOR_ENV_"
+          << name_.replaceAll(".", "_dot_") << ") && defined LO_URE_CTOR_FUN_"
+          << name_.replaceAll(".", "_dot_")
+          << "\nextern \"C\" void * SAL_CALL LO_URE_CTOR_FUN_"
+          << name_.replaceAll(".", "_dot_") << "(void *, void *);\n#endif\n";
+    }
     o << "\n";
     if (codemaker::cppumaker::dumpNamespaceOpen(o, name_, false)) {
         o << "\n";
@@ -3436,14 +3447,28 @@ void ServiceType::dumpHxxFile(
                   << "::css::uno::Reference< " << scopedBaseName
                   << " > the_instance;\n" << indent() << "try {\n";
                 inc();
-                o << indent()
-                  << "the_instance = ::css::uno::Reference< "
+                o << ("#if defined LO_URE_CURRENT_ENV && defined "
+                      "LO_URE_CTOR_ENV_")
+                  << name_.replaceAll(".", "_dot_")
+                  << " && (LO_URE_CURRENT_ENV) == (LO_URE_CTOR_ENV_"
+                  << name_.replaceAll(".", "_dot_")
+                  << ") && defined LO_URE_CTOR_FUN_"
+                  << name_.replaceAll(".", "_dot_") << "\n" << indent()
+                  << "the_instance = ::css::uno::Reference< " << scopedBaseName
+                  << (" >(::css::uno::Reference< ::css::uno::XInterface >("
+                      "static_cast< ::css::uno::XInterface * >((*"
+                      "LO_URE_CTOR_FUN_")
+                  << name_.replaceAll(".", "_dot_")
+                  << (")(the_context.get(), ::css::uno::Sequence<"
+                      " ::css::uno::Any >().get())), ::SAL_NO_ACQUIRE),"
+                      " ::css::uno::UNO_QUERY);\n#else\n")
+                  << indent() << "the_instance = ::css::uno::Reference< "
                   << scopedBaseName
                   << (" >(the_context->getServiceManager()->"
                       "createInstanceWithContext(::rtl::OUString("
                       " \"")
                   << name_
-                  << "\" ), the_context), ::css::uno::UNO_QUERY);\n";
+                  << "\" ), the_context), ::css::uno::UNO_QUERY);\n#endif\n";
                 dec();
                 o << indent()
                   << "} catch (const ::css::uno::RuntimeException &) {\n";
diff --git a/include/osl/detail/component-defines.h 
b/include/osl/detail/component-defines.h
new file mode 100644
index 0000000..63893ea
--- /dev/null
+++ b/include/osl/detail/component-defines.h
@@ -0,0 +1,44 @@
+/* -*- 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/.
+ */
+
+#ifndef INCLUDED_OSL_DETAIL_COMPONENT_DEFINES_H
+#define INCLUDED_OSL_DETAIL_COMPONENT_DEFINES_H
+
+/* Experimental direct constructor calls, under construction */
+
+#define LO_URE_CURRENT_ENV 1 /*TODO*/
+
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_extensions_dot_xml_dot_sax_dot_FastParser
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_extensions_dot_xml_dot_sax_dot_FastParser
 com_sun_star_comp_extensions_xml_sax_FastParser
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_extensions_dot_xml_dot_sax_dot_ParserExpat
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_extensions_dot_xml_dot_sax_dot_ParserExpat
 com_sun_star_comp_extensions_xml_sax_ParserExpat
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_DLLComponentLoader 1 
/*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_DLLComponentLoader 
com_sun_star_comp_stoc_DLLComponentLoader
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_ImplementationRegistration
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_ImplementationRegistration
 com_sun_star_comp_stoc_ImplementationRegistration
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_NestedRegistry 1 
/*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_NestedRegistry 
com_sun_star_comp_stoc_NestedRegistry
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_ORegistryServiceManager
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_ORegistryServiceManager
 com_sun_star_comp_stoc_ORegistryServiceManager
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_OServiceManager 1 
/*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_OServiceManager 
com_sun_star_comp_stoc_OServiceManager
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_OServiceManagerWrapper
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_OServiceManagerWrapper
 com_sun_star_comp_stoc_OServiceManagerWrapper
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_SimpleRegistry 1 
/*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_comp_dot_stoc_dot_SimpleRegistry 
com_sun_star_comp_stoc_SimpleRegistry
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_extensions_dot_xml_dot_sax_dot_Writer 
1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_extensions_dot_xml_dot_sax_dot_Writer 
com_sun_star_extensions_xml_sax_Writer
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_security_dot_comp_dot_stoc_dot_AccessController
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_security_dot_comp_dot_stoc_dot_AccessController
 com_sun_star_security_comp_stoc_AccessController
+#define 
LO_URE_CTOR_ENV_com_dot_sun_dot_star_dot_security_dot_comp_dot_stoc_dot_FilePolicy
 1 /*TODO*/
+#define 
LO_URE_CTOR_FUN_com_dot_sun_dot_star_dot_security_dot_comp_dot_stoc_dot_FilePolicy
 com_sun_star_security_comp_stoc_FilePolicy
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to