[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.3' - 21 commits - config_host.mk.in configure.ac editeng/source external/liborcus formula/source include/oox oox/source sc/source sd/qa solenv/gbuild svtools/source sw/qa sw/source vcl/generic vcl/source xmloff/source

Eike Rathke erack at redhat.com
Sat Apr 4 01:50:16 PDT 2015


 config_host.mk.in                                           |    1 
 configure.ac                                                |   51 
 editeng/source/misc/svxacorr.cxx                            |  108 
 external/liborcus/UnpackedTarball_liborcus.mk               |    2 
 external/liborcus/liborcus_0.7.0-configure.gcc5.patch.0     | 1750 ++++++++++++
 formula/source/ui/dlg/FormulaHelper.cxx                     |    4 
 include/oox/drawingml/textbodyproperties.hxx                |    2 
 oox/source/core/xmlfilterbase.cxx                           |    3 
 oox/source/drawingml/shape.cxx                              |    7 
 oox/source/drawingml/table/tablecell.cxx                    |   11 
 oox/source/drawingml/textbodyproperties.cxx                 |    8 
 oox/source/drawingml/textbodypropertiescontext.cxx          |   11 
 oox/source/drawingml/transform2dcontext.cxx                 |    2 
 sc/source/core/data/table3.cxx                              |   10 
 sc/source/core/tool/interpr1.cxx                            |    1 
 sc/source/core/tool/interpr5.cxx                            |   21 
 sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx |    2 
 sd/qa/unit/data/n902652.pptx                                |binary
 sd/qa/unit/data/pptx/bnc910045.pptx                         |binary
 sd/qa/unit/data/xml/n902652_0.xml                           |  309 ++
 sd/qa/unit/import-tests.cxx                                 |   24 
 solenv/gbuild/JunitTest.mk                                  |    3 
 svtools/source/contnr/treelist.cxx                          |    4 
 sw/qa/extras/ooxmlimport/data/fdo87488.docx                 |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx                    |   25 
 sw/source/core/unocore/unotbl.cxx                           |    2 
 sw/source/filter/ww1/fltshell.cxx                           |    2 
 sw/source/filter/ww8/ww8par5.cxx                            |   34 
 vcl/generic/glyphs/gcach_layout.cxx                         |    4 
 vcl/source/gdi/bitmap3.cxx                                  |   13 
 vcl/source/outdev/text.cxx                                  |    3 
 xmloff/source/style/undlihdl.cxx                            |    2 
 32 files changed, 2313 insertions(+), 106 deletions(-)

New commits:
commit a610afa616af61a7d390b7ded7de1ab9a69c9c50
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 1 18:43:41 2015 +0200

    Resolves: tdf#88672 add missing return if error to not crash
    
    Change-Id: Iae73c46d6ae5b141c3f5680b2623ee06205c22d2
    (cherry picked from commit 3cae8ee10f297e42adf9f3b33809b4e7e3af2840)
    Reviewed-on: https://gerrit.libreoffice.org/15112
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 06cc58d..c77b72a 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5568,6 +5568,7 @@ double ScInterpreter::IterateParametersIfs( ScIterFuncIfs eFunc )
                         if (!pMainMatrix)
                         {
                             SetError( errIllegalParameter);
+                            return 0;
                         }
                         nMainCol1 = 0;
                         nMainRow1 = 0;
commit ce7308f8b0bd6aa5844e9bab614047a07a4c1231
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Apr 2 09:30:44 2015 +0100

    fix hang with ooo71962-1.odt
    
    script run ends after chunk we are rendering
    
    (cherry picked from commit 00bf3a4259c1f960eff05b17649cc734c275950f)
    
    Change-Id: Idbfe11c385db72a80d3d204f8638d67395580d1b
    Reviewed-on: https://gerrit.libreoffice.org/15116
    Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
    Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>

diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx
index bf2eab2..1194e70 100644
--- a/vcl/generic/glyphs/gcach_layout.cxx
+++ b/vcl/generic/glyphs/gcach_layout.cxx
@@ -399,7 +399,9 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs)
             aScriptSubRuns.push_back(aRun);
 
             nCurrentPos = nEndRunPos;
-            aScriptRun.next();
+            bool bHasMore = aScriptRun.next();
+            if (!bHasMore)
+                break;
         }
 
         // RTL subruns should be reversed to ensure that final glyph order is
commit 9bce571c2edd15dfa6c8e04f223b974cebdfc638
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Mar 30 19:48:45 2015 +0200

    Resolves: tdf#42481 propagate errors as errors in matrix calculations
    
    ... instead of setting an error string with an unwanted side effect that
    may lead to wrong results instead of error.
    
    Change-Id: I42ade52e86520535c879e9bd68156873d706f33c
    (cherry picked from commit 836d05d32e36aafc00de59ca51878f47f7ce816a)
    Reviewed-on: https://gerrit.libreoffice.org/15073
    Tested-by: David Tardon <dtardon at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index 3212363..2591b69 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -1092,7 +1092,6 @@ static inline SCSIZE lcl_GetMinExtent( SCSIZE n1, SCSIZE n2 )
 
 template<class _Function>
 static ScMatrixRef lcl_MatrixCalculation(
-    svl::SharedStringPool& rPool,
     const ScMatrix& rMat1, const ScMatrix& rMat2, ScInterpreter* pInterpreter)
 {
     static _Function Op;
@@ -1111,13 +1110,19 @@ static ScMatrixRef lcl_MatrixCalculation(
         {
             for (j = 0; j < nMinR; j++)
             {
+                sal_uInt16 nErr;
                 if (rMat1.IsValueOrEmpty(i,j) && rMat2.IsValueOrEmpty(i,j))
                 {
                     double d = Op(rMat1.GetDouble(i,j), rMat2.GetDouble(i,j));
                     xResMat->PutDouble( d, i, j);
                 }
+                else if (((nErr = rMat1.GetErrorIfNotString(i,j)) != 0) ||
+                         ((nErr = rMat2.GetErrorIfNotString(i,j)) != 0))
+                {
+                    xResMat->PutError( nErr, i, j);
+                }
                 else
-                    xResMat->PutString(rPool.intern(ScGlobal::GetRscString(STR_NO_VALUE)), i, j);
+                    xResMat->PutError( errNoValue, i, j);
             }
         }
     }
@@ -1245,11 +1250,11 @@ void ScInterpreter::CalculateAddSub(bool _bSub)
         ScMatrixRef pResMat;
         if ( _bSub )
         {
-            pResMat = lcl_MatrixCalculation<MatrixSub>(mrStrPool, *pMat1, *pMat2, this);
+            pResMat = lcl_MatrixCalculation<MatrixSub>( *pMat1, *pMat2, this);
         }
         else
         {
-            pResMat = lcl_MatrixCalculation<MatrixAdd>(mrStrPool, *pMat1, *pMat2, this);
+            pResMat = lcl_MatrixCalculation<MatrixAdd>( *pMat1, *pMat2, this);
         }
 
         if (!pResMat)
@@ -1453,7 +1458,7 @@ void ScInterpreter::ScMul()
     }
     if (pMat1 && pMat2)
     {
-        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixMul>(mrStrPool, *pMat1, *pMat2, this);
+        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixMul>( *pMat1, *pMat2, this);
         if (!pResMat)
             PushNoValue();
         else
@@ -1526,7 +1531,7 @@ void ScInterpreter::ScDiv()
     }
     if (pMat1 && pMat2)
     {
-        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixDiv>(mrStrPool, *pMat1, *pMat2, this);
+        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixDiv>( *pMat1, *pMat2, this);
         if (!pResMat)
             PushNoValue();
         else
@@ -1605,7 +1610,7 @@ void ScInterpreter::ScPow()
         fVal1 = GetDouble();
     if (pMat1 && pMat2)
     {
-        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixPow>(mrStrPool, *pMat1, *pMat2, this);
+        ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixPow>( *pMat1, *pMat2, this);
         if (!pResMat)
             PushNoValue();
         else
@@ -1802,7 +1807,7 @@ void ScInterpreter::ScSumXMY2()
         PushNoValue();
         return;
     } // if (nC1 != nC2 || nR1 != nR2)
-    ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixSub>(mrStrPool, *pMat1, *pMat2, this);
+    ScMatrixRef pResMat = lcl_MatrixCalculation<MatrixSub>( *pMat1, *pMat2, this);
     if (!pResMat)
     {
         PushNoValue();
commit de80d8de59645a8473b07280199f7f69c7c92fc6
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri Dec 5 19:23:01 2014 +0100

    bnc#910045 wrong cell fill color defined by table style
    
    Problems were with those table styles which used
    color themes to define cell fill color.
    
    Reviewed-on: https://gerrit.libreoffice.org/15089
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    (cherry picked from commit debf3ffb87d607704ddea97f6710c3ceaa9a243d)
    Signed-off-by: Andras Timar <andras.timar at collabora.com>
    
    Conflicts:
    	sd/qa/unit/import-tests.cxx
    
    Change-Id: Ibde90df81ff253ba65618dde4038093d1caabfe8

diff --git a/oox/source/drawingml/table/tablecell.cxx b/oox/source/drawingml/table/tablecell.cxx
index 1b33659..7c4dd9f 100644
--- a/oox/source/drawingml/table/tablecell.cxx
+++ b/oox/source/drawingml/table/tablecell.cxx
@@ -116,6 +116,17 @@ void applyTableStylePart( const ::oox::core::XmlFilterBase& rFilterBase,
     ::oox::drawingml::FillPropertiesPtr& rPartFillPropertiesPtr( rTableStylePart.getFillProperties() );
     if ( rPartFillPropertiesPtr.get() )
         rFillProperties.assignUsed( *rPartFillPropertiesPtr );
+    else
+    {
+        ::oox::drawingml::ShapeStyleRef& rFillStyleRef = rTableStylePart.getStyleRefs()[ XML_fillRef ];
+        const Theme* pTheme = rFilterBase.getCurrentTheme();
+        if (pTheme && rFillStyleRef.mnThemedIdx != 0 )
+        {
+            rFillProperties.assignUsed( *pTheme->getFillStyle( rFillStyleRef.mnThemedIdx ) );
+            sal_Int32 nPhClr = rFillStyleRef.maPhClr.getColor( rFilterBase.getGraphicHelper() );
+            rFillProperties.maFillColor.setSrgbClr( nPhClr );
+        }
+    }
 
     applyBorder( rFilterBase, rTableStylePart, XML_left, rLeftBorder );
     applyBorder( rFilterBase, rTableStylePart, XML_right, rRightBorder );
diff --git a/sd/qa/unit/data/pptx/bnc910045.pptx b/sd/qa/unit/data/pptx/bnc910045.pptx
new file mode 100644
index 0000000..5788ea9
Binary files /dev/null and b/sd/qa/unit/data/pptx/bnc910045.pptx differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index c5fc418..13b23b7 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -100,6 +100,7 @@ public:
     void testShapeLineStyle();
     void testBnc862510_6();
     void testBnc862510_7();
+    void testBnc910045();
 #if !defined WNT
     void testBnc822341();
 #endif
@@ -144,6 +145,7 @@ public:
     CPPUNIT_TEST(testBnc822341);
 #endif
 
+    CPPUNIT_TEST(testBnc910045);
 
     CPPUNIT_TEST_SUITE_END();
 };
@@ -1366,6 +1368,27 @@ void SdFiltersTest::testBnc822341()
 
 #endif
 
+void SdFiltersTest::testBnc910045()
+{
+    // Problem with table style which defines cell color with fill style
+    ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/pptx/bnc910045.pptx") );
+
+    SdDrawDocument *pDoc = xDocShRef->GetDoc();
+    CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL );
+    const SdrPage *pPage = pDoc->GetPage(1);
+    CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL );
+
+    sdr::table::SdrTableObj *pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pPage->GetObj(0));
+    CPPUNIT_ASSERT( pTableObj );
+    uno::Reference< table::XCellRange > xTable(pTableObj->getTable(), uno::UNO_QUERY_THROW);
+    uno::Reference< beans::XPropertySet > xCell;
+    sal_Int32 nColor;
+
+    xCell.set(xTable->getCellByPosition(0, 0), uno::UNO_QUERY_THROW);
+    xCell->getPropertyValue("FillColor") >>= nColor;
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(5210557), nColor);
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SdFiltersTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 93eedfb73f239d8f360a8bcd89a6a706ceddd036
Author: Andras Timar <andras.timar at collabora.com>
Date:   Mon Mar 30 21:37:47 2015 +0200

    bnc#902652 OOXML: fix import of insets when shape and/or shape text is rotated
    
    5ac575ee3e109 did not get it right, the vert attribute (i.e. the
    rotation of text) is relevant, not the rotation of the shape. In
    that case both text and shape rotation were 270 degrees. I checked
    that the bugdoc of bnc#773048 looked good after this.
    
    Reviewed-on: https://gerrit.libreoffice.org/15076
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    (cherry picked from commit af686aa8694903bde5952656cd69993c8c8393d7)
    
    Conflicts:
    	sd/qa/unit/import-tests.cxx
    
    Change-Id: I6e0401cd138a82040df82d7da1a47311db7771e4
    Reviewed-on: https://gerrit.libreoffice.org/15085
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/oox/drawingml/textbodyproperties.hxx b/include/oox/drawingml/textbodyproperties.hxx
index e6ed0fc..c7a98cb 100644
--- a/include/oox/drawingml/textbodyproperties.hxx
+++ b/include/oox/drawingml/textbodyproperties.hxx
@@ -45,7 +45,7 @@ struct TextBodyProperties
 
     explicit            TextBodyProperties();
 
-    void                pushRotationAdjustments( sal_Int32 nRotation );
+    void                pushRotationAdjustments();
     void                pushVertSimulation();
 };
 
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 5d7ff69..d6f45c9 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -656,7 +656,7 @@ Reference< XShape > Shape::createAndInsert(
         // add properties from textbody to shape properties
         if( mpTextBody.get() )
         {
-            mpTextBody->getTextProperties().pushRotationAdjustments( mnRotation );
+            mpTextBody->getTextProperties().pushRotationAdjustments();
             aShapeProps.assignUsed( mpTextBody->getTextProperties().maPropertyMap );
             // Push char properties as well - specifically useful when this is a placeholder
             if( mpMasterTextListStyle &&  mpMasterTextListStyle->getListStyle()[0]->getTextCharacterProperties().moHeight.has() )
diff --git a/oox/source/drawingml/textbodyproperties.cxx b/oox/source/drawingml/textbodyproperties.cxx
index dfa3d60..264c469 100644
--- a/oox/source/drawingml/textbodyproperties.cxx
+++ b/oox/source/drawingml/textbodyproperties.cxx
@@ -60,17 +60,17 @@ void TextBodyProperties::pushVertSimulation()
 }
 
 /* Push adjusted values, taking into consideration Shape Rotation */
-void TextBodyProperties::pushRotationAdjustments( sal_Int32 nRotation )
+void TextBodyProperties::pushRotationAdjustments()
 {
     sal_Int32 nOff      = 0;
     sal_Int32 aProps[]  = { PROP_TextLeftDistance, PROP_TextUpperDistance, PROP_TextRightDistance, PROP_TextLowerDistance };
     sal_Int32 n         = ( sal_Int32 )( sizeof( aProps ) / sizeof( sal_Int32 ) );
 
-    switch( nRotation ) // TODO: What happens for part rotations ?
+    switch( moRotation.get(0) )
     {
-        case (90*1*60000): nOff = 1; break;
+        case (90*1*60000): nOff = 3; break;
         case (90*2*60000): nOff = 2; break;
-        case (90*3*60000): nOff = 3; break;
+        case (90*3*60000): nOff = 1; break;
         default: break;
     }
 
diff --git a/sd/qa/unit/data/n902652.pptx b/sd/qa/unit/data/n902652.pptx
new file mode 100644
index 0000000..8726600
Binary files /dev/null and b/sd/qa/unit/data/n902652.pptx differ
diff --git a/sd/qa/unit/data/xml/n902652_0.xml b/sd/qa/unit/data/xml/n902652_0.xml
new file mode 100644
index 0000000..de8ed91
--- /dev/null
+++ b/sd/qa/unit/data/xml/n902652_0.xml
@@ -0,0 +1,309 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="899" positionY="9525" sizeX="9000" sizeY="4800" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangle 3" text=" LibreOffice" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="3000" textRightDistance="500" textUpperDistance="300" textLowerDistance="3000" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="9bbb59" fillTransparence="0" fillTransparenceGradientName="">
+  <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
+  <FillBitmap width="32" height="32"/>
+  <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+  <LineStart/>
+  <LineEnd/>
+  <Transformation>
+   <Line1 column1="0.000000" column2="4801.000000" column3="899.000000"/>
+   <Line2 column1="-9001.000000" column2="0.000000" column3="9525.000000"/>
+   <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+  </Transformation>
+  <CustomShapeGeometry>
+   <PropertyValue name="AdjustmentValues">
+    <AdjustmentValues>
+     <EnhancedCustomShapeAdjustmentValue value="16667" propertyState="DIRECT_VALUE"/>
+    </AdjustmentValues>
+   </PropertyValue>
+   <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="IsPostRotateAngle" value="true" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredX" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredY" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Path">
+    <Path>
+     <PropertyValue name="Coordinates">
+      <Coordinates>
+       <EnhancedCustomShapeParameterPair>
+        <First value="0" type="0"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="12" type="1"/>
+        <Second value="13" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="3" type="1"/>
+        <Second value="0" type="0"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="14" type="1"/>
+        <Second value="15" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="11" type="1"/>
+        <Second value="4" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="16" type="1"/>
+        <Second value="17" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="10" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="18" type="1"/>
+        <Second value="19" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+      </Coordinates>
+     </PropertyValue>
+     <PropertyValue name="Segments">
+      <Segments>
+       <EnhancedCustomShapeSegment command="1" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="4" count="0"/>
+       <EnhancedCustomShapeSegment command="5" count="0"/>
+      </Segments>
+     </PropertyValue>
+     <PropertyValue name="TextFrames" handle="0" propertyState="DIRECT_VALUE"/>
+    </Path>
+   </PropertyValue>
+   <PropertyValue name="TextPreRotateAngle" value="0" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Type" value="ooxml-roundRect" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="ViewBox">
+    <ViewBox x="0" y="0" width="0" height="0"/>
+   </PropertyValue>
+  </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="15800" positionY="7848" sizeX="9000" sizeY="4800" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangle 4" text=" LibreOffice" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="1000" textRightDistance="0" textUpperDistance="3000" textLowerDistance="300" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="9bbb59" fillTransparence="0" fillTransparenceGradientName="">
+  <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
+  <FillBitmap width="32" height="32"/>
+  <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+  <LineStart/>
+  <LineEnd/>
+  <Transformation>
+   <Line1 column1="-9001.000000" column2="-0.000000" column3="15800.000000"/>
+   <Line2 column1="0.000000" column2="-4801.000000" column3="7848.000000"/>
+   <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+  </Transformation>
+  <CustomShapeGeometry>
+   <PropertyValue name="AdjustmentValues">
+    <AdjustmentValues>
+     <EnhancedCustomShapeAdjustmentValue value="16667" propertyState="DIRECT_VALUE"/>
+    </AdjustmentValues>
+   </PropertyValue>
+   <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="IsPostRotateAngle" value="true" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredX" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredY" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Path">
+    <Path>
+     <PropertyValue name="Coordinates">
+      <Coordinates>
+       <EnhancedCustomShapeParameterPair>
+        <First value="0" type="0"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="12" type="1"/>
+        <Second value="13" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="3" type="1"/>
+        <Second value="0" type="0"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="14" type="1"/>
+        <Second value="15" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="11" type="1"/>
+        <Second value="4" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="16" type="1"/>
+        <Second value="17" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="10" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="18" type="1"/>
+        <Second value="19" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+      </Coordinates>
+     </PropertyValue>
+     <PropertyValue name="Segments">
+      <Segments>
+       <EnhancedCustomShapeSegment command="1" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="4" count="0"/>
+       <EnhancedCustomShapeSegment command="5" count="0"/>
+      </Segments>
+     </PropertyValue>
+     <PropertyValue name="TextFrames" handle="0" propertyState="DIRECT_VALUE"/>
+    </Path>
+   </PropertyValue>
+   <PropertyValue name="TextPreRotateAngle" value="-90" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Type" value="ooxml-roundRect" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="ViewBox">
+    <ViewBox x="0" y="0" width="0" height="0"/>
+   </PropertyValue>
+  </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="16224" positionY="14365" sizeX="9000" sizeY="4800" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangle 5" text=" LibreOffice" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="1000" textUpperDistance="900" textLowerDistance="3000" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="9bbb59" fillTransparence="0" fillTransparenceGradientName="">
+  <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+  <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
+  <FillBitmap width="32" height="32"/>
+  <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+  <LineStart/>
+  <LineEnd/>
+  <Transformation>
+   <Line1 column1="-9001.000000" column2="-0.000000" column3="16224.000000"/>
+   <Line2 column1="0.000000" column2="-4801.000000" column3="14365.000000"/>
+   <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+  </Transformation>
+  <CustomShapeGeometry>
+   <PropertyValue name="AdjustmentValues">
+    <AdjustmentValues>
+     <EnhancedCustomShapeAdjustmentValue value="16667" propertyState="DIRECT_VALUE"/>
+    </AdjustmentValues>
+   </PropertyValue>
+   <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="IsPostRotateAngle" value="true" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredX" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="MirroredY" value="false" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Path">
+    <Path>
+     <PropertyValue name="Coordinates">
+      <Coordinates>
+       <EnhancedCustomShapeParameterPair>
+        <First value="0" type="0"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="12" type="1"/>
+        <Second value="13" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="3" type="1"/>
+        <Second value="0" type="0"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="14" type="1"/>
+        <Second value="15" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="11" type="1"/>
+        <Second value="4" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="16" type="1"/>
+        <Second value="17" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="10" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="2" type="1"/>
+        <Second value="2" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+       <EnhancedCustomShapeParameterPair>
+        <First value="18" type="1"/>
+        <Second value="19" type="1"/>
+       </EnhancedCustomShapeParameterPair>
+      </Coordinates>
+     </PropertyValue>
+     <PropertyValue name="Segments">
+      <Segments>
+       <EnhancedCustomShapeSegment command="1" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="2" count="1"/>
+       <EnhancedCustomShapeSegment command="17" count="1"/>
+       <EnhancedCustomShapeSegment command="4" count="0"/>
+       <EnhancedCustomShapeSegment command="5" count="0"/>
+      </Segments>
+     </PropertyValue>
+     <PropertyValue name="TextFrames" handle="0" propertyState="DIRECT_VALUE"/>
+    </Path>
+   </PropertyValue>
+   <PropertyValue name="TextPreRotateAngle" value="-270" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="Type" value="ooxml-roundRect" handle="0" propertyState="DIRECT_VALUE"/>
+   <PropertyValue name="ViewBox">
+    <ViewBox x="0" y="0" width="0" height="0"/>
+   </PropertyValue>
+  </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 4ff2da3..c5fc418 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -191,6 +191,7 @@ void SdFiltersTest::testDocumentLayout()
         { "n762695.pptx", "xml/n762695_", -1 },
         { "n593612.pptx", "xml/n593612_", -1 },
         { "fdo71434.pptx", "xml/fdo71434_", -1 },
+        { "n902652.pptx", "xml/n902652_", -1 },
         // { "pptx/n828390.pptx", "pptx/xml/n828390_", PPTX }, // Example
     };
 
commit 797984df3c857219a2568e1ecca1201533c21131
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Jan 21 14:51:11 2015 +0100

    RotateAngle of UNO type long
    
    Change-Id: Id3aec16d17b55366c2a35810b21b0a1c73439741
    (cherry picked from commit 44b2fb6d0ba8c3fc8aa6edb4e539c484e21b7fc5)

diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index c4bc13a..a6ba627 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2423,7 +2423,7 @@ DECLARE_OOXMLIMPORT_TEST(testFdo87488, "fdo87488.docx")
     {
         uno::Reference<beans::XPropertySet> props(group->getByIndex(0), uno::UNO_QUERY);
         CPPUNIT_ASSERT_EQUAL(props->getPropertyValue("RotateAngle"),
-                             uno::makeAny(270 * 100));
+                             uno::makeAny<sal_Int32>(270 * 100));
         comphelper::SequenceAsHashMap geom(props->getPropertyValue("CustomShapeGeometry"));
         CPPUNIT_ASSERT_EQUAL(sal_Int32(90), geom["TextPreRotateAngle"].get<sal_Int32>());
     }
commit 111766ae23510275ab64c2ee049bced62e967b3d
Author: Gary Houston <ghouston at arglist.com>
Date:   Sat Dec 20 15:41:15 2014 +1100

    fdo#87488 Wrong text rotation inside a preset shape from docx
    
    Preset shape text rotation values are read in a few places and stored in
    moRotation. With these changes, moRotation is always read unchanged, but
    multiplied by -1 when it's used.
    
    Change-Id: I633d665c21daa69e15fa828a43300f10d2bf2054
    Reviewed-on: https://gerrit.libreoffice.org/13561
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
    (cherry picked from commit 921cea89da8adbe714ea8f71169dd6afc42354c4)
    Signed-off-by: Andras Timar <andras.timar at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/15084

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 05bff1a..5d7ff69 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -999,7 +999,10 @@ Reference< XShape > Shape::createAndInsert(
             if( getTextBody() )
             {
                 sal_Int32 nTextRotateAngle = static_cast< sal_Int32 >( getTextBody()->getTextProperties().moRotation.get( 0 ) );
-                mpCustomShapePropertiesPtr->setTextRotateAngle( nTextRotateAngle / 60000 );
+                /* OOX measures text rotation clockwise in 1/60000th degrees,
+                   relative to the containing shape. setTextRotateAngle wants
+                   degrees anticlockwise. */
+                mpCustomShapePropertiesPtr->setTextRotateAngle( -1 * nTextRotateAngle / 60000 );
             }
 
             SAL_INFO("oox.cscode", "==cscode== shape name: '" << msName << "'");
diff --git a/oox/source/drawingml/textbodypropertiescontext.cxx b/oox/source/drawingml/textbodypropertiescontext.cxx
index 80d82a0..f0208b5 100644
--- a/oox/source/drawingml/textbodypropertiescontext.cxx
+++ b/oox/source/drawingml/textbodypropertiescontext.cxx
@@ -84,13 +84,16 @@ TextBodyPropertiesContext::TextBodyPropertiesContext( ContextHandler2Helper& rPa
     // ST_TextVerticalType
     if( rAttribs.hasAttribute( XML_vert ) ) {
         mrTextBodyProp.moVert = rAttribs.getToken( XML_vert );
-        bool bRtl = rAttribs.getBool( XML_rtl, false );
         sal_Int32 tVert = mrTextBodyProp.moVert.get( XML_horz );
-        if( tVert == XML_vert || tVert == XML_eaVert || tVert == XML_vert270 || tVert == XML_mongolianVert )
-            mrTextBodyProp.moRotation = -5400000*(tVert==XML_vert270?3:1);
-        else
+        if (tVert == XML_vert || tVert == XML_eaVert || tVert == XML_mongolianVert)
+            mrTextBodyProp.moRotation = 5400000;
+        else if (tVert == XML_vert270)
+            mrTextBodyProp.moRotation = 5400000 * 3;
+        else {
+            bool bRtl = rAttribs.getBool( XML_rtl, false );
             mrTextBodyProp.maPropertyMap.setProperty( PROP_TextWritingMode,
                 ( bRtl ? WritingMode_RL_TB : WritingMode_LR_TB ));
+        }
     }
 
     // ST_TextAnchoringType
diff --git a/oox/source/drawingml/transform2dcontext.cxx b/oox/source/drawingml/transform2dcontext.cxx
index d3f7f5e..97015f3 100644
--- a/oox/source/drawingml/transform2dcontext.cxx
+++ b/oox/source/drawingml/transform2dcontext.cxx
@@ -47,7 +47,7 @@ Transform2DContext::Transform2DContext( ContextHandler2Helper& rParent, const At
     else
     {
         if( rAttribs.hasAttribute( XML_rot ) )
-            mrShape.getTextBody()->getTextProperties().moRotation = -rAttribs.getInteger( XML_rot ).get();
+            mrShape.getTextBody()->getTextProperties().moRotation = rAttribs.getInteger( XML_rot ).get();
     }
 }
 
diff --git a/sw/qa/extras/ooxmlimport/data/fdo87488.docx b/sw/qa/extras/ooxmlimport/data/fdo87488.docx
new file mode 100644
index 0000000..2bd51b6
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/fdo87488.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 44876b9..c4bc13a 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -73,13 +73,13 @@ public:
 
     virtual void preTest(const char* filename) SAL_OVERRIDE
     {
-        if (OString(filename) == "smartart.docx" || OString(filename) == "strict-smartart.docx")
+        if (OString(filename) == "smartart.docx" || OString(filename) == "strict-smartart.docx" || OString(filename) == "fdo87488.docx")
             SvtFilterOptions::Get().SetSmartArt2Shape(true);
     }
 
     virtual void postTest(const char* filename) SAL_OVERRIDE
     {
-        if (OString(filename) == "smartart.docx" || OString(filename) == "strict-smartart.docx")
+        if (OString(filename) == "smartart.docx" || OString(filename) == "strict-smartart.docx" || OString(filename) == "fdo87488.docx")
             SvtFilterOptions::Get().SetSmartArt2Shape(false);
     }
 };
@@ -2408,6 +2408,27 @@ DECLARE_OOXMLIMPORT_TEST(testUnbalancedColumns, "unbalanced-columns.docx")
     CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xTextSections->getByIndex(2), "DontBalanceTextColumns"));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testFdo87488, "fdo87488.docx")
+{
+    // The shape on the right (index 0, CustomShape within a
+    // GroupShape) is rotated 90 degrees clockwise and contains text
+    // rotated 90 degrees anticlockwise.  Must be read with SmartArt
+    // enabled in preTest above, otherwise it gets converted to a
+    // StarView MetaFile.
+    uno::Reference<container::XIndexAccess> group(getShape(1), uno::UNO_QUERY);
+    {
+        uno::Reference<text::XTextRange> text(group->getByIndex(0), uno::UNO_QUERY);
+        CPPUNIT_ASSERT_EQUAL(OUString("text2"), text->getString());
+    }
+    {
+        uno::Reference<beans::XPropertySet> props(group->getByIndex(0), uno::UNO_QUERY);
+        CPPUNIT_ASSERT_EQUAL(props->getPropertyValue("RotateAngle"),
+                             uno::makeAny(270 * 100));
+        comphelper::SequenceAsHashMap geom(props->getPropertyValue("CustomShapeGeometry"));
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(90), geom["TextPreRotateAngle"].get<sal_Int32>());
+    }
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 1d439fb738ef4896fe1ff8196c5c2e2bf8f15943
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Mar 30 21:29:46 2015 +0200

    Resolves: tdf#90301 string access out of bounds
    
    Apparently yet another leftover of UniString to OUString conversion
    where with UniString out-of-bounds accesses didn't harm and returned
    NIL.
    
    (cherry picked from commit eed393039a9067f7a1a318934ff1c5ff90bfe443)
    
    Include <algorithm> for std::min()
    
    (cherry picked from commit 3394ac816a573030feda145dbdabd2a1eabd78c4)
    
    Change-Id: Id88456a52df3fc8cdaf90d9d509e327b96269808
    13ed47d23ed4b94501d9445555d99ce08af94698
    Reviewed-on: https://gerrit.libreoffice.org/15075
    Tested-by: David Tardon <dtardon at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/formula/source/ui/dlg/FormulaHelper.cxx b/formula/source/ui/dlg/FormulaHelper.cxx
index 6c999bd..9d9bda1 100644
--- a/formula/source/ui/dlg/FormulaHelper.cxx
+++ b/formula/source/ui/dlg/FormulaHelper.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <algorithm>
+
 #include "formula/formulahelper.hxx"
 #include <unotools/charclass.hxx>
 #include <unotools/syslocale.hxx>
@@ -201,7 +203,7 @@ sal_Int32 FormulaHelper::GetFunctionStart( const OUString&   rFormula,
         return nStart;
 
     sal_Int32  nFStart = FUNC_NOTFOUND;
-    sal_Int32  nParPos = nStart;
+    sal_Int32  nParPos = bBack ? ::std::min( nStart, nStrLen - 1) : nStart;
 
     bool bRepeat, bFound;
     do
commit 99b8b5cd56311acd00fe27708ccc4324d39914c4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Jan 31 21:11:57 2015 +0000

    coverity#1267678 this is surely backwards (gold)
    
    surely we clone from the source and return the newly created
    entry. Presumably this doesn't break all the time because
    aCloneLink is generally set ?
    
    coverity#1267678 Resource leak
    
    Change-Id: I3e02dfaef371e006f1510b186cdd881c991ef2cf
    (cherry picked from commit 9f1ecd3ac35f06746fe2a12ca52899f664679de5)
    Reviewed-on: https://gerrit.libreoffice.org/15023
    Tested-by: David Tardon <dtardon at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/svtools/source/contnr/treelist.cxx b/svtools/source/contnr/treelist.cxx
index f60b1c9..a0fd4ca 100644
--- a/svtools/source/contnr/treelist.cxx
+++ b/svtools/source/contnr/treelist.cxx
@@ -355,8 +355,8 @@ SvTreeListEntry* SvTreeList::CloneEntry( SvTreeListEntry* pSource ) const
     if( aCloneLink.IsSet() )
         return (SvTreeListEntry*)aCloneLink.Call( pSource );
     SvTreeListEntry* pEntry = CreateEntry();
-    pSource->Clone( pEntry );
-    return pSource;
+    pEntry->Clone(pSource);
+    return pEntry;
 }
 
 SvTreeListEntry* SvTreeList::CreateEntry() const
commit 881535912d5493525e3f89a05b1bc8f3a2761e73
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Mon Mar 2 08:40:20 2015 +0100

    tdf#89774 oox: TotalTime is in minutes
    
    (cherry picked from commit 302f413eec4da8c8572911d08e939186c5ac57cf)
    
    Conflicts:
    	sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
    
    Change-Id: Ie65a8adbd077997f4a13914dd8e0ba4d55afd7b7
    Reviewed-on: https://gerrit.libreoffice.org/15017
    Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
    Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>

diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx
index ddc4507..d17b38f 100644
--- a/oox/source/core/xmlfilterbase.cxx
+++ b/oox/source/core/xmlfilterbase.cxx
@@ -681,7 +681,8 @@ writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProp
     writeElement( pAppProps, XML_Slides,                "slides" );
     writeElement( pAppProps, XML_Notes,                 "notes" );
 #endif  /* def OOXTODO */
-    writeElement( pAppProps, XML_TotalTime,             xProperties->getEditingDuration() );
+    // EditingDuration is in seconds, TotalTime is in minutes.
+    writeElement( pAppProps, XML_TotalTime,             xProperties->getEditingDuration() / 60 );
 #ifdef OOXTODO
     writeElement( pAppProps, XML_HiddenSlides,          "hidden slides" );
     writeElement( pAppProps, XML_MMClips,               "mm clips" );
commit 137a65a302ac14b3889dcb5f26f621b1d7a698c5
Author: Niklas Johansson <sleeping.pillow at gmail.com>
Date:   Thu Mar 19 20:30:41 2015 +0100

    tdf#89437  Ordinal suffix should never be superscript in some languages
    
    Printing ordinal suffixes as superscript is just not done in Swedish and
    likely a few other languages but this change only cares for Swedish at
    the moment.
    
    Change-Id: Ib7600ceb0534793d900f13b2740e63c1f7f34ba9
    Reviewed-on: https://gerrit.libreoffice.org/14913
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 307c25fe460857c52f0b9c2078e83f6d12f8bdc9)
    Reviewed-on: https://gerrit.libreoffice.org/14967

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 4745c0b..608ae61 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -436,69 +436,79 @@ bool SvxAutoCorrect::FnCptlSttWrd( SvxAutoCorrDoc& rDoc, const OUString& rTxt,
 
 
 bool SvxAutoCorrect::FnChgOrdinalNumber(
-                                SvxAutoCorrDoc& rDoc, const OUString& rTxt,
-                                sal_Int32 nSttPos, sal_Int32 nEndPos,
-                                LanguageType eLang )
+    SvxAutoCorrDoc& rDoc, const OUString& rTxt,
+    sal_Int32 nSttPos, sal_Int32 nEndPos,
+    LanguageType eLang)
 {
-// 1st, 2nd, 3rd, 4 - 0th
-// 201th or 201st
-// 12th or 12nd
-    CharClass& rCC = GetCharClass( eLang );
+    // 1st, 2nd, 3rd, 4 - 0th
+    // 201th or 201st
+    // 12th or 12nd
     bool bChg = false;
 
-    for( ; nSttPos < nEndPos; ++nSttPos )
-        if( !lcl_IsInAsciiArr( sImplSttSkipChars, rTxt[ nSttPos ] ))
-            break;
-    for( ; nSttPos < nEndPos; --nEndPos )
-        if( !lcl_IsInAsciiArr( sImplEndSkipChars, rTxt[ nEndPos - 1 ] ))
-            break;
+    // In some languages ordinal suffixes should never be
+    // changed to superscript. Let's break for those languages.
+    switch (eLang)
+    {
+    case LANGUAGE_SWEDISH:
+    case LANGUAGE_SWEDISH_FINLAND:
+        break;
+    default:
+        CharClass& rCC = GetCharClass(eLang);
 
+        for (; nSttPos < nEndPos; ++nSttPos)
+            if (!lcl_IsInAsciiArr(sImplSttSkipChars, rTxt[nSttPos]))
+                break;
+        for (; nSttPos < nEndPos; --nEndPos)
+            if (!lcl_IsInAsciiArr(sImplEndSkipChars, rTxt[nEndPos - 1]))
+                break;
 
-    // Get the last number in the string to check
-    sal_Int32 nNumEnd = nEndPos;
-    bool foundEnd = false;
-    bool validNumber = true;
-    sal_Int32 i = nEndPos;
 
-    while ( i > nSttPos )
-    {
-        i--;
-        bool isDigit = rCC.isDigit( rTxt, i );
-        if ( foundEnd )
-            validNumber |= isDigit;
+        // Get the last number in the string to check
+        sal_Int32 nNumEnd = nEndPos;
+        bool foundEnd = false;
+        bool validNumber = true;
+        sal_Int32 i = nEndPos;
 
-        if ( isDigit && !foundEnd )
+        while (i > nSttPos)
         {
-            foundEnd = true;
-            nNumEnd = i;
-        }
-    }
+            i--;
+            bool isDigit = rCC.isDigit(rTxt, i);
+            if (foundEnd)
+                validNumber |= isDigit;
 
-    if ( foundEnd && validNumber ) {
-        sal_Int32 nNum = rTxt.copy( nSttPos, nNumEnd - nSttPos + 1 ).toInt32( );
+            if (isDigit && !foundEnd)
+            {
+                foundEnd = true;
+                nNumEnd = i;
+            }
+        }
 
-        // Check if the characters after that number correspond to the ordinal suffix
-        uno::Reference< i18n::XOrdinalSuffix > xOrdSuffix
-                = i18n::OrdinalSuffix::create( comphelper::getProcessComponentContext() );
+        if (foundEnd && validNumber) {
+            sal_Int32 nNum = rTxt.copy(nSttPos, nNumEnd - nSttPos + 1).toInt32();
 
-        uno::Sequence< OUString > aSuffixes = xOrdSuffix->getOrdinalSuffix( nNum, rCC.getLanguageTag().getLocale( ) );
-        for ( sal_Int32 nSuff = 0; nSuff < aSuffixes.getLength(); nSuff++ )
-        {
-            OUString sSuffix( aSuffixes[ nSuff ] );
-            OUString sEnd = rTxt.copy( nNumEnd + 1, nEndPos - nNumEnd - 1 );
+            // Check if the characters after that number correspond to the ordinal suffix
+            uno::Reference< i18n::XOrdinalSuffix > xOrdSuffix
+                = i18n::OrdinalSuffix::create(comphelper::getProcessComponentContext());
 
-            if ( sSuffix == sEnd )
+            uno::Sequence< OUString > aSuffixes = xOrdSuffix->getOrdinalSuffix(nNum, rCC.getLanguageTag().getLocale());
+            for (sal_Int32 nSuff = 0; nSuff < aSuffixes.getLength(); nSuff++)
             {
-                // Check if the ordinal suffix has to be set as super script
-                if ( rCC.isLetter( sSuffix ) )
+                OUString sSuffix(aSuffixes[nSuff]);
+                OUString sEnd = rTxt.copy(nNumEnd + 1, nEndPos - nNumEnd - 1);
+
+                if (sSuffix == sEnd)
                 {
-                    // Do the change
-                    SvxEscapementItem aSvxEscapementItem( DFLT_ESC_AUTO_SUPER,
-                                                        DFLT_ESC_PROP, SID_ATTR_CHAR_ESCAPEMENT );
-                    rDoc.SetAttr( nNumEnd + 1 , nEndPos,
-                                    SID_ATTR_CHAR_ESCAPEMENT,
-                                    aSvxEscapementItem);
-                    bChg = true;
+                    // Check if the ordinal suffix has to be set as super script
+                    if (rCC.isLetter(sSuffix))
+                    {
+                        // Do the change
+                        SvxEscapementItem aSvxEscapementItem(DFLT_ESC_AUTO_SUPER,
+                            DFLT_ESC_PROP, SID_ATTR_CHAR_ESCAPEMENT);
+                        rDoc.SetAttr(nNumEnd + 1, nEndPos,
+                            SID_ATTR_CHAR_ESCAPEMENT,
+                            aSvxEscapementItem);
+                        bChg = true;
+                    }
                 }
             }
         }
commit c93bd00e83fa9906471dd2e584fff4f31305c380
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Mar 20 15:36:07 2015 +0000

    fix double delete on loading ooo123605-1.odt
    
    if there are no listeners to send the event to then don't
    acquire and release the Source in the temporary used by forEach
    and so avoid double-releasing on loading ooo123605-1.odt
    
    Change-Id: I6843042d7cf8c0ffee01c7d519299fcb05b29a4e
    (cherry picked from commit 9527eeec237f5d797a6420371c76f95246adeb84)
    Reviewed-on: https://gerrit.libreoffice.org/14927
    Tested-by: David Tardon <dtardon at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx
index 377e392..32495c9 100644
--- a/sw/source/core/unocore/unotbl.cxx
+++ b/sw/source/core/unocore/unotbl.cxx
@@ -107,6 +107,8 @@ extern void sw_GetTblBoxColStr( sal_uInt16 nCol, OUString& rNm );
 static void lcl_SendChartEvent(::cppu::OWeakObject & rSource,
                                ::cppu::OInterfaceContainerHelper & rListeners)
 {
+    if (!rListeners.getLength())
+        return;
     //TODO: find appropriate settings of the Event
     chart::ChartDataChangeEvent event;
     event.Source = & rSource;
commit c43724cb5239b4a37f58c3923388b25021cd2ae0
Author: Andras Timar <andras.timar at collabora.com>
Date:   Fri Mar 20 22:32:53 2015 +0100

    Replace hardcoded UI string with string from .res file
    
    Change-Id: Iba362cc2ee624271dcc078d7e7ded1ef6ff44ae4
    (cherry picked from commit 45c949c5a34cb73cdb08f85b2f33ae498c7c3c5c)
    Reviewed-on: https://gerrit.libreoffice.org/14934
    Tested-by: David Tardon <dtardon at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
index a764c13..846f4f7 100644
--- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
@@ -190,7 +190,7 @@ void ScAnalysisOfVarianceDialog::AnovaSingleFactor(AddressWalkerWriter& output,
     output.newLine();
 
     double aAlphaValue = mpAlphaField->GetValue() / 100.0;
-    output.writeString("Alpha");
+    output.writeString(SC_STRLOAD(RID_STATISTICS_DLGS, STR_LABEL_ALPHA));
     output.nextColumn();
     output.writeValue(aAlphaValue);
     aTemplate.autoReplaceAddress("%ALPHA%", output.current());
commit ad15b8ae8d5b84078fc9b9d2a0806eb030fa6139
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Mar 20 11:10:13 2015 +0000

    Resolves: tdf#89958 filter ends with / does not end with correction
    
    Regression of 8850633fe4cdac306c35caab1a0d14c13d9df864 String to
    OUString and xub_StrLen to sal_Int32 conversion, it worked by accident
    only anyway..
    
    Change-Id: Id6fea7075949b98e58294d9fdaae4313f69f9b55
    (cherry picked from commit 9e2e9453cbca9399e1c670b354cfc3c23d70307f)
    Reviewed-on: https://gerrit.libreoffice.org/14923
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 65e3c37..daf370c 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -2261,9 +2261,9 @@ public:
                     OUString aQuer( mpTransliteration->transliterate(
                         aQueryStr, ScGlobal::eLnge, 0, aQueryStr.getLength(),
                         NULL ) );
-                    sal_Int32 nIndex = (rEntry.eOp == SC_ENDS_WITH
-                        || rEntry.eOp == SC_DOES_NOT_END_WITH) ? (aCell.getLength()-aQuer.getLength()) : 0;
-                    sal_Int32 nStrPos = aCell.indexOf( aQuer, nIndex );
+                    sal_Int32 nIndex = (rEntry.eOp == SC_ENDS_WITH || rEntry.eOp == SC_DOES_NOT_END_WITH) ?
+                        (aCell.getLength() - aQuer.getLength()) : 0;
+                    sal_Int32 nStrPos = ((nIndex < 0) ? -1 : aCell.indexOf( aQuer, nIndex ));
                     switch (rEntry.eOp)
                     {
                     case SC_EQUAL:
@@ -2281,10 +2281,10 @@ public:
                         bOk = ( nStrPos != 0 );
                         break;
                     case SC_ENDS_WITH:
-                        bOk = ( nStrPos + aQuer.getLength() == aCell.getLength() );
+                        bOk = (nStrPos >= 0 && nStrPos + aQuer.getLength() == aCell.getLength() );
                         break;
                     case SC_DOES_NOT_END_WITH:
-                        bOk = ( nStrPos + aQuer.getLength() != aCell.getLength() );
+                        bOk = (nStrPos < 0 || nStrPos + aQuer.getLength() != aCell.getLength() );
                         break;
                     default:
                         {
commit 03257ba47dae5f2e144ebfbd07e827184593a41d
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Feb 9 23:50:03 2015 +0100

    fix liborcus build with gcc 5
    
    (cherry picked from commit 8b68841c1482d98bee98de0a60910b93feb8f8b6)
    
    How is that supposed to ever work?
    
    (cherry picked from commit a5ec343f6cb522f4d41e097eda48042bf85c4578)
    
    ...next attempt at getting this through both GCC 5 and MSVC
    
    (cherry picked from commit cdd8ab7e0caa5b6845581afd5fc69bc69b5589df)
    
    Change-Id: I38b2ecf86d4334d0179362079a216df4301bf184
    Reviewed-on: https://gerrit.libreoffice.org/14817
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
index 696c34a..66022d5 100644
--- a/external/liborcus/UnpackedTarball_liborcus.mk
+++ b/external/liborcus/UnpackedTarball_liborcus.mk
@@ -29,6 +29,8 @@ endif
 # f60d6eecee72349993a392a9a63ddf3383d3b8c8-
 # f60d6eecee72349993a392a9a63ddf3383d3b8c8 at 2>:
 
+liborcus_patches += liborcus_0.7.0-configure.gcc5.patch.0
+
 $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
 	$(foreach patch,$(liborcus_patches),external/liborcus/$(patch)) \
 ))
diff --git a/external/liborcus/liborcus_0.7.0-configure.gcc5.patch.0 b/external/liborcus/liborcus_0.7.0-configure.gcc5.patch.0
new file mode 100644
index 0000000..42370c2
--- /dev/null
+++ b/external/liborcus/liborcus_0.7.0-configure.gcc5.patch.0
@@ -0,0 +1,1750 @@
+--- configure.old	2013-10-15 04:17:59.000000000 +0200
++++ configure	2015-02-09 23:41:48.525767041 +0100
+@@ -1471,7 +1471,7 @@ Optional Features:
+   --disable-libtool-lock  avoid locking (might break parallel builds)
+   --enable-static-boost   Prefer the static boost libraries over the shared
+                           ones [no]
+-  --disable-werror        Treat all warnings as errors, useful for development
++  --enable-werror         Treat all warnings as errors, useful for development
+   --enable-debug          Build with debug features in mind.]
+   --disable-spreadsheet-model
+                           Disable the spreadsheet model implementation in
+@@ -2592,7 +2592,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ ac_config_headers="$ac_config_headers config.h"
+ 
+-am__api_version='1.12'
++am__api_version='1.14'
+ 
+ ac_aux_dir=
+ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+@@ -2805,8 +2805,8 @@ if test x"${MISSING+set}" != xset; then
+   esac
+ fi
+ # Use eval to expand $SHELL
+-if eval "$MISSING --run true"; then
+-  am_missing_run="$MISSING --run "
++if eval "$MISSING --is-lightweight"; then
++  am_missing_run="$MISSING "
+ else
+   am_missing_run=
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+@@ -3046,6 +3046,45 @@ else
+ fi
+ rmdir .tst 2>/dev/null
+ 
++# Check whether --enable-silent-rules was given.
++if test "${enable_silent_rules+set}" = set; then :
++  enableval=$enable_silent_rules;
++fi
++
++case $enable_silent_rules in # (((
++  yes) AM_DEFAULT_VERBOSITY=0;;
++   no) AM_DEFAULT_VERBOSITY=1;;
++    *) AM_DEFAULT_VERBOSITY=1;;
++esac
++am_make=${MAKE-make}
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
++$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
++if ${am_cv_make_support_nested_variables+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if $as_echo 'TRUE=$(BAR$(V))
++BAR0=false
++BAR1=true
++V=1
++am__doit:
++	@$(TRUE)
++.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
++  am_cv_make_support_nested_variables=yes
++else
++  am_cv_make_support_nested_variables=no
++fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
++$as_echo "$am_cv_make_support_nested_variables" >&6; }
++if test $am_cv_make_support_nested_variables = yes; then
++    AM_V='$(V)'
++  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
++else
++  AM_V=$AM_DEFAULT_VERBOSITY
++  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
++fi
++AM_BACKSLASH='\'
++
+ if test "`cd $srcdir && pwd`" != "`pwd`"; then
+   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+   # is not polluted with repeated "-I."
+@@ -3096,19 +3135,70 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_ru
+ 
+ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+ 
+-mkdir_p="$MKDIR_P"
++# For better backward compatibility.  To be removed once Automake 1.9.x
++# dies out for good.  For more background, see:
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++mkdir_p='$(MKDIR_P)'
++
+ # We need awk for the "check" target.  The system "awk" is bad on
+ # some platforms.
+ # Always define AMTAR for backward compatibility.  Yes, it's still used
+ # in the wild :-(  We should find a proper way to deprecate it ...
+ AMTAR='$${TAR-tar}'
+ 
++
++# We'll loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar  pax cpio none'
++
+ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+ 
+ 
+ 
+ 
+ 
++
++# POSIX will say in a future version that running "rm -f" with no argument
++# is OK; and we want to be able to make that assumption in our Makefile
++# recipes.  So use an aggressive probe to check that the usage we want is
++# actually supported "in the wild" to an acceptable degree.
++# See automake bug#10828.
++# To make any issue more visible, cause the running configure to be aborted
++# by default if the 'rm' program in use doesn't match our expectations; the
++# user can still override this though.
++if rm -f && rm -fr && rm -rf; then : OK; else
++  cat >&2 <<'END'
++Oops!
++
++Your 'rm' program seems unable to run without file operands specified
++on the command line, even when the '-f' option is present.  This is contrary
++to the behaviour of most rm programs out there, and not conforming with
++the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
++
++Please tell bug-automake at gnu.org about your system, including the value
++of your $PATH and any error possibly output before this message.  This
++can help us improve future automake versions.
++
++END
++  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
++    echo 'Configuration will proceed anyway, since you have set the' >&2
++    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
++    echo >&2
++  else
++    cat >&2 <<'END'
++Aborting the configuration process, to ensure you take notice of the issue.
++
++You can download and install GNU coreutils to get an 'rm' implementation
++that behaves properly: <http://www.gnu.org/software/coreutils/>.
++
++If you want to complete the configuration process using your problematic
++'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
++to "yes", and re-run configure.
++
++END
++    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
++  fi
++fi
+ # Check whether --enable-silent-rules was given.
+ if test "${enable_silent_rules+set}" = set; then :
+   enableval=$enable_silent_rules;
+@@ -4011,6 +4101,65 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
++$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
++if ${am_cv_prog_cc_c_o+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++  # Make sure it works both with $CC and with simple cc.
++  # Following AC_PROG_CC_C_O, we do the test twice because some
++  # compilers refuse to overwrite an existing .o file with -o,
++  # though they will create one.
++  am_cv_prog_cc_c_o=yes
++  for am_i in 1 2; do
++    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
++   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
++   ac_status=$?
++   echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); } \
++         && test -f conftest2.$ac_objext; then
++      : OK
++    else
++      am_cv_prog_cc_c_o=no
++      break
++    fi
++  done
++  rm -f core conftest*
++  unset am_i
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
++$as_echo "$am_cv_prog_cc_c_o" >&6; }
++if test "$am_cv_prog_cc_c_o" != yes; then
++   # Losing compiler, so override with the script.
++   # FIXME: It is wrong to rewrite CC.
++   # But if we don't then we get into trouble of one sort or another.
++   # A longer-term fix would be to have automake use am__CC in this case,
++   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++   CC="$am_aux_dir/compile $CC"
++fi
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++
+ depcc="$CC"   am_compiler_list=
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+@@ -7073,7 +7222,7 @@ ia64-*-hpux*)
+   rm -rf conftest*
+   ;;
+ 
+-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -7091,7 +7240,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ 	  x86_64-*linux*)
+ 	    LD="${LD-ld} -m elf_i386"
+ 	    ;;
+-	  ppc64-*linux*|powerpc64-*linux*)
++	  powerpc64le-*linux*)
++	    LD="${LD-ld} -m elf32lppclinux"
++	    ;;
++	  powerpc64-*linux*)
+ 	    LD="${LD-ld} -m elf32ppclinux"
+ 	    ;;
+ 	  s390x-*linux*)
+@@ -7110,7 +7262,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ 	  x86_64-*linux*)
+ 	    LD="${LD-ld} -m elf_x86_64"
+ 	    ;;
+-	  ppc*-*linux*|powerpc*-*linux*)
++	  powerpcle-*linux*)
++	    LD="${LD-ld} -m elf64lppc"
++	    ;;
++	  powerpc-*linux*)
+ 	    LD="${LD-ld} -m elf64ppc"
+ 	    ;;
+ 	  s390*-*linux*|s390*-*tpf*)
+@@ -11133,10 +11288,14 @@ fi
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -14964,10 +15123,14 @@ fi
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -16040,7 +16203,7 @@ $as_echo "#define BOOST_ALL_NO_LIB /**/"
+ # ======================
+ # Set required ixion api
+ # ======================
+-IXION_REQUIRED_API_VERSION=0.8
++IXION_REQUIRED_API_VERSION=0.10
+ 
+ 
+ # =============
+@@ -16049,7 +16212,7 @@ IXION_REQUIRED_API_VERSION=0.8
+ ORCUS_API_VERSION=0.8
+ 
+ 
+-echo "$as_me: this is boost.m4 serial 18" >&5
++echo "$as_me: this is boost.m4 serial 24" >&5
+ boost_save_IFS=$IFS
+ boost_version_req=1.36
+ IFS=.
+@@ -16193,17 +16356,30 @@ $as_echo_n "checking for Boost's header
+ if ${boost_cv_lib_version+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++       ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <boost/version.hpp>
+ boost-lib-version = BOOST_LIB_VERSION
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  grep -v '#' |
++  grep -Ev '^(conftest.cpp| *command-line arguments :)' |
+   tr -d '\r' |
+-  $SED -n -e "/^boost-lib-version = /{s///;s/\"//g;p;q;}" >conftest.i 2>&1; then :
++  tr -s '\n' ' ' |
++  $SED -n -e "/^ *boost-lib-version = /{s///;s/[\" ]//g;p;q;}" >conftest.i 2>&1; then :
+   boost_cv_lib_version=`cat conftest.i`
+ fi
+ rm -rf conftest*
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_version" >&5
+@@ -16212,7 +16387,7 @@ $as_echo "$boost_cv_lib_version" >&6; }
+     boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'`
+     case $boost_major_version in #(
+       '' | *[!0-9]*)
+-        as_fn_error $? "invalid value: boost_major_version=$boost_major_version" "$LINENO" 5
++        as_fn_error $? "invalid value: boost_major_version='$boost_major_version'" "$LINENO" 5
+         ;;
+     esac
+ fi
+@@ -16244,14 +16419,53 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+   # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines
+   # the same defines as GCC's).
+   for i in \
++    "defined __GNUC__ && __GNUC__ == 5 && __GNUC_MINOR__ == 0 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw50" \
++    "defined __GNUC__ && __GNUC__ == 5 && __GNUC_MINOR__ == 0 && !defined __ICC @ gcc50" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 10 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw410" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 10 && !defined __ICC @ gcc410" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw49" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && !defined __ICC @ gcc49" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 8 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw48" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 8 && !defined __ICC @ gcc48" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 7 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw47" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 7 && !defined __ICC @ gcc47" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 6 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw46" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 6 && !defined __ICC @ gcc46" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 5 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw45" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 5 && !defined __ICC @ gcc45" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 4 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw44" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 4 && !defined __ICC @ gcc44" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 3 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw43" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 3 && !defined __ICC @ gcc43" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw42" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && !defined __ICC @ gcc42" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 1 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw41" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 1 && !defined __ICC @ gcc41" \
++    "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && !defined __ICC && \
++  (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
++         || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw40" \
+     "defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && !defined __ICC @ gcc40" \
+     "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \
+      && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
+@@ -16338,6 +16552,11 @@ else
+ fi
+ 
+ # Check whether we do better use `mt' even though we weren't ask to.
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+@@ -16361,6 +16580,11 @@ else
+   boost_guess_use_mt=false
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
+ if test x"$boost_cv_inc_path" = xno; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for the Boost system library" >&5
+@@ -16402,13 +16626,6 @@ fi
+ 
+ boost_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+-# Now let's try to find the library.  The algorithm is as follows: first look
+-# for a given library name according to the user's PREFERRED-RT-OPT.  For each
+-# library name, we prefer to use the ones that carry the tag (toolset name).
+-# Each library is searched through the various standard paths were Boost is
+-# usually installed.  If we can't find the standard variants, we try to
+-# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+-# but there's -obviously- libboost_threads-mt.dylib).
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Boost system library" >&5
+ $as_echo_n "checking for the Boost system library... " >&6; }
+ if ${boost_cv_lib_system+:} false; then :
+@@ -16416,19 +16633,19 @@ if ${boost_cv_lib_system+:} false; then
+ else
+   boost_cv_lib_system=no
+   case "" in #(
+-    mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
+-    mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
+-    *) boost_mt=; boost_rtopt=;;
++    (mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
++    (mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
++    (*) boost_mt=; boost_rtopt=;;
+   esac
+   if test $enable_static_boost = yes; then
+     boost_rtopt="s$boost_rtopt"
+   fi
+   # Find the proper debug variant depending on what we've been asked to find.
+   case $boost_rtopt in #(
+-    *d*) boost_rt_d=$boost_rtopt;; #(
+-    *[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
++    (*d*) boost_rt_d=$boost_rtopt;; #(
++    (*[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
+       boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #(
+-    *) boost_rt_d='-d';;
++    (*) boost_rt_d='-d';;
+   esac
+   # If the PREFERRED-RT-OPT are not empty, prepend a `-'.
+   test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
+@@ -16459,21 +16676,22 @@ fi
+ rm -f core conftest.err conftest.$ac_objext
+   ac_objext=$boost_save_ac_objext
+   boost_failed_libs=
+-# Don't bother to ident the 6 nested for loops, only the 2 innermost ones
+-# matter.
++# Don't bother to ident the following nested for loops, only the 2
++# innermost ones matter.
++for boost_lib_ in system; do
+ for boost_tag_ in -$boost_cv_lib_tag ''; do
+ for boost_ver_ in -$boost_cv_lib_version ''; do
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_system$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+-    boost_system$boost_tag_$boost_rtopt_$boost_ver_ \
+-    boost_system$boost_tag_$boost_mt_$boost_ver_ \
+-    boost_system$boost_tag_$boost_ver_
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_ver_
+   do
+     # Avoid testing twice the same lib
+     case $boost_failed_libs in #(
+-      *@$boost_lib@*) continue;;
++      (*@$boost_lib@*) continue;;
+     esac
+     # If with_boost is empty, we'll search in /lib first, which is not quite
+     # right so instead we'll try to a location based on where the headers are.
+@@ -16483,14 +16701,17 @@ for boost_rtopt_ in $boost_rtopt '' -d;
+              /opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \
+              "$with_boost" C:/Boost/lib /lib*
+     do
+-      test -e "$boost_ldpath" || continue
++      # Don't waste time with directories that don't exist.
++      if test x"$boost_ldpath" != x && test ! -e "$boost_ldpath"; then
++        continue
++      fi
+       boost_save_LDFLAGS=$LDFLAGS
+       # Are we looking for a static library?
+       case $boost_ldpath:$boost_rtopt_ in #(
+-        *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
++        (*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
+           boost_cv_lib_system_LIBS="$boost_ldpath/lib$boost_lib.$libext"
+           test -e "$boost_cv_lib_system_LIBS" || continue;; #(
+-        *) # No: use -lboost_foo to find the shared library.
++        (*) # No: use -lboost_foo to find the shared library.
+           boost_cv_lib_system_LIBS="-l$boost_lib";;
+       esac
+       boost_save_LIBS=$LIBS
+@@ -16519,11 +16740,11 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_cv_lib_system=yes
+ else
+@@ -16542,17 +16763,22 @@ rm -f core conftest.err conftest_ipa8_co
+       LDFLAGS=$boost_save_LDFLAGS
+       LIBS=$boost_save_LIBS
+       if test x"$boost_cv_lib_system" = xyes; then
+-        # Check or used cached result of whether or not using -R or -rpath makes sense.
+-        # Some implementations of ld, such as for Mac OSX, require -rpath but
+-        # -R is the flag known to work on other systems.
+-        # https://github.com/tsuna/boost.m4/issues/19
++        # Check or used cached result of whether or not using -R or
++        # -rpath makes sense.  Some implementations of ld, such as for
++        # Mac OSX, require -rpath but -R is the flag known to work on
++        # other systems.  https://github.com/tsuna/boost.m4/issues/19
+         if ${boost_cv_rpath_link_ldflag+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
+-            LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+-            LIBS="$boost_save_LIBS $boost_cv_lib_system_LIBS"
+-            rm -f conftest$ac_exeext
++  case $boost_ldpath in
++           '') # Nothing to do.
++             boost_cv_rpath_link_ldflag=
++             boost_rpath_link_ldflag_found=yes;;
++           *)
++            for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
++              LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++              LIBS="$boost_save_LIBS $boost_cv_lib_system_LIBS"
++              rm -f conftest$ac_exeext
+ boost_save_ac_ext=$ac_ext
+ boost_use_source=:
+ # If we already have a .o, re-use it.  We change $ac_ext so that $ac_link
+@@ -16575,14 +16801,14 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_rpath_link_ldflag_found=yes
+-              break
++                break
+ else
+   if $boost_use_source; then
+          $as_echo "$as_me: failed program was:" >&5
+@@ -16595,7 +16821,9 @@ ac_objext=$boost_save_ac_objext
+ ac_ext=$boost_save_ac_ext
+ rm -f core conftest.err conftest_ipa8_conftest.oo \
+       conftest$ac_exeext
+-          done
++            done
++            ;;
++          esac
+           if test "x$boost_rpath_link_ldflag_found" != "xyes"; then :
+   as_fn_error $? "Unable to determine whether to use -R or -rpath" "$LINENO" 5
+ fi
+@@ -16604,9 +16832,10 @@ fi
+ 
+ fi
+ 
+-        boost_cv_lib_system_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++        test x"$boost_ldpath" != x &&
++          boost_cv_lib_system_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+         boost_cv_lib_system_LDPATH="$boost_ldpath"
+-        break 6
++        break 7
+       else
+         boost_failed_libs="$boost_failed_libs@$boost_lib@"
+       fi
+@@ -16616,13 +16845,14 @@ done
+ done
+ done
+ done
++done # boost_lib_
+ rm -f conftest.$ac_objext
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_system" >&5
+ $as_echo "$boost_cv_lib_system" >&6; }
+ case $boost_cv_lib_system in #(
+-  no) $as_echo "$as_me: failed program was:" >&5
++  (no) $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+     as_fn_error $? "cannot find the flags to link with Boost system" "$LINENO" 5
+@@ -16650,11 +16880,11 @@ fi
+ if test "${enable_werror+set}" = set; then :
+   enableval=$enable_werror; enable_werror="$enableval"
+ else
+-  enable_werror=yes
++  enable_werror=no
+ 
+ fi
+ 
+-if test x"$enable_werror" != "xno"; then :
++if test x"$enable_werror" == "xyes"; then :
+ 
+ 	CXXFLAGS="$CXXFLAGS -Werror"
+ 
+@@ -16936,13 +17166,6 @@ fi
+ 
+ boost_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+-# Now let's try to find the library.  The algorithm is as follows: first look
+-# for a given library name according to the user's PREFERRED-RT-OPT.  For each
+-# library name, we prefer to use the ones that carry the tag (toolset name).
+-# Each library is searched through the various standard paths were Boost is
+-# usually installed.  If we can't find the standard variants, we try to
+-# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+-# but there's -obviously- libboost_threads-mt.dylib).
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Boost iostreams library" >&5
+ $as_echo_n "checking for the Boost iostreams library... " >&6; }
+ if ${boost_cv_lib_iostreams+:} false; then :
+@@ -16950,19 +17173,19 @@ if ${boost_cv_lib_iostreams+:} false; th
+ else
+   boost_cv_lib_iostreams=no
+   case "" in #(
+-    mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
+-    mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
+-    *) boost_mt=; boost_rtopt=;;
++    (mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
++    (mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
++    (*) boost_mt=; boost_rtopt=;;
+   esac
+   if test $enable_static_boost = yes; then
+     boost_rtopt="s$boost_rtopt"
+   fi
+   # Find the proper debug variant depending on what we've been asked to find.
+   case $boost_rtopt in #(
+-    *d*) boost_rt_d=$boost_rtopt;; #(
+-    *[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
++    (*d*) boost_rt_d=$boost_rtopt;; #(
++    (*[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
+       boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #(
+-    *) boost_rt_d='-d';;
++    (*) boost_rt_d='-d';;
+   esac
+   # If the PREFERRED-RT-OPT are not empty, prepend a `-'.
+   test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
+@@ -16993,21 +17216,22 @@ fi
+ rm -f core conftest.err conftest.$ac_objext
+   ac_objext=$boost_save_ac_objext
+   boost_failed_libs=
+-# Don't bother to ident the 6 nested for loops, only the 2 innermost ones
+-# matter.
++# Don't bother to ident the following nested for loops, only the 2
++# innermost ones matter.
++for boost_lib_ in iostreams; do
+ for boost_tag_ in -$boost_cv_lib_tag ''; do
+ for boost_ver_ in -$boost_cv_lib_version ''; do
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_iostreams$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+-    boost_iostreams$boost_tag_$boost_rtopt_$boost_ver_ \
+-    boost_iostreams$boost_tag_$boost_mt_$boost_ver_ \
+-    boost_iostreams$boost_tag_$boost_ver_
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_ver_
+   do
+     # Avoid testing twice the same lib
+     case $boost_failed_libs in #(
+-      *@$boost_lib@*) continue;;
++      (*@$boost_lib@*) continue;;
+     esac
+     # If with_boost is empty, we'll search in /lib first, which is not quite
+     # right so instead we'll try to a location based on where the headers are.
+@@ -17017,14 +17241,17 @@ for boost_rtopt_ in $boost_rtopt '' -d;
+              /opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \
+              "$with_boost" C:/Boost/lib /lib*
+     do
+-      test -e "$boost_ldpath" || continue
++      # Don't waste time with directories that don't exist.
++      if test x"$boost_ldpath" != x && test ! -e "$boost_ldpath"; then
++        continue
++      fi
+       boost_save_LDFLAGS=$LDFLAGS
+       # Are we looking for a static library?
+       case $boost_ldpath:$boost_rtopt_ in #(
+-        *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
++        (*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
+           boost_cv_lib_iostreams_LIBS="$boost_ldpath/lib$boost_lib.$libext"
+           test -e "$boost_cv_lib_iostreams_LIBS" || continue;; #(
+-        *) # No: use -lboost_foo to find the shared library.
++        (*) # No: use -lboost_foo to find the shared library.
+           boost_cv_lib_iostreams_LIBS="-l$boost_lib";;
+       esac
+       boost_save_LIBS=$LIBS
+@@ -17053,11 +17280,11 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_cv_lib_iostreams=yes
+ else
+@@ -17076,17 +17303,22 @@ rm -f core conftest.err conftest_ipa8_co
+       LDFLAGS=$boost_save_LDFLAGS
+       LIBS=$boost_save_LIBS
+       if test x"$boost_cv_lib_iostreams" = xyes; then
+-        # Check or used cached result of whether or not using -R or -rpath makes sense.
+-        # Some implementations of ld, such as for Mac OSX, require -rpath but
+-        # -R is the flag known to work on other systems.
+-        # https://github.com/tsuna/boost.m4/issues/19
++        # Check or used cached result of whether or not using -R or
++        # -rpath makes sense.  Some implementations of ld, such as for
++        # Mac OSX, require -rpath but -R is the flag known to work on
++        # other systems.  https://github.com/tsuna/boost.m4/issues/19
+         if ${boost_cv_rpath_link_ldflag+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
+-            LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+-            LIBS="$boost_save_LIBS $boost_cv_lib_iostreams_LIBS"
+-            rm -f conftest$ac_exeext
++  case $boost_ldpath in
++           '') # Nothing to do.
++             boost_cv_rpath_link_ldflag=
++             boost_rpath_link_ldflag_found=yes;;
++           *)
++            for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
++              LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++              LIBS="$boost_save_LIBS $boost_cv_lib_iostreams_LIBS"
++              rm -f conftest$ac_exeext
+ boost_save_ac_ext=$ac_ext
+ boost_use_source=:
+ # If we already have a .o, re-use it.  We change $ac_ext so that $ac_link
+@@ -17109,14 +17341,14 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_rpath_link_ldflag_found=yes
+-              break
++                break
+ else
+   if $boost_use_source; then
+          $as_echo "$as_me: failed program was:" >&5
+@@ -17129,7 +17361,9 @@ ac_objext=$boost_save_ac_objext
+ ac_ext=$boost_save_ac_ext
+ rm -f core conftest.err conftest_ipa8_conftest.oo \
+       conftest$ac_exeext
+-          done
++            done
++            ;;
++          esac
+           if test "x$boost_rpath_link_ldflag_found" != "xyes"; then :
+   as_fn_error $? "Unable to determine whether to use -R or -rpath" "$LINENO" 5
+ fi
+@@ -17138,9 +17372,10 @@ fi
+ 
+ fi
+ 
+-        boost_cv_lib_iostreams_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++        test x"$boost_ldpath" != x &&
++          boost_cv_lib_iostreams_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+         boost_cv_lib_iostreams_LDPATH="$boost_ldpath"
+-        break 6
++        break 7
+       else
+         boost_failed_libs="$boost_failed_libs@$boost_lib@"
+       fi
+@@ -17150,13 +17385,14 @@ done
+ done
+ done
+ done
++done # boost_lib_
+ rm -f conftest.$ac_objext
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_iostreams" >&5
+ $as_echo "$boost_cv_lib_iostreams" >&6; }
+ case $boost_cv_lib_iostreams in #(
+-  no) $as_echo "$as_me: failed program was:" >&5
++  (no) $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+     as_fn_error $? "cannot find the flags to link with Boost iostreams" "$LINENO" 5
+@@ -17221,13 +17457,6 @@ fi
+ 
+ boost_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+-# Now let's try to find the library.  The algorithm is as follows: first look
+-# for a given library name according to the user's PREFERRED-RT-OPT.  For each
+-# library name, we prefer to use the ones that carry the tag (toolset name).
+-# Each library is searched through the various standard paths were Boost is
+-# usually installed.  If we can't find the standard variants, we try to
+-# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+-# but there's -obviously- libboost_threads-mt.dylib).
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Boost program_options library" >&5
+ $as_echo_n "checking for the Boost program_options library... " >&6; }
+ if ${boost_cv_lib_program_options+:} false; then :
+@@ -17235,19 +17464,19 @@ if ${boost_cv_lib_program_options+:} fal
+ else
+   boost_cv_lib_program_options=no
+   case "" in #(
+-    mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
+-    mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
+-    *) boost_mt=; boost_rtopt=;;
++    (mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
++    (mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X" : 'Xmt-*\(.*\)'`;; #(
++    (*) boost_mt=; boost_rtopt=;;
+   esac
+   if test $enable_static_boost = yes; then
+     boost_rtopt="s$boost_rtopt"
+   fi
+   # Find the proper debug variant depending on what we've been asked to find.
+   case $boost_rtopt in #(
+-    *d*) boost_rt_d=$boost_rtopt;; #(
+-    *[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
++    (*d*) boost_rt_d=$boost_rtopt;; #(
++    (*[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
+       boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #(
+-    *) boost_rt_d='-d';;
++    (*) boost_rt_d='-d';;
+   esac
+   # If the PREFERRED-RT-OPT are not empty, prepend a `-'.
+   test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
+@@ -17278,21 +17507,22 @@ fi
+ rm -f core conftest.err conftest.$ac_objext
+   ac_objext=$boost_save_ac_objext
+   boost_failed_libs=
+-# Don't bother to ident the 6 nested for loops, only the 2 innermost ones
+-# matter.
++# Don't bother to ident the following nested for loops, only the 2
++# innermost ones matter.
++for boost_lib_ in program_options; do
+ for boost_tag_ in -$boost_cv_lib_tag ''; do
+ for boost_ver_ in -$boost_cv_lib_version ''; do
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_program_options$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+-    boost_program_options$boost_tag_$boost_rtopt_$boost_ver_ \
+-    boost_program_options$boost_tag_$boost_mt_$boost_ver_ \
+-    boost_program_options$boost_tag_$boost_ver_
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
++    boost_$boost_lib_$boost_tag_$boost_ver_
+   do
+     # Avoid testing twice the same lib
+     case $boost_failed_libs in #(
+-      *@$boost_lib@*) continue;;
++      (*@$boost_lib@*) continue;;
+     esac
+     # If with_boost is empty, we'll search in /lib first, which is not quite
+     # right so instead we'll try to a location based on where the headers are.
+@@ -17302,14 +17532,17 @@ for boost_rtopt_ in $boost_rtopt '' -d;
+              /opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \
+              "$with_boost" C:/Boost/lib /lib*
+     do
+-      test -e "$boost_ldpath" || continue
++      # Don't waste time with directories that don't exist.
++      if test x"$boost_ldpath" != x && test ! -e "$boost_ldpath"; then
++        continue
++      fi
+       boost_save_LDFLAGS=$LDFLAGS
+       # Are we looking for a static library?
+       case $boost_ldpath:$boost_rtopt_ in #(
+-        *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
++        (*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
+           boost_cv_lib_program_options_LIBS="$boost_ldpath/lib$boost_lib.$libext"
+           test -e "$boost_cv_lib_program_options_LIBS" || continue;; #(
+-        *) # No: use -lboost_foo to find the shared library.
++        (*) # No: use -lboost_foo to find the shared library.
+           boost_cv_lib_program_options_LIBS="-l$boost_lib";;
+       esac
+       boost_save_LIBS=$LIBS
+@@ -17338,11 +17571,11 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_cv_lib_program_options=yes
+ else
+@@ -17361,17 +17594,22 @@ rm -f core conftest.err conftest_ipa8_co
+       LDFLAGS=$boost_save_LDFLAGS
+       LIBS=$boost_save_LIBS
+       if test x"$boost_cv_lib_program_options" = xyes; then
+-        # Check or used cached result of whether or not using -R or -rpath makes sense.
+-        # Some implementations of ld, such as for Mac OSX, require -rpath but
+-        # -R is the flag known to work on other systems.
+-        # https://github.com/tsuna/boost.m4/issues/19
++        # Check or used cached result of whether or not using -R or
++        # -rpath makes sense.  Some implementations of ld, such as for
++        # Mac OSX, require -rpath but -R is the flag known to work on
++        # other systems.  https://github.com/tsuna/boost.m4/issues/19
+         if ${boost_cv_rpath_link_ldflag+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
+-            LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+-            LIBS="$boost_save_LIBS $boost_cv_lib_program_options_LIBS"
+-            rm -f conftest$ac_exeext
++  case $boost_ldpath in
++           '') # Nothing to do.
++             boost_cv_rpath_link_ldflag=
++             boost_rpath_link_ldflag_found=yes;;
++           *)
++            for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
++              LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++              LIBS="$boost_save_LIBS $boost_cv_lib_program_options_LIBS"
++              rm -f conftest$ac_exeext
+ boost_save_ac_ext=$ac_ext
+ boost_use_source=:
+ # If we already have a .o, re-use it.  We change $ac_ext so that $ac_link
+@@ -17394,14 +17632,14 @@ $as_echo "$ac_try_echo"; } >&5
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
+-	 test ! -s conftest.err
++         test -z "$ac_cxx_werror_flag" ||
++         test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+-	 test "$cross_compiling" = yes ||
+-	 $as_executable_p conftest$ac_exeext
++         test "$cross_compiling" = yes ||
++         $as_executable_p conftest$ac_exeext
+        }; then :
+   boost_rpath_link_ldflag_found=yes
+-              break
++                break
+ else
+   if $boost_use_source; then
+          $as_echo "$as_me: failed program was:" >&5
+@@ -17414,7 +17652,9 @@ ac_objext=$boost_save_ac_objext
+ ac_ext=$boost_save_ac_ext
+ rm -f core conftest.err conftest_ipa8_conftest.oo \
+       conftest$ac_exeext
+-          done
++            done
++            ;;
++          esac
+           if test "x$boost_rpath_link_ldflag_found" != "xyes"; then :
+   as_fn_error $? "Unable to determine whether to use -R or -rpath" "$LINENO" 5
+ fi
+@@ -17423,9 +17663,10 @@ fi
+ 
+ fi
+ 
+-        boost_cv_lib_program_options_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
++        test x"$boost_ldpath" != x &&
++          boost_cv_lib_program_options_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+         boost_cv_lib_program_options_LDPATH="$boost_ldpath"
+-        break 6
++        break 7
+       else
+         boost_failed_libs="$boost_failed_libs@$boost_lib@"
+       fi
+@@ -17435,13 +17676,14 @@ done
+ done
+ done
+ done
++done # boost_lib_
+ rm -f conftest.$ac_objext
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_program_options" >&5
+ $as_echo "$boost_cv_lib_program_options" >&6; }
+ case $boost_cv_lib_program_options in #(
+-  no) $as_echo "$as_me: failed program was:" >&5
++  (no) $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+     as_fn_error $? "cannot find the flags to link with Boost program_options" "$LINENO" 5
+@@ -17465,7 +17707,7 @@ fi
+ # added as of 1.35.0.  If we have a version <1.35, we must not attempt to

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list