forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-doc/doxygen: fix version check for sys-devel/flex-2.6.0
Apply a patch to fix doxygen's build system to successfully detect flex-2.6.0 as sufficiently modern version. The build system accidentally only compared the minor version number... Upstream: doxygen/doxygen#413 Gentoo-Bug: 567018 Package-Manager: portage-2.2.26
- Loading branch information
Showing
2 changed files
with
97 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
From 5fcb13572417a3b4a05217e9023c683864f35643 Mon Sep 17 00:00:00 2001 | ||
From: Heiko Becker <[email protected]> | ||
Date: Thu, 19 Nov 2015 12:00:54 +0100 | ||
Subject: [PATCH] Support flex-2.6.0 | ||
|
||
The version checks only considered YY_FLEX_SUBMINOR_VERSION and did not | ||
take YY_FLEX_MINOR_VERSION into account, which made them fail with | ||
flex-2.6.0. | ||
|
||
diff --git a/src/code.l b/src/code.l | ||
index 3323580..25719af 100644 | ||
--- a/src/code.l | ||
+++ b/src/code.l | ||
@@ -3700,7 +3700,7 @@ void codeFreeScanner() | ||
extern "C" { // some bogus code to keep the compiler happy | ||
void codeYYdummy() { yy_flex_realloc(0,0); } | ||
} | ||
-#elif YY_FLEX_SUBMINOR_VERSION<33 | ||
+#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 | ||
#error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" | ||
#endif | ||
|
||
diff --git a/src/commentscan.l b/src/commentscan.l | ||
index cf892a0..2629857 100644 | ||
--- a/src/commentscan.l | ||
+++ b/src/commentscan.l | ||
@@ -1128,7 +1128,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" | ||
// but we need to know the position in the input buffer where this | ||
// rule matched. | ||
// for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE | ||
-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 | ||
+#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 | ||
inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); | ||
#else | ||
inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf); | ||
@@ -1190,7 +1190,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" | ||
g_memberGroupHeader.resize(0); | ||
parseMore=TRUE; | ||
needNewEntry = TRUE; | ||
-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 | ||
+#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 | ||
inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext); | ||
#else | ||
inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext); | ||
diff --git a/src/fortrancode.l b/src/fortrancode.l | ||
index fb91a83..352912b 100644 | ||
--- a/src/fortrancode.l | ||
+++ b/src/fortrancode.l | ||
@@ -1306,7 +1306,7 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri | ||
extern "C" { // some bogus code to keep the compiler happy | ||
void fortrancodeYYdummy() { yy_flex_realloc(0,0); } | ||
} | ||
-#elif YY_FLEX_SUBMINOR_VERSION<33 | ||
+#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 | ||
#error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" | ||
#else | ||
extern "C" { // some bogus code to keep the compiler happy | ||
diff --git a/src/pycode.l b/src/pycode.l | ||
index 3c41a69..f58f7c1 100644 | ||
--- a/src/pycode.l | ||
+++ b/src/pycode.l | ||
@@ -1503,7 +1503,7 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/, | ||
extern "C" { // some bogus code to keep the compiler happy | ||
void pycodeYYdummy() { yy_flex_realloc(0,0); } | ||
} | ||
-#elif YY_FLEX_SUBMINOR_VERSION<33 | ||
+#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 | ||
#error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." | ||
#endif | ||
|
||
diff --git a/src/vhdlcode.l b/src/vhdlcode.l | ||
index 369ae48..6957048 100644 | ||
--- a/src/vhdlcode.l | ||
+++ b/src/vhdlcode.l | ||
@@ -1613,7 +1613,7 @@ void codeFreeVhdlScanner() | ||
extern "C" { // some bogus code to keep the compiler happy | ||
void vhdlcodeYYdummy() { yy_flex_realloc(0,0); } | ||
} | ||
-#elif YY_FLEX_SUBMINOR_VERSION<33 | ||
+#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 | ||
#error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" | ||
#endif | ||
|
||
diff --git a/src/xmlcode.l b/src/xmlcode.l | ||
index 15b5d7e..2bef4a0 100644 | ||
--- a/src/xmlcode.l | ||
+++ b/src/xmlcode.l | ||
@@ -407,7 +407,7 @@ void resetXmlCodeParserState() | ||
extern "C" { // some bogus code to keep the compiler happy | ||
void xmlcodeYYdummy() { yy_flex_realloc(0,0); } | ||
} | ||
-#elif YY_FLEX_SUBMINOR_VERSION<33 | ||
+#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 | ||
#error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." | ||
#endif | ||
|