summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.top1
-rw-r--r--RepositoryExternal.mk19
-rw-r--r--configure.in16
-rw-r--r--liborcus/makefile.mk54
-rw-r--r--liborcus/prj/build.lst3
-rw-r--r--liborcus/prj/d.lst10
-rw-r--r--liborcus/prj/dmake0
-rw-r--r--sc/prj/build.lst2
-rw-r--r--sc/source/core/tool/orcushandler.cxx31
-rw-r--r--scp2/source/ooo/file_library_ooo.scp19
-rw-r--r--tail_build/prj/build.lst2
11 files changed, 124 insertions, 33 deletions
diff --git a/Makefile.top b/Makefile.top
index b8ec2f255d90..9b65103fb67a 100644
--- a/Makefile.top
+++ b/Makefile.top
@@ -210,6 +210,7 @@ libexttextcat\
libgsf\
liblangtag\
libmspub\
+liborcus\
libpng\
librsvg\
libvisio\
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 6cecad6c665a..d7d4a189f95e 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1856,31 +1856,28 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
endif # SYSTEM_PYTHON
-ifeq ($(SYSTEM_ORCUS),YES)
+ifeq ($(SYSTEM_LIBORCUS),YES)
define gb_LinkTarget__use_orcus
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
- $(ORCUS_CFLAGS) \
+ $(LIBORCUS_CFLAGS) \
)
-$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
+$(call gb_LinkTarget_add_libs,$(1),$(LIBORCUS_LIBS))
endef
-else # !SYSTEM_ORCUS
-
-$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
- orcuslib \
-))
+else # !SYSTEM_LIBORCUS
define gb_LinkTarget__use_orcus
-$(call gb_LinkTarget_use_static_libraries,$(1),\
- orcuslib \
+
+$(call gb_LinkTarget_add_libs,$(1),\
+ -lorcus-0.2 \
)
endef
-endif # SYSTEM_ORCUS
+endif # SYSTEM_LIBORCUS
# MacOSX-only frameworks ############################################
# (in alphabetical order)
diff --git a/configure.in b/configure.in
index f22a493d0ef6..4e37bcdc9400 100644
--- a/configure.in
+++ b/configure.in
@@ -8599,18 +8599,18 @@ dnl ===================================================================
AC_MSG_CHECKING([which orcus library to use])
if test "$with_system_orcus" = "yes"; then
AC_MSG_RESULT([external])
- SYSTEM_ORCUS=YES
- ORCUS_CFLAGS="`$PKG_CONFIG --cflags liborcus-0.2`"
- ORCUS_LIBS="`$PKG_CONFIG --libs liborcus-0.2`"
+ SYSTEM_LIBORCUS=YES
+ LIBORCUS_CFLAGS="`$PKG_CONFIG --cflags liborcus-0.2`"
+ LIBORCUS_LIBS="`$PKG_CONFIG --libs liborcus-0.2`"
PKG_CHECK_MODULES(ORCUS, orcus >= 0.1.0)
else
AC_MSG_RESULT([internal])
- BUILD_TYPE="$BUILD_TYPE ORCUS"
- SYSTEM_ORCUS=NO
+ BUILD_TYPE="$BUILD_TYPE LIBORCUS"
+ SYSTEM_LIBORCUS=NO
fi
-AC_SUBST(SYSTEM_ORCUS)
-AC_SUBST(ORCUS_CFLAGS)
-AC_SUBST(ORCUS_LIBS)
+AC_SUBST(SYSTEM_LIBORCUS)
+AC_SUBST(LIBORCUS_CFLAGS)
+AC_SUBST(LIBORCUS_LIBS)
dnl ===================================================================
dnl Check for system hunspell
diff --git a/liborcus/makefile.mk b/liborcus/makefile.mk
new file mode 100644
index 000000000000..5958a42e0f7b
--- /dev/null
+++ b/liborcus/makefile.mk
@@ -0,0 +1,54 @@
+#
+# 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/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed
+# with this work for additional information regarding copyright
+# ownership. The ASF licenses this file to you under the Apache
+# License, Version 2.0 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.apache.org/licenses/LICENSE-2.0 .
+#
+
+PRJ=.
+
+PRJNAME=orcus
+TARGET=orcus
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+.IF "$(SYSTEM_LIBORCUS)" == "YES"
+@all:
+ @echo "Using system liborcus..."
+.ENDIF
+
+TARFILE_NAME=liborcus_0.1.0
+TARFILE_MD5=17cfc0065e7d250af3e5754cee97e652
+
+PATCH_FILES=
+
+CONFIGURE_DIR=
+CONFIGURE_ACTION=./autogen.sh \
+ --with-mdds-include-path=$(OUTDIR)/inc \
+ --disable-libzip \
+ --disable-spreadsheet-model
+
+BUILD_ACTION=make
+BUILD_DIR=
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : set_ext.mk
+.INCLUDE : target.mk
+.INCLUDE : tg_ext.mk
+
diff --git a/liborcus/prj/build.lst b/liborcus/prj/build.lst
new file mode 100644
index 000000000000..70eeee57033b
--- /dev/null
+++ b/liborcus/prj/build.lst
@@ -0,0 +1,3 @@
+orcus liborcus : BOOST:boost MDDS:mdds NULL
+orcus liborcus usr1 - all orcus_mkout NULL
+orcus liborcus nmake - all orcus_liborcus NULL
diff --git a/liborcus/prj/d.lst b/liborcus/prj/d.lst
new file mode 100644
index 000000000000..d49178288722
--- /dev/null
+++ b/liborcus/prj/d.lst
@@ -0,0 +1,10 @@
+mkdir: %_DEST%\inc\orcus
+mkdir: %_DEST%\inc\orcus\spreadsheet
+
+..\%__SRC%\misc\build\liborcus*\include\orcus\*.hpp %_DEST%\inc\orcus\
+..\%__SRC%\misc\build\liborcus*\include\orcus\spreadsheet\*.hpp %_DEST%\inc\orcus\spreadsheet\
+
+..\%__SRC%\misc\build\liborcus*\src\liborcus\.libs\liborcus-0.2.so.0 %_DEST%\lib\
+symlink: %_DEST%\lib\liborcus-0.2.so.0 %_DEST%\lib\liborcus-0.2.so
+
+..\%__SRC%\slb\*.lib %_DEST%\lib\*.lib
diff --git a/liborcus/prj/dmake b/liborcus/prj/dmake
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/liborcus/prj/dmake
diff --git a/sc/prj/build.lst b/sc/prj/build.lst
index c782f350ab83..5711a350f5d2 100644
--- a/sc/prj/build.lst
+++ b/sc/prj/build.lst
@@ -1,2 +1,2 @@
-sc sc : basic filter TRANSLATIONS:translations vbahelper oovbaapi svx uui stoc BOOST:boost formula mdds oox LIBXSLT:libxslt unoxml ure test xmloff desktop ucb package configmgr officecfg scripting chart2 eventattacher forms scaddins xmlsecurity tubes NULL
+sc sc : basic filter TRANSLATIONS:translations vbahelper oovbaapi svx uui stoc BOOST:boost formula MDDS:mdds oox LIBXSLT:libxslt unoxml ure test xmloff desktop ucb package configmgr officecfg scripting chart2 eventattacher forms scaddins xmlsecurity tubes LIBORCUS:liborcus NULL
sc sc\prj nmake - all sc_prj NULL
diff --git a/sc/source/core/tool/orcushandler.cxx b/sc/source/core/tool/orcushandler.cxx
index 2fa5e890d180..3599b27eb7c7 100644
--- a/sc/source/core/tool/orcushandler.cxx
+++ b/sc/source/core/tool/orcushandler.cxx
@@ -31,20 +31,20 @@
#include "tools/urlobj.hxx"
-#include <orcus/model/interface.hpp>
+#include <orcus/spreadsheet/import_interface.hpp>
#include <orcus/orcus_csv.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
-using orcus::model::row_t;
-using orcus::model::col_t;
-using orcus::model::formula_grammar_t;
+using orcus::spreadsheet::row_t;
+using orcus::spreadsheet::col_t;
+using orcus::spreadsheet::formula_grammar_t;
namespace {
class ScOrcusSheet;
-class ScOrcusFactory : public orcus::model::iface::factory
+class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory
{
ScDocument& mrDoc;
boost::ptr_vector<ScOrcusSheet> maSheets;
@@ -52,12 +52,13 @@ class ScOrcusFactory : public orcus::model::iface::factory
public:
ScOrcusFactory(ScDocument& rDoc);
- virtual orcus::model::iface::sheet* append_sheet(const char *sheet_name, size_t sheet_name_length);
- virtual orcus::model::iface::shared_strings* get_shared_strings();
- virtual orcus::model::iface::styles* get_styles();
+ virtual orcus::spreadsheet::iface::import_sheet* append_sheet(const char *sheet_name, size_t sheet_name_length);
+ virtual orcus::spreadsheet::iface::import_sheet* get_sheet(const char *sheet_name, size_t sheet_name_length);
+ virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings();
+ virtual orcus::spreadsheet::iface::import_styles* get_styles();
};
-class ScOrcusSheet : public orcus::model::iface::sheet
+class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
{
ScDocument& mrDoc;
SCTAB mnTab;
@@ -78,7 +79,7 @@ public:
ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc) : mrDoc(rDoc) {}
-orcus::model::iface::sheet* ScOrcusFactory::append_sheet(const char* sheet_name, size_t sheet_name_length)
+orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(const char* sheet_name, size_t sheet_name_length)
{
OUString aTabName(sheet_name, sheet_name_length, RTL_TEXTENCODING_UTF8);
if (!mrDoc.InsertTab(SC_TAB_APPEND, aTabName))
@@ -89,13 +90,19 @@ orcus::model::iface::sheet* ScOrcusFactory::append_sheet(const char* sheet_name,
return &maSheets.back();
}
-orcus::model::iface::shared_strings* ScOrcusFactory::get_shared_strings()
+orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::get_sheet(const char* /*sheet_name*/, size_t /*sheet_name_length*/)
+{
+ // TODO: Implement this.
+ return NULL;
+}
+
+orcus::spreadsheet::iface::import_shared_strings* ScOrcusFactory::get_shared_strings()
{
// We don't support it yet.
return NULL;
}
-orcus::model::iface::styles* ScOrcusFactory::get_styles()
+orcus::spreadsheet::iface::import_styles* ScOrcusFactory::get_styles()
{
// We don't support it yet.
return NULL;
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index dbb27f69c528..5207804ecbc6 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -1881,3 +1881,22 @@ SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Lomenubar, lomenubar.uno )
#ifdef ENABLE_TELEPATHY
STD_LIB_FILE( gid_File_Lib_Tubes , tubes)
#endif
+
+#ifndef SYSTEM_LIBORCUS
+
+File gid_File_Lib_Liborcus
+ LIB_FILE_BODY;
+ Styles = (PACKED);
+ Dir = SCP2_OOO_BIN_DIR;
+ #ifdef UNX
+ #ifdef MACOSX
+ Name = STRING(CONCAT3(liborcus-0.2,0,UNXSUFFIX));
+ #else
+ Name = STRING(CONCAT3(liborcus-0.2,UNXSUFFIX,.0));
+ #endif
+ #elif defined(WNT)
+ Name = "liborcus-0.2.dll";
+ #endif
+End
+
+#endif
diff --git a/tail_build/prj/build.lst b/tail_build/prj/build.lst
index ace44906e3f3..cfdfbb9690a2 100644
--- a/tail_build/prj/build.lst
+++ b/tail_build/prj/build.lst
@@ -1,2 +1,2 @@
-tb tail_build : AFMS:afms APACHE_COMMONS:apache-commons BSH:beanshell BERKELEYDB:berkeleydb BOOST:boost CAIRO:cairo CPPUNIT:cppunit DESKTOP:codemaker CURL:curl EXPAT:expat FONTCONFIG:fontconfig FREETYPE:freetype GLIB:glib GRAPHITE:graphite HUNSPELL:hunspell HYPHEN:hyphen ICU:icu DESKTOP:l10ntools JFREEREPORT:jfreereport JPEG:jpeg LCMS2:lcms2 LIBCDR:libcdr LIBCMIS:libcmis LIBEXTTEXTCAT:libexttextcat LIBLANGTAG:liblangtag LIBMSPUB:libmspub LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt LIBWPG:libwpg LIBWPS:libwps LIBWPD:libwpd LIBVISIO:libvisio LPSOLVE:lpsolve MOZ:moz MYTHES:mythes NEON:neon NSS:nss OPENLDAP:openldap OPENSSL:openssl POSTGRESQL:postgresql PYTHON:python REDLAND:redland SAXON:saxon TRANSLATIONS:translations XPDF:xpdf ZLIB:zlib bridges cli_ure comphelper cppu cppuhelper external jurt jvmaccess jvmfwk offapi officecfg DESKTOP:rdbmaker readlicense_oo RHINO:rhino ridljar sal salhelper solenv soltools stoc ucbhelper ucpp udkapi xmlreader xsltml NULL
+tb tail_build : AFMS:afms APACHE_COMMONS:apache-commons BSH:beanshell BERKELEYDB:berkeleydb BOOST:boost CAIRO:cairo CPPUNIT:cppunit DESKTOP:codemaker CURL:curl EXPAT:expat FONTCONFIG:fontconfig FREETYPE:freetype GLIB:glib GRAPHITE:graphite HUNSPELL:hunspell HYPHEN:hyphen ICU:icu DESKTOP:l10ntools JFREEREPORT:jfreereport JPEG:jpeg LCMS2:lcms2 LIBCDR:libcdr LIBCMIS:libcmis LIBEXTTEXTCAT:libexttextcat LIBLANGTAG:liblangtag LIBMSPUB:libmspub LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt LIBWPG:libwpg LIBWPS:libwps LIBWPD:libwpd LIBVISIO:libvisio LIBORCUS:liborcus LPSOLVE:lpsolve MDDS:mdds MOZ:moz MYTHES:mythes NEON:neon NSS:nss OPENLDAP:openldap OPENSSL:openssl POSTGRESQL:postgresql PYTHON:python REDLAND:redland SAXON:saxon TRANSLATIONS:translations XPDF:xpdf ZLIB:zlib bridges cli_ure comphelper cppu cppuhelper external jurt jvmaccess jvmfwk offapi officecfg DESKTOP:rdbmaker readlicense_oo RHINO:rhino ridljar sal salhelper solenv soltools stoc ucbhelper ucpp udkapi xmlreader xsltml NULL
tb tail_build\prj nmake - all tb_prj NULL