[Libreoffice-commits] core.git: 3 commits - config_host/config_orcus.h.in config_host.mk.in configure.ac framework/source liborcus/Module_liborcus.mk RepositoryExternal.mk sc/Library_scfilt.mk sc/qa sc/source
Kohei Yoshida
kohei.yoshida at collabora.com
Wed Sep 18 19:36:46 PDT 2013
RepositoryExternal.mk | 8 +++
config_host.mk.in | 1
config_host/config_orcus.h.in | 6 ++
configure.ac | 89 +++++++++++++++++++++--------------
framework/source/loadenv/loadenv.cxx | 13 +++++
liborcus/Module_liborcus.mk | 2
sc/Library_scfilt.mk | 24 +++++----
sc/qa/unit/helper/qahelper.cxx | 13 +++++
sc/source/filter/ftools/ftools.cxx | 9 +++
sc/source/filter/html/htmlpars.cxx | 10 +++
sc/source/ui/view/cellsh2.cxx | 7 ++
sc/source/ui/view/tabvwshc.cxx | 4 +
12 files changed, 142 insertions(+), 44 deletions(-)
New commits:
commit 293413d13b620052bc795eef9387f0bd9a1846d7
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Sep 18 21:39:38 2013 -0400
Diable orcus on cygwin, OS X, iOS and Android by default.
Change-Id: Ife2b2d00ba1439a10a61dca72a95e8cbcbd798eb
diff --git a/configure.ac b/configure.ac
index 141d0e1..93880f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -443,6 +443,7 @@ cygwin*|interix*|mingw32*)
test_xrender=no
test_freetype=no
test_fontconfig=no
+ enable_orcus=no
_os=WINNT
DLLPOST=".dll"
@@ -482,6 +483,7 @@ darwin*) # Mac OS X or iOS
_os=Darwin
fi
enable_systray=no
+ enable_orcus=no
# See comment above the case "$host_os"
LINKFLAGSSHL="-dynamiclib -single_module"
@@ -574,6 +576,7 @@ linux-android*)
enable_opengl=no
enable_lpsolve=no
enable_report_builder=no
+ enable_orcus=no
with_theme="tango"
test_cups=no
test_dbus=no
commit 05dd2fb998de7e66345d39b0d34e03c84fe22470
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Sep 18 21:35:50 2013 -0400
Disable all features that rely on orcus.
Change-Id: I6dcf91491497cd9d3662adaeceb73b4b544a56c9
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index effa1d3..1767133 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -86,6 +86,8 @@
#include "rtl/bootstrap.hxx"
#include <vcl/svapp.hxx>
+#include <config_orcus.h>
+
const char PROP_TYPES[] = "Types";
const char PROP_NAME[] = "Name";
@@ -711,6 +713,8 @@ LoadEnv::EContentType LoadEnv::classifyContent(const OUString&
namespace {
+#if ENABLE_ORCUS
+
bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>& rDescriptor, OUString& rType, OUString& rFilter)
{
// depending on the experimental mode
@@ -775,6 +779,15 @@ bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>& rDescrip
return false;
}
+#else
+
+bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>&, OUString&, OUString&)
+{
+ return false;
+}
+
+#endif
+
}
void LoadEnv::impl_detectTypeAndFilter()
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 75ee0fe..ddd52a3 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -63,12 +63,6 @@ $(eval $(call gb_Library_use_libraries,scfilt,\
$(gb_UWINAPI) \
))
-$(eval $(call gb_Library_use_externals,scfilt,\
- orcus \
- orcus-parser \
- zlib \
-))
-
$(eval $(call gb_Library_add_exception_objects,scfilt,\
sc/source/filter/dif/difexp \
sc/source/filter/dif/difimp \
@@ -221,16 +215,28 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
sc/source/filter/oox/worksheetfragment \
sc/source/filter/oox/worksheethelper \
sc/source/filter/oox/worksheetsettings \
- sc/source/filter/orcus/interface \
- sc/source/filter/orcus/orcusfiltersimpl \
- sc/source/filter/orcus/xmlcontext \
sc/source/filter/services \
))
+ifeq ($(ENABLE_ORCUS),TRUE)
+$(eval $(call gb_Library_use_externals,scfilt,\
+ orcus \
+ orcus-parser \
+ zlib \
+))
+
ifeq ($(SYSTEM_ZLIB),YES)
$(eval $(call gb_Library_add_defs,scfilt,\
-DSYSTEM_ZLIB \
))
endif
+$(eval $(call gb_Library_add_exception_objects,scfilt,\
+ sc/source/filter/orcus/interface \
+ sc/source/filter/orcus/orcusfiltersimpl \
+ sc/source/filter/orcus/xmlcontext \
+))
+
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx
index 33c8f04..8139363 100644
--- a/sc/qa/unit/helper/qahelper.cxx
+++ b/sc/qa/unit/helper/qahelper.cxx
@@ -15,10 +15,14 @@
#include "svx/svdpage.hxx"
#include "svx/svdoole2.hxx"
+#include <config_orcus.h>
+
+#if ENABLE_ORCUS
#if defined WNT
#define __ORCUS_STATIC_LIB
#endif
#include <orcus/csv_parser.hpp>
+#endif
#include <fstream>
@@ -93,6 +97,8 @@ void loadFile(const OUString& aFileName, std::string& aContent)
aContent = aOStream.str();
}
+#if ENABLE_ORCUS
+
void testFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab, StringType aStringFormat)
{
csv_handler aHandler(pDoc, nTab, aStringFormat);
@@ -142,6 +148,13 @@ void testCondFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab)
}
}
+#else
+
+void testFile(OUString&, ScDocument*, SCTAB, StringType) {}
+void testCondFile(OUString&, ScDocument*, SCTAB) {}
+
+#endif
+
const SdrOle2Obj* getSingleChartObject(ScDocument& rDoc, sal_uInt16 nPage)
{
// Retrieve the chart object instance from the 2nd page (for the 2nd sheet).
diff --git a/sc/source/filter/ftools/ftools.cxx b/sc/source/filter/ftools/ftools.cxx
index aab9afd..3623a7d 100644
--- a/sc/source/filter/ftools/ftools.cxx
+++ b/sc/source/filter/ftools/ftools.cxx
@@ -32,7 +32,12 @@
#include "stlpool.hxx"
#include "stlsheet.hxx"
#include "compiler.hxx"
+
+#include <config_orcus.h>
+
+#if ENABLE_ORCUS
#include "orcusfiltersimpl.hxx"
+#endif
#include <stdio.h>
@@ -348,8 +353,12 @@ ScFormatFilterPluginImpl::~ScFormatFilterPluginImpl() {}
ScOrcusFilters* ScFormatFilterPluginImpl::GetOrcusFilters()
{
+#if ENABLE_ORCUS
static ScOrcusFiltersImpl aImpl;
return &aImpl;
+#else
+ return NULL;
+#endif
}
SAL_DLLPUBLIC_EXPORT ScFormatFilterPlugin * SAL_CALL ScFilterCreate(void)
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index fa89af0..9beb5c9 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -56,7 +56,9 @@
#include "document.hxx"
#include "rangelst.hxx"
+#if ENABLE_ORCUS
#include <orcus/css_parser.hpp>
+#endif
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
@@ -3164,6 +3166,8 @@ void ScHTMLQueryParser::CloseTable( const ImportInfo& rInfo )
mpCurrTable = mpCurrTable->CloseTable( rInfo );
}
+#if ENABLE_ORCUS
+
namespace {
/**
@@ -3267,6 +3271,12 @@ void ScHTMLQueryParser::ParseStyle(const OUString& rStrm)
}
}
+#else
+
+void ScHTMLQueryParser::ParseStyle(const OUString&) {}
+
+#endif
+
// ----------------------------------------------------------------------------
IMPL_LINK( ScHTMLQueryParser, HTMLImportHdl, const ImportInfo*, pInfo )
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index a140318..9da5ace 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -59,6 +59,8 @@
#include "queryentry.hxx"
#include "markdata.hxx"
+#include <config_orcus.h>
+
using namespace com::sun::star;
static bool lcl_GetTextToColumnsRange( const ScViewData* pData, ScRange& rRange )
@@ -1142,6 +1144,11 @@ void ScCellShell::GetDBState( SfxItemSet& rSet )
}
}
break;
+#if !ENABLE_ORCUS
+ case SID_MANAGE_XML_SOURCE:
+ rSet.DisableItem(nWhich);
+ break;
+#endif
}
nWhich = aIter.NextWhich();
}
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index 309a3e0..1bc5dc4 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -68,6 +68,8 @@
#include "CorrelationDialog.hxx"
#include "CovarianceDialog.hxx"
+#include <config_orcus.h>
+
//------------------------------------------------------------------
void ScTabViewShell::SetCurRefDlgId( sal_uInt16 nNew )
@@ -397,7 +399,9 @@ SfxModelessDialog* ScTabViewShell::CreateRefDialog(
case SID_MANAGE_XML_SOURCE:
{
+#if ENABLE_ORCUS
pResult = new ScXMLSourceDlg(pB, pCW, pParent, pDoc);
+#endif
}
break;
commit 02346aa4663055e1adf7c52ede89871a493f4513
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Sep 18 19:06:20 2013 -0400
Add the configure bits to support --disable-orcus.
Change-Id: Ieeb1581187248875ca2e37278c62a382f6caa8e0
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 8a8d06c..a0315f5 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2475,6 +2475,8 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
endif # SYSTEM_PYTHON
# ORCUS
+ifeq ($(ENABLE_ORCUS),TRUE)
+
ifeq ($(SYSTEM_LIBORCUS),YES)
define gb_LinkTarget__use_orcus
@@ -2515,6 +2517,12 @@ endef
endif # SYSTEM_LIBORCUS
+else # ENABLE_ORCUS != TRUE
+
+gb_LinkTarget__use_orcus :=
+gb_LinkTarget__use_orcus-parser :=
+
+endif
### X11 stuff ###
diff --git a/config_host.mk.in b/config_host.mk.in
index 6b9768f..9699d58 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -120,6 +120,7 @@ export ENABLE_GCONF=@ENABLE_GCONF@
export ENABLE_GIO=@ENABLE_GIO@
export ENABLE_GNOMEVFS=@ENABLE_GNOMEVFS@
export ENABLE_GRAPHITE=@ENABLE_GRAPHITE@
+export ENABLE_ORCUS=@ENABLE_ORCUS@
export ENABLE_HARFBUZZ=@ENABLE_HARFBUZZ@
export ENABLE_GSTREAMER=@ENABLE_GSTREAMER@
export ENABLE_GSTREAMER_0_10=@ENABLE_GSTREAMER_0_10@
diff --git a/config_host/config_orcus.h.in b/config_host/config_orcus.h.in
new file mode 100644
index 0000000..68e3757
--- /dev/null
+++ b/config_host/config_orcus.h.in
@@ -0,0 +1,6 @@
+#ifndef CONFIG_ORCUS_H
+#define CONFIG_ORCUS_H
+
+#define ENABLE_ORCUS 0
+
+#endif
diff --git a/configure.ac b/configure.ac
index fda58df..141d0e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -729,6 +729,11 @@ AC_ARG_ENABLE(graphite,
[Enables the compilation of Graphite smart font rendering.])
)
+AC_ARG_ENABLE(orcus,
+ AS_HELP_STRING([--enable-orcus],
+ [Enables orcus for extra file import filters for Calc.])
+)
+
AC_ARG_ENABLE(fetch-external,
AS_HELP_STRING([--disable-fetch-external],
[Disables fetching external tarballs from web sources.])
@@ -8941,6 +8946,52 @@ fi
AC_SUBST(ENABLE_GRAPHITE)
dnl ===================================================================
+dnl Orcus
+dnl ===================================================================
+
+AC_MSG_CHECKING([whether to enable orcus])
+if test $_os != Darwin -a $_os != Android -a $_os != iOS -a \( -z "$enable_orcus" -o "$enable_orcus" != no \); then
+ AC_MSG_RESULT([yes])
+ ENABLE_ORCUS="TRUE"
+ AC_DEFINE(ENABLE_ORCUS)
+
+ libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.6 >= 0.5.0])
+ if test "$with_system_orcus" != "yes"; then
+ if test "$SYSTEM_BOOST" = "YES"; then
+ # ===========================================================
+ # Determine if we are going to need to link with Boost.System
+ # ===========================================================
+ dnl This seems to be necessary since boost 1.50 (1.48 does not need it,
+ dnl 1.49 is untested). The macro BOOST_THREAD_DONT_USE_SYSTEM mentioned
+ dnl in documentation has no effect.
+ AC_MSG_CHECKING([if we need to link with Boost.System])
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <boost/version.hpp>
+ ]],[[
+ #if BOOST_VERSION >= 105000
+ # error yes, we need to link with Boost.System
+ #endif
+ ]])],[
+ AC_MSG_RESULT([no])
+ ],[
+ AC_MSG_RESULT([yes])
+ AX_BOOST_SYSTEM
+ ])
+ AC_LANG_POP([C++])
+ fi
+ fi
+ dnl FIXME by renaming SYSTEM_LIBORCUS to SYSTEM_ORCUS in the build system world
+ SYSTEM_LIBORCUS=$SYSTEM_ORCUS
+ AC_SUBST([BOOST_SYSTEM_LIB])
+ AC_SUBST(SYSTEM_LIBORCUS)
+
+else
+ AC_MSG_RESULT([no])
+fi
+AC_SUBST(ENABLE_ORCUS)
+
+dnl ===================================================================
dnl HarfBuzz
dnl ===================================================================
AC_MSG_CHECKING([whether to enable HarfBuzz support])
@@ -9210,40 +9261,6 @@ AC_SUBST(RASQAL_MAJOR)
AC_SUBST(REDLAND_MAJOR)
dnl ===================================================================
-dnl Check for system orcus
-dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.6 >= 0.5.0])
-if test "$with_system_orcus" != "yes"; then
- if test "$SYSTEM_BOOST" = "YES"; then
- # ===========================================================
- # Determine if we are going to need to link with Boost.System
- # ===========================================================
- dnl This seems to be necessary since boost 1.50 (1.48 does not need it,
- dnl 1.49 is untested). The macro BOOST_THREAD_DONT_USE_SYSTEM mentioned
- dnl in documentation has no effect.
- AC_MSG_CHECKING([if we need to link with Boost.System])
- AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- @%:@include <boost/version.hpp>
- ]],[[
- #if BOOST_VERSION >= 105000
- # error yes, we need to link with Boost.System
- #endif
- ]])],[
- AC_MSG_RESULT([no])
- ],[
- AC_MSG_RESULT([yes])
- AX_BOOST_SYSTEM
- ])
- AC_LANG_POP([C++])
- fi
-fi
-dnl FIXME by renaming SYSTEM_LIBORCUS to SYSTEM_ORCUS in the build system world
-SYSTEM_LIBORCUS=$SYSTEM_ORCUS
-AC_SUBST([BOOST_SYSTEM_LIB])
-AC_SUBST(SYSTEM_LIBORCUS)
-
-dnl ===================================================================
dnl Check for system hunspell
dnl ===================================================================
AC_MSG_CHECKING([which libhunspell to use])
@@ -12571,6 +12588,7 @@ AC_CONFIG_HEADERS([config_host/config_global.h])
AC_CONFIG_HEADERS([config_host/config_graphite.h])
AC_CONFIG_HEADERS([config_host/config_lgpl.h])
AC_CONFIG_HEADERS([config_host/config_mpl.h])
+AC_CONFIG_HEADERS([config_host/config_orcus.h])
AC_CONFIG_HEADERS([config_host/config_kde4.h])
AC_CONFIG_HEADERS([config_host/config_mingw.h])
AC_CONFIG_HEADERS([config_host/config_oox.h])
diff --git a/liborcus/Module_liborcus.mk b/liborcus/Module_liborcus.mk
index 78e90d9..d290e86 100644
--- a/liborcus/Module_liborcus.mk
+++ b/liborcus/Module_liborcus.mk
@@ -9,7 +9,7 @@
$(eval $(call gb_Module_Module,liborcus))
-ifeq ($(SYSTEM_LIBORCUS),NO)
+ifeq ($(ENABLE_ORCUS)-$(SYSTEM_LIBORCUS),TRUE-NO)
$(eval $(call gb_Module_add_targets,liborcus,\
ExternalProject_liborcus \
More information about the Libreoffice-commits
mailing list