Hi all,
I have some questions about feature/gnumake4 branch.
It can now start. I'm sending two more patches. First needs review,
the second should be good but I did not push that either.
There was some issue with creating ..Env.Set.sh.
What's the plan with that branch? Just to merge and then delete?
I was trying to merge bootstrap and base.
I've done my best I think but there was some error with set_soenv
(first patch) and then something with Library makefiles. It can't
register components or something like that after my attempt of merge.
I don't know how to solve that and I'm not the right person because I
was not working in that area in any of the branches.
It was hard to merge bootstrap because especially in RepositoryFixes
there were many commits in both branches and now they differ too much.
And about the base. There were some changes with precompiled headers.
But that's not finished. Are they useful for something. I don't
understand what that should do and have not asked yet.
Each library needs its own precompiled header file? Because in base
(gnumake4) there were created new headers and source files changed to
include the right header and now is hard to know if there were also
some other changes or not. It's not finished because in Library_foo
makefile is still old common precompiled header. But that's just
detail.
Personally I'd prefer just to get from that branch what I want instead
of true merging. That way you don't have to be so careful because for
example there are often restored removed files by merge.
Maybe I could merge some modules (but probably with help like in base
I'm not sure if we want that change). I did not look at all, so I'm
not sure.
But at least bootstrap has to merge someone else.
All the best,
Matus
From 6f51b02a7543a4a0ae8f76d902cc87970bc6a1f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=BA=C5=A1=20Kukan?= <matus.kukan@gmail.com>
Date: Fri, 15 Jul 2011 00:15:32 +0200
Subject: [PATCH] Revert some changes in set_soenv.in
This partially reverts commit 3ad912abd7c2106c4ba6cd35e2ead954759d5cc8
---
set_soenv.in | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/set_soenv.in b/set_soenv.in
index 87ecc76..2a2b975 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1470,6 +1470,8 @@ $nmake = '"dmake"';
# VI. Open the output file.
#--------------------------
#
+open( OUT, ">$outfile" ) ||
+ die "Cannot open $outfile: $!\n";
#
#------------------------------------------
@@ -2075,6 +2077,8 @@ ToFile( "ZIPDEP", "zipdep.pl", "e" );
#
# Writing the aliases to file.
ToFile( "Aliases.", $empty, "c" );
+ToFile( "Don't set aliases when bootstrapping", $empty, "c" );
+ToFile( "if test -z \"\$_ISBOOTSTRAP_\"; then", $empty, "z");
ToFile( "alias mkout", $mkout, "a" );
ToFile( "alias deliver", $deliver, "a" );
@@ -2085,6 +2089,17 @@ if ( $platform !~ m/cygwin/ )
{ ToFile( "alias nmake", $nmake, "a" );
}
+ToFile( "fi", $empty, "z");
+
+# Check if the right dmake version is used. (W32 only)
+if ( $platform =~ m/cygwin/ ) {
+ ToFile( "Check if the right dmake version is used.", $empty, "c" );
+ # Invalidate build environment.
+ ToFile( "WORK_STAMP", "_invalid_", "e" );
+ # Restore valid environment if test was successful.
+ ToFile( "WORK_STAMP", $WORK_STAMP, "e" );
+ ToFile( "", $empty, "n");
+}
# on Solaris, MacOSX and FreeBSD, set GNUCOPY and GNUPATCH
if ($platform =~ m/solaris|darwin|freebsd/)
@@ -2106,6 +2121,8 @@ print OUT "unset $unsetvars$newline";
# VIII. Closing output file.
#---------------------------
#
+close( OUT ) || print "Can't close $outfile: $!";
+
#
#------------------------------
# IX. Sourcing the output file.
@@ -2151,6 +2168,8 @@ $bootfile = "bootstrap";
open( OUT, ">$bootfile" ) ||
die "Cannot open $bootfile: $!\n";
print OUT "#!/bin/sh\n";
+print OUT "_ISBOOTSTRAP_=TRUE ; export _ISBOOTSTRAP_ ; . $SRC_ROOT/$outfile\n";
+print OUT "unset _ISBOOTSTRAP_; export _ISBOOTSTRAP_\n";
if ( $MINGW eq "yes" )
{ print OUT 'PATH="/usr/bin:$PATH" : export PATH'."\n"; }
close( OUT ) || print "Can't close $bootfile: $!";
@@ -2264,6 +2283,7 @@ sub ToFile {
$envvar =~ s/\\/\\\\/g;
printf("%-12s %-17s %-10s %s\n", "The variable", $_[ 0 ], "is set to:", $envvar) if (
'@VERBOSE@' eq 'TRUE' );
+ print OUT "$_[ 0 ]=\"$envvar\"$newline"; # to sh file
$exportvars .= " $_[ 0 ]"; # add to export list for sh file
} else {
@@ -2274,6 +2294,7 @@ sub ToFile {
elsif ( $_[ 2 ] eq "a" )
{ # Write an alias to file.
print "The $_[ 0 ] is set to: $_[ 1 ]\n" if ( '@VERBOSE@' eq 'TRUE' ); # to stdout
+ print OUT "$_[ 0 ]=$_[ 1 ]$newline"; # to sh file
}
elsif ( $_[ 2 ] eq "c" )
{ # Write a comment to file.
@@ -2284,9 +2305,14 @@ sub ToFile {
print "$comment $_[ 0 ]$newline";
print "$comment$newline";
}
+ print OUT "$newline";
+ print OUT "$comment$newline";
+ print OUT "$comment $_[ 0 ]$newline";
+ print OUT "$comment$newline";
}
elsif ( $_[ 2 ] eq "n" )
{ #Write a newline to a file
+ print OUT "$newline";
}
elsif ( $_[ 2 ] eq "z" )
{
--
1.7.1
From 8f6c30cb9475e8d25727401ade5aff8fb6554687 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=BA=C5=A1=20Kukan?= <matus.kukan@gmail.com>
Date: Fri, 15 Jul 2011 09:24:52 +0200
Subject: [PATCH] Add missing files to starmath libraries
---
starmath/Library_sm.mk | 2 +-
starmath/Library_smd.mk | 3 +-
starmath/source/detreg.cxx | 84 +++++++++++++++
starmath/source/register.cxx | 228 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 315 insertions(+), 2 deletions(-)
create mode 100644 starmath/source/detreg.cxx
create mode 100644 starmath/source/register.cxx
diff --git a/starmath/Library_sm.mk b/starmath/Library_sm.mk
index 20e797d..7e5162f 100644
--- a/starmath/Library_sm.mk
+++ b/starmath/Library_sm.mk
@@ -66,7 +66,6 @@ $(eval $(call gb_Library_add_exception_objects,sm,\
starmath/source/dialog \
starmath/source/document \
starmath/source/edit \
- starmath/source/eqnolefilehdr \
starmath/source/format \
starmath/source/mathmlexport \
starmath/source/mathmlimport \
@@ -74,6 +73,7 @@ $(eval $(call gb_Library_add_exception_objects,sm,\
starmath/source/node \
starmath/source/parse \
starmath/source/rect \
+ starmath/source/register \
starmath/source/smdll \
starmath/source/smmod \
starmath/source/symbol \
diff --git a/starmath/Library_smd.mk b/starmath/Library_smd.mk
index d1596e7..5653614 100644
--- a/starmath/Library_smd.mk
+++ b/starmath/Library_smd.mk
@@ -43,7 +43,6 @@ $(eval $(call gb_Library_add_linked_libs,smd,\
cppuhelper \
sal \
sfx \
- sm \
sot \
svl \
svt \
@@ -54,7 +53,9 @@ $(eval $(call gb_Library_add_linked_libs,smd,\
))
$(eval $(call gb_Library_add_exception_objects,smd,\
+ starmath/source/detreg \
starmath/source/smdetect \
+ starmath/source/eqnolefilehdr \
))
# vim: set noet sw=4 ts=4:
diff --git a/starmath/source/detreg.cxx b/starmath/source/detreg.cxx
new file mode 100644
index 0000000..73dec83
--- /dev/null
+++ b/starmath/source/detreg.cxx
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_starmath.hxx"
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/uno/Sequence.h>
+#include <rtl/ustring.hxx>
+
+#include "smdetect.hxx"
+
+using namespace ::rtl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+
+extern "C" {
+
+SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName,
+ void* pServiceManager,
+ void* /*pRegistryKey*/ )
+{
+ // Set default return value for this operation - if it failed.
+ void* pReturn = NULL ;
+
+ if (
+ ( pImplementationName != NULL ) &&
+ ( pServiceManager != NULL )
+ )
+ {
+ // Define variables which are used in following macros.
+ Reference< XSingleServiceFactory > xFactory
;
+ Reference< XMultiServiceFactory > xServiceManager( reinterpret_cast<
XMultiServiceFactory* >( pServiceManager ) ) ;
+
+ if( SmFilterDetect::impl_getStaticImplementationName().equalsAscii( pImplementationName ) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmFilterDetect::impl_getStaticImplementationName(),
+ SmFilterDetect::impl_createInstance,
+ SmFilterDetect::impl_getStaticSupportedServiceNames() );
+ }
+
+ // Factory is valid - service was found.
+ if ( xFactory.is() )
+ {
+ xFactory->acquire();
+ pReturn = xFactory.get();
+ }
+ }
+
+ // Return with result of this operation.
+ return pReturn ;
+}
+} // extern "C"
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/source/register.cxx b/starmath/source/register.cxx
new file mode 100644
index 0000000..39ff91a
--- /dev/null
+++ b/starmath/source/register.cxx
@@ -0,0 +1,228 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_starmath.hxx"
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/uno/Sequence.h>
+#include <rtl/ustring.hxx>
+
+#include <sfx2/sfxmodelfactory.hxx>
+
+#include "smdll.hxx"
+#include "document.hxx"
+#include "unomodel.hxx"
+
+using namespace ::rtl;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+
+//Math document
+extern Sequence< OUString > SAL_CALL
+ SmDocument_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmDocument_getImplementationName() throw();
+extern Reference< XInterface >SAL_CALL
+ SmDocument_createInstance(const Reference< XMultiServiceFactory > & rSMgr, const
sal_uInt64 _nCreationFlags) throw( Exception );
+
+//MathML import
+extern Sequence< OUString > SAL_CALL
+ SmXMLImport_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLImport_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLImport_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLImportMeta_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLImportMeta_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLImportMeta_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLImportSettings_getSupportedServiceNames() throw();
+extern OUString SAL_CALL SmXMLImportSettings_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLImportSettings_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+
+//MathML export
+extern Sequence< OUString > SAL_CALL
+ SmXMLExport_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExport_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExport_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLExportMetaOOO_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExportMetaOOO_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExportMetaOOO_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLExportMeta_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExportMeta_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExportMeta_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLExportSettingsOOO_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExportSettingsOOO_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExportSettingsOOO_createInstance(const Reference< XMultiServiceFactory > & rSMgr)
throw( Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLExportSettings_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExportSettings_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExportSettings_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+extern Sequence< OUString > SAL_CALL
+ SmXMLExportContent_getSupportedServiceNames() throw();
+extern OUString SAL_CALL
+ SmXMLExportContent_getImplementationName() throw();
+extern Reference< XInterface > SAL_CALL
+ SmXMLExportContent_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw(
Exception );
+
+
+extern "C" {
+
+SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName,
+ void* pServiceManager,
+ void* /*pRegistryKey*/ )
+{
+ // Set default return value for this operation - if it failed.
+ void* pReturn = NULL ;
+
+ if (
+ ( pImplementationName != NULL ) &&
+ ( pServiceManager != NULL )
+ )
+ {
+ // Define variables which are used in following macros.
+ Reference< XSingleServiceFactory > xFactory
;
+ Reference< XMultiServiceFactory > xServiceManager( reinterpret_cast<
XMultiServiceFactory* >( pServiceManager ) ) ;
+
+ if( SmXMLImport_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLImport_getImplementationName(),
+ SmXMLImport_createInstance,
+ SmXMLImport_getSupportedServiceNames() );
+ }
+ else if( SmXMLExport_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExport_getImplementationName(),
+ SmXMLExport_createInstance,
+ SmXMLExport_getSupportedServiceNames() );
+ }
+ else if( SmXMLImportMeta_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLImportMeta_getImplementationName(),
+ SmXMLImportMeta_createInstance,
+ SmXMLImportMeta_getSupportedServiceNames() );
+ }
+ else if( SmXMLExportMetaOOO_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExportMetaOOO_getImplementationName(),
+ SmXMLExportMetaOOO_createInstance,
+ SmXMLExportMetaOOO_getSupportedServiceNames() );
+ }
+ else if( SmXMLExportMeta_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExportMeta_getImplementationName(),
+ SmXMLExportMeta_createInstance,
+ SmXMLExportMeta_getSupportedServiceNames() );
+ }
+ else if( SmXMLImportSettings_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLImportSettings_getImplementationName(),
+ SmXMLImportSettings_createInstance,
+ SmXMLImportSettings_getSupportedServiceNames() );
+ }
+ else if( SmXMLExportSettingsOOO_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExportSettingsOOO_getImplementationName(),
+ SmXMLExportSettingsOOO_createInstance,
+ SmXMLExportSettingsOOO_getSupportedServiceNames() );
+ }
+ else if( SmXMLExportSettings_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExportSettings_getImplementationName(),
+ SmXMLExportSettings_createInstance,
+ SmXMLExportSettings_getSupportedServiceNames() );
+ }
+ else if( SmXMLExportContent_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::cppu::createSingleFactory( xServiceManager,
+ SmXMLExportContent_getImplementationName(),
+ SmXMLExportContent_createInstance,
+ SmXMLExportContent_getSupportedServiceNames() );
+ }
+ else if( SmDocument_getImplementationName().equalsAsciiL(
+ pImplementationName, strlen(pImplementationName)) )
+ {
+ xFactory = ::sfx2::createSfxModelFactory( xServiceManager,
+ SmDocument_getImplementationName(),
+ SmDocument_createInstance,
+ SmDocument_getSupportedServiceNames() );
+ }
+
+
+ // Factory is valid - service was found.
+ if ( xFactory.is() )
+ {
+ xFactory->acquire();
+ pReturn = xFactory.get();
+ }
+ }
+
+ // Return with result of this operation.
+ return pReturn ;
+}
+} // extern "C"
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--
1.7.1
Context
- [Libreoffice] feature/gnumake4 · Matúš Kukan
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.