From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- meta/recipes-sato/webkit/files/bison-2.6.patch | 558 +++++++++++++++++++++ meta/recipes-sato/webkit/files/no-gtkdoc.patch | 20 + meta/recipes-sato/webkit/files/nodolt.patch | 19 + .../webgit-gtk_fix_build_with_automake_1.12.patch | 62 +++ 4 files changed, 659 insertions(+) create mode 100644 meta/recipes-sato/webkit/files/bison-2.6.patch create mode 100644 meta/recipes-sato/webkit/files/no-gtkdoc.patch create mode 100644 meta/recipes-sato/webkit/files/nodolt.patch create mode 100644 meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch (limited to 'meta/recipes-sato/webkit/files') diff --git a/meta/recipes-sato/webkit/files/bison-2.6.patch b/meta/recipes-sato/webkit/files/bison-2.6.patch new file mode 100644 index 0000000000..d4aa674217 --- /dev/null +++ b/meta/recipes-sato/webkit/files/bison-2.6.patch @@ -0,0 +1,558 @@ +Upstream-Status: Backport +http://trac.webkit.org/changeset/124099 + +Subversion Revision: 123651 +diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y +index c7c10b541cd46ad4febc6efe289e81b2cfb0861e..1c604e76b4da4cc65f395bc4a73b112561bd5c84 100644 +--- a/Source/WebCore/css/CSSGrammar.y ++++ b/Source/WebCore/css/CSSGrammar.y +@@ -53,14 +53,13 @@ using namespace HTMLNames; + #define YYMAXDEPTH 10000 + #define YYDEBUG 0 + +-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x +-#define YYPARSE_PARAM parser +-#define YYLEX_PARAM parser +- + %} + + %pure_parser + ++%parse-param { CSSParser* parser } ++%lex-param { CSSParser* parser } ++ + %union { + bool boolean; + char character; +@@ -89,7 +88,7 @@ using namespace HTMLNames; + + %{ + +-static inline int cssyyerror(const char*) ++static inline int cssyyerror(void*, const char*) + { + return 1; + } +diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp +index 650844060477cfc6ea6fdeaf11ec63b34ac646e7..8369549dbff25537cf93a11237a9bbbac4fe50f2 100644 +--- a/Source/WebCore/css/CSSParser.cpp ++++ b/Source/WebCore/css/CSSParser.cpp +@@ -114,7 +114,7 @@ + extern int cssyydebug; + #endif + +-extern int cssyyparse(void* parser); ++extern int cssyyparse(WebCore::CSSParser*); + + using namespace std; + using namespace WTF; +diff --git a/Source/WebCore/xml/XPathGrammar.y b/Source/WebCore/xml/XPathGrammar.y +index 2eba5b35bd2338272a0f4ec756d137e47d2d59c8..d558211db2d89ea13716762a51397755560f66f3 100644 +--- a/Source/WebCore/xml/XPathGrammar.y ++++ b/Source/WebCore/xml/XPathGrammar.y +@@ -34,6 +34,7 @@ + #include "XPathParser.h" + #include "XPathPath.h" + #include "XPathPredicate.h" ++#include "XPathStep.h" + #include "XPathVariableReference.h" + #include + +@@ -44,8 +45,6 @@ + #define YYLTYPE_IS_TRIVIAL 1 + #define YYDEBUG 0 + #define YYMAXDEPTH 10000 +-#define YYPARSE_PARAM parserParameter +-#define PARSER static_cast(parserParameter) + + using namespace WebCore; + using namespace XPath; +@@ -53,6 +52,7 @@ using namespace XPath; + %} + + %pure_parser ++%parse-param { WebCore::XPath::Parser* parser } + + %union + { +@@ -71,7 +71,7 @@ using namespace XPath; + %{ + + static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } +-static void xpathyyerror(const char*) { } ++static void xpathyyerror(void*, const char*) { } + + %} + +@@ -118,7 +118,7 @@ static void xpathyyerror(const char*) { } + Expr: + OrExpr + { +- PARSER->m_topExpr = $1; ++ parser->m_topExpr = $1; + } + ; + +@@ -138,7 +138,7 @@ AbsoluteLocationPath: + '/' + { + $$ = new LocationPath; +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + | + '/' RelativeLocationPath +@@ -150,7 +150,7 @@ AbsoluteLocationPath: + { + $$ = $2; + $$->insertFirstStep($1); +- PARSER->unregisterParseNode($1); ++ parser->unregisterParseNode($1); + } + ; + +@@ -159,22 +159,22 @@ RelativeLocationPath: + { + $$ = new LocationPath; + $$->appendStep($1); +- PARSER->unregisterParseNode($1); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->registerParseNode($$); + } + | + RelativeLocationPath '/' Step + { + $$->appendStep($3); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($3); + } + | + RelativeLocationPath DescendantOrSelf Step + { + $$->appendStep($2); + $$->appendStep($3); +- PARSER->unregisterParseNode($2); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($2); ++ parser->unregisterParseNode($3); + } + ; + +@@ -183,58 +183,58 @@ Step: + { + if ($2) { + $$ = new Step(Step::ChildAxis, *$1, *$2); +- PARSER->deletePredicateVector($2); ++ parser->deletePredicateVector($2); + } else + $$ = new Step(Step::ChildAxis, *$1); +- PARSER->deleteNodeTest($1); +- PARSER->registerParseNode($$); ++ parser->deleteNodeTest($1); ++ parser->registerParseNode($$); + } + | + NAMETEST OptionalPredicateList + { + String localName; + String namespaceURI; +- if (!PARSER->expandQName(*$1, localName, namespaceURI)) { +- PARSER->m_gotNamespaceError = true; ++ if (!parser->expandQName(*$1, localName, namespaceURI)) { ++ parser->m_gotNamespaceError = true; + YYABORT; + } + + if ($2) { + $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); +- PARSER->deletePredicateVector($2); ++ parser->deletePredicateVector($2); + } else + $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | + AxisSpecifier NodeTest OptionalPredicateList + { + if ($3) { + $$ = new Step($1, *$2, *$3); +- PARSER->deletePredicateVector($3); ++ parser->deletePredicateVector($3); + } else + $$ = new Step($1, *$2); +- PARSER->deleteNodeTest($2); +- PARSER->registerParseNode($$); ++ parser->deleteNodeTest($2); ++ parser->registerParseNode($$); + } + | + AxisSpecifier NAMETEST OptionalPredicateList + { + String localName; + String namespaceURI; +- if (!PARSER->expandQName(*$2, localName, namespaceURI)) { +- PARSER->m_gotNamespaceError = true; ++ if (!parser->expandQName(*$2, localName, namespaceURI)) { ++ parser->m_gotNamespaceError = true; + YYABORT; + } + + if ($3) { + $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); +- PARSER->deletePredicateVector($3); ++ parser->deletePredicateVector($3); + } else + $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); +- PARSER->deleteString($2); +- PARSER->registerParseNode($$); ++ parser->deleteString($2); ++ parser->registerParseNode($$); + } + | + AbbreviatedStep +@@ -259,23 +259,23 @@ NodeTest: + else if (*$1 == "comment") + $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); + +- PARSER->deleteString($1); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->registerNodeTest($$); + } + | + PI '(' ')' + { + $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); +- PARSER->deleteString($1); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->registerNodeTest($$); + } + | + PI '(' LITERAL ')' + { + $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); +- PARSER->deleteString($1); +- PARSER->deleteString($3); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->deleteString($3); ++ parser->registerNodeTest($$); + } + ; + +@@ -293,14 +293,14 @@ PredicateList: + { + $$ = new Vector; + $$->append(new Predicate($1)); +- PARSER->unregisterParseNode($1); +- PARSER->registerPredicateVector($$); ++ parser->unregisterParseNode($1); ++ parser->registerPredicateVector($$); + } + | + PredicateList Predicate + { + $$->append(new Predicate($2)); +- PARSER->unregisterParseNode($2); ++ parser->unregisterParseNode($2); + } + ; + +@@ -315,7 +315,7 @@ DescendantOrSelf: + SLASHSLASH + { + $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + ; + +@@ -323,13 +323,13 @@ AbbreviatedStep: + '.' + { + $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + | + DOTDOT + { + $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + ; + +@@ -337,8 +337,8 @@ PrimaryExpr: + VARIABLEREFERENCE + { + $$ = new VariableReference(*$1); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | + '(' Expr ')' +@@ -349,15 +349,15 @@ PrimaryExpr: + LITERAL + { + $$ = new StringExpression(*$1); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | + NUMBER + { + $$ = new Number($1->toDouble()); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | + FunctionCall +@@ -369,8 +369,8 @@ FunctionCall: + $$ = createFunction(*$1); + if (!$$) + YYABORT; +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | + FUNCTIONNAME '(' ArgumentList ')' +@@ -378,9 +378,9 @@ FunctionCall: + $$ = createFunction(*$1, *$3); + if (!$$) + YYABORT; +- PARSER->deleteString($1); +- PARSER->deleteExpressionVector($3); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->deleteExpressionVector($3); ++ parser->registerParseNode($$); + } + ; + +@@ -389,14 +389,14 @@ ArgumentList: + { + $$ = new Vector; + $$->append($1); +- PARSER->unregisterParseNode($1); +- PARSER->registerExpressionVector($$); ++ parser->unregisterParseNode($1); ++ parser->registerExpressionVector($$); + } + | + ArgumentList ',' Argument + { + $$->append($3); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($3); + } + ; + +@@ -412,9 +412,9 @@ UnionExpr: + $$ = new Union; + $$->addSubExpression($1); + $$->addSubExpression($3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -430,9 +430,9 @@ PathExpr: + { + $3->setAbsolute(true); + $$ = new Path(static_cast($1), $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + | + FilterExpr DescendantOrSelf RelativeLocationPath +@@ -440,10 +440,10 @@ PathExpr: + $3->insertFirstStep($2); + $3->setAbsolute(true); + $$ = new Path(static_cast($1), $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($2); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($2); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -453,9 +453,9 @@ FilterExpr: + PrimaryExpr PredicateList + { + $$ = new Filter($1, *$2); +- PARSER->unregisterParseNode($1); +- PARSER->deletePredicateVector($2); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->deletePredicateVector($2); ++ parser->registerParseNode($$); + } + ; + +@@ -465,9 +465,9 @@ OrExpr: + OrExpr OR AndExpr + { + $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -477,9 +477,9 @@ AndExpr: + AndExpr AND EqualityExpr + { + $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -489,9 +489,9 @@ EqualityExpr: + EqualityExpr EQOP RelationalExpr + { + $$ = new EqTestOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -501,9 +501,9 @@ RelationalExpr: + RelationalExpr RELOP AdditiveExpr + { + $$ = new EqTestOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -513,17 +513,17 @@ AdditiveExpr: + AdditiveExpr PLUS MultiplicativeExpr + { + $$ = new NumericOp(NumericOp::OP_Add, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + | + AdditiveExpr MINUS MultiplicativeExpr + { + $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -533,9 +533,9 @@ MultiplicativeExpr: + MultiplicativeExpr MULOP UnaryExpr + { + $$ = new NumericOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; + +@@ -546,8 +546,8 @@ UnaryExpr: + { + $$ = new Negative; + $$->addSubExpression($2); +- PARSER->unregisterParseNode($2); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($2); ++ parser->registerParseNode($$); + } + ; + +diff --git a/Source/WebCore/xml/XPathParser.cpp b/Source/WebCore/xml/XPathParser.cpp +index 62d8ee37fd6ebb74a580a00c59beb6cd40c5a8b7..b5e6a9237593b4aaa2a243f2ff9d86e57f930a97 100644 +--- a/Source/WebCore/xml/XPathParser.cpp ++++ b/Source/WebCore/xml/XPathParser.cpp +@@ -32,24 +32,21 @@ + #include "XPathEvaluator.h" + #include "XPathException.h" + #include "XPathNSResolver.h" ++#include "XPathPath.h" + #include "XPathStep.h" + #include + #include + +-int xpathyyparse(void*); +- ++using namespace WebCore; + using namespace WTF; + using namespace Unicode; ++using namespace XPath; + +-namespace WebCore { +-namespace XPath { +- +-class LocationPath; +- +-#include "XPathGrammar.h" ++extern int xpathyyparse(WebCore::XPath::Parser*); ++#include "XPathGrammar.h" + + Parser* Parser::currentParser = 0; +- ++ + enum XMLCat { NameStart, NameCont, NotPartOfName }; + + typedef HashMap AxisNamesMap; +@@ -630,5 +627,3 @@ void Parser::deleteNodeTest(Step::NodeTest* t) + delete t; + } + +-} +-} diff --git a/meta/recipes-sato/webkit/files/no-gtkdoc.patch b/meta/recipes-sato/webkit/files/no-gtkdoc.patch new file mode 100644 index 0000000000..4eb09dc0e2 --- /dev/null +++ b/meta/recipes-sato/webkit/files/no-gtkdoc.patch @@ -0,0 +1,20 @@ +make install invokes a gtk-doc tool without checking that we have gtk-doc. + +Signed-off-by: Ross Burton + +Upstream-Status: Pending (https://bugs.webkit.org/show_bug.cgi?id=91239) + +Index: webkit-1.8.1/Tools/GNUmakefile.am +=================================================================== +--- webkit-1.8.1.orig/Tools/GNUmakefile.am ++++ webkit-1.8.1/Tools/GNUmakefile.am +@@ -330,7 +330,9 @@ if ENABLE_WEBKIT2 + fi; \ + fi + endif ++if ENABLE_GTK_DOC + @$(AM_V_GEN)$(PYTHON) $(srcdir)/Tools/gtk/generate-gtkdoc --rebase --virtual-root=$${DESTDIR} ++endif + + uninstall-local: + @DOC_MODULE_VERSION=`cat ./Documentation/webkitgtk/version.xml`; \ diff --git a/meta/recipes-sato/webkit/files/nodolt.patch b/meta/recipes-sato/webkit/files/nodolt.patch new file mode 100644 index 0000000000..e713e8b5ec --- /dev/null +++ b/meta/recipes-sato/webkit/files/nodolt.patch @@ -0,0 +1,19 @@ +Dolt cause build error on some platform, so disable it. + +Signed-off-by: Zhai Edwin + +Upstream-Status: Inappropriate [configuration] + +Index: webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac +=================================================================== +--- webkit-gtk-1.3.7+svnr72836-r72836-r0.orig/configure.ac 2011-01-21 11:11:07.000000000 +0800 ++++ webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac 2011-01-21 11:11:15.000000000 +0800 +@@ -82,8 +82,6 @@ + AC_DISABLE_STATIC + AC_LIBTOOL_WIN32_DLL + AC_PROG_LIBTOOL +-# use dolt to speedup the build +-DOLT + + AC_PATH_PROG(FLEX, flex) + if test -z "$FLEX"; then diff --git a/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch b/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch new file mode 100644 index 0000000000..ad7c55f264 --- /dev/null +++ b/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch @@ -0,0 +1,62 @@ +Upstream-Status: Pending + +automake 1.12 has deprecated use of mkdir_p, and it recommends +use of MKDIR_P instead. Changed the code to avoid these kind +of warning-errors. + +./.deps/DerivedSources +make[1]: ./.deps/DerivedSources: Command not found +make[1]: *** [all-local] Error 127 + +Signed-Off-By: Nitin A Kamble +2012/07/10 + +Index: webkit-gtk-1.7.2+svnr101488-r6/GNUmakefile.am +=================================================================== +--- webkit-gtk-1.7.2+svnr101488-r6.orig/GNUmakefile.am ++++ webkit-gtk-1.7.2+svnr101488-r6/GNUmakefile.am +@@ -255,7 +255,7 @@ MAINTAINERCLEANFILES += \ + # Older automake versions (1.7) place Plo files in a different place so we need + # to create the output directory manually. + all-local: stamp-po +- $(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources ++ $(MKDIR_P) $(top_builddir)/$(DEPDIR)/DerivedSources + + # remove built sources and program directories + clean-local: +Index: webkit-gtk-1.7.2+svnr101488-r6/Source/WebKit/gtk/po/GNUmakefile.am +=================================================================== +--- webkit-gtk-1.7.2+svnr101488-r6.orig/Source/WebKit/gtk/po/GNUmakefile.am ++++ webkit-gtk-1.7.2+svnr101488-r6/Source/WebKit/gtk/po/GNUmakefile.am +@@ -132,13 +132,13 @@ DISTCLEANFILES += \ + $(top_builddir)/Source/WebKit/gtk/po/$(DOMAIN).pot + + po-install-data-local: all +- $(mkdir_p) $(DESTDIR)$(datadir) ++ $(MKDIR_P) $(DESTDIR)$(datadir) + @catalogs='$(MOFILES)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.mo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ +- $(mkdir_p) $(DESTDIR)$$dir; \ ++ $(MKDIR_P) $(DESTDIR)$$dir; \ + if test -r Source/WebKit/gtk/po/$$cat; then realcat=Source/WebKit/gtk/po/$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ +@@ -173,13 +173,13 @@ po-install-data-local: all + done + + po-installdirs-data-local: +- $(mkdir_p) $(DESTDIR)$(datadir) ++ $(MKDIR_P) $(DESTDIR)$(datadir) + @catalogs='$(MOFILES)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ +- $(mkdir_p) $(DESTDIR)$$dir; \ ++ $(MKDIR_P) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ -- cgit v1.2.3-54-g00ecf