Rebased ref, commits from common ancestor:
commit df87f0aa08861e53f0d05997fe347d982a3b2f74
Author: Michael Stahl <[email protected]>
AuthorDate: Fri Jan 17 14:56:13 2025 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:21:41 2025 +0100
sw: HTML import: apply hard formatting at insert position ...
... even if the paragraph style contains the same item, but with a
different value.
Surprisingly, SfxItemSet::Differentiate() doesn't actually compare if
the items in the 2 sets have the same value, just that 2 items with the
same WhichId exist.
Also, apply paragraph attributes, except list and breaks and other ones.
(follow-up to commit f45d2fa85ba89eb7d71b51c3324f5938509b3201)
(cherry-pick of commit f8126c5d93f2807030da20e2de39f3c72c92e7d3)
Change-Id: I1e11705f63c1f059e2f5baa658238f2d62f6c66c
diff --git a/sw/qa/extras/uiwriter/data/placeholder-bold-style-override.fodt
b/sw/qa/extras/uiwriter/data/placeholder-bold-style-override.fodt
new file mode 100644
index 000000000000..aed6e40f6648
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/placeholder-bold-style-override.fodt
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<office:document xmlns:css3t="http://www.w3.org/TR/css3-text/"
xmlns:grddl="http://www.w3.org/2003/g/data-view#"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:dom="http://www.w3.org/2001/xml-events"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:ooo="http://openoffice.org/2004/office"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
xmlns:ooow="http://openoffice.org/2004/writer"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:drawooo="http://openoffice.org/2010/draw"
xmlns:oooc="http://openoffice.org/2004/calc"
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:c
alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
xmlns:tableooo="http://openoffice.org/2009/table"
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:rpt="http://openoffice.org/2005/report"
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:officeooo="http://openoffice.org/2009/office"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
meta:1.0"
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+
<office:meta><meta:creation-date>2024-08-08T18:32:28.420082817</meta:creation-date><dc:date>2024-08-08T18:33:51.021911316</dc:date><meta:editing-duration>PT1M27S</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic
meta:table-count="0" meta:image-count="0" meta:object-count="0"
meta:page-count="1" meta:paragraph-count="1" meta:word-count="3"
meta:character-count="21"
meta:non-whitespace-character-count="19"/><meta:generator>ZetaOffice/7.4.8.0.0$Linux_X86_64
LibreOffice_project/ab7057b1137e2241f51e62b58a0c605ec9a4b29c</meta:generator></office:meta>
+ <office:font-face-decls>
+ <style:font-face style:name="Arial Unicode MS1" svg:font-family="'Arial
Unicode MS'" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation
Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
+ <style:font-face style:name="Noto Serif CJK SC" svg:font-family="'Noto Serif
CJK SC'" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Arial" svg:font-family="Arial"/>
+ <style:font-face style:name="Arial2" svg:font-family="Arial"
style:font-family-generic="roman" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+ <style:default-style style:family="graphic">
+ <style:graphic-properties svg:stroke-color="#3465a4"
draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm"
draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm"
draw:start-line-spacing-vertical="0.283cm"
draw:end-line-spacing-horizontal="0.283cm"
draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
+ <style:paragraph-properties style:text-autospace="ideograph-alpha"
style:line-break="strict" style:writing-mode="lr-tb"
style:font-independent-line-spacing="false">
+ <style:tab-stops/>
+ </style:paragraph-properties>
+ <style:text-properties style:use-window-font-color="true"
loext:opacity="0%" loext:color-lum-mod="100%" loext:color-lum-off="0%"
style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de"
fo:country="DE" style:letter-kerning="true" style:font-name-asian="Noto Serif
CJK SC" style:font-size-asian="10.5pt" style:language-asian="zh"
style:country-asian="CN" style:font-name-complex="Arial Unicode MS1"
style:font-size-complex="12pt" style:language-complex="hi"
style:country-complex="IN"/>
+ </style:default-style>
+ <style:default-style style:family="paragraph">
+ <style:paragraph-properties fo:orphans="2" fo:widows="2"
fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha"
style:punctuation-wrap="hanging" style:line-break="strict"
style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
+ <style:text-properties style:use-window-font-color="true"
loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt"
fo:language="de" fo:country="DE" style:letter-kerning="true"
style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt"
style:language-asian="zh" style:country-asian="CN"
style:font-name-complex="Arial Unicode MS1" style:font-size-complex="12pt"
style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false"
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"
loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false"
loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/>
+ </style:default-style>
+ <style:default-style style:family="table">
+ <style:table-properties table:border-model="collapsing"/>
+ </style:default-style>
+ <style:default-style style:family="table-row">
+ <style:table-row-properties fo:keep-together="auto"/>
+ </style:default-style>
+ <style:style style:name="Standard" style:family="paragraph"
style:class="text">
+ <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"
loext:contextual-spacing="false" fo:text-align="start"
style:justify-single-word="false" fo:orphans="2" fo:widows="2"
style:writing-mode="lr-tb"/>
+ <style:text-properties style:font-name="Arial" fo:font-family="Arial"
style:font-family-generic="roman" style:font-pitch="variable"
fo:font-size="9pt" fo:font-weight="bold" style:font-size-asian="9pt"
style:font-weight-asian="bold" style:font-name-complex="Arial2"
style:font-family-complex="Arial" style:font-family-generic-complex="system"
style:font-pitch-complex="variable" style:font-size-complex="9pt"/>
+ </style:style>
+ <style:style style:name="Text_20_body" style:display-name="Text body"
style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+ <style:paragraph-properties fo:text-align="center"
style:justify-single-word="false"/>
+ </style:style>
+
+ <text:outline-style style:name="Outline">
+ <text:outline-level-style text:level="1" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="2" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="3" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="4" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="5" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="6" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="7" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="8" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="9" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ <text:outline-level-style text:level="10" style:num-format="">
+ <style:list-level-properties
text:list-level-position-and-space-mode="label-alignment">
+ <style:list-level-label-alignment text:label-followed-by="listtab"/>
+ </style:list-level-properties>
+ </text:outline-level-style>
+ </text:outline-style>
+ <text:notes-configuration text:note-class="footnote" style:num-format="1"
text:start-value="0" text:footnotes-position="page"
text:start-numbering-at="document"/>
+ <text:notes-configuration text:note-class="endnote" style:num-format="i"
text:start-value="0"/>
+ <text:linenumbering-configuration text:number-lines="false"
text:offset="0.499cm" style:num-format="1" text:number-position="left"
text:increment="5"/>
+ </office:styles>
+ <office:automatic-styles>
+ <style:style style:name="P114" style:family="paragraph"
style:parent-style-name="Standard">
+ <style:paragraph-properties fo:text-align="start"
style:justify-single-word="false" fo:orphans="0" fo:widows="0"/>
+ <style:text-properties fo:font-weight="normal"
style:font-weight-asian="normal" style:font-name-complex="Arial2"
style:font-size-complex="9pt" style:font-weight-complex="normal"/>
+ </style:style>
+ <style:page-layout style:name="pm1">
+ <style:page-layout-properties fo:page-width="21.001cm"
fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait"
fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm"
fo:margin-right="2cm" style:writing-mode="lr-tb"
style:footnote-max-height="0cm" loext:margin-gutter="0cm">
+ <style:footnote-sep style:width="0.018cm"
style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm"
style:line-style="solid" style:adjustment="left" style:rel-width="25%"
style:color="#000000"/>
+ </style:page-layout-properties>
+ <style:header-style/>
+ <style:footer-style/>
+ </style:page-layout>
+ </office:automatic-styles>
+ <office:master-styles>
+ <style:master-page style:name="Standard" style:page-layout-name="pm1"/>
+ </office:master-styles>
+ <office:body>
+ <office:text>
+ <text:sequence-decls>
+ <text:sequence-decl text:display-outline-level="0"
text:name="Illustration"/>
+ <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+ <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+ <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+ <text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
+ </text:sequence-decls>
+ <text:p text:style-name="P114">MEINPLATZHALTER</text:p>
+ </office:text>
+ </office:body>
+</office:document>
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx
b/sw/qa/extras/uiwriter/uiwriter.cxx
index 2d04c9cd7be5..f3285e9aaa9f 100755
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -14,6 +14,7 @@
#include <com/sun/star/i18n/TextConversionOption.hpp>
#include <com/sun/star/frame/DispatchHelper.hpp>
#include <com/sun/star/style/CaseMap.hpp>
+#include <com/sun/star/style/ParagraphAdjust.hpp>
#include <vcl/errcode.hxx>
#include <swmodeltestbase.hxx>
#include <ndtxt.hxx>
@@ -266,6 +267,7 @@ public:
void testTdf113877_Standard_style();
void testPlaceholderHTMLPaste();
void testPlaceholderHTMLInsert();
+ void testPlaceholderHTMLPasteStyleOverride();
CPPUNIT_TEST_SUITE(SwUiWriterTest);
CPPUNIT_TEST(testReplaceForward);
@@ -414,6 +416,7 @@ public:
CPPUNIT_TEST(testTdf113877_Standard_style);
CPPUNIT_TEST(testPlaceholderHTMLPaste);
CPPUNIT_TEST(testPlaceholderHTMLInsert);
+ CPPUNIT_TEST(testPlaceholderHTMLPasteStyleOverride);
CPPUNIT_TEST_SUITE_END();
private:
@@ -5261,6 +5264,62 @@ void SwUiWriterTest::testPlaceholderHTMLInsert()
getProperty<float>(getRun(getParagraph(4), 1, " test"), "CharWeight"));
}
+void SwUiWriterTest::testPlaceholderHTMLPasteStyleOverride()
+{
+ {
+ SwDoc *const pDoc = createDoc();
+
+ SwWrtShell* const pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+ pWrtShell->Insert("AAA");
+ pWrtShell->SplitNode();
+ pWrtShell->Insert("BBB");
+
+ lcl_dispatchCommand(mxComponent, ".uno:SelectAll", {});
+ lcl_dispatchCommand(mxComponent, ".uno:Copy", {});
+ }
+
+ SwDoc *const pDoc = createDoc("placeholder-bold-style-override.fodt");
+
+ // select placeholder field
+ SwWrtShell* const pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+ pWrtShell->Right(CRSR_SKIP_CHARS, /*bSelect=*/true, 15,
/*bBasicCall=*/false);
+
+ // Paste special as HTML
+ uno::Sequence<beans::PropertyValue> aPropertyValues =
comphelper::InitPropertySequence(
+ { { "SelectedFormat",
uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::HTML)) } });
+
+ lcl_dispatchCommand(mxComponent, ".uno:ClipboardFormatItems",
aPropertyValues);
+
+ // style sets it to bold
+ uno::Reference<style::XStyleFamiliesSupplier> xSFS(mxComponent,
uno::UNO_QUERY);
+ uno::Reference<container::XNameContainer> xStyles(
+ xSFS->getStyleFamilies()->getByName("ParagraphStyles"),
uno::UNO_QUERY);
+ uno::Reference<beans::XPropertySet>
xStandard(xStyles->getByName("Standard"), uno::UNO_QUERY);
+ uno::Reference<beans::XPropertySet> xTextbody(xStyles->getByName("Text
body"), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(awt::FontWeight::BOLD, getProperty<float>(xStandard,
"CharWeight"));
+ CPPUNIT_ASSERT_EQUAL(awt::FontWeight::BOLD, getProperty<float>(xTextbody,
"CharWeight"));
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(style::ParagraphAdjust_CENTER),
+ getProperty<sal_Int16>(xTextbody, "ParaAdjust"));
+
+ CPPUNIT_ASSERT_EQUAL(int(3), getParagraphs());
+
+ // but hard formatting overrides to normal
+ CPPUNIT_ASSERT_EQUAL(
+ awt::FontWeight::NORMAL,
+ getProperty<float>(getRun(getParagraph(1), 1, "AAA"), "CharWeight"));
+ CPPUNIT_ASSERT_EQUAL(
+ awt::FontWeight::NORMAL,
+ getProperty<float>(getRun(getParagraph(2), 1, "BBB"), "CharWeight"));
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(style::ParagraphAdjust_LEFT),
+ getProperty<sal_Int16>(getParagraph(1),
"ParaAdjust"));
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(style::ParagraphAdjust_LEFT),
+ getProperty<sal_Int16>(getParagraph(2),
"ParaAdjust"));
+ CPPUNIT_ASSERT_EQUAL(OUString("Text body"),
+ getProperty<OUString>(getParagraph(1),
"ParaStyleName"));
+ CPPUNIT_ASSERT_EQUAL(OUString("Text body"),
+ getProperty<OUString>(getParagraph(2),
"ParaStyleName"));
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 5cf00d312615..107ffc5645ce 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -34,6 +34,7 @@
#include <vcl/errinf.hxx>
#include <svl/stritem.hxx>
+#include <svl/itemiter.hxx>
#include <svtools/imap.hxx>
#include <svtools/htmltokn.h>
#include <svtools/htmlkywd.hxx>
@@ -520,7 +521,12 @@ SvParserState SwHTMLParser::CallParser()
m_xDoc->getIDocumentRedlineAccess().SplitRedline( aInsertionRangePam );
::std::unique_ptr<SfxItemSet> pSet{new
SfxItemSet(m_xDoc->GetAttrPool(),
- RES_CHRATR_BEGIN, RES_CHRATR_END-1)};
+ RES_CHRATR_BEGIN, RES_CHRATR_END-1,
+ RES_PARATR_BEGIN, RES_PARATR_NUMRULE-1,
+ RES_PARATR_NUMRULE+1, RES_PARATR_CONNECT_BORDER,
+ RES_LR_SPACE, RES_UL_SPACE,
+ XATTR_FILL_FIRST, XATTR_FILL_LAST,
+ 0)};
if (pPos->nNode.GetNode().GetTextNode()->GetAttr(*pSet, 0, 0, false,
false))
{
m_pTargetCharAttrs = std::move(pSet);
@@ -4721,7 +4727,23 @@ void SwHTMLParser::SetTextCollAttrs( HTMLAttrContext
*pContext )
if (m_pTargetCharAttrs)
{
std::unique_ptr<SfxItemSet> const pCharSet(new
SfxItemSet(*m_pTargetCharAttrs));
- pCharSet->Differentiate(pCollToSet->GetAttrSet());
+ std::vector<sal_uInt16> clear;
+ // do not use SfxItemSet::Differentiate(), it doesn't compare values!
+ for (SfxItemIter it{*pCharSet}; !it.IsAtEnd(); it.NextItem())
+ {
+ SfxPoolItem const& rItem{*it.GetCurItem()};
+ if (SfxPoolItem const*const
pItem{pCollToSet->GetAttrSet().GetItem(rItem.Which(), true)})
+ {
+ if (rItem == *pItem)
+ {
+ clear.emplace_back(rItem.Which());
+ }
+ }
+ }
+ for (auto const it : clear)
+ {
+ pCharSet->ClearItem(it);
+ }
m_xDoc->getIDocumentContentOperations().InsertItemSet(*m_pPam,
*pCharSet);
}
commit 95053c40c572961c321487c92232a136ec78b4b2
Author: Miklos Vajna <[email protected]>
AuthorDate: Mon Nov 27 08:02:59 2023 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:16 2025 +0100
tdf#158302 fix build against system-libxml-2.12
Seen in a fedora:40 container, using --with-system-libcmis,
--with-system-liblangtag and --with-system-xmlsec.
Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <[email protected]>
(cherry picked from commit c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161661
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit 764890a53cea2ccb6d2fb6d8c7edb5e1c91ecdc0)
(cherry picked from commit 81cc1e539114cf826f82c3d3718fe0dfacf66a9a)
diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx
b/filter/source/xsltfilter/LibXSLTTransformer.cxx
index 1da4103ddd92..803ddd642938 100644
--- a/filter/source/xsltfilter/LibXSLTTransformer.cxx
+++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx
@@ -317,7 +317,7 @@ namespace XSLT
}
else
{
- xmlErrorPtr lastErr = xmlGetLastError();
+ const xmlError* lastErr = xmlGetLastError();
OUString msg;
if (lastErr)
msg = OUString::createFromAscii(lastErr->message);
diff --git a/helpcompiler/source/HelpLinker.cxx
b/helpcompiler/source/HelpLinker.cxx
index d2e3080ca102..f28335b52245 100644
--- a/helpcompiler/source/HelpLinker.cxx
+++ b/helpcompiler/source/HelpLinker.cxx
@@ -861,11 +861,14 @@ void HelpLinker::main( std::vector<std::string> &args,
// Variable to set an exception in "C" StructuredXMLErrorFunction
static const HelpProcessingException* GpXMLParsingException = nullptr;
-extern "C" void StructuredXMLErrorFunction(void *userData, xmlErrorPtr error)
-{
- (void)userData;
- (void)error;
+extern "C" {
+#if LIBXML_VERSION >= 21200
+static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, const
xmlError* error)
+#else
+static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *,
xmlErrorPtr error)
+#endif
+{
std::string aErrorMsg = error->message;
std::string aXMLParsingFile;
if( error->file != nullptr )
@@ -878,6 +881,8 @@ extern "C" void StructuredXMLErrorFunction(void *userData,
xmlErrorPtr error)
xmlSetStructuredErrorFunc( nullptr, nullptr );
}
+}
+
HelpProcessingErrorInfo& HelpProcessingErrorInfo::operator=( const struct
HelpProcessingException& e )
{
m_eErrorClass = e.m_eErrorClass;
diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
index 804ca252cba7..8e0d62a405f5 100644
--- a/include/xmloff/xmltoken.hxx
+++ b/include/xmloff/xmltoken.hxx
@@ -700,7 +700,7 @@ namespace xmloff { namespace token {
XML_EMBEDDED_VISIBLE_AREA,
XML_EMBOSSED,
XML_EMISSIVE_COLOR,
- XML_EMPTY,
+ XML_TOKEN_EMPTY,
XML_EMPTY_LINE_REFRESH,
XML_ENABLE_NUMBERING,
XML_ENABLED,
diff --git a/opencl/inc/opencl_device_selection.h
b/opencl/inc/opencl_device_selection.h
index f7d592de6e89..ca7107bbdea3 100644
--- a/opencl/inc/opencl_device_selection.h
+++ b/opencl/inc/opencl_device_selection.h
@@ -21,6 +21,7 @@
#include <string.h>
#include <clew/clew.h>
+#include <libxml/parser.h>
#include <libxml/xmlwriter.h>
#include <libxml/xmlstring.h>
#include <tools/stream.hxx>
diff --git a/sax/source/fastparser/fastparser.cxx
b/sax/source/fastparser/fastparser.cxx
index ab2ab0dc63f3..21ef66c49e38 100644
--- a/sax/source/fastparser/fastparser.cxx
+++ b/sax/source/fastparser/fastparser.cxx
@@ -567,7 +567,7 @@ Event& Entity::getEvent( CallbackType aType )
OUString lclGetErrorMessage( xmlParserCtxtPtr ctxt, const OUString& sSystemId,
sal_Int32 nLine )
{
const sal_Char* pMessage;
- xmlErrorPtr error = xmlCtxtGetLastError( ctxt );
+ const xmlError* error = xmlCtxtGetLastError( ctxt );
if( error && error->message )
pMessage = error->message;
else
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
index 5a811d881373..a6df1838853d 100644
--- a/sc/source/core/tool/interpr7.cxx
+++ b/sc/source/core/tool/interpr7.cxx
@@ -32,6 +32,7 @@
#include <cstring>
#include <memory>
+#include <libxml/parser.h>
using namespace com::sun::star;
diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx
b/sc/source/filter/xml/XMLExportDataPilot.cxx
index 37100699b3b2..9df9c4b1ece2 100644
--- a/sc/source/filter/xml/XMLExportDataPilot.cxx
+++ b/sc/source/filter/xml/XMLExportDataPilot.cxx
@@ -127,7 +127,7 @@ void ScXMLExportDataPilot::WriteDPCondition(const
ScQueryEntry& aQueryEntry, boo
if (aQueryEntry.IsQueryByEmpty())
{
- rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR,
GetXMLToken(XML_EMPTY));
+ rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR,
GetXMLToken(XML_TOKEN_EMPTY));
}
else if (aQueryEntry.IsQueryByNonEmpty())
{
diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
index 77d2711bbe2f..c5ba4cfece6c 100644
--- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
+++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
@@ -388,7 +388,7 @@ private:
case SC_EQUAL:
{
if (rEntry.IsQueryByEmpty())
- return GetXMLToken(XML_EMPTY);
+ return GetXMLToken(XML_TOKEN_EMPTY);
else if (rEntry.IsQueryByNonEmpty())
return GetXMLToken(XML_NOEMPTY);
diff --git a/sc/source/filter/xml/xmlfilti.cxx
b/sc/source/filter/xml/xmlfilti.cxx
index 2a846cdab262..144d0ca88da1 100644
--- a/sc/source/filter/xml/xmlfilti.cxx
+++ b/sc/source/filter/xml/xmlfilti.cxx
@@ -399,7 +399,7 @@ void ScXMLConditionContext::GetOperator(
rEntry.eOp = SC_BOTPERC;
else if (IsXMLToken(aOpStr, XML_BOTTOM_VALUES))
rEntry.eOp = SC_BOTVAL;
- else if (IsXMLToken(aOpStr, XML_EMPTY))
+ else if (IsXMLToken(aOpStr, XML_TOKEN_EMPTY))
rEntry.SetQueryByEmpty();
else if (aOpStr == ">")
rEntry.eOp = SC_GREATER;
@@ -843,7 +843,7 @@ void ScXMLDPConditionContext::EndElement()
else
aFilterField.eConnect = SC_AND;
pFilterContext->SetIsCaseSensitive(bIsCaseSensitive);
- if (IsXMLToken(sOperator, XML_EMPTY))
+ if (IsXMLToken(sOperator, XML_TOKEN_EMPTY))
aFilterField.SetQueryByEmpty();
else if (IsXMLToken(sOperator, XML_NOEMPTY))
aFilterField.SetQueryByNonEmpty();
diff --git a/test/source/primitive2dxmldump.cxx
b/test/source/primitive2dxmldump.cxx
index 6523c4c0c971..3f28b412c959 100644
--- a/test/source/primitive2dxmldump.cxx
+++ b/test/source/primitive2dxmldump.cxx
@@ -15,6 +15,8 @@
#include <rtl/strbuf.hxx>
#include <memory>
+#include <libxml/parser.h>
+#include <sal/log.hxx>
#include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
diff --git a/unoxml/source/dom/attr.cxx b/unoxml/source/dom/attr.cxx
index 39cb53230c9a..8655bb2a8f07 100644
--- a/unoxml/source/dom/attr.cxx
+++ b/unoxml/source/dom/attr.cxx
@@ -22,6 +22,7 @@
#include <string.h>
#include <memory>
+#include <libxml/entities.h>
#include <osl/diagnose.h>
diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx
index b9c167ee2486..c514ef71a8da 100644
--- a/unoxml/source/dom/document.cxx
+++ b/unoxml/source/dom/document.cxx
@@ -41,6 +41,7 @@
#include "../events/eventdispatcher.hxx"
#include <string.h>
+#include <libxml/xmlIO.h>
#include <osl/diagnose.h>
diff --git a/unoxml/source/dom/documentbuilder.cxx
b/unoxml/source/dom/documentbuilder.cxx
index 71a6dc6f1785..291fb47347f7 100644
--- a/unoxml/source/dom/documentbuilder.cxx
+++ b/unoxml/source/dom/documentbuilder.cxx
@@ -25,6 +25,7 @@
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
+#include <libxml/parser.h>
#include <memory>
diff --git a/unoxml/source/dom/entity.cxx b/unoxml/source/dom/entity.cxx
index 87d0f9c74efb..9b3a66ef2116 100644
--- a/unoxml/source/dom/entity.cxx
+++ b/unoxml/source/dom/entity.cxx
@@ -22,6 +22,7 @@
#include <osl/diagnose.h>
#include <string.h>
+#include <libxml/entities.h>
using namespace css::uno;
using namespace css::xml::dom;
diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx
index faf243b6ff69..7732f3484a34 100644
--- a/unoxml/source/xpath/xpathapi.cxx
+++ b/unoxml/source/xpath/xpathapi.cxx
@@ -26,6 +26,7 @@
#include <libxml/xmlerror.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
+#include <libxml/xmlIO.h>
#include <rtl/ustrbuf.hxx>
@@ -250,7 +251,7 @@ namespace XPath
return selectSingleNode(contextNode, expr);
}
- static OUString make_error_message(xmlErrorPtr pError)
+ static OUString make_error_message(const xmlError* pError)
{
OUStringBuffer buf;
if (pError) {
@@ -293,7 +294,11 @@ namespace XPath
SAL_WARN("unoxml", "libxml2 error: " << str);
}
+#if LIBXML_VERSION >= 21200
+ static void structured_error_func(void *, const xmlError* error)
+#else
static void structured_error_func(void *, xmlErrorPtr error)
+#endif
{
SAL_WARN("unoxml", "libxml2 error: " << make_error_message(error));
}
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index 1b84a01f7db1..075f74554665 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -701,7 +701,7 @@ namespace xmloff { namespace token {
TOKEN( "embedded-visible-area", XML_EMBEDDED_VISIBLE_AREA ),
TOKEN( "embossed", XML_EMBOSSED ),
TOKEN( "emissive-color", XML_EMISSIVE_COLOR ),
- TOKEN( "empty", XML_EMPTY ),
+ TOKEN( "empty", XML_TOKEN_EMPTY ),
TOKEN( "empty-line-refresh", XML_EMPTY_LINE_REFRESH ),
TOKEN( "enable-numbering", XML_ENABLE_NUMBERING ),
TOKEN( "enabled", XML_ENABLED ),
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
index 8d72a86fe088..44e9840fd2a9 100644
--- a/xmloff/source/draw/sdpropls.cxx
+++ b/xmloff/source/draw/sdpropls.cxx
@@ -76,7 +76,7 @@ using namespace ::xmloff::token;
#define DPMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_DRAWING_PAGE,context)
#define TMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_TEXT,context)
#define PMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_PARAGRAPH,context)
-#define MAP_END() { nullptr, 0, 0, XML_EMPTY, 0 ,0,
SvtSaveOptions::ODFVER_010, false }
+#define MAP_END() { nullptr, 0, 0, XML_TOKEN_EMPTY, 0 ,0,
SvtSaveOptions::ODFVER_010, false }
// entry list for graphic properties
diff --git a/xmloff/source/style/PageMasterStyleMap.cxx
b/xmloff/source/style/PageMasterStyleMap.cxx
index 7b11abbd2795..eda04a909231 100644
--- a/xmloff/source/style/PageMasterStyleMap.cxx
+++ b/xmloff/source/style/PageMasterStyleMap.cxx
@@ -153,7 +153,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
PLMAP( "FootnoteLineRelativeWidth", XML_NAMESPACE_STYLE, XML__EMPTY,
XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_WIDTH ),
PLMAP( "FootnoteLineTextDistance", XML_NAMESPACE_STYLE, XML__EMPTY,
XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_DISTANCE ),
PLMAP( "FootnoteLineWeight", XML_NAMESPACE_STYLE,
XML_FOOTNOTE_SEP, XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM,
CTF_PM_FTN_LINE_WEIGHT ),
- PLMAP( "FootnoteLineStyle", XML_NAMESPACE_STYLE, XML_EMPTY,
XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ),
+ PLMAP( "FootnoteLineStyle", XML_NAMESPACE_STYLE, XML_TOKEN_EMPTY,
XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ),
//////////////////////////////////////////////////////////////////////////
//Index 92: Section for 'header-style' own section, all members *have* to
use CTF_PM_HEADERFLAG in the context entry (the 5th one)
@@ -267,7 +267,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
HFMAP( "FooterFillBitmapOffsetX", XML_NAMESPACE_DRAW,
XML_TILE_REPEAT_OFFSET,
XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY,
CTF_PM_FOOTERREPEAT_OFFSET_X ),
HFMAP( "FooterFillBitmapOffsetY", XML_NAMESPACE_DRAW,
XML_TILE_REPEAT_OFFSET,
XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY,
CTF_PM_FOOTERREPEAT_OFFSET_Y ),
- { nullptr, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false } //
index 190
+ { nullptr, 0, 0, XML_TOKEN_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false
} // index 190
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/source/table/XMLTableExport.cxx
b/xmloff/source/table/XMLTableExport.cxx
index 0971e6fa5d03..e3973f0cf46b 100644
--- a/xmloff/source/table/XMLTableExport.cxx
+++ b/xmloff/source/table/XMLTableExport.cxx
@@ -63,7 +63,7 @@ using namespace ::com::sun::star::style;
#define CMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_COLUMN,context)
#define RMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_ROW,context)
#define CELLMAP(name,prefix,token,type,context)
MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_CELL,context)
-#define MAP_END { nullptr, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010,
false }
+#define MAP_END { nullptr, 0, 0, XML_TOKEN_EMPTY, 0, 0,
SvtSaveOptions::ODFVER_010, false }
const XMLPropertyMapEntry* getColumnPropertiesMap()
{
diff --git a/xmlsecurity/inc/xmlsec/saxhelper.hxx
b/xmlsecurity/inc/xmlsec/saxhelper.hxx
index 44e61de8e0ef..87a12672b3c1 100644
--- a/xmlsecurity/inc/xmlsec/saxhelper.hxx
+++ b/xmlsecurity/inc/xmlsec/saxhelper.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_XMLSECURITY_INC_XMLSEC_SAXHELPER_HXX
#define INCLUDED_XMLSECURITY_INC_XMLSEC_SAXHELPER_HXX
+#include "libxml/parser.h"
#include "libxml/tree.h"
#include <com/sun/star/xml/sax/SAXException.hpp>
commit e815355217637e592431c731215eb253510a723a
Author: Stephan Bergmann <[email protected]>
AuthorDate: Tue Jul 4 08:31:28 2023 +0200
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
Fix Linux --without-system-libxml build
...after 362dfc50a28a918ec73609a00d2851eb3058375d "libxslt: upgrade to
release
1.1.38"
Change-Id: Id0ebf5676f79c43bb4fab3a33a2a19e303881aef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153942
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit d1fc1c326470461def5ab092a311afee31950880)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154000
Reviewed-by: Taichi Haradaguchi <[email protected]>
(cherry picked from commit 2808d5a6874d5956d99e02feb0fbf55a7343d63c)
diff --git a/external/libxslt/ExternalPackage_xslt.mk
b/external/libxslt/ExternalPackage_xslt.mk
index f0fd5336297d..df7bc6c52a98 100644
--- a/external/libxslt/ExternalPackage_xslt.mk
+++ b/external/libxslt/ExternalPackage_xslt.mk
@@ -25,7 +25,7 @@ $(eval $(call
gb_ExternalPackage_add_file,xslt,$(LIBO_LIB_FOLDER)/libexslt.dll,w
endif
else # OS!=WNT
$(eval $(call
gb_ExternalPackage_add_file,xslt,$(LIBO_LIB_FOLDER)/libxslt.so.1,libxslt/.libs/libxslt.so.1.1.$(LIBXSLT_VERSION_MICRO)))
-$(eval $(call
gb_ExternalPackage_add_file,xslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.20))
+$(eval $(call
gb_ExternalPackage_add_file,xslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.21))
endif
endif # DISABLE_DYNLOADING
commit c3b2af7edb2b3a1b11eddcf0798584f37abe3d4d
Author: Caolán McNamara <[email protected]>
AuthorDate: Tue May 23 21:15:52 2023 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
upgrade to libxml2-2.11.4
'checked' field removed with:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/ce76ebfd1312459951d555ad9d87fb9a89eede55
win32 'run_debug' removed with:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/59f2f60e3eff07324f1c7cd861a444d714be750b
add libxml2-XMLCALL-redefine.patch.0 to avoid:
UnpackedTarball\libxml2\include\libxml/xmlexports.h(41): error C2220: the
following warning is treated as an error
UnpackedTarball\libxml2\include\libxml/xmlexports.h(41): warning C4005:
'XMLCALL': macro redefinition
UnpackedTarballxpat\libxpat_external.h(69): note: see previous definition
of 'XMLCALL'
Change-Id: Ia9b1540dc1b4eccf91662c8d995c036f71de6fc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152176
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit fd6cbd983a3021d22321854d0414bdc42c6cb1b7)
diff --git a/external/libxml2/ExternalProject_xml2.mk
b/external/libxml2/ExternalProject_xml2.mk
index c9add1663198..9c3fa052fc59 100644
--- a/external/libxml2/ExternalProject_xml2.mk
+++ b/external/libxml2/ExternalProject_xml2.mk
@@ -21,7 +21,7 @@ $(eval $(call gb_ExternalProject_use_nmake,xml2,build))
$(call gb_ExternalProject_get_state_target,xml2,build):
$(call gb_ExternalProject_run,build,\
cscript /e:javascript configure.js \
- iconv=no icu=yes sax1=yes $(if
$(MSVC_USE_DEBUG_RUNTIME),run_debug=yes cruntime=/MDd) \
+ iconv=no icu=yes sax1=yes $(if
$(MSVC_USE_DEBUG_RUNTIME),cruntime=/MDd) \
$(if $(filter TRUE,$(ENABLE_DBGUTIL)),debug=yes) \
&& nmake \
,win32)
diff --git a/external/libxml2/UnpackedTarball_xml2.mk
b/external/libxml2/UnpackedTarball_xml2.mk
index 52523c5c8bd3..45a67cf63a42 100644
--- a/external/libxml2/UnpackedTarball_xml2.mk
+++ b/external/libxml2/UnpackedTarball_xml2.mk
@@ -16,6 +16,7 @@ $(eval $(call
gb_UnpackedTarball_update_autoconf_configs,xml2))
$(eval $(call gb_UnpackedTarball_add_patches,xml2,\
external/libxml2/libxml2-global-symbols.patch \
external/libxml2/libxml2-vc10.patch \
+ external/libxml2/libxml2-XMLCALL-redefine.patch.0 \
$(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \
external/libxml2/libxml2-icu.patch.0 \
))
diff --git a/external/libxml2/libxml2-XMLCALL-redefine.patch.0
b/external/libxml2/libxml2-XMLCALL-redefine.patch.0
new file mode 100644
index 000000000000..d9ca23be7ce4
--- /dev/null
+++ b/external/libxml2/libxml2-XMLCALL-redefine.patch.0
@@ -0,0 +1,11 @@
+--- include/libxml/xmlexports.h 2023-05-24 12:48:46.179570708 +0100
++++ include/libxml/xmlexports.h 2023-05-24 12:48:56.563577488 +0100
+@@ -38,8 +38,6 @@
+
+ /** DOC_DISABLE */
+ /* Compatibility */
+-#define XMLCALL
+-#define XMLCDECL
+ #if !defined(LIBXML_DLL_IMPORT)
+ #define LIBXML_DLL_IMPORT XMLPUBVAR
+ #endif
diff --git a/external/libxml2/libxml2-icu.patch.0
b/external/libxml2/libxml2-icu.patch.0
index b390b03d8787..84197763f878 100644
--- a/external/libxml2/libxml2-icu.patch.0
+++ b/external/libxml2/libxml2-icu.patch.0
@@ -23,7 +23,7 @@ diff -up win32/Makefile.msvc.dt win32/Makefile.msvc
!if "$(STATIC)" == "1"
LIBS = $(LIBS) advapi32.lib sicuuc.lib sicuin.lib sicudt.lib
!else
-+!if "$(WITH_RUN_DEBUG)" == "1"
++!if "$(DEBUG)" == "1"
+LIBS = $(LIBS) icuind.lib icuucd.lib icudtd.lib
+!else
LIBS = $(LIBS) icuuc.lib icuin.lib icudt.lib
diff --git a/external/redland/UnpackedTarball_raptor.mk
b/external/redland/UnpackedTarball_raptor.mk
index 10cf2b5e5480..961047e16d3a 100644
--- a/external/redland/UnpackedTarball_raptor.mk
+++ b/external/redland/UnpackedTarball_raptor.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,raptor,\
external/redland/raptor/0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1
\
external/redland/raptor/libtool.patch \
external/redland/raptor/Wint-conversion.patch \
+ external/redland/raptor/raptor-libxml2-11.patch.1 \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/redland/raptor/raptor-libxml2-11.patch.1
b/external/redland/raptor/raptor-libxml2-11.patch.1
new file mode 100644
index 000000000000..9bed29e50d0b
--- /dev/null
+++ b/external/redland/raptor/raptor-libxml2-11.patch.1
@@ -0,0 +1,15 @@
+--- raptor/src/raptor_libxml.c 2023-05-24 09:55:21.589275008 +0100
++++ raptor/src/raptor_libxml.c 2023-05-24 09:56:41.100324810 +0100
+@@ -246,9 +246,11 @@
+
+ ret->owner = 1;
+
+-#if LIBXML_VERSION >= 20627
++#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100
+ /* Checked field was released in 2.6.27 on 2006-10-25
+ *
http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6
++ * and removed with
++ *
https://gitlab.gnome.org/GNOME/libxml2/-/commit/ce76ebfd1312459951d555ad9d87fb9a89eede55
+ *
+ */
+
commit b177960c3a78613bddcd844a1376eb0418f56ff1
Author: Caolán McNamara <[email protected]>
AuthorDate: Wed Jan 3 20:45:14 2024 +0000
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
upgrade libxml2, libxslt & liblangtag
what I'm really after is some vexating not-reproducible oss-fuzz msan
warnings when using libxml2 in the fodt2pdf fuzzer. So lets upgrade
libxml2 to the latest, which requires bumping libxslt, and then requires
a newer liblangtag because of no longer implicit includes that it
depended on.
xmlKeepBlanksDefaultValue and xmlSubstituteEntitiesDefault are
deprecated, we should get around to updating those uses
Change-Id: I8fda0dffda0a7ea65407d246a3121875cb8ad4a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161598
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit 6875c975f80d8b813b1829a530162869a1e2d92e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163751
Reviewed-by: Michael Stahl <[email protected]>
(cherry picked from commit 050a2db3964d5f02e2dd149cb7f76342457a6719)
diff --git a/download.lst b/download.lst
index cedefe9cf9ef..e8773650b4d0 100644
--- a/download.lst
+++ b/download.lst
@@ -135,8 +135,8 @@ export LIBGLTF_SHA256SUM :=
119e730fbf002dd0eaafa4930167267d7d910aa17f29979ca9ca
export LIBGLTF_TARBALL := libgltf-0.1.0.tar.gz
export LIBGPGERROR_SHA256SUM :=
4c4bcbc90116932e3acd37b37812d8653b1b189c1904985898e860af818aee69
export LIBGPGERROR_TARBALL := libgpg-error-1.26.tar.bz2
-export LIBLANGTAG_SHA256SUM :=
d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e
-export LIBLANGTAG_TARBALL := liblangtag-0.6.2.tar.bz2
+export LIBLANGTAG_SHA256SUM :=
5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e
+export LIBLANGTAG_TARBALL := liblangtag-0.6.7.tar.bz2
export LIBTOMMATH_SHA256SUM :=
986025d7b374276fee2e30e99f3649e4ac0db8a02257a37ee10eae72abed0d1f
export LIBTOMMATH_TARBALL := ltm-1.2.1.tar.xz
export LIBXMLSEC_SHA256SUM :=
99a8643f118bb1261a72162f83e2deba0f4f690893b4b90e1be4f708e8d481cc
@@ -144,8 +144,8 @@ export LIBXMLSEC_TARBALL := xmlsec1-1.2.24.tar.gz
export LIBXML_SHA256SUM :=
59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590
export LIBXML_VERSION_MICRO := 9
export LIBXML_TARBALL := libxml2-2.12.$(LIBXML_VERSION_MICRO).tar.xz
-export LIBXSLT_SHA256SUM :=
8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79
-export LIBXSLT_VERSION_MICRO := 35
+export LIBXSLT_SHA256SUM :=
2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0
+export LIBXSLT_VERSION_MICRO := 39
export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz
export LPSOLVE_SHA256SUM :=
171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695
export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz
diff --git a/external/libxml2/libxml2-global-symbols.patch
b/external/libxml2/libxml2-global-symbols.patch
index cbbe5a622284..32146da4b3d7 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -13,7 +13,7 @@
} LIBXML2_2.6.28;
LIBXML2_2.6.32 {
-@@ -2231,3 +2231,49 @@
+@@ -2231,3 +2231,55 @@
xmlPopOutputCallbacks;
} LIBXML2_2.9.8;
@@ -23,6 +23,12 @@
+ xmlNewSAXParserCtxt;
+} LIBXML2_2.9.11;
+
++LIBXML2_2.12.3 {
++ global:
++ xmlCtxtSetMaxAmplification;
++ xmlTextReaderSetMaxAmplification;
++} LIBXML2_2.11.4;
++
+# HACK: export global variable accessor functions (globals.h)
+LIBXML2_GLOBAL_VARIABLES {
+ global:
diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx
b/filter/source/xsltfilter/LibXSLTTransformer.cxx
index d828cbd91991..1da4103ddd92 100644
--- a/filter/source/xsltfilter/LibXSLTTransformer.cxx
+++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx
@@ -476,7 +476,23 @@ namespace XSLT
{ // backward compatibility for old clients using createInstance
params = args;
}
+
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
xmlSubstituteEntitiesDefault(0);
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+
m_parameters.clear();
for (int i = 0; i < params.getLength(); i++)
{
diff --git a/helpcompiler/source/HelpCompiler.cxx
b/helpcompiler/source/HelpCompiler.cxx
index 8f0301ca2fe0..4f73c3bda9f5 100644
--- a/helpcompiler/source/HelpCompiler.cxx
+++ b/helpcompiler/source/HelpCompiler.cxx
@@ -44,7 +44,21 @@ HelpCompiler::HelpCompiler(StreamTable &in_streamTable,
const fs::path &in_input
src(in_src), zipdir(in_zipdir), module(in_module), lang(in_lang),
resCompactStylesheet(in_resCompactStylesheet),
resEmbStylesheet(in_resEmbStylesheet), bExtensionMode( in_bExtensionMode )
{
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
xmlKeepBlanksDefaultValue = 0;
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
char* os = getenv("OS");
if (os)
{
diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx
b/xmlsecurity/source/xmlsec/saxhelper.cxx
index 6fb61db139f6..deeb3b768842 100644
--- a/xmlsecurity/source/xmlsec/saxhelper.cxx
+++ b/xmlsecurity/source/xmlsec/saxhelper.cxx
@@ -115,11 +115,24 @@ SAXHelper::SAXHelper( )
* compile error:
* xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS ;
*/
- xmlSubstituteEntitiesDefault( 1 ) ;
-
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
+ xmlSubstituteEntitiesDefault(1) ;
#ifndef XMLSEC_NO_XSLT
xmlIndentTreeOutput = 1 ;
#endif /* XMLSEC_NO_XSLT */
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
m_pParserCtxt = xmlNewParserCtxt() ;
commit 4d87dd0d04769ae0ed0c9131eb31ccf29f58a563
Author: Stephan Bergmann <[email protected]>
AuthorDate: Fri May 26 09:13:04 2023 +0200
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
external/libxml2: Fix missing external symbols needed by xmllint
After 5b42f148e206cda19467e76c2f9915fc2b6fa5f6 "ExternalProject_libxml2
still
needs to build the xmllint executable" (which I had happened to prepare on
macOS, so didn't originally notice the issue addressed here now), Linux
builds
like <https://ci.libreoffice.org/job/lo_callgrind_linux/13374/> started to
fail
with
> CCLD xmllint
> /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld:
xmllint-xmllint.o: in function `testSAX':
>
/home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/UnpackedTarball/libxml2/xmllint.c:1646:
undefined reference to `xmlNewSAXParserCtxt'
> /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld:
xmllint-xmllint.o: in function `myReallocFunc':
>
/home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/UnpackedTarball/libxml2/xmllint.c:357:
undefined reference to `xmlMemSize'
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:1007: xmllint] Error 1
> make[1]: ***
[/home/tdf/lode/jenkins/workspace/lo_callgrind_linux/external/libxml2/ExternalProject_libxml2.mk:37:
/home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/ExternalProject/libxml2/build]
Error 1
Turns out that those two functions have been introduced after the previously
used libxml2 2.10.4. No idea how things are supposed to work (given that
workdir/UnpackedTarball/libxml2/libxml2.syms starts off with "Retained for
backward compatibility. Don't add new symbols.", it appears that there
should be
some other mechanism at play to make xmllint on Linux find the libxml2.so
symbols it needs, but which doesn't work as intended in our build), but
just add
those two symbols to libxml2.syms for now. (With a new version named
LIBXML2_2.11.4, even if the symbols can actually have been introduced in
some
other version between 2.10.4 and 2.11.4, but who cares.)
Change-Id: Ib9d5c7901fe94b8014a87b049fc27ef5658fd954
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152292
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 7d9b3393e2632247624d8a1e3129365290d1b60b)
diff --git a/external/libxml2/libxml2-global-symbols.patch
b/external/libxml2/libxml2-global-symbols.patch
index cfec9c530281..cbbe5a622284 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -13,10 +13,16 @@
} LIBXML2_2.6.28;
LIBXML2_2.6.32 {
-@@ -2231,3 +2231,43 @@
+@@ -2231,3 +2231,49 @@
xmlPopOutputCallbacks;
} LIBXML2_2.9.8;
++LIBXML2_2.11.4 {
++ global:
++ xmlMemSize;
++ xmlNewSAXParserCtxt;
++} LIBXML2_2.9.11;
++
+# HACK: export global variable accessor functions (globals.h)
+LIBXML2_GLOBAL_VARIABLES {
+ global:
commit 2e5ce26b84498838e6e077d7f485d7e188845ce4
Author: Stephan Bergmann <[email protected]>
AuthorDate: Thu May 25 08:21:20 2023 +0200
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
ExternalProject_libxml2 still needs to build the xmllint executable
No idea why fd6cbd983a3021d22321854d0414bdc42c6cb1b7 "upgrade to
libxml2-2.11.4"
started to only explicitly make libxml2.la (the commit message doesn't
say), but
that caused at least <https://ci.libreoffice.org/job/lo_ubsan/2788/> to fail
with
> make[1]: *** Deleting file
'/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/CustomTarget/sfx2/classification/example.validated'
> [build VAL] CustomTarget/sfx2/classification/example.validated
> /bin/sh:
/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/libxml2//xmllint:
No such file or directory
> make[1]: ***
[/home/tdf/lode/jenkins/workspace/lo_ubsan/sfx2/CustomTarget_classification.mk:20:
/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/CustomTarget/sfx2/classification/example.validated]
Error 1
Change-Id: I7e7aa2bae05cf8674720cfd72c78840cd7a28919
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152256
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 5b42f148e206cda19467e76c2f9915fc2b6fa5f6)
diff --git a/external/libxml2/ExternalProject_xml2.mk
b/external/libxml2/ExternalProject_xml2.mk
index 3982499e187d..c9add1663198 100644
--- a/external/libxml2/ExternalProject_xml2.mk
+++ b/external/libxml2/ExternalProject_xml2.mk
@@ -36,7 +36,7 @@ $(call gb_ExternalProject_get_state_target,xml2,build):
LDFLAGS="$(if $(SYSBASE),-L$(SYSBASE)/usr/lib)" \
CFLAGS="$(if $(SYSBASE),-I$(SYSBASE)/usr/include) $(if
$(debug),-g)" \
$(if $(filter
TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \
- && $(MAKE) \
+ && $(MAKE) libxml2.la xmllint \
)
endif
commit 54c1447d1e25e98f55ece3ccf2580252b56bc2c9
Author: László Németh <[email protected]>
AuthorDate: Thu Dec 29 22:09:55 2022 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
upgrade to hunspell 1.7.2
Change-Id: If969eccc73926911a4a09440623adf83b8e2c520
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144869
Tested-by: Jenkins
Reviewed-by: László Németh <[email protected]>
(cherry picked from commit 247e161cf1dca6811998b67d1138062fa4e14381)
diff --git a/download.lst b/download.lst
index b87884bfc9f2..cedefe9cf9ef 100644
--- a/download.lst
+++ b/download.lst
@@ -85,8 +85,8 @@ export HARFBUZZ_SHA256SUM :=
ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413c
export HARFBUZZ_TARBALL := harfbuzz-1.4.8.tar.bz2
export HSQLDB_SHA256SUM :=
d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370
export HSQLDB_TARBALL := 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-export HUNSPELL_SHA256SUM :=
b2d9c5369c2cc7f321cb5983fda2dbf007dce3d9e17519746840a6f0c4bf7444
-export HUNSPELL_TARBALL := hunspell-1.7.1.tar.gz
+export HUNSPELL_SHA256SUM :=
11ddfa39afe28c28539fe65fc4f1592d410c1e9b6dd7d8a91ca25d85e9ec65b8
+export HUNSPELL_TARBALL := hunspell-1.7.2.tar.gz
export HYPHEN_SHA256SUM :=
304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
export ICU_SHA256SUM :=
0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309
diff --git
a/external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
b/external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
new file mode 100644
index 000000000000..3c6f9831b2b4
--- /dev/null
+++
b/external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
@@ -0,0 +1,84 @@
+From 1587ea4ab5e8d94c9c0d552f7ab61c217ebdcbeb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= <[email protected]>
+Date: Fri, 30 Dec 2022 12:20:02 +0100
+Subject: [PATCH] fix LibreOffice build problem with basic_string::append()
+
+---
+ src/hunspell/affentry.cxx | 6 +++---
+ src/hunspell/affixmgr.cxx | 8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/hunspell/affentry.cxx b/src/hunspell/affentry.cxx
+index 46e8b58..6ee23be 100644
+--- a/src/hunspell/affentry.cxx
++++ b/src/hunspell/affentry.cxx
+@@ -290,7 +290,7 @@ struct hentry* PfxEntry::check_twosfx(const std::string&
word,
+ // back any characters that would have been stripped
+
+ std::string tmpword(strip);
+- tmpword.append(word, start + appnd.size());
++ tmpword.append(word, start + appnd.size(), tmpl);
+
+ // now make sure all of the conditions on characters
+ // are met. Please see the appendix at the end of
+@@ -338,7 +338,7 @@ std::string PfxEntry::check_twosfx_morph(const
std::string& word,
+ // back any characters that would have been stripped
+
+ std::string tmpword(strip);
+- tmpword.append(word, start + appnd.size());
++ tmpword.append(word, start + appnd.size(), tmpl);
+
+ // now make sure all of the conditions on characters
+ // are met. Please see the appendix at the end of
+@@ -386,7 +386,7 @@ std::string PfxEntry::check_morph(const std::string& word,
+ // back any characters that would have been stripped
+
+ std::string tmpword(strip);
+- tmpword.append(word, start + appnd.size());
++ tmpword.append(word, start + appnd.size(), tmpl);
+
+ // now make sure all of the conditions on characters
+ // are met. Please see the appendix at the end of
+diff --git a/src/hunspell/affixmgr.cxx b/src/hunspell/affixmgr.cxx
+index 4d1ad2f..a8931c1 100644
+--- a/src/hunspell/affixmgr.cxx
++++ b/src/hunspell/affixmgr.cxx
+@@ -2465,7 +2465,7 @@ int AffixMgr::compound_check_morph(const std::string&
word,
+ result.append(presult);
+ result.push_back(MSEP_FLD);
+ result.append(MORPH_PART);
+- result.append(word, i);
++ result.append(word, i, word.size());
+ if (complexprefixes && HENTRY_DATA(rv))
+ result.append(HENTRY_DATA2(rv));
+ if (!HENTRY_FIND(rv, MORPH_STEM)) {
+@@ -2522,7 +2522,7 @@ int AffixMgr::compound_check_morph(const std::string&
word,
+ result.append(presult);
+ result.push_back(MSEP_FLD);
+ result.append(MORPH_PART);
+- result.append(word, i);
++ result.append(word, i, word.size());
+
+ if (HENTRY_DATA(rv)) {
+ if (complexprefixes)
+@@ -2573,7 +2573,7 @@ int AffixMgr::compound_check_morph(const std::string&
word,
+ if (!m.empty()) {
+ result.push_back(MSEP_FLD);
+ result.append(MORPH_PART);
+- result.append(word, i);
++ result.append(word, i, word.size());
+ line_uniq_app(m, MSEP_REC);
+ result.append(m);
+ }
+@@ -2665,7 +2665,7 @@ int AffixMgr::compound_check_morph(const std::string&
word,
+ if (!m.empty()) {
+ result.push_back(MSEP_FLD);
+ result.append(MORPH_PART);
+- result.append(word, i);
++ result.append(word, i, word.size());
+ line_uniq_app(m, MSEP_REC);
+ result.push_back(MSEP_FLD);
+ result.append(m);
+--
+2.17.1
+
diff --git a/external/hunspell/UnpackedTarball_hunspell.mk
b/external/hunspell/UnpackedTarball_hunspell.mk
index 1c6a86a89478..166b3d498cf5 100644
--- a/external/hunspell/UnpackedTarball_hunspell.mk
+++ b/external/hunspell/UnpackedTarball_hunspell.mk
@@ -20,6 +20,7 @@ endif
$(eval $(call gb_UnpackedTarball_set_patchlevel,hunspell,1))
$(eval $(call gb_UnpackedTarball_add_patches,hunspell, \
+
external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
\
))
# vim: set noet sw=4 ts=4:
commit 611b5f20f764a7181f59f951d6dc71386001735e
Author: Caolán McNamara <[email protected]>
AuthorDate: Mon Aug 22 15:05:40 2022 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
upgrade to hunspell 1.7.1
Change-Id: Ifff2f17d17ab2764f3703b008fcb096ff08c9315
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138690
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit 46003cb1c4c770a9ba4eb9b2a55561c2ebeb3519)
diff --git a/download.lst b/download.lst
index 9c222f1e0cb8..b87884bfc9f2 100644
--- a/download.lst
+++ b/download.lst
@@ -85,8 +85,8 @@ export HARFBUZZ_SHA256SUM :=
ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413c
export HARFBUZZ_TARBALL := harfbuzz-1.4.8.tar.bz2
export HSQLDB_SHA256SUM :=
d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370
export HSQLDB_TARBALL := 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-export HUNSPELL_SHA256SUM :=
57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951
-export HUNSPELL_TARBALL := hunspell-1.7.0.tar.gz
+export HUNSPELL_SHA256SUM :=
b2d9c5369c2cc7f321cb5983fda2dbf007dce3d9e17519746840a6f0c4bf7444
+export HUNSPELL_TARBALL := hunspell-1.7.1.tar.gz
export HYPHEN_SHA256SUM :=
304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
export ICU_SHA256SUM :=
0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309
commit ac8deb8b5c73d61b06d18d72657ab137f31e16cb
Author: László Németh <[email protected]>
AuthorDate: Wed Nov 7 13:18:36 2018 +0100
Commit: Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 21 16:09:15 2025 +0100
bump hunspell to 1.7
Change-Id: Ia8d1f4831e651b3a8d5115f78e5a5239b56c71c4
Reviewed-on: https://gerrit.libreoffice.org/63015
Tested-by: Jenkins
Reviewed-by: László Németh <[email protected]>
diff --git a/configure.ac b/configure.ac
index 2e6210794782..edefdb34cd9c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9587,7 +9587,7 @@ else
if test "$COM" = "MSC"; then
HUNSPELL_LIBS="${WORKDIR}/LinkTarget/StaticLibrary/hunspell.lib"
else
-
HUNSPELL_LIBS="-L${WORKDIR}/UnpackedTarball/hunspell/src/hunspell/.libs
-lhunspell-1.6"
+
HUNSPELL_LIBS="-L${WORKDIR}/UnpackedTarball/hunspell/src/hunspell/.libs
-lhunspell-1.7"
fi
BUILD_TYPE="$BUILD_TYPE HUNSPELL"
fi
diff --git a/download.lst b/download.lst
index 263439f3d8b6..9c222f1e0cb8 100644
--- a/download.lst
+++ b/download.lst
@@ -85,8 +85,8 @@ export HARFBUZZ_SHA256SUM :=
ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413c
export HARFBUZZ_TARBALL := harfbuzz-1.4.8.tar.bz2
export HSQLDB_SHA256SUM :=
d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370
export HSQLDB_TARBALL := 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-export HUNSPELL_SHA256SUM :=
512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2
-export HUNSPELL_TARBALL :=
047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz
+export HUNSPELL_SHA256SUM :=
57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951
+export HUNSPELL_TARBALL := hunspell-1.7.0.tar.gz
export HYPHEN_SHA256SUM :=
304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
export ICU_SHA256SUM :=
0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309
diff --git
a/external/hunspell/0001-Revert-Remove-autotools-autogenerated-files.patch
b/external/hunspell/0001-Revert-Remove-autotools-autogenerated-files.patch
deleted file mode 100644
index ab6b19d2442a..000000000000
--- a/external/hunspell/0001-Revert-Remove-autotools-autogenerated-files.patch
+++ /dev/null
@@ -1,61599 +0,0 @@
-From dbac0be3ac61fc73f557ff5c95d8d5d93c272191 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <[email protected]>
-Date: Mon, 23 Jan 2017 16:02:59 +0000
-Subject: [PATCH] Revert "Remove autotools autogenerated files"
-
-This reverts commit f53fc2c5f5a79b32010a76216fcdc0838243cc3f.
----
- Makefile.in | 951 ++
- aclocal.m4 | 1290 ++
- compile | 347 +
- config.guess | 1421 +++
- config.h.in | 572 +
- config.sub | 1807 +++
- configure | 25046 +++++++++++++++++++++++++++++++++++++
- depcomp | 791 ++
- install-sh | 501 +
- ltmain.sh | 11147 +++++++++++++++++
- m4/Makefile.in | 518 +
- m4/isc-posix.m4 | 26 +
- m4/libtool.m4 | 8372 +++++++++++++
- m4/ltoptions.m4 | 437 +
- m4/ltsugar.m4 | 124 +
- m4/ltversion.m4 | 23 +
- m4/lt~obsolete.m4 | 99 +
- man/Makefile.in | 862 ++
- man/hu/Makefile.in | 638 +
- missing | 215 +
- mkinstalldirs | 162 +
- src/Makefile.in | 690 +
- src/hunspell/Makefile.in | 791 ++
- src/parsers/Makefile.in | 721 ++
- src/tools/Makefile.in | 875 ++
- src/win_api/Makefile.in | 515 +
- test-driver | 148 +
- tests/Makefile.in | 1749 +++
- tests/suggestiontest/Makefile.in | 517 +
- 29 files changed, 61355 insertions(+)
- create mode 100644 Makefile.in
- create mode 100644 aclocal.m4
- create mode 100755 compile
- create mode 100755 config.guess
- create mode 100644 config.h.in
- create mode 100755 config.sub
- create mode 100755 configure
- create mode 100755 depcomp
- create mode 100755 install-sh
- create mode 100644 ltmain.sh
- create mode 100644 m4/Makefile.in
- create mode 100644 m4/isc-posix.m4
- create mode 100644 m4/libtool.m4
- create mode 100644 m4/ltoptions.m4
- create mode 100644 m4/ltsugar.m4
- create mode 100644 m4/ltversion.m4
- create mode 100644 m4/lt~obsolete.m4
- create mode 100644 man/Makefile.in
- create mode 100644 man/hu/Makefile.in
- create mode 100755 missing
- create mode 100755 mkinstalldirs
- create mode 100644 src/Makefile.in
- create mode 100644 src/hunspell/Makefile.in
- create mode 100644 src/parsers/Makefile.in
- create mode 100644 src/tools/Makefile.in
- create mode 100644 src/win_api/Makefile.in
- create mode 100755 test-driver
- create mode 100644 tests/Makefile.in
- create mode 100644 tests/suggestiontest/Makefile.in
-
-diff --git a/Makefile.in b/Makefile.in
-new file mode 100644
-index 0000000..a09871c
---- /dev/null
-+++ b/Makefile.in
-@@ -0,0 +1,951 @@
-+# Makefile.in generated by automake 1.15 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-+
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+
-+VPATH = @srcdir@
-+am__is_gnu_make = { \
-+ if test -z '$(MAKELEVEL)'; then \
-+ false; \
-+ elif test -n '$(MAKE_HOST)'; then \
-+ true; \
-+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-+ true; \
-+ else \
-+ false; \
-+ fi; \
-+}
-+am__make_running_with_option = \
-+ case $${target_option-} in \
-+ ?) ;; \
-+ *) echo "am__make_running_with_option: internal error: invalid" \
-+ "target option '$${target_option-}' specified" >&2; \
-+ exit 1;; \
-+ esac; \
-+ has_opt=no; \
-+ sane_makeflags=$$MAKEFLAGS; \
-+ if $(am__is_gnu_make); then \
-+ sane_makeflags=$$MFLAGS; \
-+ else \
-+ case $$MAKEFLAGS in \
-+ *\[\ \ ]*) \
-+ bs=\; \
-+ sane_makeflags=`printf '%s
' "$$MAKEFLAGS" \
-+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
-+ esac; \
-+ fi; \
-+ skip_next=no; \
-+ strip_trailopt () \
-+ { \
-+ flg=`printf '%s
' "$$flg" | sed "s/$$1.*$$//"`; \
-+ }; \
-+ for flg in $$sane_makeflags; do \
-+ test $$skip_next = yes && { skip_next=no; continue; }; \
-+ case $$flg in \
-+ *=*|--*) continue;; \
-+ -*I) strip_trailopt 'I'; skip_next=yes;; \
-+ -*I?*) strip_trailopt 'I';; \
-+ -*O) strip_trailopt 'O'; skip_next=yes;; \
-+ -*O?*) strip_trailopt 'O';; \
-+ -*l) strip_trailopt 'l'; skip_next=yes;; \
-+ -*l?*) strip_trailopt 'l';; \
-+ -[dEDm]) skip_next=yes;; \
-+ -[JT]) skip_next=yes;; \
-+ esac; \
-+ case $$flg in \
-+ *$$target_option*) has_opt=yes; break;; \
-+ esac; \
-+ done; \
-+ test $$has_opt = yes
-+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkglibexecdir = $(libexecdir)/@PACKAGE@
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+subdir = .
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-+ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \
-+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \
-+ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intlmacosx.m4 \
-+ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
-+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-+ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \
-+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \
-+ $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/uintmax_t.m4 \
-+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
-+ $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
-+ $(am__configure_deps) $(am__DIST_COMMON)
-+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
-+ configure.lineno config.status.lineno
-+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+CONFIG_HEADER = config.h
-+CONFIG_CLEAN_FILES = hunspell.pc intl/Makefile
-+CONFIG_CLEAN_VPATH_FILES =
-+AM_V_P = $(am__v_P_@AM_V@)
-+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-+am__v_P_0 = false
-+am__v_P_1 = :
-+AM_V_GEN = $(am__v_GEN_@AM_V@)
-+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-+am__v_GEN_0 = @echo " GEN " $@;
-+am__v_GEN_1 =
-+AM_V_at = $(am__v_at_@AM_V@)
-+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-+am__v_at_0 = @
-+am__v_at_1 =
-+SOURCES =
-+DIST_SOURCES =
-+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-+ ctags-recursive dvi-recursive html-recursive info-recursive \
-+ install-data-recursive install-dvi-recursive \
-+ install-exec-recursive install-html-recursive \
-+ install-info-recursive install-pdf-recursive \
-+ install-ps-recursive install-recursive installcheck-recursive \
-+ installdirs-recursive pdf-recursive ps-recursive \
-+ tags-recursive uninstall-recursive
-+am__can_run_installinfo = \
-+ case $$AM_UPDATE_INFO_DIR in \
-+ n|no|NO) false;; \
-+ *) (install-info --version) >/dev/null 2>&1;; \
-+ esac
-+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-+am__vpath_adj = case $$p in \
-+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-+ *) f=$$p;; \
-+ esac;
-+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-+am__install_max = 40
-+am__nobase_strip_setup = \
-+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*|]/\\&/g'`
-+am__nobase_strip = \
-+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-+am__nobase_list = $(am__nobase_strip_setup); \
-+ for p in $$list; do echo "$$p $$p"; done | \
-+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,,' | \
-+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-+ if (++n[$$2] == $(am__install_max)) \
-+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-+ END { for (dir in files) print dir, files[dir] }'
-+am__base_list = \
-+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/
/ /g' | \
-+ sed '$$!N;$$!N;$$!N;$$!N;s/
/ /g'
-+am__uninstall_files_from_dir = { \
-+ test -z "$$files" \
-+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-+ $(am__cd) "$$dir" && rm -f $$files; }; \
-+ }
-+am__installdirs = "$(DESTDIR)$(pkgconfdir)"
-+DATA = $(pkgconf_DATA)
-+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
-+ distclean-recursive maintainer-clean-recursive
-+am__recursive_targets = \
-+ $(RECURSIVE_TARGETS) \
-+ $(RECURSIVE_CLEAN_TARGETS) \
-+ $(am__extra_recursive_targets)
-+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-+ cscope distdir dist dist-all distcheck
-+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
-+ $(LISP)config.h.in
-+# Read a list of newline-separated strings from the standard input,
-+# and print each of them once, without duplicates. Input order is
-+# *not* preserved.
-+am__uniquify_input = $(AWK) '\
-+ BEGIN { nonempty = 0; } \
-+ { items[$$0] = 1; nonempty = 1; } \
-+ END { if (nonempty) { for (i in items) print i; }; } \
-+'
-+# Make sure the list of sources is unique. This is necessary because,
-+# e.g., the same source file might be shared among _SOURCES variables
-+# for different programs/libraries.
-+am__define_uniq_tagged_files = \
-+ list='$(am__tagged_files)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | $(am__uniquify_input)`
-+ETAGS = etags
-+CTAGS = ctags
-+CSCOPE = cscope
-+DIST_SUBDIRS = $(SUBDIRS)
-+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-+ $(srcdir)/hunspell.pc.in $(top_srcdir)/intl/Makefile.in \
-+ ABOUT-NLS AUTHORS COPYING COPYING.LESSER ChangeLog INSTALL \
-+ NEWS README THANKS TODO compile config.guess config.rpath \
-+ config.sub install-sh ltmain.sh missing mkinstalldirs
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+distdir = $(PACKAGE)-$(VERSION)
-+top_distdir = $(distdir)
-+am__remove_distdir = \
-+ if test -d "$(distdir)"; then \
-+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-+ && rm -rf "$(distdir)" \
-+ || { sleep 5 && rm -rf "$(distdir)"; }; \
-+ else :; fi
-+am__post_remove_distdir = $(am__remove_distdir)
-+am__relativize = \
-+ dir0=`pwd`; \
-+ sed_first='s,^\([^/]*\)/.*$$,,'; \
-+ sed_rest='s,^[^/]*/*,,'; \
-+ sed_last='s,^.*/\([^/]*\)$$,,'; \
-+ sed_butlast='s,/*[^/]*$$,,'; \
-+ while test -n "$$dir1"; do \
-+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-+ if test "$$first" != "."; then \
-+ if test "$$first" = ".."; then \
-+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-+ else \
-+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-+ if test "$$first2" = "$$first"; then \
-+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-+ else \
-+ dir2="../$$dir2"; \
-+ fi; \
-+ dir0="$$dir0"/"$$first"; \
-+ fi; \
-+ fi; \
-+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-+ done; \
-+ reldir="$$dir2"
-+DIST_ARCHIVES = $(distdir).tar.gz
-+GZIP_ENV = --best
-+DIST_TARGETS = dist-gzip
-+distuninstallcheck_listfiles = find . -type f -print
-+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-+distcleancheck_listfiles = find . -type f -print
-+ACLOCAL = @ACLOCAL@
-+ALLOCA = @ALLOCA@
-+AMTAR = @AMTAR@
-+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-+AR = @AR@
-+AS = @AS@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-+CATOBJEXT = @CATOBJEXT@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CURSESLIB = @CURSESLIB@
-+CXX = @CXX@
-+CXXCPP = @CXXCPP@
-+CXXDEPMODE = @CXXDEPMODE@
-+CXXFLAGS = @CXXFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DATADIRNAME = @DATADIRNAME@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
-+DSYMUTIL = @DSYMUTIL@
-+DUMPBIN = @DUMPBIN@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+FGREP = @FGREP@
-+GENCAT = @GENCAT@
-+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-+GLIBC2 = @GLIBC2@
-+GLIBC21 = @GLIBC21@
-+GMSGFMT = @GMSGFMT@
-+GMSGFMT_015 = @GMSGFMT_015@
-+GREP = @GREP@
-+HAVE_ASPRINTF = @HAVE_ASPRINTF@
-+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
-+HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
-+HAVE_SNPRINTF = @HAVE_SNPRINTF@
-+HAVE_VISIBILITY = @HAVE_VISIBILITY@
-+HAVE_WPRINTF = @HAVE_WPRINTF@
-+HUNSPELL_VERSION_MAJOR = @HUNSPELL_VERSION_MAJOR@
-+HUNSPELL_VERSION_MINOR = @HUNSPELL_VERSION_MINOR@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+INSTOBJEXT = @INSTOBJEXT@
-+INTLBISON = @INTLBISON@
-+INTLLIBS = @INTLLIBS@
-+INTLOBJS = @INTLOBJS@
-+INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
-+INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-+LD = @LD@
-+LDFLAGS = @LDFLAGS@
-+LIBICONV = @LIBICONV@
-+LIBINTL = @LIBINTL@
-+LIBMULTITHREAD = @LIBMULTITHREAD@
-+LIBOBJS = @LIBOBJS@
-+LIBPTH = @LIBPTH@
-+LIBPTH_PREFIX = @LIBPTH_PREFIX@
-+LIBS = @LIBS@
-+LIBTHREAD = @LIBTHREAD@
-+LIBTOOL = @LIBTOOL@
-+LIPO = @LIPO@
-+LN_S = @LN_S@
-+LTLIBC = @LTLIBC@
-+LTLIBICONV = @LTLIBICONV@
-+LTLIBINTL = @LTLIBINTL@
-+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-+LTLIBOBJS = @LTLIBOBJS@
-+LTLIBPTH = @LTLIBPTH@
-+LTLIBTHREAD = @LTLIBTHREAD@
-+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-+MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
-+MKDIR_P = @MKDIR_P@
-+MSGFMT = @MSGFMT@
-+MSGFMT_015 = @MSGFMT_015@
-+MSGMERGE = @MSGMERGE@
-+NM = @NM@
-+NMEDIT = @NMEDIT@
-+OBJDUMP = @OBJDUMP@
-+OBJEXT = @OBJEXT@
-+OTOOL = @OTOOL@
-+OTOOL64 = @OTOOL64@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_URL = @PACKAGE_URL@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+POSUB = @POSUB@
-+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-+RANLIB = @RANLIB@
-+READLINELIB = @READLINELIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-+USE_NLS = @USE_NLS@
-+VERSION = @VERSION@
-+WINDRES = @WINDRES@
-+WOE32 = @WOE32@
-+WOE32DLL = @WOE32DLL@
-+XFAILED = @XFAILED@
-+XGETTEXT = @XGETTEXT@
-+XGETTEXT_015 = @XGETTEXT_015@
-+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
-+ac_ct_AR = @ac_ct_AR@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_CXX = @ac_ct_CXX@
-+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+builddir = @builddir@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+top_build_prefix = @top_build_prefix@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
-+ACLOCAL_AMFLAGS = -I m4
-+SUBDIRS = intl po src man tests
-+pkgconfdir = $(libdir)/pkgconfig
-+pkgconf_DATA = hunspell.pc
-+EXTRA_DIST = BUGS README.myspell AUTHORS.myspell license.myspell
license.hunspell \
-+ ChangeLog.O COPYING.MPL COPYING.LESSER hunspell.pc.in
-+
-+all: config.h
-+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
-+
-+.SUFFIXES:
-+am--refresh: Makefile
-+ @:
-+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
-+ @for dep in $?; do \
-+ case '$(am__configure_deps)' in \
-+ *$$dep*) \
-+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
-+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
-+ && exit 0; \
-+ exit 1;; \
-+ esac; \
-+ done; \
-+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
-+ $(am__cd) $(top_srcdir) && \
-+ $(AUTOMAKE) --gnu Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ @case '$?' in \
-+ *config.status*) \
-+ echo ' $(SHELL) ./config.status'; \
-+ $(SHELL) ./config.status;; \
-+ *) \
-+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe)'; \
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe);; \
-+ esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
-+ $(SHELL) ./config.status --recheck
-+
-+$(top_srcdir)/configure: $(am__configure_deps)
-+ $(am__cd) $(srcdir) && $(AUTOCONF)
-+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-+$(am__aclocal_m4_deps):
-+
-+config.h: stamp-h1
-+ @test -f $@ || rm -f stamp-h1
-+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
-+
-+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-+ @rm -f stamp-h1
-+ cd $(top_builddir) && $(SHELL) ./config.status config.h
-+$(srcdir)/config.h.in: $(am__configure_deps)
-+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-+ rm -f stamp-h1
-+ touch $@
-+
-+distclean-hdr:
-+ -rm -f config.h stamp-h1
-+hunspell.pc: $(top_builddir)/config.status $(srcdir)/hunspell.pc.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
-+intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
-+
-+mostlyclean-libtool:
-+ -rm -f *.lo
-+
-+clean-libtool:
-+ -rm -rf .libs _libs
-+
-+distclean-libtool:
-+ -rm -f libtool config.lt
-+install-pkgconfDATA: $(pkgconf_DATA)
-+ @$(NORMAL_INSTALL)
-+ @list='$(pkgconf_DATA)'; test -n "$(pkgconfdir)" || list=; \
-+ if test -n "$$list"; then \
-+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfdir)'"; \
-+ $(MKDIR_P) "$(DESTDIR)$(pkgconfdir)" || exit 1; \
-+ fi; \
-+ for p in $$list; do \
-+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+ echo "$$d$$p"; \
-+ done | $(am__base_list) | \
-+ while read files; do \
-+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfdir)'"; \
-+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfdir)" || exit $$?; \
-+ done
-+
-+uninstall-pkgconfDATA:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(pkgconf_DATA)'; test -n "$(pkgconfdir)" || list=; \
-+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-+ dir='$(DESTDIR)$(pkgconfdir)'; $(am__uninstall_files_from_dir)
-+
-+# This directory's subdirectories are mostly independent; you can cd
-+# into them and run 'make' without going through this Makefile.
-+# To change the values of 'make' variables: instead of editing Makefiles,
-+# (1) if the variable is set in 'config.status', edit 'config.status'
-+# (which will cause the Makefiles to be regenerated when you run 'make');
-+# (2) otherwise, pass the desired values on the 'make' command line.
-+$(am__recursive_targets):
-+ @fail=; \
-+ if $(am__make_keepgoing); then \
-+ failcom='fail=yes'; \
-+ else \
-+ failcom='exit 1'; \
-+ fi; \
-+ dot_seen=no; \
-+ target=`echo $@ | sed s/-recursive//`; \
-+ case "$@" in \
-+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-+ *) list='$(SUBDIRS)' ;; \
-+ esac; \
-+ for subdir in $$list; do \
-+ echo "Making $$target in $$subdir"; \
-+ if test "$$subdir" = "."; then \
-+ dot_seen=yes; \
-+ local_target="$$target-am"; \
-+ else \
-+ local_target="$$target"; \
-+ fi; \
-+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-+ || eval $$failcom; \
-+ done; \
-+ if test "$$dot_seen" = "no"; then \
-+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-+ fi; test -z "$$fail"
-+
-+ID: $(am__tagged_files)
-+ $(am__define_uniq_tagged_files); mkid -fID $$unique
-+tags: tags-recursive
-+TAGS: tags
-+
-+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-+ set x; \
-+ here=`pwd`; \
-+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-+ include_option=--etags-include; \
-+ empty_fix=.; \
-+ else \
-+ include_option=--include; \
-+ empty_fix=; \
-+ fi; \
-+ list='$(SUBDIRS)'; for subdir in $$list; do \
-+ if test "$$subdir" = .; then :; else \
-+ test ! -f $$subdir/TAGS || \
-+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-+ fi; \
-+ done; \
-+ $(am__define_uniq_tagged_files); \
-+ shift; \
-+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-+ test -n "$$unique" || unique=$$empty_fix; \
-+ if test $$# -gt 0; then \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ "$$@" $$unique; \
-+ else \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$unique; \
-+ fi; \
-+ fi
-+ctags: ctags-recursive
-+
-+CTAGS: ctags
-+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-+ $(am__define_uniq_tagged_files); \
-+ test -z "$(CTAGS_ARGS)$$unique" \
-+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+ $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && $(am__cd) $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) "$$here"
-+cscope: cscope.files
-+ test ! -s cscope.files \
-+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files
$(CSCOPE_ARGS)
-+clean-cscope:
-+ -rm -f cscope.files
-+cscope.files: clean-cscope cscopelist
-+cscopelist: cscopelist-recursive
-+
-+cscopelist-am: $(am__tagged_files)
-+ list='$(am__tagged_files)'; \
-+ case "$(srcdir)" in \
-+ [\/]* | ?:[\/]*) sdir="$(srcdir)" ;; \
-+ *) sdir=$(subdir)/$(srcdir) ;; \
-+ esac; \
-+ for i in $$list; do \
-+ if test -f "$$i"; then \
-+ echo "$(subdir)/$$i"; \
-+ else \
-+ echo "$$sdir/$$i"; \
-+ fi; \
-+ done >> $(top_builddir)/cscope.files
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-+
-+distdir: $(DISTFILES)
-+ $(am__remove_distdir)
-+ test -d "$(distdir)" || mkdir "$(distdir)"
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \
-+ list='$(DISTFILES)'; \
-+ dist_files=`for file in $$list; do echo $$file; done | \
-+ sed -e "s|^$$srcdirstrip/||;t" \
-+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+ case $$dist_files in \
-+ */*) $(MKDIR_P) `echo "$$dist_files" | \
-+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+ sort -u` ;; \
-+ esac; \
-+ for file in $$dist_files; do \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ if test -d $$d/$$file; then \
-+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test -d "$(distdir)/$$file"; then \
-+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
-+ fi; \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
-+ fi; \
-+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-+ else \
-+ test -f "$(distdir)/$$file" \
-+ || cp -p $$d/$$file "$(distdir)/$$file" \
-+ || exit 1; \
-+ fi; \
-+ done
-+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-+ if test "$$subdir" = .; then :; else \
-+ $(am__make_dryrun) \
-+ || test -d "$(distdir)/$$subdir" \
-+ || $(MKDIR_P) "$(distdir)/$$subdir" \
-+ || exit 1; \
-+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-+ $(am__relativize); \
-+ new_distdir=$$reldir; \
-+ dir1=$$subdir; dir2="$(top_distdir)"; \
-+ $(am__relativize); \
-+ new_top_distdir=$$reldir; \
-+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS)
top_distdir="$$new_top_distdir" distdir="$$new_distdir" \"; \
-+ echo " am__remove_distdir=: am__skip_length_check=:
am__skip_mode_fix=: distdir)"; \
-+ ($(am__cd) $$subdir && \
-+ $(MAKE) $(AM_MAKEFLAGS) \
-+ top_distdir="$$new_top_distdir" \
-+ distdir="$$new_distdir" \
-+ am__remove_distdir=: \
-+ am__skip_length_check=: \
-+ am__skip_mode_fix=: \
-+ distdir) \
-+ || exit 1; \
-+ fi; \
-+ done
-+ -test -n "$(am__skip_mode_fix)" \
-+ || find "$(distdir)" -type d ! -perm -755 \
-+ -exec chmod u+rwx,go+rx {} \; -o \
-+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-+ || chmod -R a+r "$(distdir)"
-+dist-gzip: distdir
-+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c
>$(distdir).tar.gz
-+ $(am__post_remove_distdir)
-+
-+dist-bzip2: distdir
-+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c
>$(distdir).tar.bz2
-+ $(am__post_remove_distdir)
-+
-+dist-lzip: distdir
-+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9}
>$(distdir).tar.lz
-+ $(am__post_remove_distdir)
-+
-+dist-xz: distdir
-+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c
>$(distdir).tar.xz
-+ $(am__post_remove_distdir)
-+
-+dist-tarZ: distdir
-+ @echo WARNING: "Support for distribution archives compressed with" \
-+ "legacy program 'compress' is deprecated." >&2
-+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-+ $(am__post_remove_distdir)
-+
-+dist-shar: distdir
-+ @echo WARNING: "Support for shar distribution archives is" \
-+ "deprecated." >&2
-+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
-+ $(am__post_remove_distdir)
-+
-+dist-zip: distdir
-+ -rm -f $(distdir).zip
-+ zip -rq $(distdir).zip $(distdir)
-+ $(am__post_remove_distdir)
-+
-+dist dist-all:
-+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
-+ $(am__post_remove_distdir)
-+
-+# This target untars the dist file and tries a VPATH configuration. Then
-+# it guarantees that the distribution is self-contained by making another
-+# tarfile.
-+distcheck: dist
-+ case '$(DIST_ARCHIVES)' in \
-+ *.tar.gz*) \
-+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
-+ *.tar.bz2*) \
-+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-+ *.tar.lz*) \
-+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-+ *.tar.xz*) \
-+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-+ *.tar.Z*) \
-+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-+ *.shar.gz*) \
-+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
-+ *.zip*) \
-+ unzip $(distdir).zip ;;\
-+ esac
-+ chmod -R a-w $(distdir)
-+ chmod u+w $(distdir)
-+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
-+ chmod a-w $(distdir)
-+ test -d $(distdir)/_build || exit 0; \
-+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e
's,^[^:\/]:[\/],/,'` \
-+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-+ && am__cwd=`pwd` \
-+ && $(am__cd) $(distdir)/_build/sub \
-+ && ../../configure \
-+ --with-included-gettext \
-+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-+ $(DISTCHECK_CONFIGURE_FLAGS) \
-+ --srcdir=../.. --prefix="$$dc_install_base" \
-+ && $(MAKE) $(AM_MAKEFLAGS) \
-+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
-+ && $(MAKE) $(AM_MAKEFLAGS) check \
-+ && $(MAKE) $(AM_MAKEFLAGS) install \
-+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base"
\
-+ distuninstallcheck \
-+ && chmod -R a-w "$$dc_install_base" \
-+ && ({ \
-+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
-+ && rm -rf "$$dc_destdir" \
-+ && $(MAKE) $(AM_MAKEFLAGS) dist \
-+ && rm -rf $(DIST_ARCHIVES) \
-+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-+ && cd "$$am__cwd" \
-+ || exit 1
-+ $(am__post_remove_distdir)
-+ @(echo "$(distdir) archives ready for distribution: "; \
-+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-+distuninstallcheck:
-+ @test -n '$(distuninstallcheck_dir)' || { \
-+ echo 'ERROR: trying to run $@ with an empty' \
-+ '$$(distuninstallcheck_dir)' >&2; \
-+ exit 1; \
-+ }; \
-+ $(am__cd) '$(distuninstallcheck_dir)' || { \
-+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-+ exit 1; \
-+ }; \
-+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-+ || { echo "ERROR: files left after uninstall:" ; \
-+ if test -n "$(DESTDIR)"; then \
-+ echo " (check DESTDIR support)"; \
-+ fi ; \
-+ $(distuninstallcheck_listfiles) ; \
-+ exit 1; } >&2
-+distcleancheck: distclean
-+ @if test '$(srcdir)' = . ; then \
-+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-+ exit 1 ; \
-+ fi
-+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-+ || { echo "ERROR: files left in build directory after distclean:" ; \
-+ $(distcleancheck_listfiles) ; \
-+ exit 1; } >&2
-+check-am: all-am
-+check: check-recursive
-+all-am: Makefile $(DATA) config.h
-+installdirs: installdirs-recursive
-+installdirs-am:
-+ for dir in "$(DESTDIR)$(pkgconfdir)"; do \
-+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-+ done
-+install: install-recursive
-+install-exec: install-exec-recursive
-+install-data: install-data-recursive
-+uninstall: uninstall-recursive
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-recursive
-+install-strip:
-+ if test -z '$(STRIP)'; then \
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
-+ install; \
-+ else \
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
-+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-+ fi
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f
$(CONFIG_CLEAN_VPATH_FILES)
-+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+clean: clean-recursive
-+
-+clean-am: clean-generic clean-libtool mostlyclean-am
-+
-+distclean: distclean-recursive
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-generic distclean-hdr \
-+ distclean-libtool distclean-tags
-+
-+dvi: dvi-recursive
-+
-+dvi-am:
-+
-+html: html-recursive
-+
-+html-am:
-+
-+info: info-recursive
-+
-+info-am:
-+
-+install-data-am: install-pkgconfDATA
-+
-+install-dvi: install-dvi-recursive
-+
-+install-dvi-am:
-+
-+install-exec-am:
-+
-+install-html: install-html-recursive
-+
-+install-html-am:
-+
-+install-info: install-info-recursive
-+
-+install-info-am:
-+
-+install-man:
-+
-+install-pdf: install-pdf-recursive
-+
-+install-pdf-am:
-+
-+install-ps: install-ps-recursive
-+
-+install-ps-am:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-recursive
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -rf $(top_srcdir)/autom4te.cache
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-recursive
-+
-+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-+
-+pdf: pdf-recursive
-+
-+pdf-am:
-+
-+ps: ps-recursive
-+
-+ps-am:
-+
-+uninstall-am: uninstall-pkgconfDATA
-+
-+.MAKE: $(am__recursive_targets) all install-am install-strip
-+
-+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
-+ am--refresh check check-am clean clean-cscope clean-generic \
-+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
-+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
-+ dist-xz dist-zip distcheck distclean distclean-generic \
-+ distclean-hdr distclean-libtool distclean-tags distcleancheck \
-+ distdir distuninstallcheck dvi dvi-am html html-am info \
-+ info-am install install-am install-data install-data-am \
-+ install-dvi install-dvi-am install-exec install-exec-am \
-+ install-html install-html-am install-info install-info-am \
-+ install-man install-pdf install-pdf-am install-pkgconfDATA \
-+ install-ps install-ps-am install-strip installcheck \
-+ installcheck-am installdirs installdirs-am maintainer-clean \
-+ maintainer-clean-generic mostlyclean mostlyclean-generic \
-+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-+ uninstall-am uninstall-pkgconfDATA
-+
-+.PRECIOUS: Makefile
-+
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff --git a/aclocal.m4 b/aclocal.m4
-new file mode 100644
-index 0000000..56658b6
---- /dev/null
-+++ b/aclocal.m4
-@@ -0,0 +1,1290 @@
-+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-+
-+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-+
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS],
[])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-+m4_ifndef([AC_AUTOCONF_VERSION],
-+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-+[m4_warning([this file was generated for autoconf 2.69.
-+You have another version of autoconf. It may work, but is not guaranteed to.
-+If you have problems, you may need to regenerate the build system entirely.
-+To do so, use the procedure documented by the package, typically
'autoreconf'.])])
-+
-+dnl 'extern inline' a la ISO C99.
-+
-+dnl Copyright 2012-2016 Free Software Foundation, Inc.
-+dnl This file is free software; the Free Software Foundation
-+dnl gives unlimited permission to copy and/or distribute it,
-+dnl with or without modifications, as long as this notice is preserved.
-+
-+AC_DEFUN([gl_EXTERN_INLINE],
-+[
-+ AH_VERBATIM([extern_inline],
-+[/* Please see the Gnulib manual for how to use these macros.
-+
-+ Suppress extern inline with HP-UX cc, as it appears to be broken; see
-+ <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
-+
-+ Suppress extern inline with Sun C in standards-conformance mode, as it
-+ mishandles inline functions that call each other. E.g., for 'inline void f
-+ (void) { } inline void g (void) { f (); }', c99 incorrectly complains
-e
... etc. - the rest is truncated