[Libreoffice-commits] core.git: Branch 'private/kohei/calc-shared-string' - 40 commits - android/experimental avmedia/source configure.ac external/jfreereport external/lcms2 external/libcdr external/libcmis external/libexttextcat external/liblangtag external/libmariadb external/libmspub external/libmwaw external/libodfgen external/liborcus external/libvisio external/libwpd external/libwpg external/libwps external/libxml2 external/libxslt external/lpsolve external/mdds external/Module_external.mk external/more_fonts external/moz external/mysqlcppconn external/mythes external/neon include/tools ios/experimental ios/shared jfreereport/ExternalPackage_jfreereport_flow_engine.mk jfreereport/ExternalPackage_jfreereport_flute.mk jfreereport/ExternalPackage_jfreereport_libbase.mk jfreereport/ExternalPackage_jfreereport_libfonts.mk jfreereport/ExternalPackage_jfreereport_libformula.mk jfreereport/ExternalPackage_jfreereport_liblayout.mk jfreereport/ExternalPackage_jfreereport_libloader.mk jfreerep ort/ExternalPackage_jfreereport_librepository.mk jfreereport/ExternalPackage_jfreereport_libserializer.mk jfreereport/ExternalPackage_jfreereport_libxml.mk jfreereport/ExternalPackage_jfreereport_sac.mk jfreereport/ExternalProject_jfreereport_flow_engine.mk jfreereport/ExternalProject_jfreereport_flute.mk jfreereport/ExternalProject_jfreereport_libbase.mk jfreereport/ExternalProject_jfreereport_libfonts.mk jfreereport/ExternalProject_jfreereport_libformula.mk jfreereport/ExternalProject_jfreereport_liblayout.mk jfreereport/ExternalProject_jfreereport_libloader.mk jfreereport/ExternalProject_jfreereport_librepository.mk jfreereport/ExternalProject_jfreereport_libserializer.mk jfreereport/ExternalProject_jfreereport_libxml.mk jfreereport/ExternalProject_jfreereport_sac.mk jfreereport/java jfreereport/Makefile jfreereport/Module_jfreereport.mk jfreereport/nbprojects jfreereport/patches jfreereport/README jfreereport/UnpackedTarball_jfreereport_flow_engine.mk jfreereport/Unpacke dTarball_jfreereport_flute.mk jfreereport/UnpackedTarball_jfreereport_libbase.mk jfreereport/UnpackedTarball_jfreereport_libfonts.mk jfreereport/UnpackedTarball_jfreereport_libformula.mk jfreereport/UnpackedTarball_jfreereport_liblayout.mk jfreereport/UnpackedTarball_jfreereport_libloader.mk jfreereport/UnpackedTarball_jfreereport_librepository.mk jfreereport/UnpackedTarball_jfreereport_libserializer.mk jfreereport/UnpackedTarball_jfreereport_libxml.mk jfreereport/UnpackedTarball_jfreereport_sac.mk jfreereport/version.mk lcms2/ExternalPackage_lcms2.mk lcms2/ExternalProject_lcms2.mk lcms2/lcms2-2.4-windows.patch lcms2/lcms2.patch lcms2/Makefile lcms2/Module_lcms2.mk lcms2/README lcms2/UnpackedTarball_lcms2.mk libcdr/ExternalProject_libcdr.mk libcdr/libcdr-wpx_seek_end.patch.1 libcdr/Makefile libcdr/Module_libcdr.mk libcdr/README libcdr/UnpackedTarball_libcdr.mk libcmis/boost-win.patch libcmis/libcmis-0.4.1-empty-path.patch libcmis/libcmis-0.4.1.patch libcmis/Makefile libcmis/ Module_libcmis.mk libcmis/README libcmis/StaticLibrary_cmis.mk libcmis/UnpackedTarball_cmis.mk libexttextcat/ExternalPackage_fingerprint.mk libexttextcat/ExternalProject_exttextcat.mk libexttextcat/exttextcat-msvc-stdint.patch libexttextcat/Makefile libexttextcat/Module_libexttextcat.mk libexttextcat/README libexttextcat/StaticLibrary_exttextcat.mk libexttextcat/UnpackedTarball_exttextcat.mk liblangtag/ExternalPackage_langtag_data.mk liblangtag/ExternalPackage_liblangtag_data.mk liblangtag/ExternalProject_langtag.mk liblangtag/liblangtag-0.5.1-mingw.patch liblangtag/liblangtag-0.5.1-msvc-snprintf.patch liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch liblangtag/liblangtag-0.5.1-msvc-strtoull.patch liblangtag/liblangtag-0.5.1-msvc-warning.patch liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch liblangtag/liblangtag-0.5.1-scope-declaration.patch liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch liblangtag/liblangtag-0.5.1-unistd.patch liblangtag/liblangtag-0.5 .1-vsnprintf.patch liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch liblangtag/Makefile liblangtag/Module_liblangtag.mk liblangtag/README liblangtag/UnpackedTarball_langtag.mk libmariadb/configs libmariadb/Makefile libmariadb/mariadb-msvc.patch.1 libmariadb/mariadb-static-inline.patch libmariadb/mariadb-swap.patch libmariadb/mariadb-thread.patch libmariadb/mariadb-trunk-40.patch libmariadb/Module_libmariadb.mk libmariadb/StaticLibrary_mariadb.mk libmariadb/UnpackedTarball_mariadb.mk libmspub/ExternalProject_libmspub.mk libmspub/Makefile libmspub/Module_libmspub.mk libmspub/README libmspub/UnpackedTarball_libmspub.mk libmwaw/ExternalProject_libmwaw.mk libmwaw/Makefile libmwaw/Module_libmwaw.mk libmwaw/README libmwaw/UnpackedTarball_libmwaw.mk libodfgen/ExternalProject_libodfgen.mk libodfgen/Makefile libodfgen/Module_libodfgen.mk libodfgen/README libodfgen/UnpackedTarball_libodfgen.mk liborcus/ExternalProject_liborcus.mk liborcus/liborcus_0.1.0-configure. patch liborcus/liborcus_0.1.0-dllimport.patch liborcus/liborcus_0.1.0-tac.patch liborcus/Makefile liborcus/Module_liborcus.mk liborcus/UnpackedTarball_liborcus.mk liborcus/visibility.patch libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch libvisio/ExternalProject_libvisio.mk libvisio/Makefile libvisio/Module_libvisio.mk libvisio/README libvisio/UnpackedTarball_libvisio.mk libwpd/ExternalProject_libwpd.mk libwpd/Makefile libwpd/Module_libwpd.mk libwpd/README libwpd/UnpackedTarball_libwpd.mk libwpg/ExternalProject_libwpg.mk libwpg/Makefile libwpg/Module_libwpg.mk libwpg/README libwpg/UnpackedTarball_libwpg.mk libwps/ExternalProject_libwps.mk libwps/Makefile libwps/Module_libwps.mk libwps/README libwps/UnpackedTarball_libwps.mk libxml2/ExternalPackage_xml2.mk libxml2/ExternalProject_xml2.mk libxml2/libxml2-aix.patch libxml2/libxml2-android.patch libxml2/libxml2-configure.patch libxml2/libxml2-global-symbols.patch libxml2/libxml2-gnome599717.patch libxml2/libxml2- latin.patch libxml2/libxml2-long-path.patch libxml2/libxml2-mingw.patch libxml2/libxml2-vc10.patch libxml2/libxml2-xpath.patch libxml2/Makefile libxml2/Module_libxml2.mk libxml2/README libxml2/UnpackedTarball_xml2.mk libxslt/ExternalPackage_xslt.mk libxslt/ExternalProject_xslt.mk libxslt/libxslt-1.1.26-memdump.patch libxslt/libxslt-aix.patch libxslt/libxslt-android.patch libxslt/libxslt-configure.patch libxslt/libxslt-internal-symbols.patch libxslt/libxslt-mingw.patch libxslt/libxslt-vc10.patch libxslt/libxslt-win_manifest.patch libxslt/Makefile libxslt/Module_libxslt.mk libxslt/README libxslt/UnpackedTarball_xslt.mk lpsolve/ccc.static lpsolve/ExternalPackage_lpsolve.mk lpsolve/ExternalProject_lpsolve.mk lpsolve/lp_solve_5.5.patch lpsolve/lp_solve_5.5-windows.patch lpsolve/lp_solve-aix.patch lpsolve/lp_solve-fixed-warn.patch lpsolve/Makefile lpsolve/Module_lpsolve.mk lpsolve/README lpsolve/UnpackedTarball_lpsolve.mk mdds/0001-Workaround-for-an-old-gcc-bug.patch mdds/Makefile mdds/mdds_0.6.0.patch mdds/Module_mdds.mk mdds/README mdds/UnpackedTarball_mdds.mk more_fonts/ExternalPackage_dejavu.mk more_fonts/ExternalPackage_gentium.mk more_fonts/ExternalPackage_liberation.mk more_fonts/ExternalPackage_liberation_narrow.mk more_fonts/ExternalPackage_libertineg.mk more_fonts/ExternalPackage_opensans.mk more_fonts/ExternalPackage_ptserif.mk more_fonts/ExternalPackage_sourcecode.mk more_fonts/ExternalPackage_sourcesans.mk more_fonts/fonts more_fonts/Makefile more_fonts/Module_more_fonts.mk more_fonts/Package_conf.mk more_fonts/README more_fonts/UnpackedTarball_dejavu.mk more_fonts/UnpackedTarball_gentium.mk more_fonts/UnpackedTarball_liberation.mk more_fonts/UnpackedTarball_liberation_narrow.mk more_fonts/UnpackedTarball_libertineg.mk more_fonts/UnpackedTarball_opensans.mk more_fonts/UnpackedTarball_ptserif.mk more_fonts/UnpackedTarball_sourcecode.mk more_fonts/UnpackedTarball_sourcesans.mk moz/ExternalPackage_moz_lib.mk moz/ExternalPackage_runtime.mk m oz/Makefile moz/Module_moz.mk moz/README moz/UnpackedTarball_moz_inc.mk moz/UnpackedTarball_moz_lib.mk moz/UnpackedTarball_mozruntime.mk mysqlcppconn/binding_config.h mysqlcppconn/config.h mysqlcppconn/Library_mysqlcppconn.mk mysqlcppconn/Makefile mysqlcppconn/Module_mysqlcppconn.mk mysqlcppconn/patches mysqlcppconn/README mysqlcppconn/UnpackedTarball_mysqlcppconn.mk mythes/ExternalProject_mythes.mk mythes/Makefile mythes/Module_mythes.mk mythes/mythes-1.2.0-android.patch mythes/mythes-1.2.0-vanilla-th-gen-idx.patch mythes/mythes-ssizet.patch mythes/README mythes/StaticLibrary_mythes.mk mythes/UnpackedTarball_mythes.mk neon/configs neon/Library_neon.mk neon/Makefile neon/Module_neon.mk neon/neon.def neon/neon_ne_set_request_flag.patch neon/neon.patch neon/neon_with_gnutls.patch neon/README neon/UnpackedTarball_neon.mk RepositoryModule_build.mk RepositoryModule_host.mk sc/inc scp2/InstallModule_ooo.mk sc/source tools/source vcl/unx

Kohei Yoshida kohei.yoshida at collabora.com
Sat Oct 19 10:58:49 PDT 2013


Rebased ref, commits from common ancestor:
commit 75e6bcba872bc1fd7b4316ff219fb6545e9f542d
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 19 13:55:53 2013 -0400

    Construct and initialize result matrix in one step.
    
    It's faster this way, than first constructing it then populating it
    in two separate steps.
    
    Change-Id: I61d30ed33a63dcf4c89b18d80ae4c3217cc43015

diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index b2a5d8d..f2508a6 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -202,6 +202,8 @@ public:
     ScMatrix(SCSIZE nC, SCSIZE nR);
     ScMatrix(SCSIZE nC, SCSIZE nR, double fInitVal);
 
+    ScMatrix( size_t nC, size_t nR, const std::vector<bool>& rInitVals );
+
     /** Clone the matrix. */
     ScMatrix* Clone() const;
 
@@ -351,8 +353,8 @@ public:
     double GetMaxValue( bool bTextAsZero ) const;
     double GetMinValue( bool bTextAsZero ) const;
 
-    void CompareMatrix(
-        ScMatrix& rResMat, sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions = NULL ) const;
+    ScMatrixRef CompareMatrix(
+        sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions = NULL ) const;
 
     /**
      * Convert the content of matrix into a linear array of numeric values.
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 69cfa10..2cea9a2 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -1018,11 +1018,6 @@ sc::RangeMatrix ScInterpreter::CompareMat( ScQueryOp eOp, sc::CompareOptions* pO
     else if (aMat[0].mpMat || aMat[1].mpMat)
     {
         size_t i = ( aMat[0].mpMat ? 0 : 1);
-        SCSIZE nC, nR;
-        aMat[i].mpMat->GetDimensions(nC, nR);
-        aRes.mpMat = GetNewMat(nC, nR, false);
-        if (!aRes.mpMat)
-            return aRes;
 
         aRes.mnCol1 = aMat[i].mnCol1;
         aRes.mnRow1 = aMat[i].mnRow1;
@@ -1032,8 +1027,9 @@ sc::RangeMatrix ScInterpreter::CompareMat( ScQueryOp eOp, sc::CompareOptions* pO
         aRes.mnTab2 = aMat[i].mnTab2;
 
         ScMatrix& rMat = *aMat[i].mpMat;
-        ScMatrix& rResMat = *aRes.mpMat;
-        rMat.CompareMatrix(rResMat, aComp, i, pOptions);
+        aRes.mpMat = rMat.CompareMatrix(aComp, i, pOptions);
+        if (!aRes.mpMat)
+            return aRes;
     }
 
     nCurFmtType = nFuncFmtType = NUMBERFORMAT_LOGICAL;
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index 489dcfe..3fbdc7f 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -200,6 +200,9 @@ class ScMatrixImpl
 public:
     ScMatrixImpl(SCSIZE nC, SCSIZE nR);
     ScMatrixImpl(SCSIZE nC, SCSIZE nR, double fInitVal);
+
+    ScMatrixImpl( size_t nC, size_t nR, const std::vector<bool>& rInitVals );
+
     ~ScMatrixImpl();
 
     void Clear();
@@ -269,7 +272,7 @@ public:
     double GetMaxValue( bool bTextAsZero ) const;
     double GetMinValue( bool bTextAsZero ) const;
 
-    void CompareMatrix( ScMatrix& rResMat, sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const;
+    ScMatrixRef CompareMatrix( sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const;
 
     void GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZero ) const;
     void MergeDoubleArray( std::vector<double>& rArray, ScMatrix::Op eOp ) const;
@@ -289,6 +292,9 @@ ScMatrixImpl::ScMatrixImpl(SCSIZE nC, SCSIZE nR) :
 ScMatrixImpl::ScMatrixImpl(SCSIZE nC, SCSIZE nR, double fInitVal) :
     maMat(nR, nC, fInitVal), maMatFlag(nR, nC), pErrorInterpreter(NULL), mbCloneIfConst(true) {}
 
+ScMatrixImpl::ScMatrixImpl( size_t nC, size_t nR, const std::vector<bool>& rInitVals ) :
+    maMat(nR, nC, rInitVals.begin(), rInitVals.end()), maMatFlag(nR, nC), pErrorInterpreter(NULL), mbCloneIfConst(true) {}
+
 ScMatrixImpl::~ScMatrixImpl()
 {
     Clear();
@@ -1516,8 +1522,8 @@ double ScMatrixImpl::GetMinValue( bool bTextAsZero ) const
     return aFunc.getValue();
 }
 
-void ScMatrixImpl::CompareMatrix(
-    ScMatrix& rResMat, sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const
+ScMatrixRef ScMatrixImpl::CompareMatrix(
+    sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const
 {
     MatrixImplType::size_pair_type aSize = maMat.size();
     size_t nSize = aSize.column * aSize.row;
@@ -1526,8 +1532,10 @@ void ScMatrixImpl::CompareMatrix(
 
     // We assume the result matrix has the same dimension as this matrix.
     const std::vector<bool>& rResVal = aFunc.getValues();
-    if (nSize == rResVal.size())
-        rResMat.pImpl->maMat.set(0, 0, rResVal.begin(), rResVal.end());
+    if (nSize != rResVal.size())
+        ScMatrixRef();
+
+    return ScMatrixRef(new ScMatrix(aSize.column, aSize.row, rResVal));
 }
 
 void ScMatrixImpl::GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZero ) const
@@ -1682,6 +1690,13 @@ ScMatrix::ScMatrix(SCSIZE nC, SCSIZE nR, double fInitVal) :
     SAL_WARN_IF( !nR, "sc", "ScMatrix with 0 rows!");
 }
 
+ScMatrix::ScMatrix( size_t nC, size_t nR, const std::vector<bool>& rInitVals ) :
+    pImpl(new ScMatrixImpl(nC, nR, rInitVals)), nRefCnt(0)
+{
+    SAL_WARN_IF( !nC, "sc", "ScMatrix with 0 columns!");
+    SAL_WARN_IF( !nR, "sc", "ScMatrix with 0 rows!");
+}
+
 ScMatrix::~ScMatrix()
 {
     delete pImpl;
@@ -1985,9 +2000,10 @@ double ScMatrix::GetMinValue( bool bTextAsZero ) const
     return pImpl->GetMinValue(bTextAsZero);
 }
 
-void ScMatrix::CompareMatrix( ScMatrix& rResMat, sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const
+ScMatrixRef ScMatrix::CompareMatrix(
+    sc::Compare& rComp, size_t nMatPos, sc::CompareOptions* pOptions ) const
 {
-    pImpl->CompareMatrix(rResMat, rComp, nMatPos, pOptions);
+    return pImpl->CompareMatrix(rComp, nMatPos, pOptions);
 }
 
 void ScMatrix::GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZero ) const
commit 8e8b43a03e77dd251876c1de0ac06eeeb09192cd
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 19 13:08:46 2013 -0400

    Generate boolean comparison result array in one step.
    
    This is faster than doing it in two steps as was previously done.
    
    Change-Id: I1417e9c6add9d20ee8d68f0c1c91c7d24a0f79b3

diff --git a/sc/inc/compare.hxx b/sc/inc/compare.hxx
index b4e4a50..0bbf8dc 100644
--- a/sc/inc/compare.hxx
+++ b/sc/inc/compare.hxx
@@ -35,9 +35,11 @@ struct Compare
     bool bVal[2];
     bool bEmpty[2];
 
+    ScQueryOp meOp;
     bool mbIgnoreCase;
 
     Compare( OUString* p1, OUString* p2 ) :
+        meOp(SC_EQUAL),
         mbIgnoreCase(true)
     {
         pVal[0] = p1;
diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index 6fe7a5e..b2a5d8d 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -109,6 +109,8 @@ struct ScMatrixValue
  */
 class SC_DLLPUBLIC ScMatrix
 {
+    friend class ScMatrixImpl;
+
     ScMatrixImpl*   pImpl;
     mutable size_t  nRefCnt;    // reference count
 
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index d308936..69cfa10 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -883,6 +883,7 @@ sc::RangeMatrix ScInterpreter::CompareMat( ScQueryOp eOp, sc::CompareOptions* pO
 {
     OUString aVal1, aVal2;
     sc::Compare aComp( &aVal1, &aVal2 );
+    aComp.meOp = eOp;
     aComp.mbIgnoreCase = pDok->GetDocOptions().IsIgnoreCase();
     sc::RangeMatrix aMat[2];
     ScAddress aAdr;
@@ -1033,32 +1034,6 @@ sc::RangeMatrix ScInterpreter::CompareMat( ScQueryOp eOp, sc::CompareOptions* pO
         ScMatrix& rMat = *aMat[i].mpMat;
         ScMatrix& rResMat = *aRes.mpMat;
         rMat.CompareMatrix(rResMat, aComp, i, pOptions);
-
-        switch (eOp)
-        {
-            case SC_EQUAL:
-                aRes.mpMat->CompareEqual();
-                break;
-            case SC_LESS:
-                aRes.mpMat->CompareLess();
-                break;
-            case SC_GREATER:
-                aRes.mpMat->CompareGreater();
-                break;
-            case SC_LESS_EQUAL:
-                aRes.mpMat->CompareLessEqual();
-                break;
-            case SC_GREATER_EQUAL:
-                aRes.mpMat->CompareGreaterEqual();
-                break;
-            case SC_NOT_EQUAL:
-                aRes.mpMat->CompareNotEqual();
-                break;
-            default:
-                OSL_TRACE( "ScInterpreter::QueryMat: unhandled comparison operator: %d", (int)eOp);
-                aRes.mpMat.reset();
-                return aRes;
-        }
     }
 
     nCurFmtType = nFuncFmtType = NUMBERFORMAT_LOGICAL;
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index cc2106d..489dcfe 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -1217,12 +1217,36 @@ class CompareMatrixFunc : std::unary_function<MatrixImplType::element_block_type
     sc::Compare& mrComp;
     size_t mnMatPos;
     sc::CompareOptions* mpOptions;
-
-    std::vector<double> maResValues;
+    std::vector<bool> maResValues;
 
     void compare()
     {
-        maResValues.push_back(sc::CompareFunc(mrComp, mpOptions));
+        double fVal = sc::CompareFunc(mrComp, mpOptions);
+        bool bRes = false;
+        switch (mrComp.meOp)
+        {
+            case SC_EQUAL:
+                bRes = fVal == 0.0;
+            break;
+            case SC_LESS:
+                bRes = fVal < 0.0;
+            break;
+            case SC_GREATER:
+                bRes = fVal > 0.0;
+            break;
+            case SC_LESS_EQUAL:
+                bRes = fVal <= 0.0;
+            break;
+            case SC_GREATER_EQUAL:
+                bRes = fVal >= 0.0;
+            break;
+            case SC_NOT_EQUAL:
+                bRes = fVal != 0.0;
+            break;
+            default:
+                OSL_TRACE( "CompareMatrixFunc: unhandled comparison operator: %d", (int)mrComp.meOp);
+        }
+        maResValues.push_back(bRes);
     }
 
 public:
@@ -1295,7 +1319,7 @@ public:
         }
     }
 
-    const std::vector<double>& getValues() const
+    const std::vector<bool>& getValues() const
     {
         return maResValues;
     }
@@ -1501,9 +1525,9 @@ void ScMatrixImpl::CompareMatrix(
     maMat.walk(aFunc);
 
     // We assume the result matrix has the same dimension as this matrix.
-    const std::vector<double>& rResVal = aFunc.getValues();
+    const std::vector<bool>& rResVal = aFunc.getValues();
     if (nSize == rResVal.size())
-        rResMat.PutDouble(&rResVal[0], rResVal.size(), 0, 0);
+        rResMat.pImpl->maMat.set(0, 0, rResVal.begin(), rResVal.end());
 }
 
 void ScMatrixImpl::GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZero ) const
commit 72d4b574f11979d5487309737172869e9c3181a9
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 19 11:27:24 2013 -0400

    Do the two matrix comparisons both in CompareMat().
    
    Change-Id: I1b4dab3f57dd7df556aa13fdd44a2d3ba2b01bd7

diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index 11adc34..99fa566 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -386,7 +386,7 @@ double Compare();
 /** @param pOptions
         NULL means case sensitivity document option is to be used!
  */
-sc::RangeMatrix CompareMat( sc::CompareOptions* pOptions = NULL );
+sc::RangeMatrix CompareMat( ScQueryOp eOp, sc::CompareOptions* pOptions = NULL );
 ScMatrixRef QueryMat( const ScMatrixRef& pMat, sc::CompareOptions& rOptions );
 void ScEqual();
 void ScNotEqual();
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index e764d21..d308936 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -879,7 +879,7 @@ double ScInterpreter::Compare()
 }
 
 
-sc::RangeMatrix ScInterpreter::CompareMat( sc::CompareOptions* pOptions )
+sc::RangeMatrix ScInterpreter::CompareMat( ScQueryOp eOp, sc::CompareOptions* pOptions )
 {
     OUString aVal1, aVal2;
     sc::Compare aComp( &aVal1, &aVal2 );
@@ -987,6 +987,32 @@ sc::RangeMatrix ScInterpreter::CompareMat( sc::CompareOptions* pOptions )
                     aRes.mpMat->PutString(mrStrPool.intern(ScGlobal::GetRscString(STR_NO_VALUE)), j, k);
             }
         }
+
+        switch (eOp)
+        {
+            case SC_EQUAL:
+                aRes.mpMat->CompareEqual();
+                break;
+            case SC_LESS:
+                aRes.mpMat->CompareLess();
+                break;
+            case SC_GREATER:
+                aRes.mpMat->CompareGreater();
+                break;
+            case SC_LESS_EQUAL:
+                aRes.mpMat->CompareLessEqual();
+                break;
+            case SC_GREATER_EQUAL:
+                aRes.mpMat->CompareGreaterEqual();
+                break;
+            case SC_NOT_EQUAL:
+                aRes.mpMat->CompareNotEqual();
+                break;
+            default:
+                OSL_TRACE( "ScInterpreter::QueryMat: unhandled comparison operator: %d", (int)eOp);
+                aRes.mpMat.reset();
+                return aRes;
+        }
     }
     else if (aMat[0].mpMat || aMat[1].mpMat)
     {
@@ -1007,6 +1033,32 @@ sc::RangeMatrix ScInterpreter::CompareMat( sc::CompareOptions* pOptions )
         ScMatrix& rMat = *aMat[i].mpMat;
         ScMatrix& rResMat = *aRes.mpMat;
         rMat.CompareMatrix(rResMat, aComp, i, pOptions);
+
+        switch (eOp)
+        {
+            case SC_EQUAL:
+                aRes.mpMat->CompareEqual();
+                break;
+            case SC_LESS:
+                aRes.mpMat->CompareLess();
+                break;
+            case SC_GREATER:
+                aRes.mpMat->CompareGreater();
+                break;
+            case SC_LESS_EQUAL:
+                aRes.mpMat->CompareLessEqual();
+                break;
+            case SC_GREATER_EQUAL:
+                aRes.mpMat->CompareGreaterEqual();
+                break;
+            case SC_NOT_EQUAL:
+                aRes.mpMat->CompareNotEqual();
+                break;
+            default:
+                OSL_TRACE( "ScInterpreter::QueryMat: unhandled comparison operator: %d", (int)eOp);
+                aRes.mpMat.reset();
+                return aRes;
+        }
     }
 
     nCurFmtType = nFuncFmtType = NUMBERFORMAT_LOGICAL;
@@ -1024,7 +1076,7 @@ ScMatrixRef ScInterpreter::QueryMat( const ScMatrixRef& pMat, sc::CompareOptions
         PushString(rItem.maString.getString());
     else
         PushDouble(rItem.mfVal);
-    ScMatrixRef pResultMatrix = CompareMat( &rOptions).mpMat;
+    ScMatrixRef pResultMatrix = CompareMat(rOptions.aQueryEntry.eOp, &rOptions).mpMat;
     nCurFmtType = nSaveCurFmtType;
     nFuncFmtType = nSaveFuncFmtType;
     if (nGlobalError || !pResultMatrix)
@@ -1033,30 +1085,6 @@ ScMatrixRef ScInterpreter::QueryMat( const ScMatrixRef& pMat, sc::CompareOptions
         return pResultMatrix;
     }
 
-    switch (rOptions.aQueryEntry.eOp)
-    {
-        case SC_EQUAL:
-            pResultMatrix->CompareEqual();
-            break;
-        case SC_LESS:
-            pResultMatrix->CompareLess();
-            break;
-        case SC_GREATER:
-            pResultMatrix->CompareGreater();
-            break;
-        case SC_LESS_EQUAL:
-            pResultMatrix->CompareLessEqual();
-            break;
-        case SC_GREATER_EQUAL:
-            pResultMatrix->CompareGreaterEqual();
-            break;
-        case SC_NOT_EQUAL:
-            pResultMatrix->CompareNotEqual();
-            break;
-        default:
-            SetError( errIllegalArgument);
-            OSL_TRACE( "ScInterpreter::QueryMat: unhandled comparison operator: %d", (int)rOptions.aQueryEntry.eOp);
-    }
     return pResultMatrix;
 }
 
@@ -1064,14 +1092,13 @@ void ScInterpreter::ScEqual()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_EQUAL);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareEqual();
         PushMatrix(aMat);
     }
     else
@@ -1083,14 +1110,13 @@ void ScInterpreter::ScNotEqual()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_NOT_EQUAL);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareNotEqual();
         PushMatrix(aMat);
     }
     else
@@ -1102,14 +1128,13 @@ void ScInterpreter::ScLess()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_LESS);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareLess();
         PushMatrix(aMat);
     }
     else
@@ -1121,14 +1146,13 @@ void ScInterpreter::ScGreater()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_GREATER);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareGreater();
         PushMatrix(aMat);
     }
     else
@@ -1140,14 +1164,13 @@ void ScInterpreter::ScLessEqual()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_LESS_EQUAL);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareLessEqual();
         PushMatrix(aMat);
     }
     else
@@ -1159,14 +1182,13 @@ void ScInterpreter::ScGreaterEqual()
 {
     if ( GetStackType(1) == svMatrix || GetStackType(2) == svMatrix )
     {
-        sc::RangeMatrix aMat = CompareMat();
+        sc::RangeMatrix aMat = CompareMat(SC_GREATER_EQUAL);
         if (!aMat.mpMat)
         {
             PushIllegalParameter();
             return;
         }
 
-        aMat.mpMat->CompareGreaterEqual();
         PushMatrix(aMat);
     }
     else
commit c2923d47beab284b4bd9af07e1e18eddd59a2530
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 19 09:30:13 2013 -0400

    Require mdds 0.9.1 in configure script.
    
    Change-Id: Ib475ce5381c74218221ff86ff837705abd03b0ef

diff --git a/configure.ac b/configure.ac
index 37acab9..02a1687 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8663,7 +8663,7 @@ AC_SUBST(SYSTEM_BOOST)
 dnl ===================================================================
 dnl Check for system mdds
 dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds >= 0.9.0])
+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds >= 0.9.1])
 
 dnl ===================================================================
 dnl Determine which hash container mdds shall use
commit 3bb099ecb3b63f365bbe514322201712108092ee
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 19 13:57:54 2013 +0100

    older gtks don't have gtk_widget_get_window
    
    Change-Id: I700f45c680fb0154aecd37b54d8de9fe4ee9d238

diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index 4531164..a3e3b91 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -628,7 +628,7 @@ static const GActionEntry app_entries[] = {
 gboolean ensure_dbus_setup( gpointer data )
 {
     GtkSalFrame* pSalFrame = reinterpret_cast< GtkSalFrame* >( data );
-    GdkWindow* gdkWindow = gtk_widget_get_window( pSalFrame->getWindow() );
+    GdkWindow* gdkWindow = widget_get_window( pSalFrame->getWindow() );
 
     if ( gdkWindow != NULL && g_object_get_data( G_OBJECT( gdkWindow ), "g-lo-menubar" ) == NULL )
     {
@@ -2312,7 +2312,7 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, int eType, Rectangle *pSiz
 #endif
     {
 #if GTK_CHECK_VERSION(3,8,0)
-        gdk_window_set_fullscreen_mode( gtk_widget_get_window(m_pWindow), m_bSpanMonitorsWhenFullscreen
+        gdk_window_set_fullscreen_mode( widget_get_window(m_pWindow), m_bSpanMonitorsWhenFullscreen
             ? GDK_FULLSCREEN_ON_ALL_MONITORS : GDK_FULLSCREEN_ON_CURRENT_MONITOR );
 #endif
         if( eType == SET_FULLSCREEN )
@@ -3560,7 +3560,7 @@ gboolean GtkSalFrame::signalMap( GtkWidget *pWidget, GdkEvent*, gpointer frame )
     //window to span all displays.
     if (pThis->m_bFullscreen && pThis->m_bSpanMonitorsWhenFullscreen)
     {
-        GdkWindow* gdkwin = gtk_widget_get_window(pThis->m_pWindow);
+        GdkWindow* gdkwin = widget_get_window(pThis->m_pWindow);
         if (gdkwin)
         {
             OUString sProgramURL( "$BRAND_BASE_DIR/" LIBO_LIBEXEC_FOLDER "/xid-fullscreen-on-all-monitors");
commit f2bdfdb2952b4ef6064be65130242fbabb71f885
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Oct 18 20:35:37 2013 +0100

    Related: fdo#38838 remove String::Replace
    
    Change-Id: Ia6602809a65db0a7dcfef80cc474aab67d520980

diff --git a/include/tools/string.hxx b/include/tools/string.hxx
index 99d5f4a..6c73882 100644
--- a/include/tools/string.hxx
+++ b/include/tools/string.hxx
@@ -107,7 +107,6 @@ private:
 
     StringCompare       CompareTo( const UniString& rStr,
                                    xub_StrLen nLen = STRING_LEN ) const;
-    UniString&          Erase( xub_StrLen nIndex = 0, xub_StrLen nCount = STRING_LEN );
 
                         UniString( const int* pDummy );    // not implemented: to prevent UniString( NULL )
                         UniString(int); // not implemented; to detect misuses of
@@ -222,7 +221,6 @@ public:
     UniString&          Insert( const UniString& rStr, xub_StrLen nPos, xub_StrLen nLen,
                                 xub_StrLen nIndex = STRING_LEN );
     UniString&          Insert( sal_Unicode c, xub_StrLen nIndex = STRING_LEN );
-    UniString&          Replace( xub_StrLen nIndex, xub_StrLen nLen, const UniString& rStr );
     UniString           Copy( xub_StrLen nIndex = 0, xub_StrLen nCount = STRING_LEN ) const;
 
     sal_Bool            Equals( const UniString& rStr ) const;
diff --git a/tools/source/string/strimp.cxx b/tools/source/string/strimp.cxx
index 6b0c401..99a2778 100644
--- a/tools/source/string/strimp.cxx
+++ b/tools/source/string/strimp.cxx
@@ -244,98 +244,6 @@ STRING& STRING::Insert( const STRING& rStr, xub_StrLen nIndex )
     return *this;
 }
 
-STRING& STRING::Replace( xub_StrLen nIndex, xub_StrLen nCount, const STRING& rStr )
-{
-    DBG_CHKTHIS( STRING, DBGCHECKSTRING );
-    DBG_CHKOBJ( &rStr, STRING, DBGCHECKSTRING );
-
-    // Append if index > current length
-    if ( nIndex >= mpData->mnLen )
-    {
-        Append( rStr );
-        return *this;
-    }
-
-    // assign if index = 0 and length >= stringlen
-    if ( (nIndex == 0) && (nCount >= mpData->mnLen) )
-    {
-        Assign( rStr );
-        return *this;
-    }
-
-    // Use erase if replacestring is empty
-    sal_Int32 nStrLen = rStr.mpData->mnLen;
-    if ( !nStrLen )
-        return Erase( nIndex, nCount );
-
-    // Adjust nCount if it's larger than the string
-    if ( nCount > mpData->mnLen - nIndex )
-        nCount = static_cast< xub_StrLen >(mpData->mnLen-nIndex);
-
-    if ( !nCount )
-        return Insert( rStr, nIndex );
-
-    // Use character-based assignment if length is equal
-    if ( nCount == nStrLen )
-    {
-        ImplCopyData();
-        memcpy( mpData->maStr+nIndex, rStr.mpData->maStr, nCount*sizeof( STRCODE ) );
-        return *this;
-    }
-
-    // detect overflow
-    nStrLen = ImplGetCopyLen( mpData->mnLen-nCount, nStrLen );
-
-    // allocate string of new size
-    STRINGDATA* pNewData = ImplAllocData( mpData->mnLen-nCount+nStrLen );
-
-    // copy string
-    memcpy( pNewData->maStr, mpData->maStr, nIndex*sizeof( STRCODE ) );
-    memcpy( pNewData->maStr+nIndex, rStr.mpData->maStr, nStrLen*sizeof( STRCODE ) );
-    memcpy( pNewData->maStr+nIndex+nStrLen, mpData->maStr+nIndex+nCount,
-            (mpData->mnLen-nIndex-nCount+1)*sizeof( STRCODE ) );
-
-    // free old string
-    STRING_RELEASE((STRING_TYPE *)mpData);
-    mpData = pNewData;
-
-    return *this;
-}
-
-STRING& STRING::Erase( xub_StrLen nIndex, xub_StrLen nCount )
-{
-    DBG_CHKTHIS( STRING, DBGCHECKSTRING );
-
-    // Return if index outside string or count = 0
-    if ( (nIndex >= mpData->mnLen) || !nCount )
-        return *this;
-
-    // Adjust nCount if it's larger than the string
-    if ( nCount > mpData->mnLen - nIndex )
-        nCount = static_cast< xub_StrLen >(mpData->mnLen-nIndex);
-
-    if ( mpData->mnLen - nCount )
-    {
-        // allocate string of new size
-        STRINGDATA* pNewData = ImplAllocData( mpData->mnLen-nCount );
-
-        // copy string
-        memcpy( pNewData->maStr, mpData->maStr, nIndex*sizeof( STRCODE ) );
-        memcpy( pNewData->maStr+nIndex, mpData->maStr+nIndex+nCount,
-                (mpData->mnLen-nIndex-nCount+1)*sizeof( STRCODE ) );
-
-        // free old string
-        STRING_RELEASE((STRING_TYPE *)mpData);
-        mpData = pNewData;
-    }
-    else
-    {
-        STRING_NEW((STRING_TYPE **)&mpData);
-    }
-
-    return *this;
-}
-
 xub_StrLen STRING::Search( STRCODE c, xub_StrLen nIndex ) const
 {
     DBG_CHKTHIS( STRING, DBGCHECKSTRING );
commit 301b5a408d7b0e53f86b1aad0afb8b454fc71991
Author: Minh Ngo <nlminhtl at gmail.com>
Date:   Sat Oct 19 15:34:03 2013 +0300

    avmedia/vlc: fixing a hang when trying to get a frame
    
    Change-Id: I1fb35d0c62e77448d23eeb11f9de0ab72892336a

diff --git a/avmedia/source/vlc/vlcframegrabber.cxx b/avmedia/source/vlc/vlcframegrabber.cxx
index 7a742e9..a28cf8a 100644
--- a/avmedia/source/vlc/vlcframegrabber.cxx
+++ b/avmedia/source/vlc/vlcframegrabber.cxx
@@ -28,15 +28,12 @@ namespace
 
     const char * const VLC_ARGS[] = {
         "-Vdummy",
-        // "--ignore-config"
         "--demux",
         "ffmpeg",
         "--snapshot-format=png",
         "--ffmpeg-threads", /* Is deprecated in 2.1.0 */
-        "--verbose=2",
-        "--no-audio"//,
-        //"--file-logging",
-        //"--logfile=C:/home/dev/log/vlc_log"
+        "--verbose=-1",
+        "--no-audio"
     };
 }
 
@@ -70,10 +67,7 @@ VLCFrameGrabber::VLCFrameGrabber( wrapper::EventHandler& eh, const rtl::OUString
 
         const TimeValue timeout = {2, 0};
 
-        //TODO: Fix this hang on Windows
-#ifndef WNT
         condition.wait(&timeout);
-#endif
 
         if ( !mPlayer.hasVout() )
         {
diff --git a/avmedia/source/vlc/vlcmanager.cxx b/avmedia/source/vlc/vlcmanager.cxx
index 370505d..9894b73 100644
--- a/avmedia/source/vlc/vlcmanager.cxx
+++ b/avmedia/source/vlc/vlcmanager.cxx
@@ -29,14 +29,10 @@ namespace
     const ::rtl::OUString VLC_SERVICENAME = "com.sun.star.media.Manager_VLC";
 
     const char * const VLC_ARGS[] = {
-        "-Vdummy",
-#ifdef WNT
         "--demux",
         "ffmpeg",
-#endif
-        "--verbose=2"//,
-        //"--file-logging",
-        //"--logfile=C:/home/dev/log/vlc_log"
+        "--no-mouse-events",
+        "--verbose=-1"
     };
 }
 
diff --git a/avmedia/source/vlc/vlcplayer.cxx b/avmedia/source/vlc/vlcplayer.cxx
index 8d54672..64ad897 100644
--- a/avmedia/source/vlc/vlcplayer.cxx
+++ b/avmedia/source/vlc/vlcplayer.cxx
@@ -1,4 +1,3 @@
-#include <iostream>
 #include <boost/bind.hpp>
 #include <vcl/syschild.hxx>
 #include <vcl/sysdata.hxx>
commit 5b24f86c1c2d64e99da1535c05139a1266dcbcc1
Author: Minh Ngo <nlminhtl at gmail.com>
Date:   Sat Oct 19 15:33:02 2013 +0300

    avmedia/vlc: setting a correct video/audio track
    
    Change-Id: I935e64f9df74193aba17d00cfe7f37ad3f4f9077

diff --git a/avmedia/source/vlc/wrapper/Player.cxx b/avmedia/source/vlc/wrapper/Player.cxx
index d8608d8..cd57267 100644
--- a/avmedia/source/vlc/wrapper/Player.cxx
+++ b/avmedia/source/vlc/wrapper/Player.cxx
@@ -12,7 +12,7 @@
 #include "Player.hxx"
 #include "Media.hxx"
 #include "SymbolLoader.hxx"
- #include "Common.hxx"
+#include "Common.hxx"
 
 struct libvlc_media_t;
 
@@ -52,6 +52,12 @@ namespace
     int ( *libvlc_video_get_size ) ( libvlc_media_player_t *p_mi, unsigned num,
                                      unsigned *px, unsigned *py );
     int ( *libvlc_video_get_track_count ) ( libvlc_media_player_t *p_mi );
+    int ( *libvlc_video_set_track ) ( libvlc_media_player_t *p_mi, int i_track );
+    libvlc_track_description_t* ( *libvlc_video_get_track_description ) ( libvlc_media_player_t *p_mi );
+
+    int ( *libvlc_audio_get_track ) ( libvlc_media_player_t *p_mi );
+    libvlc_track_description_t * ( *libvlc_audio_get_track_description ) (libvlc_media_player_t *p_mi );
+    int ( *libvlc_audio_set_track ) (libvlc_media_player_t *p_mi, int i_track);
 }
 
 namespace avmedia
@@ -90,7 +96,12 @@ namespace wrapper
             SYM_MAP( libvlc_media_player_retain ),
             SYM_MAP( libvlc_video_set_scale ),
             SYM_MAP( libvlc_video_get_size ),
-            SYM_MAP( libvlc_video_get_track_count )
+            SYM_MAP( libvlc_video_get_track_count ),
+            SYM_MAP( libvlc_video_set_track ),
+            SYM_MAP( libvlc_video_get_track_description ),
+            SYM_MAP( libvlc_audio_get_track ),
+            SYM_MAP( libvlc_audio_get_track_description ),
+            SYM_MAP( libvlc_audio_set_track )
         };
 
         return InitApiMap( VLC_PLAYER_API );
@@ -121,7 +132,26 @@ namespace wrapper
 
     bool Player::play()
     {
-        return libvlc_media_player_play( mPlayer ) == 0;
+        const bool status = ( libvlc_media_player_play( mPlayer ) == 0 );
+        if ( libvlc_video_get_track_count( mPlayer ) > 0 )
+        {
+            const libvlc_track_description_t *description = libvlc_video_get_track_description( mPlayer );
+
+            for ( ; description->p_next != NULL; description = description->p_next );
+
+            libvlc_video_set_track( mPlayer, description->i_id );
+        }
+
+        if ( libvlc_audio_get_track( mPlayer ) > 0 )
+        {
+            const libvlc_track_description_t *description = libvlc_audio_get_track_description( mPlayer );
+
+            for ( ; description->p_next != NULL; description = description->p_next );
+
+            libvlc_audio_set_track( mPlayer, description->i_id );
+        }
+
+        return status;
     }
 
     void Player::pause()
diff --git a/avmedia/source/vlc/wrapper/Types.hxx b/avmedia/source/vlc/wrapper/Types.hxx
index 624ef13..06a0674 100644
--- a/avmedia/source/vlc/wrapper/Types.hxx
+++ b/avmedia/source/vlc/wrapper/Types.hxx
@@ -23,7 +23,7 @@ typedef void ( *libvlc_callback_t ) ( const struct libvlc_event_t *, void * );
 #define libvlc_MediaPlayerEndReached 0x109
 
 // event structure pieces we use
-typedef struct libvlc_event_t
+struct libvlc_event_t
 {
     int   type;  // event type
     void *p_obj; // object emitting that event
@@ -35,7 +35,14 @@ typedef struct libvlc_event_t
         const char *dummy2;
       } padding;
     } u;
-} libvlc_event_t;
+};
+
+struct libvlc_track_description_t
+{
+    int i_id;
+    char *psz_name;
+    libvlc_track_description_t *p_next;
+};
 
 }
 
commit 16eda8aa564101645908b11d42a63761f751aae6
Author: David Tardon <dtardon at redhat.com>
Date:   Sat Oct 19 14:30:19 2013 +0200

    fix path after move to external
    
    Change-Id: I37a424a5611ea516e9158f22f7d8eec6b90fa42a

diff --git a/external/neon/Library_neon.mk b/external/neon/Library_neon.mk
index d391a3e..06455ea 100644
--- a/external/neon/Library_neon.mk
+++ b/external/neon/Library_neon.mk
@@ -80,7 +80,7 @@ $(eval $(call gb_Library_use_system_win32_libs,neon,\
 
 ifeq ($(COM),MSC)
 $(eval $(call gb_Library_add_ldflags,neon,\
-	/DEF:$(SRCDIR)/neon/neon.def \
+	/DEF:$(SRCDIR)/external/neon/neon.def \
 ))
 endif
 
commit 1034a2eb97a291846ff0d9b67677946ecab7df87
Author: Ptyl Dragon <ptyl at cloudon.com>
Date:   Sat Oct 19 12:51:02 2013 +0200

    added save to ios app and removed keyboard on open
    
    Change-Id: Ibfa9373cc82d7e2022190e158f94eb323a57f241
    Reviewed-on: https://gerrit.libreoffice.org/6351
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/ios/shared/ios_sharedlo/cxx/mlo_uno.h b/ios/shared/ios_sharedlo/cxx/mlo_uno.h
index d9ec63b..df53190 100644
--- a/ios/shared/ios_sharedlo/cxx/mlo_uno.h
+++ b/ios/shared/ios_sharedlo/cxx/mlo_uno.h
@@ -23,6 +23,7 @@ extern "C" {
     void mlo_get_selection(NSMutableString * mutableString);
     void mlo_fetch_view_data(NSMutableString * mutableString);
     void mlo_select_all(void);
+    void mlo_save(void);
 
 #ifdef __cplusplus
 }
diff --git a/ios/shared/ios_sharedlo/cxx/mlo_uno.mm b/ios/shared/ios_sharedlo/cxx/mlo_uno.mm
index ff92821..20c079b 100644
--- a/ios/shared/ios_sharedlo/cxx/mlo_uno.mm
+++ b/ios/shared/ios_sharedlo/cxx/mlo_uno.mm
@@ -26,6 +26,7 @@
 #include "com/sun/star/frame/XDispatchHelper.hpp"
 #include <com/sun/star/frame/DispatchHelper.hpp>
 #include "com/sun/star/frame/XComponentLoader.hpp"
+#include "com/sun/star/frame/XStorable.hpp"
 #include "com/sun/star/awt/XScrollBar.hpp"
 #include <com/sun/star/container/XContentEnumerationAccess.hpp>
 #include <com/sun/star/frame/Desktop.hpp>
@@ -83,6 +84,7 @@ Reference<XSearchable> openedXSearchable;
 Reference<XSelectionSupplier> openedXSelectionSupplier;
 Reference<XFrame> openedXFrame;
 Reference<XDispatchProvider> openedXDispatchProvider;
+Reference<XStorable> openedXStorable;
 
 Reference<XIndexAccess> currentFindAll;
 rtl::OUString lastSearch;
@@ -229,6 +231,15 @@ Reference<XDispatchHelper> getXDispatchHelper(){
     return helper;
 }
 
+Reference<XStorable> getXStorable(){
+    if(!openedXStorable.get()){
+        Reference<XStorable> stroable(getXModel(),UNO_QUERY);
+        openedXStorable.set(stroable);
+        LOG_EVAL(openedXStorable, @"XDispatchProvider");
+    }
+    return openedXStorable;
+}
+
 NSString * createFileUri(NSString * file){
     if(file==nil){
         NSString * app_root_escaped = [[[NSBundle mainBundle] bundlePath] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
@@ -477,4 +488,18 @@ mlo_select_all(void){
                                           OUString("_self"),
                                           0,
                                           Sequence<PropertyValue >());
+}
+
+extern "C"
+void
+mlo_save(void){
+    if(mlo_is_document_open()){
+        Reference<XStorable> storable =getXStorable();
+        if(storable->isReadonly()){
+            NSLog(@"Cannot save changes. File is read only");
+        }else{
+            storable->store();
+            NSLog(@"saved changes");
+        }
+    }
 }
\ No newline at end of file
diff --git a/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.h b/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.h
index c30fda0..6649ce0 100644
--- a/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.h
+++ b/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.h
@@ -15,4 +15,6 @@
 -(void)addToMainViewController;
 -(void)show;
 -(void)hide;
+-(void)showLibreOffice;
+-(void)hideLibreOffice;
 @end
diff --git a/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.m b/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.m
index f7d483f..fde1d82 100644
--- a/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.m
+++ b/ios/shared/ios_sharedlo/objective_c/gestures/MLOKeyboardManager.m
@@ -15,6 +15,7 @@
 @interface MLOKeyboardManager ()
 @property MLOMainViewController * mainViewController;
 @property UITextView * textView;
+ at property BOOL allowLoToinvokdeKeyboard;
 @property BOOL isShown;
 @end
 
@@ -40,6 +41,13 @@
 -(void)addToMainViewController{
     [self.mainViewController.canvas addSubview:self.textView];
 }
+-(void)hideLibreOffice{
+    self.allowLoToinvokdeKeyboard =NO;
+    [self hide];
+}
+-(void)showLibreOffice{
+    self.allowLoToinvokdeKeyboard =NO;
+}
 -(void)initTextView{
     self.textView = [[UITextView alloc] initWithFrame:CGRECT_ONE];
     self.textView.alpha = 0.0f;
@@ -77,6 +85,13 @@
     return NO;
 }
 
+-(void)loInvokeKeyboard{
+    if(self.allowLoToinvokdeKeyboard){
+        [self show];
+    }else{
+        self.allowLoToinvokdeKeyboard = YES;
+    }
+}
 
 -(BOOL)canBecomeFirstResponder{
     return YES;
@@ -103,7 +118,7 @@
 void touch_ui_show_keyboard()
 {
     dispatch_async(dispatch_get_main_queue(), ^{
-        [[MLOManager getInstance].mainViewController.keyboard show];
+        [[MLOManager getInstance].mainViewController.keyboard loInvokeKeyboard];
     });
 }
 
@@ -118,7 +133,7 @@ bool touch_ui_keyboard_visible()
 {
     // Should return info whether the soft keyboard is currently displayed,
     // or a hardware keyboard is attached/paired.
-    return false;
+    return [MLOManager getInstance].mainViewController.keyboard.isShown;
 }
 
 @end
diff --git a/ios/shared/ios_sharedlo/objective_c/view_controllers/role/MLOAppRoleLoApp.m b/ios/shared/ios_sharedlo/objective_c/view_controllers/role/MLOAppRoleLoApp.m
index 1fad45b..fc3fb4c 100644
--- a/ios/shared/ios_sharedlo/objective_c/view_controllers/role/MLOAppRoleLoApp.m
+++ b/ios/shared/ios_sharedlo/objective_c/view_controllers/role/MLOAppRoleLoApp.m
@@ -88,6 +88,7 @@ static const NSTimeInterval ROTATE_FLASH_DURATION=0.5f;
 -(void)showLibreOffice{
 
     [self.mainViewController.toolbar showLibreOffice];
+    [self.mainViewController.keyboard showLibreOffice];
 }
 
 -(void)hideLibreOffice{
@@ -98,7 +99,7 @@ static const NSTimeInterval ROTATE_FLASH_DURATION=0.5f;
     [main.gestureEngine hideLibreOffice];
     [main.scroller hideLibreOffice];
     [main.selection reset];
-    [main.keyboard hide];
+    [main.keyboard hideLibreOffice];
 }
 
 -(void)initWindow:(UIWindow *) window{
diff --git a/ios/shared/ios_sharedlo/objective_c/view_controllers/toolbar/MLOToolbarViewController.m b/ios/shared/ios_sharedlo/objective_c/view_controllers/toolbar/MLOToolbarViewController.m
index ef241ce..83a689c 100644
--- a/ios/shared/ios_sharedlo/objective_c/view_controllers/toolbar/MLOToolbarViewController.m
+++ b/ios/shared/ios_sharedlo/objective_c/view_controllers/toolbar/MLOToolbarViewController.m
@@ -15,6 +15,7 @@
 #import "MLOResourceImage.h"
 #import "MLOTopbarViewController.h"
 #import "MLOKeyboardManager.h"
+#import "mlo_uno.h"
 
 @interface MLOToolbarViewController ()
 @property NSArray * buttons;
@@ -32,9 +33,9 @@
         self.mainViewController = mainViewController;
         self.buttons=@[[self createExpandButton],
                        [self createFindButton],
-                       [self createEditButton]//,
-                       //[self createPrintButton],
-                       //[self createSaveButton]
+                       [self createEditButton],
+                       [self createSaveButton]
+                       //[self createPrintButton]
                        ];
         self.tappable = NO;
         
@@ -129,8 +130,8 @@
 -(MLOToolbarButton *)createSaveButton{
     return [MLOToolbarButton
                 buttonWithImage:    [MLOResourceImage save]
-                onTap:              MLO_TOOLBAR_BUTTON_STUB_CALLBACK
-                tapRelease:         RETAP_OR_OTHER_TAPPED];
+                onTap:              ^{ mlo_save(); }
+                tapRelease:         AUTOMATIC];
 }
 
 @end
commit 07d7be1ac8be39c9a4333c7166600180b8dd2475
Author: Tor Lillqvist <tml at collabora.com>
Date:   Sat Oct 19 12:58:26 2013 +0300

    Need also a definition of the maComp static member variable
    
    Otherwise Clang complains (on all platforms): "variable '<anonymous
    namespace>::CompareMatrixElemFunc<<anonymous>::ElemGreaterZero>::maComp'
    has internal linkage but is not defined".
    
    I guess this link-time error reported by one tinderbox that uses gcc
    is also related: "relocation R_X86_64_PC32 against undefined symbol
    `_ZN12_GLOBAL__N_121CompareMatrixElemFuncINS_13ElemEqualZeroEE6maCompE´
    can not be used when making a shared object; recompile with
    -fPIC". (That mangled name stands for "(anonymous namespace)::
    CompareMatrixElemFunc<(anonymous namespace)::ElemEqualZero>::maComp".)
    
    Change-Id: I05a341a55e5f57864a476b5d1614b0e73bc9f017

diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index cf399c9..cc2106d 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -183,6 +183,9 @@ public:
     }
 };
 
+template<typename _Comp>
+_Comp CompareMatrixElemFunc<_Comp>::maComp;
+
 }
 
 class ScMatrixImpl
commit 9b966d0dc882a40bc3c3fb450c0da0e6bb5ae20b
Author: Tor Lillqvist <tml at collabora.com>
Date:   Sat Oct 19 11:18:50 2013 +0300

    fileacc is not a separate component any more
    
    Change-Id: I59eac660accfc362766bc3744655e2ba2d66ddd6

diff --git a/android/experimental/DocumentLoader/native-code.cxx b/android/experimental/DocumentLoader/native-code.cxx
index e7ee9f3..0697ed6 100644
--- a/android/experimental/DocumentLoader/native-code.cxx
+++ b/android/experimental/DocumentLoader/native-code.cxx
@@ -16,7 +16,6 @@ extern "C"
     extern void * dba_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * dbaxml_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * evtatt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
-    extern void * fileacc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * frm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fsstorage_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fwk_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
@@ -63,7 +62,6 @@ lo_get_libmap(void)
         { "libdbalo.a", dba_component_getFactory },
         { "libdbaxmllo.a", dbaxml_component_getFactory },
         { "libevtattlo.a", evtatt_component_getFactory },
-        { "libfileacc.a", fileacc_component_getFactory },
         { "libfrmlo.a", frm_component_getFactory },
         { "libfsstoragelo.a", fsstorage_component_getFactory },
         { "libfwklo.a", fwk_component_getFactory },
diff --git a/ios/experimental/LibreOffice/LibreOffice/lo.mm b/ios/experimental/LibreOffice/LibreOffice/lo.mm
index d1c0f2d..16d0752 100644
--- a/ios/experimental/LibreOffice/LibreOffice/lo.mm
+++ b/ios/experimental/LibreOffice/LibreOffice/lo.mm
@@ -30,7 +30,6 @@ extern "C" {
     extern void * evtatt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * expwrap_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fastsax_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
-    extern void * fileacc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * filterconfig1_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * frm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fsstorage_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
@@ -94,7 +93,6 @@ lo_get_libmap(void)
         { "libevtattlo.a", evtatt_component_getFactory },
         { "libexpwraplo.a", expwrap_component_getFactory },
         { "libfastsaxlo.a", fastsax_component_getFactory },
-        { "libfileacc.a", fileacc_component_getFactory },
         { "libfilterconfiglo.a", filterconfig1_component_getFactory },
         { "libfrmlo.a", frm_component_getFactory },
         { "libfsstoragelo.a", fsstorage_component_getFactory },
commit c7ce98cc4f98ca9273d734175c330881d510536c
Author: David Tardon <dtardon at redhat.com>
Date:   Sat Oct 19 10:17:12 2013 +0200

    these are in external now
    
    Change-Id: I3d84a202ae0058a8fe8a810f7e7de2522393f417

diff --git a/RepositoryModule_build.mk b/RepositoryModule_build.mk
index 926aca7..d656714 100644
--- a/RepositoryModule_build.mk
+++ b/RepositoryModule_build.mk
@@ -66,8 +66,6 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\
 			drawinglayer \
 			editeng \
 			framework \
-			harfbuzz \
-			lcms2 \
 			linguistic \
 			nss \
 			package \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index ae4580f..c2eb5c3 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -64,6 +64,12 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,WPD,libwpd) \
 	$(call gb_Helper_optional,WPG,libwpg) \
 	$(call gb_Helper_optional,WPS,libwps) \
+	$(call gb_Helper_optional_for_host,DESKTOP, \
+		$(if $(filter YES,$(WITH_GALLERY_BUILD)), \
+			harfbuzz \
+			lcms2 \
+		) \
+	) \
 ))
 
 # vim: set noet sw=4 ts=4:
commit 164b3e74e77a220e524fd077e4c6a55a5ea9f0f4
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:52:45 2013 +0200

    fdo#70393: move moz to a subdir of external
    
    Change-Id: I9e9b47a3b8fc298b0a371ef609f342a8366b0039
    Reviewed-on: https://gerrit.libreoffice.org/6345
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 70eb666..5caf81a 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -76,7 +76,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	linguistic \
 	lotuswordpro \
 	$(call gb_Helper_optional,DESKTOP,l10ntools) \
-	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
 	$(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
 	np_sdk \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 8e7b93a..ae4580f 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MDDS,mdds) \
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
+	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
diff --git a/moz/ExternalPackage_moz_lib.mk b/external/moz/ExternalPackage_moz_lib.mk
similarity index 100%
rename from moz/ExternalPackage_moz_lib.mk
rename to external/moz/ExternalPackage_moz_lib.mk
diff --git a/moz/ExternalPackage_runtime.mk b/external/moz/ExternalPackage_runtime.mk
similarity index 100%
rename from moz/ExternalPackage_runtime.mk
rename to external/moz/ExternalPackage_runtime.mk
diff --git a/moz/Makefile b/external/moz/Makefile
similarity index 71%
rename from moz/Makefile
rename to external/moz/Makefile
index ccb1c85..e4968cf 100644
--- a/moz/Makefile
+++ b/external/moz/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/moz/Module_moz.mk b/external/moz/Module_moz.mk
similarity index 100%
rename from moz/Module_moz.mk
rename to external/moz/Module_moz.mk
diff --git a/moz/README b/external/moz/README
similarity index 100%
rename from moz/README
rename to external/moz/README
diff --git a/moz/UnpackedTarball_moz_inc.mk b/external/moz/UnpackedTarball_moz_inc.mk
similarity index 100%
rename from moz/UnpackedTarball_moz_inc.mk
rename to external/moz/UnpackedTarball_moz_inc.mk
diff --git a/moz/UnpackedTarball_moz_lib.mk b/external/moz/UnpackedTarball_moz_lib.mk
similarity index 100%
rename from moz/UnpackedTarball_moz_lib.mk
rename to external/moz/UnpackedTarball_moz_lib.mk
diff --git a/moz/UnpackedTarball_mozruntime.mk b/external/moz/UnpackedTarball_mozruntime.mk
similarity index 100%
rename from moz/UnpackedTarball_mozruntime.mk
rename to external/moz/UnpackedTarball_mozruntime.mk
commit f38b5ce9b87d86e73893a3d3384621da994d1499
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:50:26 2013 +0200

    fdo#70393: move more_fonts to a subdir of external
    
    Change-Id: I82d3c4e7ad274e906d55fe883242bd9014ebe2e9
    Reviewed-on: https://gerrit.libreoffice.org/6344
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 5c33730..70eb666 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -76,7 +76,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	linguistic \
 	lotuswordpro \
 	$(call gb_Helper_optional,DESKTOP,l10ntools) \
-	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
 	$(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index f4abc76..8e7b93a 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -51,6 +51,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LPSOLVE,lpsolve) \
 	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MDDS,mdds) \
+	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
diff --git a/more_fonts/ExternalPackage_dejavu.mk b/external/more_fonts/ExternalPackage_dejavu.mk
similarity index 100%
rename from more_fonts/ExternalPackage_dejavu.mk
rename to external/more_fonts/ExternalPackage_dejavu.mk
diff --git a/more_fonts/ExternalPackage_gentium.mk b/external/more_fonts/ExternalPackage_gentium.mk
similarity index 100%
rename from more_fonts/ExternalPackage_gentium.mk
rename to external/more_fonts/ExternalPackage_gentium.mk
diff --git a/more_fonts/ExternalPackage_liberation.mk b/external/more_fonts/ExternalPackage_liberation.mk
similarity index 100%
rename from more_fonts/ExternalPackage_liberation.mk
rename to external/more_fonts/ExternalPackage_liberation.mk
diff --git a/more_fonts/ExternalPackage_liberation_narrow.mk b/external/more_fonts/ExternalPackage_liberation_narrow.mk
similarity index 100%
rename from more_fonts/ExternalPackage_liberation_narrow.mk
rename to external/more_fonts/ExternalPackage_liberation_narrow.mk
diff --git a/more_fonts/ExternalPackage_libertineg.mk b/external/more_fonts/ExternalPackage_libertineg.mk
similarity index 100%
rename from more_fonts/ExternalPackage_libertineg.mk
rename to external/more_fonts/ExternalPackage_libertineg.mk
diff --git a/more_fonts/ExternalPackage_opensans.mk b/external/more_fonts/ExternalPackage_opensans.mk
similarity index 100%
rename from more_fonts/ExternalPackage_opensans.mk
rename to external/more_fonts/ExternalPackage_opensans.mk
diff --git a/more_fonts/ExternalPackage_ptserif.mk b/external/more_fonts/ExternalPackage_ptserif.mk
similarity index 100%
rename from more_fonts/ExternalPackage_ptserif.mk
rename to external/more_fonts/ExternalPackage_ptserif.mk
diff --git a/more_fonts/ExternalPackage_sourcecode.mk b/external/more_fonts/ExternalPackage_sourcecode.mk
similarity index 100%
rename from more_fonts/ExternalPackage_sourcecode.mk
rename to external/more_fonts/ExternalPackage_sourcecode.mk
diff --git a/more_fonts/ExternalPackage_sourcesans.mk b/external/more_fonts/ExternalPackage_sourcesans.mk
similarity index 100%
rename from more_fonts/ExternalPackage_sourcesans.mk
rename to external/more_fonts/ExternalPackage_sourcesans.mk
diff --git a/more_fonts/Makefile b/external/more_fonts/Makefile
similarity index 71%
rename from more_fonts/Makefile
rename to external/more_fonts/Makefile
index ccb1c85..e4968cf 100644
--- a/more_fonts/Makefile
+++ b/external/more_fonts/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/more_fonts/Module_more_fonts.mk b/external/more_fonts/Module_more_fonts.mk
similarity index 100%
rename from more_fonts/Module_more_fonts.mk
rename to external/more_fonts/Module_more_fonts.mk
diff --git a/more_fonts/Package_conf.mk b/external/more_fonts/Package_conf.mk
similarity index 85%
rename from more_fonts/Package_conf.mk
rename to external/more_fonts/Package_conf.mk
index 021a51f..43b9843 100644
--- a/more_fonts/Package_conf.mk
+++ b/external/more_fonts/Package_conf.mk
@@ -7,7 +7,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_Package_Package,more_fonts_conf,$(SRCDIR)/more_fonts/fonts))
+$(eval $(call gb_Package_Package,more_fonts_conf,$(SRCDIR)/external/more_fonts/fonts))
 
 $(eval $(call gb_Package_set_outdir,more_fonts_conf,$(INSTROOT)))
 
diff --git a/more_fonts/README b/external/more_fonts/README
similarity index 100%
rename from more_fonts/README
rename to external/more_fonts/README
diff --git a/more_fonts/UnpackedTarball_dejavu.mk b/external/more_fonts/UnpackedTarball_dejavu.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_dejavu.mk
rename to external/more_fonts/UnpackedTarball_dejavu.mk
diff --git a/more_fonts/UnpackedTarball_gentium.mk b/external/more_fonts/UnpackedTarball_gentium.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_gentium.mk
rename to external/more_fonts/UnpackedTarball_gentium.mk
diff --git a/more_fonts/UnpackedTarball_liberation.mk b/external/more_fonts/UnpackedTarball_liberation.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_liberation.mk
rename to external/more_fonts/UnpackedTarball_liberation.mk
diff --git a/more_fonts/UnpackedTarball_liberation_narrow.mk b/external/more_fonts/UnpackedTarball_liberation_narrow.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_liberation_narrow.mk
rename to external/more_fonts/UnpackedTarball_liberation_narrow.mk
diff --git a/more_fonts/UnpackedTarball_libertineg.mk b/external/more_fonts/UnpackedTarball_libertineg.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_libertineg.mk
rename to external/more_fonts/UnpackedTarball_libertineg.mk
diff --git a/more_fonts/UnpackedTarball_opensans.mk b/external/more_fonts/UnpackedTarball_opensans.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_opensans.mk
rename to external/more_fonts/UnpackedTarball_opensans.mk
diff --git a/more_fonts/UnpackedTarball_ptserif.mk b/external/more_fonts/UnpackedTarball_ptserif.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_ptserif.mk
rename to external/more_fonts/UnpackedTarball_ptserif.mk
diff --git a/more_fonts/UnpackedTarball_sourcecode.mk b/external/more_fonts/UnpackedTarball_sourcecode.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_sourcecode.mk
rename to external/more_fonts/UnpackedTarball_sourcecode.mk
diff --git a/more_fonts/UnpackedTarball_sourcesans.mk b/external/more_fonts/UnpackedTarball_sourcesans.mk
similarity index 100%
rename from more_fonts/UnpackedTarball_sourcesans.mk
rename to external/more_fonts/UnpackedTarball_sourcesans.mk
diff --git a/more_fonts/fonts/fc_local.conf b/external/more_fonts/fonts/fc_local.conf
similarity index 100%
rename from more_fonts/fonts/fc_local.conf
rename to external/more_fonts/fonts/fc_local.conf
commit 97d1923b6ccdef86f3d794b12e625ef0a7d88095
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:47:47 2013 +0200

    fdo#70393: move mdds to a subdir of external
    
    Change-Id: Idfb327f7217e459ab0328f8692e1f73aef248d32
    Reviewed-on: https://gerrit.libreoffice.org/6343
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 99b24e1..5c33730 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -76,7 +76,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	linguistic \
 	lotuswordpro \
 	$(call gb_Helper_optional,DESKTOP,l10ntools) \
-	$(call gb_Helper_optional,MDDS,mdds) \
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 988d477..f4abc76 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -50,6 +50,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	$(call gb_Helper_optional,LPSOLVE,lpsolve) \
 	$(call gb_Helper_optional,MARIADB,libmariadb) \
+	$(call gb_Helper_optional,MDDS,mdds) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
diff --git a/mdds/0001-Workaround-for-an-old-gcc-bug.patch b/external/mdds/0001-Workaround-for-an-old-gcc-bug.patch
similarity index 100%
rename from mdds/0001-Workaround-for-an-old-gcc-bug.patch
rename to external/mdds/0001-Workaround-for-an-old-gcc-bug.patch
diff --git a/mdds/Makefile b/external/mdds/Makefile
similarity index 71%
rename from mdds/Makefile
rename to external/mdds/Makefile
index ccb1c85..e4968cf 100644
--- a/mdds/Makefile
+++ b/external/mdds/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/mdds/Module_mdds.mk b/external/mdds/Module_mdds.mk
similarity index 93%
rename from mdds/Module_mdds.mk
rename to external/mdds/Module_mdds.mk
index ac0f8a6..4774594 100644
--- a/mdds/Module_mdds.mk
+++ b/external/mdds/Module_mdds.mk
@@ -9,12 +9,8 @@
 
 $(eval $(call gb_Module_Module,mdds))
 
-ifeq ($(SYSTEM_MDDS),NO)
-
 $(eval $(call gb_Module_add_targets,mdds,\
 	UnpackedTarball_mdds \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/mdds/README b/external/mdds/README
similarity index 100%
rename from mdds/README
rename to external/mdds/README
diff --git a/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk
similarity index 86%
rename from mdds/UnpackedTarball_mdds.mk
rename to external/mdds/UnpackedTarball_mdds.mk
index 69fbf18..1ccfc2a 100644
--- a/mdds/UnpackedTarball_mdds.mk
+++ b/external/mdds/UnpackedTarball_mdds.mk
@@ -14,8 +14,8 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
 $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,3))
 
 $(eval $(call gb_UnpackedTarball_add_patches,mdds,\
-	mdds/mdds_0.6.0.patch \
-	mdds/0001-Workaround-for-an-old-gcc-bug.patch \
+	external/mdds/mdds_0.6.0.patch \
+	external/mdds/0001-Workaround-for-an-old-gcc-bug.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/mdds/mdds_0.6.0.patch b/external/mdds/mdds_0.6.0.patch
similarity index 100%
rename from mdds/mdds_0.6.0.patch
rename to external/mdds/mdds_0.6.0.patch
commit e13af24d2b985261afa80e36edd3021a70887253
Author: Tor Lillqvist <tml at collabora.com>
Date:   Sat Oct 19 11:03:13 2013 +0300

    fileacc is not a separate component any more
    
    Change-Id: I47f3dd29aba16aa2d8a5e3746c447288d2066b23

diff --git a/android/experimental/LibreOffice4Android/native-code.cxx b/android/experimental/LibreOffice4Android/native-code.cxx
index 3fe4435..00fec00 100644
--- a/android/experimental/LibreOffice4Android/native-code.cxx
+++ b/android/experimental/LibreOffice4Android/native-code.cxx
@@ -23,7 +23,6 @@ extern "C"
     extern void * evtatt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * expwrap_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fastsax_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
-    extern void * fileacc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * filterconfig1_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * frm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fsstorage_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
@@ -89,7 +88,6 @@ lo_get_libmap(void)
         { "libevtattlo.a", evtatt_component_getFactory },
         { "libexpwrap.uno.a", expwrap_component_getFactory },
         { "libfastsax.uno.a", fastsax_component_getFactory },
-        { "libfileacc.a", fileacc_component_getFactory },
         { "libfilterconfiglo.a", filterconfig1_component_getFactory },
         { "libfrmlo.a", frm_component_getFactory },
         { "libfsstoragelo.a", fsstorage_component_getFactory },
diff --git a/android/experimental/desktop/native-code.cxx b/android/experimental/desktop/native-code.cxx
index 9321124..54d9130 100644
--- a/android/experimental/desktop/native-code.cxx
+++ b/android/experimental/desktop/native-code.cxx
@@ -24,7 +24,6 @@ extern "C"
     extern void * evtatt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * expwrap_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fastsax_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
-    extern void * fileacc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * filterconfig1_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * frm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
     extern void * fsstorage_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey );
@@ -94,7 +93,6 @@ lo_get_libmap(void)
         { "libevtattlo.a", evtatt_component_getFactory },
         { "libexpwraplo.a", expwrap_component_getFactory },
         { "libfastsaxlo.a", fastsax_component_getFactory },
-        { "libfileacc.a", fileacc_component_getFactory },
         { "libfilterconfiglo.a", filterconfig1_component_getFactory },
         { "libfrmlo.a", frm_component_getFactory },
         { "libfsstoragelo.a", fsstorage_component_getFactory },
commit 5d98836cfb94176c7a50d0836ad8f0c153364063
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 23:02:24 2013 +0200

    fdo#70393: move neon to a subdir of external
    
    Change-Id: I504b69437ca2849a9bf825c67e52a671ec1e1ad8
    Reviewed-on: https://gerrit.libreoffice.org/6348
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index dba46e6..99b24e1 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -80,7 +80,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
-	$(call gb_Helper_optional,NEON,neon) \
 	$(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
 	np_sdk \
 	$(call gb_Helper_optional,NSS,nss) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index c0b95e0..988d477 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -54,6 +54,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
 	$(call gb_Helper_optional,MYTHES,mythes) \
+	$(call gb_Helper_optional,NEON,neon) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
 	$(call gb_Helper_optional,ORCUS,liborcus) \
 	$(call gb_Helper_optional,VISIO,libvisio) \
diff --git a/neon/Library_neon.mk b/external/neon/Library_neon.mk
similarity index 100%
rename from neon/Library_neon.mk
rename to external/neon/Library_neon.mk
diff --git a/neon/Makefile b/external/neon/Makefile
similarity index 71%
rename from neon/Makefile
rename to external/neon/Makefile
index ccb1c85..e4968cf 100644
--- a/neon/Makefile
+++ b/external/neon/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/neon/Module_neon.mk b/external/neon/Module_neon.mk
similarity index 93%
rename from neon/Module_neon.mk
rename to external/neon/Module_neon.mk
index 26d4b4d..cc2e0cb 100644
--- a/neon/Module_neon.mk
+++ b/external/neon/Module_neon.mk
@@ -9,13 +9,9 @@
 
 $(eval $(call gb_Module_Module,neon))
 
-ifeq ($(SYSTEM_NEON),NO)
-
 $(eval $(call gb_Module_add_targets,neon,\
 	Library_neon \
 	UnpackedTarball_neon \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/neon/README b/external/neon/README
similarity index 100%
rename from neon/README
rename to external/neon/README
diff --git a/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk
similarity index 81%
rename from neon/UnpackedTarball_neon.mk
rename to external/neon/UnpackedTarball_neon.mk
index a6cb87b..1b922df 100644
--- a/neon/UnpackedTarball_neon.mk
+++ b/external/neon/UnpackedTarball_neon.mk
@@ -12,15 +12,15 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,neon))
 $(eval $(call gb_UnpackedTarball_set_tarball,neon,$(NEON_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_add_files,neon,src,\
-	neon/configs/config.h \
+	external/neon/configs/config.h \
 ))
 
 $(eval $(call gb_UnpackedTarball_set_patchlevel,neon,0))
 
 $(eval $(call gb_UnpackedTarball_add_patches,neon,\
-	neon/neon.patch \
-	neon/neon_ne_set_request_flag.patch \
-	neon/neon_with_gnutls.patch \
+	external/neon/neon.patch \
+	external/neon/neon_ne_set_request_flag.patch \
+	external/neon/neon_with_gnutls.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/neon/configs/config.h b/external/neon/configs/config.h
similarity index 100%
rename from neon/configs/config.h
rename to external/neon/configs/config.h
diff --git a/neon/neon.def b/external/neon/neon.def
similarity index 100%
rename from neon/neon.def
rename to external/neon/neon.def
diff --git a/neon/neon.patch b/external/neon/neon.patch
similarity index 100%
rename from neon/neon.patch
rename to external/neon/neon.patch
diff --git a/neon/neon_ne_set_request_flag.patch b/external/neon/neon_ne_set_request_flag.patch
similarity index 100%
rename from neon/neon_ne_set_request_flag.patch
rename to external/neon/neon_ne_set_request_flag.patch
diff --git a/neon/neon_with_gnutls.patch b/external/neon/neon_with_gnutls.patch
similarity index 100%
rename from neon/neon_with_gnutls.patch
rename to external/neon/neon_with_gnutls.patch
commit f1a99d2d22f8284ea09a2db0c0d3ee15b337a359
Author: David Tardon <dtardon at redhat.com>
Date:   Sat Oct 19 09:50:41 2013 +0200

    fix path after move to external
    
    Change-Id: Ibcf2dca1a2c624e6467db45ccfe195035e35555e

diff --git a/scp2/InstallModule_ooo.mk b/scp2/InstallModule_ooo.mk
index 4c39b53..830d0a4 100644
--- a/scp2/InstallModule_ooo.mk
+++ b/scp2/InstallModule_ooo.mk
@@ -9,7 +9,7 @@
 
 ifeq ($(ENABLE_REPORTBUILDER),TRUE)
 ifneq ($(SYSTEM_JFREEREPORT),YES)
-include $(SRCDIR)/jfreereport/version.mk
+include $(SRCDIR)/external/jfreereport/version.mk
 endif
 endif
 
commit 67867f77d90eae4de276ef477a973ce68357d7d6
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 23:00:19 2013 +0200

    fdo#70393: move mythes to a subdir of external
    
    Change-Id: I132479fd26e45276f25af5615175b0fdaeaaeb01
    Reviewed-on: https://gerrit.libreoffice.org/6347
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index e03523b..dba46e6 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -80,7 +80,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
-	$(call gb_Helper_optional,MYTHES,mythes) \
 	$(call gb_Helper_optional,NEON,neon) \
 	$(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
 	np_sdk \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index bb949c4..c0b95e0 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
+	$(call gb_Helper_optional,MYTHES,mythes) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
 	$(call gb_Helper_optional,ORCUS,liborcus) \
 	$(call gb_Helper_optional,VISIO,libvisio) \
diff --git a/mythes/ExternalProject_mythes.mk b/external/mythes/ExternalProject_mythes.mk
similarity index 100%
rename from mythes/ExternalProject_mythes.mk
rename to external/mythes/ExternalProject_mythes.mk
diff --git a/mythes/Makefile b/external/mythes/Makefile
similarity index 71%
rename from mythes/Makefile
rename to external/mythes/Makefile
index ccb1c85..e4968cf 100644
--- a/mythes/Makefile
+++ b/external/mythes/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/mythes/Module_mythes.mk b/external/mythes/Module_mythes.mk
similarity index 95%
rename from mythes/Module_mythes.mk
rename to external/mythes/Module_mythes.mk
index 4d9ac64..56d95fc 100644
--- a/mythes/Module_mythes.mk
+++ b/external/mythes/Module_mythes.mk
@@ -9,7 +9,6 @@
 
 $(eval $(call gb_Module_Module,mythes))
 
-ifeq ($(SYSTEM_MYTHES),NO)
 $(eval $(call gb_Module_add_targets,mythes,\
 	UnpackedTarball_mythes \
 ))
@@ -22,6 +21,5 @@ $(eval $(call gb_Module_add_targets,mythes,\
 	ExternalProject_mythes \
 ))
 endif
-endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/mythes/README b/external/mythes/README
similarity index 100%
rename from mythes/README
rename to external/mythes/README
diff --git a/mythes/StaticLibrary_mythes.mk b/external/mythes/StaticLibrary_mythes.mk
similarity index 100%
rename from mythes/StaticLibrary_mythes.mk
rename to external/mythes/StaticLibrary_mythes.mk
diff --git a/mythes/UnpackedTarball_mythes.mk b/external/mythes/UnpackedTarball_mythes.mk
similarity index 79%
rename from mythes/UnpackedTarball_mythes.mk
rename to external/mythes/UnpackedTarball_mythes.mk
index a4928af..d2d4e1d 100644
--- a/mythes/UnpackedTarball_mythes.mk
+++ b/external/mythes/UnpackedTarball_mythes.mk
@@ -12,9 +12,9 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mythes))
 $(eval $(call gb_UnpackedTarball_set_tarball,mythes,$(MYTHES_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_add_patches,mythes,\
-	mythes/mythes-1.2.0-vanilla-th-gen-idx.patch \
-	mythes/mythes-1.2.0-android.patch \
-	mythes/mythes-ssizet.patch \
+	external/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch \
+	external/mythes/mythes-1.2.0-android.patch \
+	external/mythes/mythes-ssizet.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/mythes/mythes-1.2.0-android.patch b/external/mythes/mythes-1.2.0-android.patch
similarity index 100%
rename from mythes/mythes-1.2.0-android.patch
rename to external/mythes/mythes-1.2.0-android.patch
diff --git a/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch b/external/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch
similarity index 100%
rename from mythes/mythes-1.2.0-vanilla-th-gen-idx.patch
rename to external/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch
diff --git a/mythes/mythes-ssizet.patch b/external/mythes/mythes-ssizet.patch
similarity index 100%
rename from mythes/mythes-ssizet.patch
rename to external/mythes/mythes-ssizet.patch
commit 7495d220dd17c14fb48b384e117fcfa54d18cdac
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:57:07 2013 +0200

    fdo#70393: move mysqlcppconn to a subdir of external
    
    Change-Id: I5945fa432a9371854e25454feabcafabed7f7b7d
    Reviewed-on: https://gerrit.libreoffice.org/6346
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 4164b9c..e03523b 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -80,7 +80,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
 	$(call gb_Helper_optional,MARIADBC,mysqlc) \
-	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
 	$(call gb_Helper_optional,MYTHES,mythes) \
 	$(call gb_Helper_optional,NEON,neon) \
 	$(call gb_Helper_optional,NLPSOLVER,nlpsolver) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 92727a4..bb949c4 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
+	$(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
 	$(call gb_Helper_optional,ORCUS,liborcus) \
 	$(call gb_Helper_optional,VISIO,libvisio) \
diff --git a/mysqlcppconn/Library_mysqlcppconn.mk b/external/mysqlcppconn/Library_mysqlcppconn.mk
similarity index 100%
rename from mysqlcppconn/Library_mysqlcppconn.mk
rename to external/mysqlcppconn/Library_mysqlcppconn.mk
diff --git a/mysqlcppconn/Makefile b/external/mysqlcppconn/Makefile
similarity index 71%
rename from mysqlcppconn/Makefile
rename to external/mysqlcppconn/Makefile
index ccb1c85..e4968cf 100644
--- a/mysqlcppconn/Makefile
+++ b/external/mysqlcppconn/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/mysqlcppconn/Module_mysqlcppconn.mk b/external/mysqlcppconn/Module_mysqlcppconn.mk
similarity index 92%
rename from mysqlcppconn/Module_mysqlcppconn.mk
rename to external/mysqlcppconn/Module_mysqlcppconn.mk
index 01acff0..6a45dd8 100644
--- a/mysqlcppconn/Module_mysqlcppconn.mk
+++ b/external/mysqlcppconn/Module_mysqlcppconn.mk
@@ -9,13 +9,9 @@
 
 $(eval $(call gb_Module_Module,mysqlcppconn))
 
-ifeq ($(SYSTEM_MYSQL_CPPCONN),NO)
-
 $(eval $(call gb_Module_add_targets,mysqlcppconn,\
 	UnpackedTarball_mysqlcppconn \
 	Library_mysqlcppconn \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/mysqlcppconn/README b/external/mysqlcppconn/README
similarity index 100%
rename from mysqlcppconn/README
rename to external/mysqlcppconn/README
diff --git a/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk
similarity index 74%
rename from mysqlcppconn/UnpackedTarball_mysqlcppconn.mk
rename to external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk
index 3f86236..ae0f267 100644
--- a/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk
+++ b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk
@@ -11,13 +11,13 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mysqlcppconn))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,mysqlcppconn,$(MYSQLCPPCONN_TARBALL)))
 
-$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,cppconn/config.h,mysqlcppconn/config.h))
+$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,cppconn/config.h,external/mysqlcppconn/config.h))
 
-$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,driver/nativeapi/binding_config.h,mysqlcppconn/binding_config.h))
+$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,driver/nativeapi/binding_config.h,external/mysqlcppconn/binding_config.h))
 
 $(eval $(call gb_UnpackedTarball_add_patches,mysqlcppconn,\
-	mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch \
-	mysqlcppconn/patches/default_to_protocol_tcp.patch \
+	external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch \
+	external/mysqlcppconn/patches/default_to_protocol_tcp.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/mysqlcppconn/binding_config.h b/external/mysqlcppconn/binding_config.h
similarity index 100%
rename from mysqlcppconn/binding_config.h
rename to external/mysqlcppconn/binding_config.h
diff --git a/mysqlcppconn/config.h b/external/mysqlcppconn/config.h
similarity index 100%
rename from mysqlcppconn/config.h
rename to external/mysqlcppconn/config.h
diff --git a/mysqlcppconn/patches/default_to_protocol_tcp.patch b/external/mysqlcppconn/patches/default_to_protocol_tcp.patch
similarity index 100%
rename from mysqlcppconn/patches/default_to_protocol_tcp.patch
rename to external/mysqlcppconn/patches/default_to_protocol_tcp.patch
diff --git a/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch b/external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch
similarity index 100%
rename from mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch
rename to external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch
commit 9e89f7ccf873c14b425d37ef2e65bb7dfc75491e
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:34:35 2013 +0200

    fdo#70393: move libmariadb to a subdir of external
    
    Change-Id: I6c76056f5db2f523e49ffc79abad38a7eb1a06e4
    Reviewed-on: https://gerrit.libreoffice.org/6342
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index bf900b1..4164b9c 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -76,7 +76,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	linguistic \
 	lotuswordpro \
 	$(call gb_Helper_optional,DESKTOP,l10ntools) \
-	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MDDS,mdds) \
 	$(call gb_Helper_optional,MORE_FONTS,more_fonts) \
 	$(call gb_Helper_optional,MOZ,moz) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 9d24b23..92727a4 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -49,6 +49,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LIBXML2,libxml2) \
 	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	$(call gb_Helper_optional,LPSOLVE,lpsolve) \
+	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
diff --git a/libmariadb/Makefile b/external/libmariadb/Makefile
similarity index 71%
rename from libmariadb/Makefile
rename to external/libmariadb/Makefile
index ccb1c85..e4968cf 100644
--- a/libmariadb/Makefile
+++ b/external/libmariadb/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/libmariadb/Module_libmariadb.mk b/external/libmariadb/Module_libmariadb.mk
similarity index 93%
rename from libmariadb/Module_libmariadb.mk
rename to external/libmariadb/Module_libmariadb.mk
index 09c726d..accee3f 100644
--- a/libmariadb/Module_libmariadb.mk
+++ b/external/libmariadb/Module_libmariadb.mk
@@ -9,13 +9,9 @@
 
 $(eval $(call gb_Module_Module,libmariadb))
 
-ifeq ($(SYSTEM_MARIADB),NO)
-
 $(eval $(call gb_Module_add_targets,libmariadb,\
 	StaticLibrary_mariadb \
 	UnpackedTarball_mariadb \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/libmariadb/StaticLibrary_mariadb.mk b/external/libmariadb/StaticLibrary_mariadb.mk
similarity index 100%
rename from libmariadb/StaticLibrary_mariadb.mk
rename to external/libmariadb/StaticLibrary_mariadb.mk
diff --git a/libmariadb/UnpackedTarball_mariadb.mk b/external/libmariadb/UnpackedTarball_mariadb.mk
similarity index 73%
rename from libmariadb/UnpackedTarball_mariadb.mk
rename to external/libmariadb/UnpackedTarball_mariadb.mk
index ce0bd9f..a198440 100644
--- a/libmariadb/UnpackedTarball_mariadb.mk
+++ b/external/libmariadb/UnpackedTarball_mariadb.mk
@@ -11,13 +11,13 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mariadb))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,mariadb,$(MARIADB_TARBALL)))
 
-$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/mysql_version.h,libmariadb/configs/mysql_version.h))
+$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/mysql_version.h,external/libmariadb/configs/mysql_version.h))
 
 ifneq ($(OS),WNT)
 ifeq ($(OS),MACOSX)
-$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/my_config.h,libmariadb/configs/mac_my_config.h))
+$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/my_config.h,external/libmariadb/configs/mac_my_config.h))
 else
-$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/my_config.h,libmariadb/configs/linux_my_config.h))
+$(eval $(call gb_UnpackedTarball_add_file,mariadb,include/my_config.h,external/libmariadb/configs/linux_my_config.h))
 endif
 endif # $(OS),WNT
 
@@ -27,11 +27,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,mariadb,1))
 # <https://mariadb.atlassian.net/browse/CONC-18> "no external definition of
 # non-static inline local_thr_alarm in libmariadb/net.c":
 $(eval $(call gb_UnpackedTarball_add_patches,mariadb,\
-    libmariadb/mariadb-thread.patch \
-    libmariadb/mariadb-swap.patch \
-    libmariadb/mariadb-trunk-40.patch \
-    libmariadb/mariadb-static-inline.patch \
-    libmariadb/mariadb-msvc.patch.1 \
+    external/libmariadb/mariadb-thread.patch \
+    external/libmariadb/mariadb-swap.patch \
+    external/libmariadb/mariadb-trunk-40.patch \
+    external/libmariadb/mariadb-static-inline.patch \
+    external/libmariadb/mariadb-msvc.patch.1 \
 ))
 
 $(eval $(call gb_UnpackedTarball_fix_end_of_line,mariadb,\
diff --git a/libmariadb/configs/linux_my_config.h b/external/libmariadb/configs/linux_my_config.h
similarity index 100%
rename from libmariadb/configs/linux_my_config.h
rename to external/libmariadb/configs/linux_my_config.h
diff --git a/libmariadb/configs/mac_my_config.h b/external/libmariadb/configs/mac_my_config.h
similarity index 100%
rename from libmariadb/configs/mac_my_config.h
rename to external/libmariadb/configs/mac_my_config.h
diff --git a/libmariadb/configs/mysql_version.h b/external/libmariadb/configs/mysql_version.h
similarity index 100%
rename from libmariadb/configs/mysql_version.h
rename to external/libmariadb/configs/mysql_version.h
diff --git a/libmariadb/mariadb-msvc.patch.1 b/external/libmariadb/mariadb-msvc.patch.1
similarity index 100%
rename from libmariadb/mariadb-msvc.patch.1
rename to external/libmariadb/mariadb-msvc.patch.1
diff --git a/libmariadb/mariadb-static-inline.patch b/external/libmariadb/mariadb-static-inline.patch
similarity index 100%
rename from libmariadb/mariadb-static-inline.patch
rename to external/libmariadb/mariadb-static-inline.patch
diff --git a/libmariadb/mariadb-swap.patch b/external/libmariadb/mariadb-swap.patch
similarity index 100%
rename from libmariadb/mariadb-swap.patch
rename to external/libmariadb/mariadb-swap.patch
diff --git a/libmariadb/mariadb-thread.patch b/external/libmariadb/mariadb-thread.patch
similarity index 100%
rename from libmariadb/mariadb-thread.patch
rename to external/libmariadb/mariadb-thread.patch
diff --git a/libmariadb/mariadb-trunk-40.patch b/external/libmariadb/mariadb-trunk-40.patch
similarity index 100%
rename from libmariadb/mariadb-trunk-40.patch
rename to external/libmariadb/mariadb-trunk-40.patch
commit 79832d9259d609e8189ecfb48cd2856e83bb8d75
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:30:25 2013 +0200

    fdo#70393: move lpsolve to a subdir of external
    
    Change-Id: I6c4a3bbd2cb514b979165bb041524706f3c28b0a
    Reviewed-on: https://gerrit.libreoffice.org/6341
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 2d3be85..bf900b1 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -75,7 +75,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	lingucomponent \
 	linguistic \
 	lotuswordpro \
-	$(call gb_Helper_optional,LPSOLVE,lpsolve) \
 	$(call gb_Helper_optional,DESKTOP,l10ntools) \
 	$(call gb_Helper_optional,MARIADB,libmariadb) \
 	$(call gb_Helper_optional,MDDS,mdds) \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index ec88b2d..9d24b23 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -48,6 +48,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LIBPNG,libpng) \
 	$(call gb_Helper_optional,LIBXML2,libxml2) \
 	$(call gb_Helper_optional,LIBXSLT,libxslt) \
+	$(call gb_Helper_optional,LPSOLVE,lpsolve) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
diff --git a/lpsolve/ExternalPackage_lpsolve.mk b/external/lpsolve/ExternalPackage_lpsolve.mk
similarity index 100%
rename from lpsolve/ExternalPackage_lpsolve.mk
rename to external/lpsolve/ExternalPackage_lpsolve.mk
diff --git a/lpsolve/ExternalProject_lpsolve.mk b/external/lpsolve/ExternalProject_lpsolve.mk
similarity index 100%
rename from lpsolve/ExternalProject_lpsolve.mk
rename to external/lpsolve/ExternalProject_lpsolve.mk
diff --git a/lpsolve/Makefile b/external/lpsolve/Makefile
similarity index 71%
rename from lpsolve/Makefile
rename to external/lpsolve/Makefile
index ccb1c85..e4968cf 100644
--- a/lpsolve/Makefile
+++ b/external/lpsolve/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/lpsolve/Module_lpsolve.mk b/external/lpsolve/Module_lpsolve.mk
similarity index 88%
rename from lpsolve/Module_lpsolve.mk
rename to external/lpsolve/Module_lpsolve.mk
index 10d0bba..e0094f6 100644
--- a/lpsolve/Module_lpsolve.mk
+++ b/external/lpsolve/Module_lpsolve.mk
@@ -9,14 +9,10 @@
 
 $(eval $(call gb_Module_Module,lpsolve))
 
-ifeq ($(ENABLE_LPSOLVE),TRUE)
-ifeq ($(SYSTEM_LPSOLVE),NO)
 $(eval $(call gb_Module_add_targets,lpsolve,\
 	UnpackedTarball_lpsolve \
 	ExternalPackage_lpsolve \
 	ExternalProject_lpsolve \
 ))
-endif
-endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/lpsolve/README b/external/lpsolve/README
similarity index 100%
rename from lpsolve/README
rename to external/lpsolve/README
diff --git a/lpsolve/UnpackedTarball_lpsolve.mk b/external/lpsolve/UnpackedTarball_lpsolve.mk
similarity index 80%
rename from lpsolve/UnpackedTarball_lpsolve.mk
rename to external/lpsolve/UnpackedTarball_lpsolve.mk
index f9074a2..464fcab 100644
--- a/lpsolve/UnpackedTarball_lpsolve.mk
+++ b/external/lpsolve/UnpackedTarball_lpsolve.mk
@@ -17,18 +17,18 @@ ifeq ($(OS_FOR_BUILD),WNT)
 
 $(eval $(call gb_UnpackedTarball_set_patchflags,lpsolve,--binary))
 $(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\
-	lpsolve/lp_solve_5.5-windows.patch \
+	external/lpsolve/lp_solve_5.5-windows.patch \
 ))
 
 else
 
 $(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\
-	lpsolve/lp_solve-aix.patch \
-	lpsolve/lp_solve-fixed-warn.patch \
-	lpsolve/lp_solve_5.5.patch \
+	external/lpsolve/lp_solve-aix.patch \
+	external/lpsolve/lp_solve-fixed-warn.patch \
+	external/lpsolve/lp_solve_5.5.patch \
 ))
 
-$(eval $(call gb_UnpackedTarball_add_file,lpsolve,lpsolve55/ccc.static,lpsolve/ccc.static))
+$(eval $(call gb_UnpackedTarball_add_file,lpsolve,lpsolve55/ccc.static,external/lpsolve/ccc.static))
 
 endif
 # vim: set noet sw=4 ts=4:
diff --git a/lpsolve/ccc.static b/external/lpsolve/ccc.static
similarity index 100%
rename from lpsolve/ccc.static
rename to external/lpsolve/ccc.static
diff --git a/lpsolve/lp_solve-aix.patch b/external/lpsolve/lp_solve-aix.patch
similarity index 100%
rename from lpsolve/lp_solve-aix.patch
rename to external/lpsolve/lp_solve-aix.patch
diff --git a/lpsolve/lp_solve-fixed-warn.patch b/external/lpsolve/lp_solve-fixed-warn.patch
similarity index 100%
rename from lpsolve/lp_solve-fixed-warn.patch
rename to external/lpsolve/lp_solve-fixed-warn.patch
diff --git a/lpsolve/lp_solve_5.5-windows.patch b/external/lpsolve/lp_solve_5.5-windows.patch
similarity index 100%
rename from lpsolve/lp_solve_5.5-windows.patch
rename to external/lpsolve/lp_solve_5.5-windows.patch
diff --git a/lpsolve/lp_solve_5.5.patch b/external/lpsolve/lp_solve_5.5.patch
similarity index 100%
rename from lpsolve/lp_solve_5.5.patch
rename to external/lpsolve/lp_solve_5.5.patch
commit 8d46e3968cf68b6ef6a370084b4cc37dbdda1708
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:27:30 2013 +0200

    fdo#70393: move libxslt to a subdir of external
    
    Change-Id: Ibf6fd5c32a62752044e70961cf33b05fdcdce104
    Reviewed-on: https://gerrit.libreoffice.org/6340
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_build.mk b/RepositoryModule_build.mk
index 520f186..926aca7 100644
--- a/RepositoryModule_build.mk
+++ b/RepositoryModule_build.mk
@@ -87,7 +87,6 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\
 		helpcompiler \
 		xmlhelp \
 	) \
-	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	$(call gb_Helper_optional,QADEVOOO,qadevOOo) \
 	$(call gb_Helper_optional,UCPP,ucpp) \
 	$(call gb_Helper_optional,ZLIB,zlib) \
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index a23db02..2d3be85 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -72,7 +72,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,LANGUAGETOOL,languagetool) \
 	librelogo \
 	libxmlsec \
-	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	lingucomponent \
 	linguistic \
 	lotuswordpro \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 378e1ac..ec88b2d 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -47,6 +47,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LIBLANGTAG,liblangtag) \
 	$(call gb_Helper_optional,LIBPNG,libpng) \
 	$(call gb_Helper_optional,LIBXML2,libxml2) \
+	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
diff --git a/libxslt/ExternalPackage_xslt.mk b/external/libxslt/ExternalPackage_xslt.mk
similarity index 100%
rename from libxslt/ExternalPackage_xslt.mk
rename to external/libxslt/ExternalPackage_xslt.mk
diff --git a/libxslt/ExternalProject_xslt.mk b/external/libxslt/ExternalProject_xslt.mk
similarity index 100%
rename from libxslt/ExternalProject_xslt.mk
rename to external/libxslt/ExternalProject_xslt.mk
diff --git a/libxslt/Makefile b/external/libxslt/Makefile
similarity index 71%
rename from libxslt/Makefile
rename to external/libxslt/Makefile
index ccb1c85..e4968cf 100644
--- a/libxslt/Makefile
+++ b/external/libxslt/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/libxslt/Module_libxslt.mk b/external/libxslt/Module_libxslt.mk
similarity index 93%
rename from libxslt/Module_libxslt.mk
rename to external/libxslt/Module_libxslt.mk
index b43a224..6a88fe2 100644
--- a/libxslt/Module_libxslt.mk
+++ b/external/libxslt/Module_libxslt.mk
@@ -9,14 +9,10 @@
 
 $(eval $(call gb_Module_Module,libxslt))
 
-ifeq ($(SYSTEM_LIBXSLT),NO)
-
 $(eval $(call gb_Module_add_targets,libxslt,\
 	ExternalPackage_xslt \
 	ExternalProject_xslt \
 	UnpackedTarball_xslt \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/libxslt/README b/external/libxslt/README
similarity index 100%
rename from libxslt/README
rename to external/libxslt/README
diff --git a/libxslt/UnpackedTarball_xslt.mk b/external/libxslt/UnpackedTarball_xslt.mk
similarity index 58%
rename from libxslt/UnpackedTarball_xslt.mk
rename to external/libxslt/UnpackedTarball_xslt.mk
index dad41d8..b6b20b5 100644
--- a/libxslt/UnpackedTarball_xslt.mk
+++ b/external/libxslt/UnpackedTarball_xslt.mk
@@ -12,14 +12,14 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,xslt))
 $(eval $(call gb_UnpackedTarball_set_tarball,xslt,$(LIBXSLT_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_add_patches,xslt,\
-	libxslt/libxslt-configure.patch \
-	libxslt/libxslt-win_manifest.patch \
-	libxslt/libxslt-mingw.patch \
-	libxslt/libxslt-internal-symbols.patch \
-	libxslt/libxslt-aix.patch \
-	libxslt/libxslt-vc10.patch \
-	libxslt/libxslt-1.1.26-memdump.patch \
-	$(if $(filter ANDROID,$(OS)),libxslt/libxslt-android.patch) \
+	external/libxslt/libxslt-configure.patch \
+	external/libxslt/libxslt-win_manifest.patch \
+	external/libxslt/libxslt-mingw.patch \
+	external/libxslt/libxslt-internal-symbols.patch \
+	external/libxslt/libxslt-aix.patch \
+	external/libxslt/libxslt-vc10.patch \
+	external/libxslt/libxslt-1.1.26-memdump.patch \
+	$(if $(filter ANDROID,$(OS)),external/libxslt/libxslt-android.patch) \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/libxslt/libxslt-1.1.26-memdump.patch b/external/libxslt/libxslt-1.1.26-memdump.patch
similarity index 100%
rename from libxslt/libxslt-1.1.26-memdump.patch
rename to external/libxslt/libxslt-1.1.26-memdump.patch
diff --git a/libxslt/libxslt-aix.patch b/external/libxslt/libxslt-aix.patch
similarity index 100%
rename from libxslt/libxslt-aix.patch
rename to external/libxslt/libxslt-aix.patch
diff --git a/libxslt/libxslt-android.patch b/external/libxslt/libxslt-android.patch
similarity index 100%
rename from libxslt/libxslt-android.patch
rename to external/libxslt/libxslt-android.patch
diff --git a/libxslt/libxslt-configure.patch b/external/libxslt/libxslt-configure.patch
similarity index 100%
rename from libxslt/libxslt-configure.patch
rename to external/libxslt/libxslt-configure.patch
diff --git a/libxslt/libxslt-internal-symbols.patch b/external/libxslt/libxslt-internal-symbols.patch
similarity index 100%
rename from libxslt/libxslt-internal-symbols.patch
rename to external/libxslt/libxslt-internal-symbols.patch
diff --git a/libxslt/libxslt-mingw.patch b/external/libxslt/libxslt-mingw.patch
similarity index 100%
rename from libxslt/libxslt-mingw.patch
rename to external/libxslt/libxslt-mingw.patch
diff --git a/libxslt/libxslt-vc10.patch b/external/libxslt/libxslt-vc10.patch
similarity index 100%
rename from libxslt/libxslt-vc10.patch
rename to external/libxslt/libxslt-vc10.patch
diff --git a/libxslt/libxslt-win_manifest.patch b/external/libxslt/libxslt-win_manifest.patch
similarity index 100%
rename from libxslt/libxslt-win_manifest.patch
rename to external/libxslt/libxslt-win_manifest.patch
commit f2b51cdfd6fee45ff2062fa6fb46893eba56c02c
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Fri Oct 18 22:25:22 2013 +0200

    fdo#70393: move libxml2 to a subdir of external
    
    Change-Id: Ifea928fc56239043f976ed1e0d2c986bc5cfb934
    Reviewed-on: https://gerrit.libreoffice.org/6339
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryModule_build.mk b/RepositoryModule_build.mk
index 70cf74f..520f186 100644
--- a/RepositoryModule_build.mk
+++ b/RepositoryModule_build.mk
@@ -87,7 +87,6 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\
 		helpcompiler \
 		xmlhelp \
 	) \
-	$(call gb_Helper_optional,LIBXML2,libxml2) \
 	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	$(call gb_Helper_optional,QADEVOOO,qadevOOo) \
 	$(call gb_Helper_optional,UCPP,ucpp) \
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index cc3d4d6..a23db02 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -71,7 +71,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	jvmfwk \
 	$(call gb_Helper_optional,LANGUAGETOOL,languagetool) \
 	librelogo \
-	$(call gb_Helper_optional,LIBXML2,libxml2) \
 	libxmlsec \
 	$(call gb_Helper_optional,LIBXSLT,libxslt) \
 	lingucomponent \
diff --git a/external/Module_external.mk b/external/Module_external.mk
index a583184..378e1ac 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -46,6 +46,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,LIBEXTTEXTCAT,libexttextcat) \
 	$(call gb_Helper_optional,LIBLANGTAG,liblangtag) \
 	$(call gb_Helper_optional,LIBPNG,libpng) \
+	$(call gb_Helper_optional,LIBXML2,libxml2) \
 	$(call gb_Helper_optional,MSPUB,libmspub) \
 	$(call gb_Helper_optional,MWAW,libmwaw) \
 	$(call gb_Helper_optional,ODFGEN,libodfgen) \
diff --git a/libxml2/ExternalPackage_xml2.mk b/external/libxml2/ExternalPackage_xml2.mk
similarity index 100%
rename from libxml2/ExternalPackage_xml2.mk
rename to external/libxml2/ExternalPackage_xml2.mk
diff --git a/libxml2/ExternalProject_xml2.mk b/external/libxml2/ExternalProject_xml2.mk
similarity index 100%
rename from libxml2/ExternalProject_xml2.mk
rename to external/libxml2/ExternalProject_xml2.mk
diff --git a/libxml2/Makefile b/external/libxml2/Makefile
similarity index 71%
rename from libxml2/Makefile
rename to external/libxml2/Makefile
index ccb1c85..e4968cf 100644
--- a/libxml2/Makefile
+++ b/external/libxml2/Makefile
@@ -2,6 +2,6 @@
 
 module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 
-include $(module_directory)/../solenv/gbuild/partial_build.mk
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
 
 # vim: set noet sw=4 ts=4:
diff --git a/libxml2/Module_libxml2.mk b/external/libxml2/Module_libxml2.mk
similarity index 93%
rename from libxml2/Module_libxml2.mk
rename to external/libxml2/Module_libxml2.mk
index b02934d..f6bca3f 100644
--- a/libxml2/Module_libxml2.mk
+++ b/external/libxml2/Module_libxml2.mk
@@ -9,14 +9,10 @@
 
 $(eval $(call gb_Module_Module,libxml2))
 
-ifeq ($(SYSTEM_LIBXML),NO)
-
 $(eval $(call gb_Module_add_targets,libxml2,\
 	ExternalPackage_xml2 \
 	ExternalProject_xml2 \
 	UnpackedTarball_xml2 \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/libxml2/README b/external/libxml2/README
similarity index 100%
rename from libxml2/README
rename to external/libxml2/README
diff --git a/libxml2/UnpackedTarball_xml2.mk b/external/libxml2/UnpackedTarball_xml2.mk
similarity index 51%
rename from libxml2/UnpackedTarball_xml2.mk
rename to external/libxml2/UnpackedTarball_xml2.mk
index b0a80d6..796ff5e 100644
--- a/libxml2/UnpackedTarball_xml2.mk
+++ b/external/libxml2/UnpackedTarball_xml2.mk
@@ -12,16 +12,16 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,xml2))
 $(eval $(call gb_UnpackedTarball_set_tarball,xml2,$(LIBXML_TARBALL),,libxml2))
 
 $(eval $(call gb_UnpackedTarball_add_patches,xml2,\
-	libxml2/libxml2-configure.patch \
-	libxml2/libxml2-gnome599717.patch \
-	libxml2/libxml2-xpath.patch \
-	libxml2/libxml2-global-symbols.patch \
-	libxml2/libxml2-aix.patch \
-	libxml2/libxml2-vc10.patch \

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list