Date: Wednesday, February 1, 2017 @ 21:22:26
  Author: andyrtr
Revision: 287891

prepare next major update

Modified:
  libreoffice-fresh/trunk/PKGBUILD
Deleted:
  
libreoffice-fresh/trunk/remove_unnecessary_orcus_external_usage_from_makefiles.diff
  libreoffice-fresh/trunk/update_liborcus_to_0.11.0.diff

-------------------------------------------------------------+
 PKGBUILD                                                    |   72 
 remove_unnecessary_orcus_external_usage_from_makefiles.diff |  124 
 update_liborcus_to_0.11.0.diff                              | 1983 ----------
 3 files changed, 18 insertions(+), 2161 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2017-02-01 20:00:42 UTC (rev 287890)
+++ PKGBUILD    2017-02-01 21:22:26 UTC (rev 287891)
@@ -11,8 +11,8 @@
 
 pkgbase=libreoffice-fresh
 pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh')
-_LOver=5.2.5.1
-pkgver=5.2.5
+_LOver=5.3.0.3
+pkgver=5.3.0
 pkgrel=1
 arch=('i686' 'x86_64')
 license=('LGPL3')
@@ -19,20 +19,21 @@
 url="http://www.libreoffice.org/";
 makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.6' 'libwpd>=0.9.2' 
'libwps'
        'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib'
-       'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 
#'icu' 
+       'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' 
        'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr'
        'libmspub' 'harfbuzz-icu' 'glew' 'nss' 'clucene' 'hicolor-icon-theme'
        'desktop-file-utils' 'shared-mime-info' 'gtk2' 'gst-plugins-base-libs'
        'glu' 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'apache-ant'
-       'gperf' 'kdelibs' 'gtk3' 'cppunit' 'beanshell' 'clucene' #'vigra' 
+       'gperf' 'kdelibs' 'gtk3' 'cppunit' 'beanshell' 'clucene' 
        'junit' 'libmythes' 'libwpg'  'java-environment' 'postgresql-libs' 
'libgl'
        'bluez-libs' 'gdb' 'doxygen'  'libatomic_ops' 'mdds' 'glew'
        'apr' 'serf' 'ttf-liberation' 'glm' 'libxinerama' 'libpagemaker'
        'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liborcus' 'liblangtag'
-       'libexttextcat' 'libfbclient' 'libcmis' 'gobject-introspection')
+       'libexttextcat' 'libfbclient' 'libcmis' 'gobject-introspection'
+       'libtommath' 'libzmf')
 
-_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}";
-#_mirror="https://dev-builds.libreoffice.org/pre-releases/src";
+#_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}";
+_mirror="http://dev-builds.libreoffice.org/pre-releases/src";
 _additional_source_url="http://dev-www.libreoffice.org/src";
 _additional_source_url2="http://dev-www.libreoffice.org/extern";
 source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc}
@@ -60,12 +61,10 @@
        
${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
        
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
        ${_additional_source_url}/libfreehand-0.1.1.tar.bz2
-       
${_additional_source_url}/976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz
+       ${_additional_source_url}/libstaroffice-0.0.2.tar.bz2
        
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
        make-pyuno-work-with-system-wide-module-install.diff
-       libreoffice-fresh.sh libreoffice-fresh.csh
-       update_liborcus_to_0.11.0.diff
-       remove_unnecessary_orcus_external_usage_from_makefiles.diff)
+       libreoffice-fresh.sh libreoffice-fresh.csh)
 noextract=(boost_1_60_0.tar.bz2
        ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
        35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
@@ -90,46 +89,10 @@
        d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
        ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
        libfreehand-0.1.1.tar.bz2
+       libstaroffice-0.0.2.tar.bz2
        976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz
        185d60944ea767075d27247c3162b3bc-unowinreg.dll)
 validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build 
Team (CODE SIGNING KEY) <bu...@documentfoundation.org>
-sha256sums=('9756a322a497aa83d096fa0ac5541622d9a8f5038ce9c0ded48199566ab0d300'
-            'SKIP'
-            '11199cca59748dc9cade4f5cbb0478f600d3c54114b09819eac54338dbbd49b4'
-            'SKIP'
-            'abf6e962aa2042bab4f2e6c3ba9eddbda64a56aa3251bde3b227cfffed926353'
-            'SKIP'
-            '686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b'
-            '3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305'
-            '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
-            '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
-            '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
-            '49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81'
-            '75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba'
-            '085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045'
-            '5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b'
-            '3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8'
-            '05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343'
-            'abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095'
-            'e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743'
-            '7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66'
-            'e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772'
-            '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
-            'cfd066b327c2308b3d019f0fe124c02d9acfafdd4aa2af0feadb6e0384027cf9'
-            'b0adb8e71aef80751b999c9c055e419a625c4a05184e407aef2aee28752ad8cb'
-            '8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4'
-            'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
-            'd1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b'
-            '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
-            '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
-            '45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877'
-            'ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581'
-            'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
-            'ad028513c29691b3ec3a35de21af2f224b48015afe0fbcc6fb834fdf7f613165'
-            '76f62957d0058092b11316357d9d716a62b48a53e5277426ffa87429ab5510e4'
-            'd24cfcb556ae1db02087c49012bbc4621f9ef7e3465ca832e1410326d260f283'
-            '4fc7b046fe96464a576d897330d1caa14998ab767002f84edf11a63b9ec35a7f'
-            'f6df5179582803bd71211a392218e9f7c062dc183832d6823cc7a13021e3e543')
 
 prepare() {
 
@@ -151,7 +114,7 @@
        cp -f ${srcdir}/185d60944ea767075d27247c3162b3bc-unowinreg.dll 
${srcdir}/ext_sources
 
        # fix not upstreamable pyuno paths - patch taken from Debian
-       patch -Np1 -i 
${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
+#      patch -Np1 -i 
${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
 
        #use the CFLAGS but remove the LibO overridden ones
        for i in $CFLAGS; do
@@ -179,7 +142,6 @@
                --libdir=/usr/lib --mandir=/usr/share/man \
                --with-lang="" \
                --with-help \
-               --enable-crashdump \
                --disable-avahi \
                --enable-dbus \
                --enable-evolution2\
@@ -216,6 +178,7 @@
                --with-system-libetonyek \
                --without-system-libfreehand \
                --with-system-firebird \
+               --with-system-libtommath \
                --with-system-libatomic-ops \
                --with-system-libebook \
                --with-system-libabw \
@@ -233,11 +196,13 @@
                --with-system-libwpg \
                --with-system-libwps \
                --with-system-redland\
+               --with-system-libzmf \
+               --without-system-libstaroffice \
                --with-system-serf \
                --with-jdk-home="/usr/lib/jvm/default" \
                --with-ant-home="/usr/share/apache-ant"\
                --without-system-boost\
-               --without-system-icu \
+               --with-system-icu \
                --with-system-cairo \
                --with-system-libs \
                --with-system-mythes \
@@ -247,8 +212,7 @@
                --with-system-clucene \
                --with-gdrive-client-id=${_google_default_client_id} \
                --with-gdrive-client-secret=${_google_default_client_secret} \
-               --disable-dependency-tracking \
-               --enable-hardlink-deliver
+               --disable-dependency-tracking
 
        touch src.downloaded
        make build
@@ -294,7 +258,7 @@
        pkgdesc="LibreOffice branch which contains new features and program 
enhancements"
        depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.6' 'libwpd>=0.9.2' 
'libwps'
                'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 
'dbus-glib'
-               'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 
'graphite' #'icu' 
+               'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 
'graphite' 'icu' 
                'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 
'libcdr'
                'libmspub' 'harfbuzz-icu' 'glew' 'nss' 'clucene' 
'hicolor-icon-theme'
                'desktop-file-utils' 'shared-mime-info' 'glu' 'libpagemaker'

Deleted: remove_unnecessary_orcus_external_usage_from_makefiles.diff
===================================================================
--- remove_unnecessary_orcus_external_usage_from_makefiles.diff 2017-02-01 
20:00:42 UTC (rev 287890)
+++ remove_unnecessary_orcus_external_usage_from_makefiles.diff 2017-02-01 
21:22:26 UTC (rev 287891)
@@ -1,124 +0,0 @@
-From 07d4c443e21cd22545d4516515c50b1c8dd39a9b Mon Sep 17 00:00:00 2001
-From: Michael Stahl <mst...@redhat.com>
-Date: Tue, 8 Mar 2016 15:01:59 +0100
-Subject: sc: remove unnecessary orcus external usage from makefiles
-
-This caused incremental builds to fail after today's orcus upgrade.
-
-The cxx files of these tests don't actually include orcus headers, so
-the libraries were not re-linked in incremental builds.
-
-Change-Id: Ibfcf216a7848f3c0adfae4ef59c4b756c290d6b2
-
-diff --git a/sc/CppunitTest_sc_bugfix_test.mk 
b/sc/CppunitTest_sc_bugfix_test.mk
-index 55311cd..712f444 100644
---- a/sc/CppunitTest_sc_bugfix_test.mk
-+++ b/sc/CppunitTest_sc_bugfix_test.mk
-@@ -16,8 +16,6 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sc_bugfix_test, \
- $(eval $(call gb_CppunitTest_use_externals,sc_bugfix_test, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
-       libxml2 \
- ))
- 
-diff --git a/sc/CppunitTest_sc_copypaste.mk b/sc/CppunitTest_sc_copypaste.mk
-index 7df4f51..641709c 100644
---- a/sc/CppunitTest_sc_copypaste.mk
-+++ b/sc/CppunitTest_sc_copypaste.mk
-@@ -16,8 +16,6 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sc_copypaste, \
- $(eval $(call gb_CppunitTest_use_externals,sc_copypaste, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
-       libxml2 \
- ))
- 
-diff --git a/sc/CppunitTest_sc_filters_test.mk 
b/sc/CppunitTest_sc_filters_test.mk
-index 4fbf489..db445f53 100644
---- a/sc/CppunitTest_sc_filters_test.mk
-+++ b/sc/CppunitTest_sc_filters_test.mk
-@@ -22,8 +22,6 @@ endif
- $(eval $(call gb_CppunitTest_use_externals,sc_filters_test, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
- ))
- 
- $(eval $(call gb_CppunitTest_use_libraries,sc_filters_test, \
-diff --git a/sc/CppunitTest_sc_opencl_test.mk 
b/sc/CppunitTest_sc_opencl_test.mk
-index 86605a2..ea93111 100644
---- a/sc/CppunitTest_sc_opencl_test.mk
-+++ b/sc/CppunitTest_sc_opencl_test.mk
-@@ -16,8 +16,6 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sc_opencl_test, \
- $(eval $(call gb_CppunitTest_use_externals,sc_opencl_test, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
- ))
- 
- $(eval $(call gb_CppunitTest_use_libraries,sc_opencl_test, \
-diff --git a/sc/CppunitTest_sc_rangelst_test.mk 
b/sc/CppunitTest_sc_rangelst_test.mk
-index 2bf6f0f..fa6f690 100644
---- a/sc/CppunitTest_sc_rangelst_test.mk
-+++ b/sc/CppunitTest_sc_rangelst_test.mk
-@@ -16,18 +16,12 @@ $(eval $(call 
gb_CppunitTest_use_externals,sc_rangelst_test, \
-     icuuc \
-       libxml2 \
-       mdds_headers \
--      orcus \
--      orcus-parser \
- ))
- 
- $(eval $(call gb_CppunitTest_add_exception_objects,sc_rangelst_test, \
-     sc/qa/unit/rangelst_test \
- ))
- 
--$(eval $(call gb_CppunitTest_use_library_objects,sc_rangelst_test, \
--      scqahelper \
--))
--
- $(eval $(call gb_CppunitTest_use_libraries,sc_rangelst_test, \
-     basegfx \
-     comphelper \
-@@ -45,6 +39,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sc_rangelst_test, 
\
-     sax \
-     sb \
-     sc \
-+    scqahelper \
-     sfx \
-     sot \
-     svl \
-diff --git a/sc/CppunitTest_sc_subsequent_export_test.mk 
b/sc/CppunitTest_sc_subsequent_export_test.mk
-index 1cfaf69..6c2c9e5 100644
---- a/sc/CppunitTest_sc_subsequent_export_test.mk
-+++ b/sc/CppunitTest_sc_subsequent_export_test.mk
-@@ -16,8 +16,6 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sc_subsequent_export_test, \
- $(eval $(call gb_CppunitTest_use_externals,sc_subsequent_export_test, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
-       libxml2 \
- ))
- 
-diff --git a/sc/CppunitTest_sc_subsequent_filters_test.mk 
b/sc/CppunitTest_sc_subsequent_filters_test.mk
-index 08dedbb..845206b 100644
---- a/sc/CppunitTest_sc_subsequent_filters_test.mk
-+++ b/sc/CppunitTest_sc_subsequent_filters_test.mk
-@@ -16,8 +16,6 @@ $(eval $(call 
gb_CppunitTest_add_exception_objects,sc_subsequent_filters_test, \
- $(eval $(call gb_CppunitTest_use_externals,sc_subsequent_filters_test, \
-       boost_headers \
-       mdds_headers \
--      orcus \
--      orcus-parser \
-       libxml2 \
- ))
- 
--- 
-cgit v0.10.2
-

Deleted: update_liborcus_to_0.11.0.diff
===================================================================
--- update_liborcus_to_0.11.0.diff      2017-02-01 20:00:42 UTC (rev 287890)
+++ update_liborcus_to_0.11.0.diff      2017-02-01 21:22:26 UTC (rev 287891)
@@ -1,1983 +0,0 @@
-From b325b4c286b56a63316063a3ac4648bf7b7efcbe Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yosh...@gmail.com>
-Date: Sat, 5 Mar 2016 20:09:34 -0500
-Subject: Update liborcus to 0.11.0.
-
-Markus did half of this, and I simply carried the torch.
-
-Change-Id: Icd3ee1e4b5bd562faee06dfd9dce52a4bed49a71
-Reviewed-on: https://gerrit.libreoffice.org/22943
-Tested-by: Jenkins <c...@libreoffice.org>
-Reviewed-by: Kohei Yoshida <libreoff...@kohei.us>
-
-diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
-index 5b497ee..c6fe371 100644
---- a/RepositoryExternal.mk
-+++ b/RepositoryExternal.mk
-@@ -743,6 +743,21 @@ $(call gb_LinkTarget_set_include,$(1),\
- 
- endef
- 
-+define gb_LinkTarget__use_boost_filesystem
-+$(call gb_LinkTarget_add_defs,$(1),\
-+      -DBOOST_ALL_NO_LIB \
-+)
-+
-+$(call gb_LinkTarget_use_static_libraries,$(1),\
-+      boost_filesystem \
-+)
-+
-+endef
-+
-+define gb_ExternalProject__use_boost_filesystem
-+$(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
-+endef
-+
- define gb_ExternalProject__use_boost_headers
- $(call gb_ExternalProject_use_unpacked,$(1),boost)
- 
-@@ -3129,7 +3144,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
- 
- $(call gb_LinkTarget_add_libs,$(1),\
--      -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs 
-lorcus-0.10 \
-+       -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs 
-lorcus-0.11 \
- )
- 
- $(if $(SYSTEM_BOOST), \
-@@ -3148,7 +3163,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
- 
- $(call gb_LinkTarget_add_libs,$(1),\
--      -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs 
-lorcus-parser-0.10 \
-+      -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs 
-lorcus-parser-0.11 \
- )
- 
- endef
-diff --git a/configure.ac b/configure.ac
-index 934d43a..dab1919 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9196,7 +9196,7 @@ if test -z "$enable_orcus" -o "$enable_orcus" != no; then
-     ENABLE_ORCUS="TRUE"
-     AC_DEFINE(ENABLE_ORCUS)
- 
--    libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.10 >= 0.9.0])
-+    libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.11 >= 0.11.0])
-     if test "$with_system_orcus" != "yes"; then
-         if test "$SYSTEM_BOOST" = "TRUE"; then
-             # ===========================================================
-diff --git a/download.lst b/download.lst
-index 906a579..475112b 100644
---- a/download.lst
-+++ b/download.lst
-@@ -117,8 +117,8 @@ export OPENCOLLADA_TARBALL := 
OpenCOLLADA-master-6509aa13af.tar.bz2
- export OPENLDAP_TARBALL := 
804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz
- export OPENSSL_MD5SUM := 9392e65072ce4b614c1392eefc1f23d0
- export OPENSSL_TARBALL := openssl-1.0.2h.tar.gz
--export ORCUS_MD5SUM := e6efcbe50a5fd4d50d513c9a7a4139b0
--export ORCUS_TARBALL := liborcus-0.9.2.tar.gz
-+export ORCUS_MD5SUM := ca1e5d486b29cd519bb1d9845a6a768e
-+export ORCUS_TARBALL := liborcus-0.11.0.tar.gz
- export OWNCLOUD_ANDROID_LIB_MD5SUM := 593f0aa47bf2efc0efda2d28fae063b2
- export OWNCLOUD_ANDROID_LIB_TARBALL := 
owncloud-android-library-0.9.4-no-binary-deps.tar.gz
- export PAGEMAKER_MD5SUM := 5c4985a68be0b79d3f809da5e12b143c
-diff --git a/external/boost/Module_boost.mk b/external/boost/Module_boost.mk
-index 5bac25e..ae407f5 100644
---- a/external/boost/Module_boost.mk
-+++ b/external/boost/Module_boost.mk
-@@ -11,6 +11,7 @@ $(eval $(call gb_Module_Module,boost))
- 
- $(eval $(call gb_Module_add_targets,boost,\
-       StaticLibrary_boostdatetime \
-+      StaticLibrary_boost_filesystem \
-       StaticLibrary_boost_system \
-       StaticLibrary_boost_iostreams \
-       UnpackedTarball_boost \
-diff --git a/external/boost/StaticLibrary_boost_filesystem.mk 
b/external/boost/StaticLibrary_boost_filesystem.mk
-new file mode 100644
-index 0000000..024308a
---- /dev/null
-+++ b/external/boost/StaticLibrary_boost_filesystem.mk
-@@ -0,0 +1,36 @@
-+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-+#
-+# 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/.
-+#
-+
-+$(eval $(call gb_StaticLibrary_StaticLibrary,boost_filesystem))
-+
-+$(eval $(call gb_StaticLibrary_use_unpacked,boost_filesystem,boost))
-+
-+$(eval $(call gb_StaticLibrary_set_warnings_not_errors,boost_filesystem))
-+
-+# disable "auto link" "feature" on MSVC
-+$(eval $(call gb_StaticLibrary_add_defs,boost_filesystem,\
-+      -DBOOST_ALL_NO_LIB \
-+))
-+
-+$(eval $(call gb_StaticLibrary_use_external,boost_filesystem,boost_headers))
-+
-+$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boost_filesystem,cpp))
-+
-+$(eval $(call 
gb_StaticLibrary_add_generated_exception_objects,boost_filesystem,\
-+      UnpackedTarball/boost/libs/filesystem/src/codecvt_error_category \
-+      UnpackedTarball/boost/libs/filesystem/src/operations \
-+      UnpackedTarball/boost/libs/filesystem/src/path \
-+      UnpackedTarball/boost/libs/filesystem/src/path_traits \
-+      UnpackedTarball/boost/libs/filesystem/src/portability \
-+      UnpackedTarball/boost/libs/filesystem/src/unique_path \
-+      UnpackedTarball/boost/libs/filesystem/src/utf8_codecvt_facet \
-+      UnpackedTarball/boost/libs/filesystem/src/windows_file_codecvt \
-+))
-+
-+# vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/0001-Fix-for-OSX-build-inside-LibreOffice.patch 
b/external/liborcus/0001-Fix-for-OSX-build-inside-LibreOffice.patch
-new file mode 100644
-index 0000000..d03c98d
---- /dev/null
-+++ b/external/liborcus/0001-Fix-for-OSX-build-inside-LibreOffice.patch
-@@ -0,0 +1,1175 @@
-+From a1df2d984d527931c6cbbe6547856283bdbf6a9b Mon Sep 17 00:00:00 2001
-+From: Kohei Yoshida <kohei.yosh...@gmail.com>
-+Date: Sun, 6 Mar 2016 21:21:31 -0500
-+Subject: [PATCH] Fix for OSX build inside LibreOffice.
-+
-+---
-+ include/orcus/sax_ns_parser.hpp          |   2 +-
-+ slickedit/orcus.vpj                      | 178 
++++---------------------------
-+ src/liborcus/dom_tree.cpp                |  12 +--
-+ src/liborcus/json_document_tree.cpp      |  29 +++--
-+ src/liborcus/json_document_tree_test.cpp |   2 +-
-+ src/liborcus/ods_content_xml_context.cpp |   2 +-
-+ src/liborcus/opc_reader.cpp              |   2 +-
-+ src/liborcus/orcus_gnumeric.cpp          |   2 +-
-+ src/liborcus/orcus_import_ods.cpp        |   2 +-
-+ src/liborcus/orcus_import_xlsx.cpp       |   2 +-
-+ src/liborcus/orcus_xls_xml.cpp           |   2 +-
-+ src/liborcus/orcus_xlsx.cpp              |  20 ++--
-+ src/liborcus/orcus_xml.cpp               |   4 +-
-+ src/liborcus/xlsx_sheet_context.cpp      |   8 +-
-+ src/liborcus/xml_map_tree.cpp            |   6 +-
-+ src/liborcus/xml_structure_tree.cpp      |   4 +-
-+ src/liborcus/yaml_document_tree.cpp      |  34 +++---
-+ src/mso/encryption_info.cpp              |   3 +-
-+ src/orcus_filter_global.cpp              |   2 +-
-+ src/orcus_json_main.cpp                  |   2 +-
-+ src/orcus_yaml_main.cpp                  |   2 +-
-+ src/parser/json_parser_base.cpp          |   2 +-
-+ src/parser/sax_parser_base.cpp           |   2 +-
-+ src/parser/string_pool.cpp               |   4 +-
-+ src/parser/yaml_parser_base.cpp          |   2 +-
-+ src/spreadsheet/document.cpp             |   2 +-
-+ 26 files changed, 95 insertions(+), 237 deletions(-)
-+
-+diff --git a/include/orcus/sax_ns_parser.hpp b/include/orcus/sax_ns_parser.hpp
-+index 680f39d..49a2b48 100644
-+--- a/include/orcus/sax_ns_parser.hpp
-++++ b/include/orcus/sax_ns_parser.hpp
-+@@ -142,7 +142,7 @@ private:
-+ 
-+         void start_element(const sax::parser_element& elem)
-+         {
-+-            m_scopes.push_back(make_unique<__sax::elem_scope>());
-++            m_scopes.push_back(orcus::make_unique<__sax::elem_scope>());
-+             __sax::elem_scope& scope = *m_scopes.back();
-+             scope.ns = m_ns_cxt.get(elem.ns);
-+             scope.name = elem.name;
-+diff --git a/slickedit/orcus.vpj b/slickedit/orcus.vpj
-+index 23c6d42..bbc89ec 100644
-+--- a/slickedit/orcus.vpj
-++++ b/slickedit/orcus.vpj
-+@@ -145,6 +145,10 @@
-+             Filters=""></Folder>
-+     </CustomFolders>
-+     <Files AutoFolders="DirectoryView">
-++        <Folder Name="../example">
-++            <F N="../example/json.cpp"/>
-++            <F N="../example/json_parser.cpp"/>
-++        </Folder>
-+         <Folder Name="../include">
-+             <Folder Name="orcus">
-+                 <Folder Name="mso">
-+@@ -186,6 +190,7 @@
-+                 <F N="../include/orcus/measurement.hpp"/>
-+                 <F N="../include/orcus/orcus_csv.hpp"/>
-+                 <F N="../include/orcus/orcus_gnumeric.hpp"/>
-++                <F N="../include/orcus/orcus_import_ods.hpp"/>
-+                 <F N="../include/orcus/orcus_import_xlsx.hpp"/>
-+                 <F N="../include/orcus/orcus_ods.hpp"/>
-+                 <F N="../include/orcus/orcus_xls_xml.hpp"/>
-+@@ -193,43 +198,34 @@
-+                 <F N="../include/orcus/orcus_xml.hpp"/>
-+                 <F N="../include/orcus/parser_base.hpp"/>
-+                 <F N="../include/orcus/parser_global.hpp"/>
-+-                <F N="../include/orcus/parser_global.hpp"/>
-+-                <F N="../include/orcus/pstring.hpp"/>
-+                 <F N="../include/orcus/pstring.hpp"/>
-+                 <F N="../include/orcus/sax_ns_parser.hpp"/>
-+-                <F N="../include/orcus/sax_ns_parser.hpp"/>
-+-                <F N="../include/orcus/sax_parser.hpp"/>
-+                 <F N="../include/orcus/sax_parser.hpp"/>
-+                 <F N="../include/orcus/sax_parser_base.hpp"/>
-+-                <F N="../include/orcus/sax_parser_base.hpp"/>
-+-                <F N="../include/orcus/sax_token_parser.hpp"/>
-+                 <F N="../include/orcus/sax_token_parser.hpp"/>
-+                 <F N="../include/orcus/stream.hpp"/>
-+-                <F N="../include/orcus/stream.hpp"/>
-+                 <F N="../include/orcus/string_pool.hpp"/>
-+-                <F N="../include/orcus/string_pool.hpp"/>
-+-                <F N="../include/orcus/tokens.hpp"/>
-+                 <F N="../include/orcus/tokens.hpp"/>
-+                 <F N="../include/orcus/types.hpp"/>
-+-                <F N="../include/orcus/types.hpp"/>
-+-                <F N="../include/orcus/xml_namespace.hpp"/>
-+                 <F N="../include/orcus/xml_namespace.hpp"/>
-+                 <F N="../include/orcus/xml_structure_tree.hpp"/>
-+-                <F N="../include/orcus/xml_structure_tree.hpp"/>
-+                 <F N="../include/orcus/yaml_document_tree.hpp"/>
-+                 <F N="../include/orcus/yaml_parser.hpp"/>
-+                 <F N="../include/orcus/yaml_parser_base.hpp"/>
-+                 <F N="../include/orcus/zip_archive.hpp"/>
-+-                <F N="../include/orcus/zip_archive.hpp"/>
-+-                <F N="../include/orcus/zip_archive_stream.hpp"/>
-+                 <F N="../include/orcus/zip_archive_stream.hpp"/>
-+             </Folder>
-+         </Folder>
-++        <Folder Name="../misc">
-++            <F N="../misc/sorted_string_map_perf.cpp"/>
-++        </Folder>
-+         <Folder Name="../parser_handlers">
-+             <F N="../parser_handlers/css.hpp"/>
-+             <F N="../parser_handlers/css_test.cpp"/>
-+             <F N="../parser_handlers/csv.hpp"/>
-+             <F N="../parser_handlers/csv_test.cpp"/>
-++            <F N="../parser_handlers/json.hpp"/>
-++            <F N="../parser_handlers/json_test.cpp"/>
-+             <F N="../parser_handlers/sax.hpp"/>
-+             <F N="../parser_handlers/sax_ns.hpp"/>
-+             <F N="../parser_handlers/sax_ns_test.cpp"/>
-+@@ -240,308 +236,172 @@
-+         <Folder Name="../src">
-+             <Folder Name="liborcus">
-+                 <F N="../src/liborcus/common_test.cpp"/>
-+-                <F N="../src/liborcus/common_test.cpp"/>
-+-                <F N="../src/liborcus/config.cpp"/>
-+                 <F N="../src/liborcus/config.cpp"/>
-++                <F N="../src/liborcus/constants.inl"/>
-+                 <F N="../src/liborcus/css_document_tree.cpp"/>
-+-                <F N="../src/liborcus/css_document_tree.cpp"/>
-+-                <F N="../src/liborcus/css_document_tree_test.cpp"/>
-+                 <F N="../src/liborcus/css_document_tree_test.cpp"/>
-+                 <F N="../src/liborcus/css_selector.cpp"/>
-+-                <F N="../src/liborcus/css_selector.cpp"/>
-+-                <F N="../src/liborcus/detection_result.cpp"/>
-+                 <F N="../src/liborcus/detection_result.cpp"/>
-+                 <F N="../src/liborcus/detection_result.hpp"/>
-+-                <F N="../src/liborcus/detection_result.hpp"/>
-+                 <F N="../src/liborcus/dom_tree.cpp"/>
-+-                <F N="../src/liborcus/dom_tree.cpp"/>
-+-                <F N="../src/liborcus/format_detection.cpp"/>
-+                 <F N="../src/liborcus/format_detection.cpp"/>
-+                 <F N="../src/liborcus/format_detection_test.cpp"/>
-+-                <F N="../src/liborcus/format_detection_test.cpp"/>
-+-                <F N="../src/liborcus/global.cpp"/>
-+                 <F N="../src/liborcus/global.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_cell_context.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_cell_context.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_cell_context.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_cell_context.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_cell_context_test.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_cell_context_test.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_context.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_context.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_context.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_context.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_detection_handler.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_detection_handler.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_detection_handler.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_detection_handler.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_handler.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_handler.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_handler.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_handler.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_helper.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_helper.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_helper.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_helper.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_helper_test.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_namespace_types.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_namespace_types.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_namespace_types.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_namespace_types.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_sheet_context.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_sheet_context.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_sheet_context.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_sheet_context.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_sheet_context_test.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_sheet_context_test.cpp"/>
-+                 <F N="../src/liborcus/gnumeric_token_constants.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_token_constants.hpp"/>
-+-                <F N="../src/liborcus/gnumeric_token_constants.inl"/>
-+                 <F N="../src/liborcus/gnumeric_token_constants.inl"/>
-+                 <F N="../src/liborcus/gnumeric_tokens.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_tokens.cpp"/>
-+-                <F N="../src/liborcus/gnumeric_tokens.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_tokens.hpp"/>
-+                 <F N="../src/liborcus/gnumeric_tokens.inl"/>
-+-                <F N="../src/liborcus/gnumeric_tokens.inl"/>
-+                 <F N="../src/liborcus/info.cpp"/>
-+                 <F N="../src/liborcus/interface.cpp"/>
-+-                <F N="../src/liborcus/interface.cpp"/>
-+                 <F N="../src/liborcus/json_document_tree.cpp"/>
-+                 <F N="../src/liborcus/json_document_tree_test.cpp"/>
-+                 <F N="../src/liborcus/json_util.cpp"/>
-+                 <F N="../src/liborcus/json_util.hpp"/>
-+                 <F N="../src/liborcus/measurement.cpp"/>
-+-                <F N="../src/liborcus/measurement.cpp"/>
-+                 <F N="../src/liborcus/mock_spreadsheet.cpp"/>
-+-                <F N="../src/liborcus/mock_spreadsheet.cpp"/>
-+-                <F N="../src/liborcus/mock_spreadsheet.hpp"/>
-+                 <F N="../src/liborcus/mock_spreadsheet.hpp"/>
-+-                <F N="../src/liborcus/odf_namespace_types.cpp"/>
-++                <F N="../src/liborcus/odf_helper.cpp"/>
-++                <F N="../src/liborcus/odf_helper.hpp"/>
-++                <F N="../src/liborcus/odf_helper_test.cpp"/>
-+                 <F N="../src/liborcus/odf_namespace_types.cpp"/>
-+                 <F N="../src/liborcus/odf_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/odf_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/odf_namespace_types_cpp.inl"/>
-+                 <F N="../src/liborcus/odf_namespace_types_cpp.inl"/>
-+                 <F N="../src/liborcus/odf_namespace_types_hpp.inl"/>
-+-                <F N="../src/liborcus/odf_namespace_types_hpp.inl"/>
-+-                <F N="../src/liborcus/odf_para_context.cpp"/>
-+                 <F N="../src/liborcus/odf_para_context.cpp"/>
-+                 <F N="../src/liborcus/odf_para_context.hpp"/>
-+-                <F N="../src/liborcus/odf_para_context.hpp"/>
-+                 <F N="../src/liborcus/odf_styles.cpp"/>
-+-                <F N="../src/liborcus/odf_styles.cpp"/>
-+-                <F N="../src/liborcus/odf_styles.hpp"/>
-+                 <F N="../src/liborcus/odf_styles.hpp"/>
-+                 <F N="../src/liborcus/odf_styles_context.cpp"/>
-+-                <F N="../src/liborcus/odf_styles_context.cpp"/>
-+-                <F N="../src/liborcus/odf_styles_context.hpp"/>
-+                 <F N="../src/liborcus/odf_styles_context.hpp"/>
-+-                <F N="../src/liborcus/odf_token_constants.hpp"/>
-++                <F N="../src/liborcus/odf_styles_context_test.cpp"/>
-+                 <F N="../src/liborcus/odf_token_constants.hpp"/>
-+                 <F N="../src/liborcus/odf_token_constants.inl"/>
-+-                <F N="../src/liborcus/odf_token_constants.inl"/>
-+-                <F N="../src/liborcus/odf_tokens.cpp"/>
-+                 <F N="../src/liborcus/odf_tokens.cpp"/>
-+                 <F N="../src/liborcus/odf_tokens.hpp"/>
-+-                <F N="../src/liborcus/odf_tokens.hpp"/>
-+-                <F N="../src/liborcus/odf_tokens.inl"/>
-+                 <F N="../src/liborcus/odf_tokens.inl"/>
-+                 <F N="../src/liborcus/ods_content_xml_context.cpp"/>
-+-                <F N="../src/liborcus/ods_content_xml_context.cpp"/>
-+                 <F N="../src/liborcus/ods_content_xml_context.hpp"/>
-+-                <F N="../src/liborcus/ods_content_xml_context.hpp"/>
-+-                <F N="../src/liborcus/ods_content_xml_handler.cpp"/>
-+                 <F N="../src/liborcus/ods_content_xml_handler.cpp"/>
-+                 <F N="../src/liborcus/ods_content_xml_handler.hpp"/>
-+-                <F N="../src/liborcus/ods_content_xml_handler.hpp"/>
-+-                <F N="../src/liborcus/ods_session_data.cpp"/>
-+                 <F N="../src/liborcus/ods_session_data.cpp"/>
-+                 <F N="../src/liborcus/ods_session_data.hpp"/>
-+-                <F N="../src/liborcus/ods_session_data.hpp"/>
-+                 <F N="../src/liborcus/ooxml_content_types.cpp"/>
-+-                <F N="../src/liborcus/ooxml_content_types.cpp"/>
-+-                <F N="../src/liborcus/ooxml_content_types.hpp"/>
-+                 <F N="../src/liborcus/ooxml_content_types.hpp"/>
-+                 <F N="../src/liborcus/ooxml_global.cpp"/>
-+-                <F N="../src/liborcus/ooxml_global.cpp"/>
-+-                <F N="../src/liborcus/ooxml_global.hpp"/>
-+                 <F N="../src/liborcus/ooxml_global.hpp"/>
-+                 <F N="../src/liborcus/ooxml_namespace_types.cpp"/>
-+-                <F N="../src/liborcus/ooxml_namespace_types.cpp"/>
-+                 <F N="../src/liborcus/ooxml_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/ooxml_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/ooxml_schemas.cpp"/>
-+                 <F N="../src/liborcus/ooxml_schemas.cpp"/>
-+                 <F N="../src/liborcus/ooxml_schemas.hpp"/>
-+-                <F N="../src/liborcus/ooxml_schemas.hpp"/>
-+-                <F N="../src/liborcus/ooxml_token_constants.hpp"/>
-+                 <F N="../src/liborcus/ooxml_token_constants.hpp"/>
-+                 <F N="../src/liborcus/ooxml_token_constants.inl"/>
-+-                <F N="../src/liborcus/ooxml_token_constants.inl"/>
-+                 <F N="../src/liborcus/ooxml_tokens.cpp"/>
-+-                <F N="../src/liborcus/ooxml_tokens.cpp"/>
-+-                <F N="../src/liborcus/ooxml_tokens.hpp"/>
-+                 <F N="../src/liborcus/ooxml_tokens.hpp"/>
-+                 <F N="../src/liborcus/ooxml_tokens.inl"/>
-+-                <F N="../src/liborcus/ooxml_tokens.inl"/>
-+-                <F N="../src/liborcus/ooxml_types.cpp"/>
-+                 <F N="../src/liborcus/ooxml_types.cpp"/>
-+                 <F N="../src/liborcus/ooxml_types.hpp"/>
-+-                <F N="../src/liborcus/ooxml_types.hpp"/>
-+                 <F N="../src/liborcus/opc_context.cpp"/>
-+-                <F N="../src/liborcus/opc_context.cpp"/>
-+-                <F N="../src/liborcus/opc_context.hpp"/>
-+                 <F N="../src/liborcus/opc_context.hpp"/>
-+                 <F N="../src/liborcus/opc_reader.cpp"/>
-+-                <F N="../src/liborcus/opc_reader.cpp"/>
-+-                <F N="../src/liborcus/opc_reader.hpp"/>
-+                 <F N="../src/liborcus/opc_reader.hpp"/>
-+                 <F N="../src/liborcus/opc_token_constants.hpp"/>
-+-                <F N="../src/liborcus/opc_token_constants.hpp"/>
-+                 <F N="../src/liborcus/opc_token_constants.inl"/>
-+-                <F N="../src/liborcus/opc_token_constants.inl"/>
-+-                <F N="../src/liborcus/opc_tokens.inl"/>
-+                 <F N="../src/liborcus/opc_tokens.inl"/>
-+                 <F N="../src/liborcus/orcus_csv.cpp"/>
-+-                <F N="../src/liborcus/orcus_csv.cpp"/>
-+-                <F N="../src/liborcus/orcus_gnumeric.cpp"/>
-+                 <F N="../src/liborcus/orcus_gnumeric.cpp"/>
-+-                <F N="../src/liborcus/orcus_import_xlsx.cpp"/>
-++                <F N="../src/liborcus/orcus_import_ods.cpp"/>
-+                 <F N="../src/liborcus/orcus_import_xlsx.cpp"/>
-+                 <F N="../src/liborcus/orcus_ods.cpp"/>
-+-                <F N="../src/liborcus/orcus_ods.cpp"/>
-+-                <F N="../src/liborcus/orcus_xls_xml.cpp"/>
-+                 <F N="../src/liborcus/orcus_xls_xml.cpp"/>
-+                 <F N="../src/liborcus/orcus_xlsx.cpp"/>
-+-                <F N="../src/liborcus/orcus_xlsx.cpp"/>
-+-                <F N="../src/liborcus/orcus_xml.cpp"/>
-+                 <F N="../src/liborcus/orcus_xml.cpp"/>
-+                 <F N="../src/liborcus/session_context.cpp"/>
-+-                <F N="../src/liborcus/session_context.cpp"/>
-+                 <F N="../src/liborcus/session_context.hpp"/>
-+-                <F N="../src/liborcus/session_context.hpp"/>
-+-                <F N="../src/liborcus/spreadsheet_interface.cpp"/>
-+                 <F N="../src/liborcus/spreadsheet_interface.cpp"/>
-+                 <F N="../src/liborcus/spreadsheet_types.cpp"/>
-+-                <F N="../src/liborcus/spreadsheet_types.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_context.cpp"/>
-++                <F N="../src/liborcus/string_helper.cpp"/>
-++                <F N="../src/liborcus/string_helper.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_context.cpp"/>
-+                 <F N="../src/liborcus/xls_xml_context.hpp"/>
-+-                <F N="../src/liborcus/xls_xml_context.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_detection_handler.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_detection_handler.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_detection_handler.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_detection_handler.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_handler.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_handler.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_handler.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_handler.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_namespace_types.cpp"/>
-+-                <F N="../src/liborcus/xls_xml_namespace_types.cpp"/>
-+                 <F N="../src/liborcus/xls_xml_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/xls_xml_namespace_types.hpp"/>
-+-                <F N="../src/liborcus/xls_xml_token_constants.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_token_constants.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_token_constants.inl"/>
-+-                <F N="../src/liborcus/xls_xml_token_constants.inl"/>
-+-                <F N="../src/liborcus/xls_xml_tokens.cpp"/>
-+                 <F N="../src/liborcus/xls_xml_tokens.cpp"/>
-+                 <F N="../src/liborcus/xls_xml_tokens.hpp"/>
-+-                <F N="../src/liborcus/xls_xml_tokens.hpp"/>
-+                 <F N="../src/liborcus/xls_xml_tokens.inl"/>
-+-                <F N="../src/liborcus/xls_xml_tokens.inl"/>
-+-                <F N="../src/liborcus/xlsx_autofilter_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_autofilter_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_autofilter_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_autofilter_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_conditional_format_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_conditional_format_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_handler.cpp"/>
-+-                <F N="../src/liborcus/xlsx_handler.cpp"/>
-+-                <F N="../src/liborcus/xlsx_handler.hpp"/>
-+                 <F N="../src/liborcus/xlsx_handler.hpp"/>
-+                 <F N="../src/liborcus/xlsx_helper.cpp"/>
-+                 <F N="../src/liborcus/xlsx_helper.hpp"/>
-+                 <F N="../src/liborcus/xlsx_pivot_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_pivot_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_pivot_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_pivot_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_revision_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_revision_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_revision_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_revision_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_session_data.cpp"/>
-+                 <F N="../src/liborcus/xlsx_session_data.cpp"/>
-+                 <F N="../src/liborcus/xlsx_session_data.hpp"/>
-+-                <F N="../src/liborcus/xlsx_session_data.hpp"/>
-+-                <F N="../src/liborcus/xlsx_sheet_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_sheet_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_sheet_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_sheet_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_sheet_context_test.cpp"/>
-+-                <F N="../src/liborcus/xlsx_sheet_context_test.cpp"/>
-+-                <F N="../src/liborcus/xlsx_table_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_table_context.cpp"/>
-+                 <F N="../src/liborcus/xlsx_table_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_table_context.hpp"/>
-+-                <F N="../src/liborcus/xlsx_types.cpp"/>
-+                 <F N="../src/liborcus/xlsx_types.cpp"/>
-+                 <F N="../src/liborcus/xlsx_types.hpp"/>
-+-                <F N="../src/liborcus/xlsx_types.hpp"/>
-+                 <F N="../src/liborcus/xlsx_workbook_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_workbook_context.cpp"/>
-+-                <F N="../src/liborcus/xlsx_workbook_context.hpp"/>
-+                 <F N="../src/liborcus/xlsx_workbook_context.hpp"/>
-+                 <F N="../src/liborcus/xml_context_base.cpp"/>
-+-                <F N="../src/liborcus/xml_context_base.cpp"/>
-+-                <F N="../src/liborcus/xml_context_base.hpp"/>
-+                 <F N="../src/liborcus/xml_context_base.hpp"/>
-+                 <F N="../src/liborcus/xml_context_global.cpp"/>
-+-                <F N="../src/liborcus/xml_context_global.cpp"/>
-+                 <F N="../src/liborcus/xml_context_global.hpp"/>
-+-                <F N="../src/liborcus/xml_context_global.hpp"/>
-+-                <F N="../src/liborcus/xml_map_tree.cpp"/>
-+                 <F N="../src/liborcus/xml_map_tree.cpp"/>
-+                 <F N="../src/liborcus/xml_map_tree.hpp"/>
-+-                <F N="../src/liborcus/xml_map_tree.hpp"/>
-+-                <F N="../src/liborcus/xml_map_tree_test.cpp"/>
-+                 <F N="../src/liborcus/xml_map_tree_test.cpp"/>
-+                 <F N="../src/liborcus/xml_simple_stream_handler.cpp"/>
-+-                <F N="../src/liborcus/xml_simple_stream_handler.cpp"/>
-+                 <F N="../src/liborcus/xml_simple_stream_handler.hpp"/>
-+-                <F N="../src/liborcus/xml_simple_stream_handler.hpp"/>
-+-                <F N="../src/liborcus/xml_stream_handler.cpp"/>
-+                 <F N="../src/liborcus/xml_stream_handler.cpp"/>
-+                 <F N="../src/liborcus/xml_stream_handler.hpp"/>
-+-                <F N="../src/liborcus/xml_stream_handler.hpp"/>
-+-                <F N="../src/liborcus/xml_stream_parser.cpp"/>
-+                 <F N="../src/liborcus/xml_stream_parser.cpp"/>
-+                 <F N="../src/liborcus/xml_stream_parser.hpp"/>
-+-                <F N="../src/liborcus/xml_stream_parser.hpp"/>
-+                 <F N="../src/liborcus/xml_structure_tree.cpp"/>
-+-                <F N="../src/liborcus/xml_structure_tree.cpp"/>
-+-                <F N="../src/liborcus/xml_structure_tree_test.cpp"/>
-+                 <F N="../src/liborcus/xml_structure_tree_test.cpp"/>
-+                 <F N="../src/liborcus/yaml_document_tree.cpp"/>
-+                 <F N="../src/liborcus/yaml_document_tree_test.cpp"/>
-+             </Folder>
-+             <Folder Name="mso">
-+                 <F N="../src/mso/encryption_info.cpp"/>
-+-                <F N="../src/mso/encryption_info.cpp"/>
-+             </Folder>
-+             <Folder Name="parser">
-+                 <F N="../src/parser/base64.cpp"/>
-+-                <F N="../src/parser/base64.cpp"/>
-+-                <F N="../src/parser/base64_test.cpp"/>
-+                 <F N="../src/parser/base64_test.cpp"/>
-+                 <F N="../src/parser/cell_buffer.cpp"/>
-+-                <F N="../src/parser/cell_buffer.cpp"/>
-+-                <F N="../src/parser/css_parser_base.cpp"/>
-+                 <F N="../src/parser/css_parser_base.cpp"/>
-+                 <F N="../src/parser/css_types.cpp"/>
-+                 <F N="../src/parser/csv_parser_base.cpp"/>
-+@@ -565,6 +425,7 @@
-+                 <F N="../src/parser/yaml_parser_base.cpp"/>
-+                 <F N="../src/parser/zip_archive.cpp"/>
-+                 <F N="../src/parser/zip_archive_stream.cpp"/>
-++                <F N="../src/parser/zip_archive_test.cpp"/>
-+             </Folder>
-+             <Folder Name="python">
-+                 <F N="../src/python/json.cpp"/>
-+@@ -597,7 +458,6 @@
-+             <F N="../src/orcus_json_main.cpp"/>
-+             <F N="../src/orcus_mso_encryption.cpp"/>
-+             <F N="../src/orcus_ods_main.cpp"/>
-+-            <F N="../src/orcus_test_common.cpp"/>
-+             <F N="../src/orcus_test_csv.cpp"/>
-+             <F N="../src/orcus_test_ods.cpp"/>
-+             <F N="../src/orcus_test_xls_xml.cpp"/>
-+diff --git a/src/liborcus/dom_tree.cpp b/src/liborcus/dom_tree.cpp
-+index 255a7d7..1b4588b 100644
-+--- a/src/liborcus/dom_tree.cpp
-++++ b/src/liborcus/dom_tree.cpp
-+@@ -177,7 +177,7 @@ void dom_tree::content::print(ostream& os, const 
xmlns_context& /*cxt*/) const
-+ dom_tree::content::~content() {}
-+ 
-+ dom_tree::dom_tree(xmlns_context& cxt) :
-+-    mp_impl(make_unique<dom_tree_impl>(cxt)) {}
-++    mp_impl(orcus::make_unique<dom_tree_impl>(cxt)) {}
-+ 
-+ dom_tree::~dom_tree() {}
-+ 
-+@@ -242,7 +242,7 @@ void dom_tree::start_element(xmlns_id_t ns, const 
pstring& name)
-+ 
-+     // Append new element as a child element of the current element.
-+     p = mp_impl->m_elem_stack.back();
-+-    p->child_nodes.push_back(make_unique<element>(ns, name_safe));
-++    p->child_nodes.push_back(orcus::make_unique<element>(ns, name_safe));
-+     p = static_cast<element*>(p->child_nodes.back().get());
-+     p->attrs.swap(mp_impl->m_cur_attrs);
-+     mp_impl->m_elem_stack.push_back(p);
-+@@ -269,7 +269,7 @@ void dom_tree::set_characters(const pstring& val)
-+ 
-+     element* p = mp_impl->m_elem_stack.back();
-+     val2 = mp_impl->m_pool.intern(val2).first; // Make sure the string is 
persistent.
-+-    p->child_nodes.push_back(make_unique<content>(val2));
-++    p->child_nodes.push_back(orcus::make_unique<content>(val2));
-+ }
-+ 
-+ void dom_tree::set_attribute(xmlns_id_t ns, const pstring& name, const 
pstring& val)
-+@@ -283,7 +283,7 @@ void dom_tree::set_attribute(xmlns_id_t ns, const 
pstring& name, const pstring&
-+ 
-+ void dom_tree::set_doctype(const sax::doctype_declaration& dtd)
-+ {
-+-    mp_impl->m_doctype = make_unique<sax::doctype_declaration>(dtd);  // 
make a copy.
-++    mp_impl->m_doctype = orcus::make_unique<sax::doctype_declaration>(dtd);  
// make a copy.
-+ 
-+     sax::doctype_declaration& this_dtd = *mp_impl->m_doctype;
-+     string_pool& pool = mp_impl->m_pool;
-+@@ -360,7 +360,7 @@ void dom_tree::dump_compact(ostream& os) const
-+ 
-+     scopes_type scopes;
-+ 
-+-    scopes.push_back(make_unique<scope>(string(), mp_impl->m_root));
-++    scopes.push_back(orcus::make_unique<scope>(string(), mp_impl->m_root));
-+     while (!scopes.empty())
-+     {
-+         bool new_scope = false;
-+@@ -418,7 +418,7 @@ void dom_tree::dump_compact(ostream& os) const
-+             ++cur_scope.current_pos;
-+             ostringstream elem_name;
-+             elem->print(elem_name, mp_impl->m_ns_cxt);
-+-            scopes.push_back(make_unique<scope>(elem_name.str()));
-++            scopes.push_back(orcus::make_unique<scope>(elem_name.str()));
-+             scope& child_scope = *scopes.back();
-+             child_scope.nodes.swap(nodes);
-+             child_scope.current_pos = child_scope.nodes.begin();
-+diff --git a/src/liborcus/json_document_tree.cpp 
b/src/liborcus/json_document_tree.cpp
-+index adafcbf..81289e1 100644
-+--- a/src/liborcus/json_document_tree.cpp
-++++ b/src/liborcus/json_document_tree.cpp
-+@@ -55,7 +55,6 @@ using node_t = json::detail::node_t;
-+ 
-+ const char* tab = "    ";
-+ constexpr char quote = '"';
-+-constexpr char backslash = '\\';
-+ 
-+ const xmlns_id_t NS_orcus_json_xml = 
"http://schemas.kohei.us/orcus/2015/json";;
-+ 
-+@@ -455,13 +454,13 @@ public:
-+     {
-+         if (m_root)
-+         {
-+-            json_value* jv = push_value(make_unique<json_value_array>());
-++            json_value* jv = 
push_value(orcus::make_unique<json_value_array>());
-+             assert(jv && jv->type == node_t::array);
-+             m_stack.push_back(parser_stack(jv));
-+         }
-+         else
-+         {
-+-            m_root = make_unique<json_value_array>();
-++            m_root = orcus::make_unique<json_value_array>();
-+             m_stack.push_back(parser_stack(m_root.get()));
-+         }
-+     }
-+@@ -476,13 +475,13 @@ public:
-+     {
-+         if (m_root)
-+         {
-+-            json_value* jv = push_value(make_unique<json_value_object>());
-++            json_value* jv = 
push_value(orcus::make_unique<json_value_object>());
-+             assert(jv && jv->type == node_t::object);
-+             m_stack.push_back(parser_stack(jv));
-+         }
-+         else
-+         {
-+-            m_root = make_unique<json_value_object>();
-++            m_root = orcus::make_unique<json_value_object>();
-+             m_stack.push_back(parser_stack(m_root.get()));
-+         }
-+     }
-+@@ -504,17 +503,17 @@ public:
-+ 
-+     void boolean_true()
-+     {
-+-        push_value(make_unique<json_value>(node_t::boolean_true));
-++        push_value(orcus::make_unique<json_value>(node_t::boolean_true));
-+     }
-+ 
-+     void boolean_false()
-+     {
-+-        push_value(make_unique<json_value>(node_t::boolean_false));
-++        push_value(orcus::make_unique<json_value>(node_t::boolean_false));
-+     }
-+ 
-+     void null()
-+     {
-+-        push_value(make_unique<json_value>(node_t::null));
-++        push_value(orcus::make_unique<json_value>(node_t::null));
-+     }
-+ 
-+     void string(const char* p, size_t len, bool transient)
-+@@ -524,12 +523,12 @@ public:
-+             // The tree manages the life cycle of this string value.
-+             s = m_pool.intern(s).first;
-+ 
-+-        push_value(make_unique<json_value_string>(s));
-++        push_value(orcus::make_unique<json_value_string>(s));
-+     }
-+ 
-+     void number(double val)
-+     {
-+-        push_value(make_unique<json_value_number>(val));
-++        push_value(orcus::make_unique<json_value_number>(val));
-+     }
-+ 
-+     void swap(std::unique_ptr<json_value>& other_root)
-+@@ -554,8 +553,8 @@ struct node::impl
-+     impl(const json_value* jv) : m_node(jv) {}
-+ };
-+ 
-+-node::node(const json_value* jv) : mp_impl(make_unique<impl>(jv)) {}
-+-node::node(const node& other) : 
mp_impl(make_unique<impl>(other.mp_impl->m_node)) {}
-++node::node(const json_value* jv) : mp_impl(orcus::make_unique<impl>(jv)) {}
-++node::node(const node& other) : 
mp_impl(orcus::make_unique<impl>(other.mp_impl->m_node)) {}
-+ node::node(node&& rhs) : mp_impl(std::move(rhs.mp_impl)) {}
-+ node::~node() {}
-+ 
-+@@ -720,12 +719,12 @@ struct json_document_tree::impl
-+     std::unique_ptr<string_pool> m_own_pool;
-+     string_pool& m_pool;
-+ 
-+-    impl() : m_own_pool(make_unique<string_pool>()), m_pool(*m_own_pool) {}
-++    impl() : m_own_pool(orcus::make_unique<string_pool>()), 
m_pool(*m_own_pool) {}
-+     impl(string_pool& pool) : m_pool(pool) {}
-+ };
-+ 
-+-json_document_tree::json_document_tree() : mp_impl(make_unique<impl>()) {}
-+-json_document_tree::json_document_tree(string_pool& pool) : 
mp_impl(make_unique<impl>(pool)) {}
-++json_document_tree::json_document_tree() : 
mp_impl(orcus::make_unique<impl>()) {}
-++json_document_tree::json_document_tree(string_pool& pool) : 
mp_impl(orcus::make_unique<impl>(pool)) {}
-+ json_document_tree::~json_document_tree() {}
-+ 
-+ void json_document_tree::load(const std::string& strm, const json_config& 
config)
-+diff --git a/src/liborcus/json_document_tree_test.cpp 
b/src/liborcus/json_document_tree_test.cpp
-+index da16150..4b4fcbd 100644
-+--- a/src/liborcus/json_document_tree_test.cpp
-++++ b/src/liborcus/json_document_tree_test.cpp
-+@@ -193,7 +193,7 @@ std::unique_ptr<json_document_tree> get_doc_tree(const 
char* filepath)
-+     cout << "--- original" << endl;
-+     cout << strm << endl;
-+ 
-+-    auto doc = make_unique<json_document_tree>();
-++    auto doc = orcus::make_unique<json_document_tree>();
-+     doc->load(strm, test_config);
-+ 
-+     return doc;
-+diff --git a/src/liborcus/ods_content_xml_context.cpp 
b/src/liborcus/ods_content_xml_context.cpp
-+index f496353..c4e706d 100644
-+--- a/src/liborcus/ods_content_xml_context.cpp
-++++ b/src/liborcus/ods_content_xml_context.cpp
-+@@ -588,7 +588,7 @@ void ods_content_xml_context::push_cell_value()
-+         ods_session_data& ods_data =
-+             static_cast<ods_session_data&>(*get_session_context().mp_data);
-+         ods_data.m_formulas.push_back(
-+-            make_unique<ods_session_data::formula>(
-++            orcus::make_unique<ods_session_data::formula>(
-+                 m_tables.size()-1, m_row, m_col, 
m_cell_attr.formula_grammar, m_cell_attr.formula));
-+ 
-+         ods_session_data::formula& formula_data = 
*ods_data.m_formulas.back();
-+diff --git a/src/liborcus/opc_reader.cpp b/src/liborcus/opc_reader.cpp
-+index 814b2cf..666530e 100644
-+--- a/src/liborcus/opc_reader.cpp
-++++ b/src/liborcus/opc_reader.cpp
-+@@ -244,7 +244,7 @@ void opc_reader::read_content_types()
-+         m_config, m_ns_repo, opc_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new opc_content_types_context(m_session_cxt, opc_tokens));
-+ 
-+     parser.set_handler(handler.get());
-+diff --git a/src/liborcus/orcus_gnumeric.cpp b/src/liborcus/orcus_gnumeric.cpp
-+index 1873c0e..c29bef9 100644
-+--- a/src/liborcus/orcus_gnumeric.cpp
-++++ b/src/liborcus/orcus_gnumeric.cpp
-+@@ -82,7 +82,7 @@ void orcus_gnumeric::read_content_xml(const char* p, size_t 
size)
-+ {
-+     xml_stream_parser parser(get_config(), mp_impl->m_ns_repo, 
gnumeric_tokens, p, size);
-+ 
-+-    auto handler = make_unique<gnumeric_content_xml_handler>(
-++    auto handler = orcus::make_unique<gnumeric_content_xml_handler>(
-+         mp_impl->m_cxt, gnumeric_tokens, mp_impl->mp_factory);
-+ 
-+     parser.set_handler(handler.get());
-+diff --git a/src/liborcus/orcus_import_ods.cpp 
b/src/liborcus/orcus_import_ods.cpp
-+index af1135e..2d76dbb 100644
-+--- a/src/liborcus/orcus_import_ods.cpp
-++++ b/src/liborcus/orcus_import_ods.cpp
-+@@ -32,7 +32,7 @@ void import_ods::read_styles(const char* p, size_t n, 
spreadsheet::iface::import
-+ 
-+     session_context cxt;
-+     odf_styles_map_type styles_map;
-+-    auto context = make_unique<styles_context>(cxt, odf_tokens, styles_map, 
styles);
-++    auto context = orcus::make_unique<styles_context>(cxt, odf_tokens, 
styles_map, styles);
-+ 
-+     xml_simple_stream_handler stream_handler(context.release());
-+ 
-+diff --git a/src/liborcus/orcus_import_xlsx.cpp 
b/src/liborcus/orcus_import_xlsx.cpp
-+index 2f9f172..0d4a933 100644
-+--- a/src/liborcus/orcus_import_xlsx.cpp
-++++ b/src/liborcus/orcus_import_xlsx.cpp
-+@@ -33,7 +33,7 @@ void import_xlsx::read_table(const char* p, size_t n, 
spreadsheet::iface::import
-+         return;
-+ 
-+     session_context cxt;
-+-    auto handler = make_unique<xlsx_table_xml_handler>(cxt, ooxml_tokens, 
*table);
-++    auto handler = orcus::make_unique<xlsx_table_xml_handler>(cxt, 
ooxml_tokens, *table);
-+ 
-+     xmlns_repository ns_repo;
-+     ns_repo.add_predefined_values(NS_ooxml_all);
-+diff --git a/src/liborcus/orcus_xls_xml.cpp b/src/liborcus/orcus_xls_xml.cpp
-+index 2849219..22ffeab 100644
-+--- a/src/liborcus/orcus_xls_xml.cpp
-++++ b/src/liborcus/orcus_xls_xml.cpp
-+@@ -92,7 +92,7 @@ void orcus_xls_xml::read_stream(const char* content, size_t 
len)
-+     xml_stream_parser parser(
-+         get_config(), mp_impl->m_ns_repo, xls_xml_tokens, content, len);
-+ 
-+-    auto handler = make_unique<xls_xml_handler>(
-++    auto handler = orcus::make_unique<xls_xml_handler>(
-+         mp_impl->m_cxt, xls_xml_tokens, mp_impl->mp_factory);
-+ 
-+     parser.set_handler(handler.get());
-+diff --git a/src/liborcus/orcus_xlsx.cpp b/src/liborcus/orcus_xlsx.cpp
-+index 8c578e6..7c1e46c 100644
-+--- a/src/liborcus/orcus_xlsx.cpp
-++++ b/src/liborcus/orcus_xlsx.cpp
-+@@ -286,7 +286,7 @@ void orcus_xlsx::read_workbook(const string& dir_path, 
const string& file_name)
-+     if (buffer.empty())
-+         return;
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new xlsx_workbook_context(mp_impl->m_cxt, ooxml_tokens));
-+ 
-+     xml_stream_parser parser(
-+@@ -341,7 +341,7 @@ void orcus_xlsx::read_sheet(const string& dir_path, const 
string& file_name, xls
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xlsx_sheet_xml_handler>(
-++    auto handler = orcus::make_unique<xlsx_sheet_xml_handler>(
-+         mp_impl->m_cxt, ooxml_tokens, data->id-1, sheet);
-+ 
-+     parser.set_handler(handler.get());
-+@@ -373,7 +373,7 @@ void orcus_xlsx::read_shared_strings(const string& 
dir_path, const string& file_
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new xlsx_shared_strings_context(
-+             mp_impl->m_cxt, ooxml_tokens, 
mp_impl->mp_factory->get_shared_strings()));
-+ 
-+@@ -406,7 +406,7 @@ void orcus_xlsx::read_styles(const string& dir_path, 
const string& file_name)
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new xlsx_styles_context(
-+             mp_impl->m_cxt, ooxml_tokens, 
mp_impl->mp_factory->get_styles()));
-+ 
-+@@ -441,7 +441,7 @@ void orcus_xlsx::read_table(const std::string& dir_path, 
const std::string& file
-+     if (buffer.empty())
-+         return;
-+ 
-+-    auto handler = make_unique<xlsx_table_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens, *table);
-++    auto handler = 
orcus::make_unique<xlsx_table_xml_handler>(mp_impl->m_cxt, ooxml_tokens, 
*table);
-+ 
-+     xml_stream_parser parser(
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+@@ -471,7 +471,7 @@ void orcus_xlsx::read_pivot_cache_def(const std::string& 
dir_path, const std::st
-+     if (buffer.empty())
-+         return;
-+ 
-+-    auto handler = 
make_unique<xlsx_pivot_cache_def_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
-++    auto handler = 
orcus::make_unique<xlsx_pivot_cache_def_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
-+ 
-+     xml_stream_parser parser(
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+@@ -502,7 +502,7 @@ void orcus_xlsx::read_pivot_cache_rec(const std::string& 
dir_path, const std::st
-+     if (buffer.empty())
-+         return;
-+ 
-+-    auto handler = 
make_unique<xlsx_pivot_cache_rec_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
-++    auto handler = 
orcus::make_unique<xlsx_pivot_cache_rec_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
-+ 
-+     xml_stream_parser parser(
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+@@ -532,7 +532,7 @@ void orcus_xlsx::read_pivot_table(const std::string& 
dir_path, const std::string
-+     if (buffer.empty())
-+         return;
-+ 
-+-    auto handler = make_unique<xlsx_pivot_table_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
-++    auto handler = 
orcus::make_unique<xlsx_pivot_table_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
-+ 
-+     xml_stream_parser parser(
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+@@ -567,7 +567,7 @@ void orcus_xlsx::read_rev_headers(const std::string& 
dir_path, const std::string
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new xlsx_revheaders_context(mp_impl->m_cxt, ooxml_tokens));
-+ 
-+     parser.set_handler(handler.get());
-+@@ -600,7 +600,7 @@ void orcus_xlsx::read_rev_log(const std::string& 
dir_path, const std::string& fi
-+         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
-+         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
-+ 
-+-    auto handler = make_unique<xml_simple_stream_handler>(
-++    auto handler = orcus::make_unique<xml_simple_stream_handler>(
-+         new xlsx_revlog_context(mp_impl->m_cxt, ooxml_tokens));
-+ 
-+     parser.set_handler(handler.get());
-+diff --git a/src/liborcus/orcus_xml.cpp b/src/liborcus/orcus_xml.cpp
-+index 2cb7fa3..f97c4f9 100644
-+--- a/src/liborcus/orcus_xml.cpp
-++++ b/src/liborcus/orcus_xml.cpp
-+@@ -343,7 +343,7 @@ void write_range_reference_group(
-+     scopes_type scopes;
-+     for (spreadsheet::row_t current_row = 0; current_row < ref.row_size; 
++current_row)
-+     {
-+-        scopes.push_back(make_unique<scope>(root)); // root element
-++        scopes.push_back(orcus::make_unique<scope>(root)); // root element
-+ 
-+         while (!scopes.empty())
-+         {
-+@@ -378,7 +378,7 @@ void write_range_reference_group(
-+                     // This is a non-leaf element.  Push a new scope with 
this
-+                     // element and re-start the loop.
-+                     ++cur_scope.current_child_pos;
-+-                    scopes.push_back(make_unique<scope>(child_elem));
-++                    scopes.push_back(orcus::make_unique<scope>(child_elem));
-+                     new_scope = true;
-+                     break;
-+                 }
-+diff --git a/src/liborcus/xlsx_sheet_context.cpp 
b/src/liborcus/xlsx_sheet_context.cpp
-+index f350049..720319a 100644
-+--- a/src/liborcus/xlsx_sheet_context.cpp
-++++ b/src/liborcus/xlsx_sheet_context.cpp
-+@@ -547,7 +547,7 @@ void xlsx_sheet_context::end_element_cell()
-+         {
-+             // shared formula expression
-+             session_data.m_shared_formulas.push_back(
-+-                make_unique<xlsx_session_data::shared_formula>(
-++                orcus::make_unique<xlsx_session_data::shared_formula>(
-+                     m_sheet_id, m_cur_row, m_cur_col, 
m_cur_formula.shared_id,
-+                     m_cur_formula.str.str(), m_cur_formula.ref.str()));
-+         }
-+@@ -555,14 +555,14 @@ void xlsx_sheet_context::end_element_cell()
-+         {
-+             // array formula expression
-+             session_data.m_formulas.push_back(
-+-                make_unique<xlsx_session_data::formula>(
-++                orcus::make_unique<xlsx_session_data::formula>(
-+                     m_sheet_id, m_cur_row, m_cur_col, 
m_cur_formula.str.str(), m_cur_formula.ref.str()));
-+         }
-+         else
-+         {
-+             // normal (non-shared) formula expression
-+             session_data.m_formulas.push_back(
-+-                make_unique<xlsx_session_data::formula>(
-++                orcus::make_unique<xlsx_session_data::formula>(
-+                     m_sheet_id, m_cur_row, m_cur_col, 
m_cur_formula.str.str()));
-+         }
-+     }
-+@@ -570,7 +570,7 @@ void xlsx_sheet_context::end_element_cell()
-+     {
-+         // shared formula without formula expression
-+         session_data.m_shared_formulas.push_back(
-+-            make_unique<xlsx_session_data::shared_formula>(
-++            orcus::make_unique<xlsx_session_data::shared_formula>(
-+                 m_sheet_id, m_cur_row, m_cur_col, m_cur_formula.shared_id));
-+     }
-+     else if (m_cur_formula.type == spreadsheet::formula_t::data_table)
-+diff --git a/src/liborcus/xml_map_tree.cpp b/src/liborcus/xml_map_tree.cpp
-+index 132ccb9..69fbc75 100644
-+--- a/src/liborcus/xml_map_tree.cpp
-++++ b/src/liborcus/xml_map_tree.cpp
-+@@ -666,7 +666,7 @@ xml_map_tree::linkable* xml_map_tree::get_element_stack(
-+         {
-+             // Insert a new element of this name.
-+             children.push_back(
-+-                make_unique<element>(
-++                orcus::make_unique<element>(
-+                     token.ns, m_names.intern(token.name.get(), 
token.name.size()).first,
-+                     element_unlinked, reference_unknown));
-+             cur_element = children.back().get();
-+@@ -695,7 +695,7 @@ xml_map_tree::linkable* xml_map_tree::get_element_stack(
-+             throw xpath_error("This attribute is already linked.  You can't 
link the same attribute twice.");
-+ 
-+         attrs.push_back(
-+-            make_unique<attribute>(
-++            orcus::make_unique<attribute>(
-+                 token.ns, m_names.intern(token.name.get(), 
token.name.size()).first, ref_type));
-+ 
-+         ret = attrs.back().get();
-+@@ -710,7 +710,7 @@ xml_map_tree::linkable* xml_map_tree::get_element_stack(
-+         {
-+             // No element of that name exists.
-+             children.push_back(
-+-                make_unique<element>(
-++                orcus::make_unique<element>(
-+                     token.ns, m_names.intern(token.name.get(), 
token.name.size()).first,
-+                     element_linked, ref_type));
-+ 
-+diff --git a/src/liborcus/xml_structure_tree.cpp 
b/src/liborcus/xml_structure_tree.cpp
-+index f2d62bd..3a08c64 100644
-+--- a/src/liborcus/xml_structure_tree.cpp
-++++ b/src/liborcus/xml_structure_tree.cpp
-+@@ -451,7 +451,7 @@ void xml_structure_tree::dump_compact(ostream& os) const
-+     cxt.dump(os);
-+ 
-+     element_ref ref(mp_impl->mp_root->name, &mp_impl->mp_root->prop);
-+-    scopes.push_back(make_unique<scope>(entity_name(), false, ref));
-++    scopes.push_back(orcus::make_unique<scope>(entity_name(), false, ref));
-+     while (!scopes.empty())
-+     {
-+         bool new_scope = false;
-+@@ -505,7 +505,7 @@ void xml_structure_tree::dump_compact(ostream& os) const
-+ 
-+             // Push a new scope, and restart the loop with the new scope.
-+             ++cur_scope.current_pos;
-+-            scopes.push_back(make_unique<scope>(this_elem.name, 
this_elem.prop->repeat));
-++            scopes.push_back(orcus::make_unique<scope>(this_elem.name, 
this_elem.prop->repeat));
-+             scope& child_scope = *scopes.back();
-+             child_scope.elements.swap(elems);
-+             child_scope.current_pos = child_scope.elements.begin();
-+diff --git a/src/liborcus/yaml_document_tree.cpp 
b/src/liborcus/yaml_document_tree.cpp
-+index b7cc4bc..5aad4f2 100644
-+--- a/src/liborcus/yaml_document_tree.cpp
-++++ b/src/liborcus/yaml_document_tree.cpp
-+@@ -254,13 +254,13 @@ public:
-+ 
-+         if (m_root)
-+         {
-+-            yaml_value* yv = push_value(make_unique<yaml_value_sequence>());
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_sequence>());
-+             assert(yv && yv->type == node_t::sequence);
-+             m_stack.push_back(parser_stack(yv));
-+         }
-+         else
-+         {
-+-            m_root = make_unique<yaml_value_sequence>();
-++            m_root = orcus::make_unique<yaml_value_sequence>();
-+             m_stack.push_back(parser_stack(m_root.get()));
-+         }
-+     }
-+@@ -276,13 +276,13 @@ public:
-+         assert(m_in_document);
-+         if (m_root)
-+         {
-+-            yaml_value* yv = push_value(make_unique<yaml_value_map>());
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_map>());
-+             assert(yv && yv->type == node_t::map);
-+             m_stack.push_back(parser_stack(yv));
-+         }
-+         else
-+         {
-+-            m_root = make_unique<yaml_value_map>();
-++            m_root = orcus::make_unique<yaml_value_map>();
-+             m_stack.push_back(parser_stack(m_root.get()));
-+         }
-+     }
-+@@ -319,11 +319,11 @@ public:
-+ 
-+         if (m_root)
-+         {
-+-            yaml_value* yv = push_value(make_unique<yaml_value_string>(p, 
n));
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_string>(p, n));
-+             assert(yv && yv->type == node_t::string);
-+         }
-+         else
-+-            m_root = make_unique<yaml_value_string>(p, n);
-++            m_root = orcus::make_unique<yaml_value_string>(p, n);
-+     }
-+ 
-+     void number(double val)
-+@@ -331,11 +331,11 @@ public:
-+         assert(m_in_document);
-+         if (m_root)
-+         {
-+-            yaml_value* yv = push_value(make_unique<yaml_value_number>(val));
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_number>(val));
-+             assert(yv && yv->type == node_t::number);
-+         }
-+         else
-+-            m_root = make_unique<yaml_value_number>(val);
-++            m_root = orcus::make_unique<yaml_value_number>(val);
-+     }
-+ 
-+     void boolean_true()
-+@@ -343,11 +343,11 @@ public:
-+         assert(m_in_document);
-+         if (m_root)
-+         {
-+-            yaml_value* yv = 
push_value(make_unique<yaml_value>(node_t::boolean_true));
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::boolean_true));
-+             assert(yv && yv->type == node_t::boolean_true);
-+         }
-+         else
-+-            m_root = make_unique<yaml_value>(node_t::boolean_true);
-++            m_root = orcus::make_unique<yaml_value>(node_t::boolean_true);
-+     }
-+ 
-+     void boolean_false()
-+@@ -355,11 +355,11 @@ public:
-+         assert(m_in_document);
-+         if (m_root)
-+         {
-+-            yaml_value* yv = 
push_value(make_unique<yaml_value>(node_t::boolean_false));
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::boolean_false));
-+             assert(yv && yv->type == node_t::boolean_false);
-+         }
-+         else
-+-            m_root = make_unique<yaml_value>(node_t::boolean_false);
-++            m_root = orcus::make_unique<yaml_value>(node_t::boolean_false);
-+     }
-+ 
-+     void null()
-+@@ -367,11 +367,11 @@ public:
-+         assert(m_in_document);
-+         if (m_root)
-+         {
-+-            yaml_value* yv = 
push_value(make_unique<yaml_value>(node_t::null));
-++            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::null));
-+             assert(yv && yv->type == node_t::null);
-+         }
-+         else
-+-            m_root = make_unique<yaml_value>(node_t::null);
-++            m_root = orcus::make_unique<yaml_value>(node_t::null);
-+     }
-+ 
-+     void swap(std::vector<document_root_type>& docs)
-+@@ -396,8 +396,8 @@ struct node::impl
-+     impl(const yaml_value* yv) : m_node(yv) {}
-+ };
-+ 
-+-node::node(const yaml_value* yv) : mp_impl(make_unique<impl>(yv)) {}
-+-node::node(const node& other) : 
mp_impl(make_unique<impl>(other.mp_impl->m_node)) {}
-++node::node(const yaml_value* yv) : mp_impl(orcus::make_unique<impl>(yv)) {}
-++node::node(const node& other) : 
mp_impl(orcus::make_unique<impl>(other.mp_impl->m_node)) {}
-+ node::node(node&& rhs) : mp_impl(std::move(rhs.mp_impl)) {}
-+ node::~node() {}
-+ 
-+@@ -548,7 +548,7 @@ double node::numeric_value() const
-+ 
-+ }}
-+ 
-+-yaml_document_tree::yaml_document_tree() : mp_impl(make_unique<impl>()) {}
-++yaml_document_tree::yaml_document_tree() : 
mp_impl(orcus::make_unique<impl>()) {}
-+ yaml_document_tree::~yaml_document_tree() {}
-+ 
-+ void yaml_document_tree::load(const std::string& strm)
-+diff --git a/src/mso/encryption_info.cpp b/src/mso/encryption_info.cpp
-+index 1d428fc..e9bc3ad 100644
-+--- a/src/mso/encryption_info.cpp
-++++ b/src/mso/encryption_info.cpp
-+@@ -143,11 +143,10 @@ public:
-+ 
-+ class sax_handler
-+ {
-+-    xmlns_context& m_ns_cxt;
-+     vector<sax_ns_parser_attribute> m_attrs;
-+ 
-+ public:
-+-    sax_handler(xmlns_context& ns_cxt) : m_ns_cxt(ns_cxt) {}
-++    sax_handler(xmlns_context& /*ns_cxt*/) {}
-+     void doctype(const sax::doctype_declaration&) {}
-+     void start_declaration(const pstring&) {}
-+     void end_declaration(const pstring&) {}
-+diff --git a/src/orcus_filter_global.cpp b/src/orcus_filter_global.cpp
-+index 09c2ab6..df50496 100644
-+--- a/src/orcus_filter_global.cpp
-++++ b/src/orcus_filter_global.cpp
-+@@ -239,7 +239,7 @@ std::unique_ptr<json_config> parse_json_args(int argc, 
char** argv)
-+         return nullptr;
-+     }
-+ 
-+-    std::unique_ptr<json_config> config = make_unique<json_config>();
-++    std::unique_ptr<json_config> config = orcus::make_unique<json_config>();
-+ 
-+     if (vm.count("input"))
-+         config->input_path = vm["input"].as<string>();
-+diff --git a/src/orcus_json_main.cpp b/src/orcus_json_main.cpp
-+index edca63a..6a739b2 100644
-+--- a/src/orcus_json_main.cpp
-++++ b/src/orcus_json_main.cpp
-+@@ -25,7 +25,7 @@ using namespace orcus;
-+ 
-+ std::unique_ptr<json_document_tree> load_doc(const std::string& strm, const 
json_config& config)
-+ {
-+-    std::unique_ptr<json_document_tree> 
doc(make_unique<json_document_tree>());
-++    std::unique_ptr<json_document_tree> 
doc(orcus::make_unique<json_document_tree>());
-+     try
-+     {
-+         doc->load(strm, config);
-+diff --git a/src/orcus_yaml_main.cpp b/src/orcus_yaml_main.cpp
-+index 3d15742..c028f64 100644
-+--- a/src/orcus_yaml_main.cpp
-++++ b/src/orcus_yaml_main.cpp
-+@@ -76,7 +76,7 @@ std::unique_ptr<yaml_config> parse_yaml_args(int argc, 
char** argv)
-+         return nullptr;
-+     }
-+ 
-+-    std::unique_ptr<yaml_config> config = make_unique<yaml_config>();
-++    std::unique_ptr<yaml_config> config = orcus::make_unique<yaml_config>();
-+ 
-+     if (vm.count("input"))
-+         config->input_path = vm["input"].as<string>();
-+diff --git a/src/parser/json_parser_base.cpp b/src/parser/json_parser_base.cpp
-+index 50e3f36..eff27b7 100644
-+--- a/src/parser/json_parser_base.cpp
-++++ b/src/parser/json_parser_base.cpp
-+@@ -35,7 +35,7 @@ struct parser_base::impl
-+ };
-+ 
-+ parser_base::parser_base(const char* p, size_t n) :
-+-    ::orcus::parser_base(p, n), mp_impl(make_unique<impl>()) {}
-++    ::orcus::parser_base(p, n), mp_impl(orcus::make_unique<impl>()) {}
-+ 
-+ parser_base::~parser_base() {}
-+ 
-+diff --git a/src/parser/sax_parser_base.cpp b/src/parser/sax_parser_base.cpp
-+index 51d56a4..3cd4f25 100644
-+--- a/src/parser/sax_parser_base.cpp
-++++ b/src/parser/sax_parser_base.cpp
-+@@ -57,7 +57,7 @@ struct parser_base::impl
-+ 
-+ parser_base::parser_base(const char* content, size_t size) :
-+     ::orcus::parser_base(content, size),
-+-    mp_impl(make_unique<impl>()),
-++    mp_impl(orcus::make_unique<impl>()),
-+     m_nest_level(0),
-+     m_buffer_pos(0),
-+     m_root_elem_open(true)
-+diff --git a/src/parser/string_pool.cpp b/src/parser/string_pool.cpp
-+index 83c0501..baba88a 100644
-+--- a/src/parser/string_pool.cpp
-++++ b/src/parser/string_pool.cpp
-+@@ -61,7 +61,7 @@ struct string_pool::impl
-+     string_store_type m_store;
-+ };
-+ 
-+-string_pool::string_pool() : mp_impl(make_unique<impl>()) {}
-++string_pool::string_pool() : mp_impl(orcus::make_unique<impl>()) {}
-+ 
-+ string_pool::~string_pool()
-+ {
-+@@ -82,7 +82,7 @@ pair<pstring, bool> string_pool::intern(const char* str, 
size_t n)
-+     if (itr == mp_impl->m_set.end())
-+     {
-+         // This string has not been interned.  Intern it.
-+-        mp_impl->m_store.push_back(make_unique<string>(str, n));
-++        mp_impl->m_store.push_back(orcus::make_unique<string>(str, n));
-+         pair<string_set_type::iterator,bool> r = 
mp_impl->m_set.insert(pstring(mp_impl->m_store.back()->data(), n));
-+         if (!r.second)
-+             throw general_error("failed to intern a new string instance.");
-+diff --git a/src/parser/yaml_parser_base.cpp b/src/parser/yaml_parser_base.cpp
-+index 656dfdc..3c93266 100644
-+--- a/src/parser/yaml_parser_base.cpp
-++++ b/src/parser/yaml_parser_base.cpp
-+@@ -59,7 +59,7 @@ const size_t parser_base::parse_indent_end_of_stream = 
std::numeric_limits<size_
-+ const size_t parser_base::scope_empty = std::numeric_limits<size_t>::max() - 
2;
-+ 
-+ parser_base::parser_base(const char* p, size_t n) :
-+-    ::orcus::parser_base(p, n), mp_impl(make_unique<impl>()) {}
-++    ::orcus::parser_base(p, n), mp_impl(orcus::make_unique<impl>()) {}
-+ 
-+ parser_base::~parser_base() {}
-+ 
-+diff --git a/src/spreadsheet/document.cpp b/src/spreadsheet/document.cpp
-+index a80646c..17cc113 100644
-+--- a/src/spreadsheet/document.cpp
-++++ b/src/spreadsheet/document.cpp
-+@@ -448,7 +448,7 @@ sheet* document::append_sheet(const pstring& sheet_name, 
row_t row_size, col_t c
-+     sheet_t sheet_index = static_cast<sheet_t>(mp_impl->m_sheets.size());
-+ 
-+     mp_impl->m_sheets.push_back(
-+-        make_unique<sheet_item>(
-++        orcus::make_unique<sheet_item>(
-+             *this, sheet_name_safe, sheet_index, row_size, col_size));
-+ 
-+     mp_impl->m_context.append_sheet(
-+-- 
-+2.4.5
-+
-diff --git a/external/liborcus/0001-Get-it-to-build-on-Windows.patch 
b/external/liborcus/0001-Get-it-to-build-on-Windows.patch
-new file mode 100755
-index 0000000..dca91b3
---- /dev/null
-+++ b/external/liborcus/0001-Get-it-to-build-on-Windows.patch
-@@ -0,0 +1,212 @@
-+From c5d7282214727bcc28b6ec7e2b8016b40872cd3b Mon Sep 17 00:00:00 2001
-+From: Kohei Yoshida <kohei.yosh...@gmail.com>
-+Date: Mon, 7 Mar 2016 18:35:23 -0500
-+Subject: [PATCH] Get it to build on Windows.
-+
-+---
-+ include/orcus/json_parser.hpp       | 32 +++++++++++++-------------------
-+ include/orcus/parser_global.hpp     |  4 ++--
-+ src/liborcus/json_document_tree.cpp |  2 +-
-+ src/liborcus/json_util.cpp          |  4 ++--
-+ src/liborcus/yaml_document_tree.cpp |  4 +++-
-+ src/parser/parser_global.cpp        |  3 +++
-+ src/parser/pstring.cpp              |  1 +
-+ src/parser/stream.cpp               |  4 ++--
-+ src/parser/yaml_parser_base.cpp     | 17 ++++++-----------
-+ 9 files changed, 33 insertions(+), 38 deletions(-)
-+
-+diff --git a/include/orcus/json_parser.hpp b/include/orcus/json_parser.hpp
-+index 5d733fb..183b831 100644
-+--- a/include/orcus/json_parser.hpp
-++++ b/include/orcus/json_parser.hpp
-+@@ -204,16 +204,13 @@ void json_parser<_Handler>::object()
-+         if (!res.str)
-+         {
-+             // Parsing was unsuccessful.
-+-            switch (res.length)
-+-            {
-+-                case parse_quoted_string_state::error_no_closing_quote:
-+-                    throw json::parse_error("object: stream ended 
prematurely before reaching the closing quote of a key.", offset());
-+-                case parse_quoted_string_state::error_illegal_escape_char:
-+-                    json::parse_error::throw_with(
-+-                        "object: illegal escape character '", cur_char(), "' 
in key value.", offset());
-+-                default:
-+-                    throw json::parse_error("object: unknown error while 
parsing a key value.", offset());
-+-            }
-++            if (res.length == 
parse_quoted_string_state::error_no_closing_quote)
-++                throw json::parse_error("object: stream ended prematurely 
before reaching the closing quote of a key.", offset());
-++            else if (res.length == 
parse_quoted_string_state::error_illegal_escape_char)
-++                json::parse_error::throw_with(
-++                    "object: illegal escape character '", cur_char(), "' in 
key value.", offset());
-++            else
-++                throw json::parse_error("object: unknown error while parsing 
a key value.", offset());
-+         }
-+ 
-+         m_handler.object_key(res.str, res.length, res.transient);
-+@@ -297,15 +294,12 @@ void json_parser<_Handler>::string()
-+     }
-+ 
-+     // Parsing was unsuccessful.
-+-    switch (res.length)
-+-    {
-+-        case parse_quoted_string_state::error_no_closing_quote:
-+-            throw json::parse_error("string: stream ended prematurely before 
reaching the closing quote.", offset());
-+-        case parse_quoted_string_state::error_illegal_escape_char:
-+-            json::parse_error::throw_with("string: illegal escape character 
'", cur_char(), "'.", offset());
-+-        default:
-+-            throw json::parse_error("string: unknown error.", offset());
-+-    }
-++    if (res.length == parse_quoted_string_state::error_no_closing_quote)
-++        throw json::parse_error("string: stream ended prematurely before 
reaching the closing quote.", offset());
-++    else if (res.length == 
parse_quoted_string_state::error_illegal_escape_char)
-++        json::parse_error::throw_with("string: illegal escape character '", 
cur_char(), "'.", offset());
-++    else
-++        throw json::parse_error("string: unknown error.", offset());
-+ }
-+ 
-+ }
-+diff --git a/include/orcus/parser_global.hpp b/include/orcus/parser_global.hpp
-+index 6fab254..b76aec4 100644
-+--- a/include/orcus/parser_global.hpp
-++++ b/include/orcus/parser_global.hpp
-+@@ -31,8 +31,8 @@ enum class string_escape_char_t
-+  */
-+ struct parse_quoted_string_state
-+ {
-+-    static constexpr size_t error_no_closing_quote    = 1;
-+-    static constexpr size_t error_illegal_escape_char = 2;
-++    ORCUS_PSR_DLLPUBLIC static const size_t error_no_closing_quote;
-++    ORCUS_PSR_DLLPUBLIC static const size_t error_illegal_escape_char;
-+ 
-+     const char* str;
-+     size_t length;
-+diff --git a/src/liborcus/json_document_tree.cpp 
b/src/liborcus/json_document_tree.cpp
-+index 81289e1..2fb8a41 100644
-+--- a/src/liborcus/json_document_tree.cpp
-++++ b/src/liborcus/json_document_tree.cpp
-+@@ -54,7 +54,7 @@ using json_value = json::detail::json_value;
-+ using node_t = json::detail::node_t;
-+ 
-+ const char* tab = "    ";
-+-constexpr char quote = '"';
-++const char quote = '"';
-+ 
-+ const xmlns_id_t NS_orcus_json_xml = 
"http://schemas.kohei.us/orcus/2015/json";;
-+ 
-+diff --git a/src/liborcus/json_util.cpp b/src/liborcus/json_util.cpp
-+index 37bd2b0..8f593cd 100644
-+--- a/src/liborcus/json_util.cpp
-++++ b/src/liborcus/json_util.cpp
-+@@ -11,8 +11,8 @@ namespace orcus { namespace json {
-+ 
-+ namespace {
-+ 
-+-constexpr char quote = '"';
-+-constexpr char backslash = '\\';
-++const char quote = '"';
-++const char backslash = '\\';
-+ 
-+ }
-+ 
-+diff --git a/src/liborcus/yaml_document_tree.cpp 
b/src/liborcus/yaml_document_tree.cpp
-+index 5aad4f2..27bb7e8 100644
-+--- a/src/liborcus/yaml_document_tree.cpp
-++++ b/src/liborcus/yaml_document_tree.cpp
-+@@ -155,6 +155,8 @@ struct parser_stack
-+     yaml_value* node;
-+ 
-+     parser_stack(yaml_value* _node) : node(_node) {}
-++    parser_stack(const parser_stack&) = delete;
-++    parser_stack(parser_stack&& r) : key(std::move(r.key)), node(r.node) {}
-+ };
-+ 
-+ typedef std::unique_ptr<yaml_value> document_root_type;
-+@@ -577,7 +579,7 @@ const char* kw_false = "false";
-+ const char* kw_tilde = "~";
-+ const char* kw_null = "null";
-+ 
-+-constexpr char quote = '"';
-++const char quote = '"';
-+ 
-+ void dump_indent(std::ostringstream& os, size_t scope)
-+ {
-+diff --git a/src/parser/parser_global.cpp b/src/parser/parser_global.cpp
-+index 6e6b656..4023689 100644
-+--- a/src/parser/parser_global.cpp
-++++ b/src/parser/parser_global.cpp
-+@@ -12,6 +12,9 @@
-+ 
-+ namespace orcus {
-+ 
-++const size_t parse_quoted_string_state::error_no_closing_quote = 1;
-++const size_t parse_quoted_string_state::error_illegal_escape_char = 2;
-++
-+ bool is_blank(char c)
-+ {
-+     return is_in(c, " \t\n\r");
-+diff --git a/src/parser/pstring.cpp b/src/parser/pstring.cpp
-+index 303e88e..50ab2ca 100644
-+--- a/src/parser/pstring.cpp
-++++ b/src/parser/pstring.cpp
-+@@ -12,6 +12,7 @@
-+ #include <cassert>
-+ #include <iostream>
-+ #include <vector>
-++#include <algorithm>
-+ 
-+ using namespace std;
-+ 
-+diff --git a/src/parser/stream.cpp b/src/parser/stream.cpp
-+index 00a24a0..eb73dcc 100644
-+--- a/src/parser/stream.cpp
-++++ b/src/parser/stream.cpp
-+@@ -85,7 +85,7 @@ std::string create_parse_error_output(const std::string& 
strm, std::ptrdiff_t of
-+     if (offset < 0)
-+         return std::string();
-+ 
-+-    constexpr size_t max_line_length = 60;
-++    const size_t max_line_length = 60;
-+ 
-+     auto line_info = find_line_with_offset(strm, offset);
-+     pstring line = std::get<0>(line_info);
-+@@ -113,7 +113,7 @@ std::string create_parse_error_output(const std::string& 
strm, std::ptrdiff_t of
-+     // The error line is too long.  Only show a segment of the line where the
-+     // error occurred.
-+ 
-+-    constexpr size_t fixed_offset = 20;
-++    const size_t fixed_offset = 20;
-+ 
-+     size_t line_start = offset_on_line - fixed_offset;
-+     size_t line_end = line_start + max_line_length;
-+diff --git a/src/parser/yaml_parser_base.cpp b/src/parser/yaml_parser_base.cpp
-+index 3c93266..c6e7939 100644
-+--- a/src/parser/yaml_parser_base.cpp
-++++ b/src/parser/yaml_parser_base.cpp
-+@@ -289,18 +289,13 @@ void throw_quoted_string_parse_error(const char* 
func_name, const parse_quoted_s
-+ {
-+     std::ostringstream os;
-+     os << func_name << ": failed to parse ";
-+-    switch (ret.length)
-+-    {
-+-        case parse_quoted_string_state::error_illegal_escape_char:
-+-            os << "due to the presence of illegal escape character.";
-+-        break;
-+-        case parse_quoted_string_state::error_no_closing_quote:
-+-            os << "because the closing quote was not found.";
-+-        break;
-+-        default:
-+-            os << "due to unknown reason.";
-++    if (ret.length == parse_quoted_string_state::error_illegal_escape_char)
-++        os << "due to the presence of illegal escape character.";
-++    else if (ret.length == parse_quoted_string_state::error_no_closing_quote)
-++        os << "because the closing quote was not found.";
-++    else
-++        os << "due to unknown reason.";
-+ 
-+-    }
-+     throw parse_error(os.str());
-+ }
-+ 
-+-- 
-+1.8.1.msysgit.1
-+
-diff --git a/external/liborcus/ExternalPackage_liborcus.mk 
b/external/liborcus/ExternalPackage_liborcus.mk
-index 4411592..56debe9 100644
---- a/external/liborcus/ExternalPackage_liborcus.mk
-+++ b/external/liborcus/ExternalPackage_liborcus.mk
-@@ -12,11 +12,11 @@ $(eval $(call 
gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
- $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
- 
- ifeq ($(OS),MACOSX)
--$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.10.0.dylib,src/liborcus/.libs/liborcus-0.10.0.dylib))
--$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.10.0.dylib,src/parser/.libs/liborcus-parser-0.10.0.dylib))
-+$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.11.0.dylib,src/liborcus/.libs/liborcus-0.11.0.dylib))
-+$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.11.0.dylib,src/parser/.libs/liborcus-parser-0.11.0.dylib))
- else ifeq ($(DISABLE_DYNLOADING),)
--$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.10.so.0,src/liborcus/.libs/liborcus-0.10.so.0.0.0))
--$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.10.so.0,src/parser/.libs/liborcus-parser-0.10.so.0.0.0))
-+$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.11.so.0,src/liborcus/.libs/liborcus-0.11.so.0.0.0))
-+$(eval $(call 
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.11.so.0,src/parser/.libs/liborcus-parser-0.11.so.0.0.0))
- endif
- 
- # vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/ExternalProject_liborcus.mk 
b/external/liborcus/ExternalProject_liborcus.mk
-index 7eb8fdb..580ef847 100644
---- a/external/liborcus/ExternalProject_liborcus.mk
-+++ b/external/liborcus/ExternalProject_liborcus.mk
-@@ -13,6 +13,7 @@ $(eval $(call 
gb_ExternalProject_use_autoconf,liborcus,build))
- 
- $(eval $(call gb_ExternalProject_use_externals,liborcus, \
-     boost_headers \
-+    boost_filesystem \
-     boost_iostreams \
-     boost_system \
-       mdds_headers \
-@@ -38,9 +39,9 @@ ifneq ($(SYSTEM_ZLIB),)
- liborcus_LIBS+=-lz
- endif
- ifneq ($(SYSTEM_BOOST),)
--liborcus_LIBS+=$(BOOST_SYSTEM_LIB) $(BOOST_IOSTREAMS_LIB)
-+liborcus_LIBS+=$(BOOST_SYSTEM_LIB) $(BOOST_IOSTREAMS_LIB) 
$(BOOST_FILESYSTEM_LIB)
- else
--liborcus_LIBS+=-L$(gb_StaticLibrary_WORKDIR) -lboost_system -lboost_iostreams
-+liborcus_LIBS+=-L$(gb_StaticLibrary_WORKDIR) -lboost_system -lboost_iostreams 
-lboost_filesystem
- endif
- ifeq ($(OS),ANDROID)
- liborcus_LIBS+=-lgnustl_shared -lm
-@@ -96,12 +97,13 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) 
:
-                       , \
-                               --enable-shared --disable-static \
-                       ) \
--                      $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \
--                      --disable-spreadsheet-model \
--                      --without-tools \
--                      --disable-werror \
--                      $(if $(filter 
MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO)
 \
--                      $(if $(SYSTEM_BOOST),,\
-+                       $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \
-+                       --disable-spreadsheet-model \
-+                       --without-tools \
-+                       --disable-python \
-+                       --disable-werror \
-+                       $(if $(filter 
MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO)
 \
-+                       $(if $(SYSTEM_BOOST),,\
-                               --with-boost=$(WORKDIR)/UnpackedTarball/boost \
-                               boost_cv_lib_iostreams=yes \
-                               boost_cv_lib_system=yes \
-@@ -111,8 +113,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) 
:
-                  $(MAKE) \
-               $(if $(filter MACOSX,$(OS)),\
-                       && $(PERL) 
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
--                              
$(gb_Package_SOURCEDIR_liborcus)/src/liborcus/.libs/liborcus-0.10.0.dylib \
--                              
$(gb_Package_SOURCEDIR_liborcus)/src/parser/.libs/liborcus-parser-0.10.0.dylib \
-+                              
$(gb_Package_SOURCEDIR_liborcus)/src/liborcus/.libs/liborcus-0.11.0.dylib \
-+                              
$(gb_Package_SOURCEDIR_liborcus)/src/parser/.libs/liborcus-parser-0.11.0.dylib \
-               ) \
-       )
- 
-diff --git a/external/liborcus/Library_orcus-parser.mk 
b/external/liborcus/Library_orcus-parser.mk
-index c3b4eec..28af14e 100644
---- a/external/liborcus/Library_orcus-parser.mk
-+++ b/external/liborcus/Library_orcus-parser.mk
-@@ -39,6 +39,8 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,orcus-parser,\
-       UnpackedTarball/liborcus/src/parser/css_types \
-       UnpackedTarball/liborcus/src/parser/csv_parser_base \
-       UnpackedTarball/liborcus/src/parser/exception \
-+      UnpackedTarball/liborcus/src/parser/json_parser_base \
-+      UnpackedTarball/liborcus/src/parser/parser_base \
-       UnpackedTarball/liborcus/src/parser/parser_global \
-       UnpackedTarball/liborcus/src/parser/pstring \
-       UnpackedTarball/liborcus/src/parser/sax_parser_base \
-@@ -48,6 +50,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,orcus-parser,\
-       UnpackedTarball/liborcus/src/parser/tokens \
-       UnpackedTarball/liborcus/src/parser/types \
-       UnpackedTarball/liborcus/src/parser/xml_namespace \
-+      UnpackedTarball/liborcus/src/parser/yaml_parser_base \
-       UnpackedTarball/liborcus/src/parser/zip_archive \
-       UnpackedTarball/liborcus/src/parser/zip_archive_stream \
- ))
-diff --git a/external/liborcus/Library_orcus.mk 
b/external/liborcus/Library_orcus.mk
-index ae98d5e..96169f1 100644
---- a/external/liborcus/Library_orcus.mk
-+++ b/external/liborcus/Library_orcus.mk
-@@ -13,6 +13,7 @@ $(eval $(call gb_Library_use_unpacked,orcus,liborcus))
- 
- $(eval $(call gb_Library_use_externals,orcus,\
-       boost_headers \
-+      boost_filesystem \
-       boost_iostreams \
-       boost_system \
-       mdds_headers \
-@@ -53,12 +54,16 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,orcus,\
-       UnpackedTarball/liborcus/src/liborcus/gnumeric_namespace_types \
-       UnpackedTarball/liborcus/src/liborcus/gnumeric_sheet_context \
-       UnpackedTarball/liborcus/src/liborcus/gnumeric_tokens \
-+      UnpackedTarball/liborcus/src/liborcus/info \
-       UnpackedTarball/liborcus/src/liborcus/interface \
-+      UnpackedTarball/liborcus/src/liborcus/json_document_tree \
-+      UnpackedTarball/liborcus/src/liborcus/json_util \
-       UnpackedTarball/liborcus/src/liborcus/measurement \
-+      UnpackedTarball/liborcus/src/liborcus/odf_helper \
-       UnpackedTarball/liborcus/src/liborcus/odf_namespace_types \
-       UnpackedTarball/liborcus/src/liborcus/odf_para_context \
--      UnpackedTarball/liborcus/src/liborcus/odf_styles \
-       UnpackedTarball/liborcus/src/liborcus/odf_styles_context \
-+      UnpackedTarball/liborcus/src/liborcus/odf_styles \
-       UnpackedTarball/liborcus/src/liborcus/odf_tokens \
-       UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \
-       UnpackedTarball/liborcus/src/liborcus/ods_content_xml_handler \
-@@ -73,18 +78,26 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,orcus,\
-       UnpackedTarball/liborcus/src/liborcus/opc_reader \
-       UnpackedTarball/liborcus/src/liborcus/orcus_csv \
-       UnpackedTarball/liborcus/src/liborcus/orcus_gnumeric \
-+      UnpackedTarball/liborcus/src/liborcus/orcus_import_ods \
-+      UnpackedTarball/liborcus/src/liborcus/orcus_import_xlsx \
-       UnpackedTarball/liborcus/src/liborcus/orcus_ods \
-       UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
-+      UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml \
-       UnpackedTarball/liborcus/src/liborcus/orcus_xml \
-       UnpackedTarball/liborcus/src/liborcus/session_context \
-       UnpackedTarball/liborcus/src/liborcus/spreadsheet_interface \
-       UnpackedTarball/liborcus/src/liborcus/spreadsheet_types \
--      UnpackedTarball/liborcus/src/liborcus/xls_xml_namespace_types \
-+      UnpackedTarball/liborcus/src/liborcus/string_helper \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_autofilter_context \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_conditional_format_context \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_context \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_handler \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_helper \
-+      UnpackedTarball/liborcus/src/liborcus/xls_xml_context \
-+      UnpackedTarball/liborcus/src/liborcus/xls_xml_detection_handler \
-+      UnpackedTarball/liborcus/src/liborcus/xls_xml_handler \
-+      UnpackedTarball/liborcus/src/liborcus/xls_xml_namespace_types \
-+      UnpackedTarball/liborcus/src/liborcus/xls_xml_tokens \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_pivot_context \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_revision_context \
-       UnpackedTarball/liborcus/src/liborcus/xlsx_session_data \
-@@ -99,6 +112,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,orcus,\
-       UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \
-       UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \
-       UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \
-+      UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \
- ))
- 
- # vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/UnpackedTarball_liborcus.mk 
b/external/liborcus/UnpackedTarball_liborcus.mk
-index 825fa49..0e337ef 100644
---- a/external/liborcus/UnpackedTarball_liborcus.mk
-+++ b/external/liborcus/UnpackedTarball_liborcus.mk
-@@ -16,8 +16,15 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,liborcus,1))
- $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
-       external/liborcus/0001-workaround-a-linking-problem-on-windows.patch \
-       external/liborcus/rpath.patch.0 \
--      external/liborcus/fix-crash-ooo55043-1.patch.0 \
--      external/liborcus/unusedheader.patch.0 \
-+      external/liborcus/0001-Fix-for-OSX-build-inside-LibreOffice.patch \
-+      external/liborcus/0001-Get-it-to-build-on-Windows.patch \
- ))
- 
-+ifeq ($(OS),WNT)
-+$(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
-+      external/liborcus/windows-constants-hack.patch \
-+))
-+endif
-+
-+
- # vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/fix-crash-ooo55043-1.patch.0 
b/external/liborcus/fix-crash-ooo55043-1.patch.0
-deleted file mode 100644
-index 58a97c0..0000000
---- a/external/liborcus/fix-crash-ooo55043-1.patch.0
-+++ /dev/null
-@@ -1,17 +0,0 @@
----- src/parser/zip_archive_stream.cpp
--+++ src/parser/zip_archive_stream.cpp
--@@ -91,8 +91,13 @@
-- 
-- void zip_archive_stream_blob::read(unsigned char* buffer, size_t length) 
const
-- {
--+    if (!length)
--+        return;
--     // First, make sure we have enough blob to satisfy the requested stream 
length.
---    size_t length_available = m_size - tell();
--+    const size_t pos = tell();
--+    if (pos > m_size)
--+        throw zip_error("Stream is seeked past end. No data available");
--+    const size_t length_available = m_size - pos;
--     if (length_available < length)
--         throw zip_error("There is not enough stream left to fill requested 
length.");
-- 
-diff --git a/external/liborcus/unusedheader.patch.0 
b/external/liborcus/unusedheader.patch.0
-deleted file mode 100644
-index 4f7a77b..0000000
---- a/external/liborcus/unusedheader.patch.0
-+++ /dev/null
-@@ -1,11 +0,0 @@
----- ./src/parser/pstring.cpp.orig     2015-12-02 14:38:44.658744408 +0000
--+++ ./src/parser/pstring.cpp  2015-12-02 14:38:50.449658497 +0000
--@@ -13,8 +13,6 @@
-- #include <iostream>
-- #include <vector>
-- 
---#include <boost/thread/mutex.hpp>
---
-- using namespace std;
-- 
-- namespace orcus {
-diff --git a/external/liborcus/windows-constants-hack.patch 
b/external/liborcus/windows-constants-hack.patch
-new file mode 100755
-index 0000000..876bc16
---- /dev/null
-+++ b/external/liborcus/windows-constants-hack.patch
-@@ -0,0 +1,15 @@
-+diff --git a/src/liborcus/info.cpp b/src/liborcus/info.cpp
-+index ae571f5..539ce18 100644
-+--- a/src/liborcus/info.cpp
-++++ b/src/liborcus/info.cpp
-+@@ -7,7 +7,9 @@
-+ 
-+ #include "orcus/info.hpp"
-+ 
-+-#include "constants.inl"
-++#define ORCUS_MAJOR_VERSION 0
-++#define ORCUS_MINOR_VERSION 11
-++#define ORCUS_MICRO_VERSION 0
-+ 
-+ namespace orcus {
-+ 
-diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
-index 74f2ce5..b764290 100644
---- a/sc/Library_scfilt.mk
-+++ b/sc/Library_scfilt.mk
-@@ -227,6 +227,7 @@ ifeq ($(ENABLE_ORCUS),TRUE)
- $(eval $(call gb_Library_use_externals,scfilt,\
-       orcus \
-       orcus-parser \
-+      boost_filesystem \
-       boost_system \
-       boost_iostreams \
-       zlib \
-diff --git a/sc/source/filter/inc/orcusinterface.hxx 
b/sc/source/filter/inc/orcusinterface.hxx
-index 63b36ef..05fe4cb 100644
---- a/sc/source/filter/inc/orcusinterface.hxx
-+++ b/sc/source/filter/inc/orcusinterface.hxx
-@@ -375,6 +375,7 @@ public:
- 
-     virtual void set_border_count(size_t n) override;
-     virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, 
const char* s, size_t n) override;
-+    virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, 
orcus::spreadsheet::border_style_t style) override;
-     virtual void set_border_color(orcus::spreadsheet::border_direction_t dir,
-             orcus::spreadsheet::color_elem_t alpha,
-             orcus::spreadsheet::color_elem_t red,
-@@ -425,6 +426,7 @@ public:
-     virtual void set_cell_style_name(const char* s, size_t n) override;
-     virtual void set_cell_style_xf(size_t index) override;
-     virtual void set_cell_style_builtin(size_t index) override;
-+    virtual void set_cell_style_parent_name(const char* s, size_t n) override;
-     virtual size_t commit_cell_style() override;
- };
- 
-diff --git a/sc/source/filter/orcus/filterdetect.cxx 
b/sc/source/filter/orcus/filterdetect.cxx
-index 7dfccb9..9ae30ad 100644
---- a/sc/source/filter/orcus/filterdetect.cxx
-+++ b/sc/source/filter/orcus/filterdetect.cxx
-@@ -93,7 +93,7 @@ OUString 
OrcusFormatDetect::detect(css::uno::Sequence<css::beans::PropertyValue>
-     }
- 
-     orcus::format_t eFormat = orcus::detect(reinterpret_cast<const unsigned 
char*>(aContent.getStr()), aContent.getLength());
--    if (eFormat == orcus::format_gnumeric)
-+    if (eFormat == orcus::format_t::gnumeric)
-         return OUString("Gnumeric XML");
- 
-     return OUString();
-diff --git a/sc/source/filter/orcus/interface.cxx 
b/sc/source/filter/orcus/interface.cxx
-index e50b8bf..496faea 100644
---- a/sc/source/filter/orcus/interface.cxx
-+++ b/sc/source/filter/orcus/interface.cxx
-@@ -55,7 +55,7 @@ void 
ScOrcusGlobalSettings::set_default_formula_grammar(orcus::spreadsheet::form
- 
- orcus::spreadsheet::formula_grammar_t 
ScOrcusGlobalSettings::get_default_formula_grammar() const
- {
--    return orcus::spreadsheet::formula_grammar_unknown;
-+    return orcus::spreadsheet::formula_grammar_t::unknown;
- }
- 
- ScOrcusFactory::StringCellCache::StringCellCache(const ScAddress& rPos, 
size_t nIndex) :
-@@ -231,19 +231,19 @@ double translateToInternal(double nVal, 
orcus::length_unit_t unit)
- {
-     switch(unit)
-     {
--        case orcus::length_unit_inch:
-+        case orcus::length_unit_t::inch:
-             return nVal * 72.0 * 20.0;
-             break;
--        case orcus::length_unit_twip:
-+        case orcus::length_unit_t::twip:
-             return nVal;
-             break;
--        case orcus::length_unit_point:
-+        case orcus::length_unit_t::point:
-             return nVal * 20.0;
-             break;
--        case orcus::length_unit_centimeter:
-+        case orcus::length_unit_t::centimeter:
-             return nVal * 20.0 * 72.0 / 2.54;
-             break;
--        case orcus::length_unit_unknown:
-+        case orcus::length_unit_t::unknown:
-             SAL_WARN("sc.orcus", "unknown unit");
-             break;
-         default:
-@@ -393,18 +393,18 @@ void 
ScOrcusConditionalFormat::set_type(os::conditional_format_t type)
- {
-     switch (type)
-     {
--        case os::conditional_format_condition:
--        case os::conditional_format_formula:
-+        case os::conditional_format_t::condition:
-+        case os::conditional_format_t::formula:
-             meEntryType = condformat::CONDITION;
-             // mpCurrentEntry.reset(new ScCondFormatEntry());
-         break;
--        case os::conditional_format_date:
-+        case os::conditional_format_t::date:
-         break;
--        case os::conditional_format_colorscale:
-+        case os::conditional_format_t::colorscale:
-         break;
--        case os::conditional_format_databar:
-+        case os::conditional_format_t::databar:
-         break;
--        case os::conditional_format_iconset:
-+        case os::conditional_format_t::iconset:
-         break;
-         default:
-             SAL_INFO("sc.orcus.condformat", "unknown conditional_format_t 
value");
-@@ -549,17 +549,17 @@ formula::FormulaGrammar::Grammar 
getCalcGrammarFromOrcus( os::formula_grammar_t
-     formula::FormulaGrammar::Grammar eGrammar = 
formula::FormulaGrammar::GRAM_ODFF;
-     switch(grammar)
-     {
--        case orcus::spreadsheet::formula_grammar_ods:
-+        case orcus::spreadsheet::formula_grammar_t::ods:
-             eGrammar = formula::FormulaGrammar::GRAM_ODFF;
-             break;
--        case orcus::spreadsheet::formula_grammar_xlsx_2007:
--        case orcus::spreadsheet::formula_grammar_xlsx_2010:
-+        case orcus::spreadsheet::formula_grammar_t::xlsx_2007:
-+        case orcus::spreadsheet::formula_grammar_t::xlsx_2010:
-             eGrammar = formula::FormulaGrammar::GRAM_OOXML;
-             break;
--        case orcus::spreadsheet::formula_grammar_gnumeric:
-+        case orcus::spreadsheet::formula_grammar_t::gnumeric:
-             eGrammar = formula::FormulaGrammar::GRAM_ENGLISH_XL_A1;
-             break;
--        case orcus::spreadsheet::formula_grammar_unknown:
-+        case orcus::spreadsheet::formula_grammar_t::unknown:
-             break;
-     }
- 
-@@ -799,16 +799,16 @@ SvxBoxItemLine getDirection(os::border_direction_t dir)
- {
-     switch (dir)
-     {
--        case os::border_right:
-+        case os::border_direction_t::right:
-             return SvxBoxItemLine::RIGHT;
-         break;
--        case os::border_left:
-+        case os::border_direction_t::left:
-             return SvxBoxItemLine::RIGHT;
-         break;
--        case os::border_top:
-+        case os::border_direction_t::top:
-             return SvxBoxItemLine::RIGHT;
-         break;
--        case os::border_bottom:
-+        case os::border_direction_t::bottom:
-             return SvxBoxItemLine::RIGHT;
-         break;
-         default:
-@@ -947,15 +947,15 @@ void 
ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t e)
- {
-     switch(e)
-     {
--        case orcus::spreadsheet::underline_single:
--        case orcus::spreadsheet::underline_single_accounting:
-+        case orcus::spreadsheet::underline_t::single_line:
-+        case orcus::spreadsheet::underline_t::single_accounting:
-             maCurrentFont.meUnderline = UNDERLINE_SINGLE;
-             break;
--        case orcus::spreadsheet::underline_double:
--        case orcus::spreadsheet::underline_double_accounting:
-+        case orcus::spreadsheet::underline_t::double_line:
-+        case orcus::spreadsheet::underline_t::double_accounting:
-             maCurrentFont.meUnderline = UNDERLINE_DOUBLE;
-             break;
--        case orcus::spreadsheet::underline_none:
-+        case orcus::spreadsheet::underline_t::none:
-             maCurrentFont.meUnderline = UNDERLINE_NONE;
-             break;
-     }
-@@ -1019,6 +1019,12 @@ void 
ScOrcusStyles::set_border_style(orcus::spreadsheet::border_direction_t /*di
-     // implement later
- }
- 
-+void ScOrcusStyles::set_border_style(
-+    orcus::spreadsheet::border_direction_t /*dir*/, 
orcus::spreadsheet::border_style_t /*style*/)
-+{
-+    // implement later
-+}
-+
- void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t 
dir,
-             orcus::spreadsheet::color_elem_t alpha,
-             orcus::spreadsheet::color_elem_t red,
-@@ -1186,6 +1192,11 @@ void ScOrcusStyles::set_cell_style_builtin(size_t index)
-     maCurrentCellStyle.mnBuiltInId = index;
- }
- 
-+void ScOrcusStyles::set_cell_style_parent_name(const char* /*s*/, size_t 
/*n*/)
-+{
-+    // place holder
-+}
-+
- size_t ScOrcusStyles::commit_cell_style()
- {
-     SAL_INFO("sc.orcus.style", "commit cell style: " << 
maCurrentCellStyle.maName);
--- 
-cgit v0.10.2
-

Reply via email to