[lfs-patches] r3314 - trunk/doxygen

pierre at higgs.linuxfromscratch.org pierre at higgs.linuxfromscratch.org
Sat Nov 28 14:13:46 PST 2015


Author: pierre
Date: Sat Nov 28 14:13:46 2015
New Revision: 3314

Log:
Patch for building Doxygen with Flex-2.6.0

Added:
   trunk/doxygen/
   trunk/doxygen/doxygen-1.8.10-flex_2_6_0_fix-1.patch

Added: trunk/doxygen/doxygen-1.8.10-flex_2_6_0_fix-1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/doxygen/doxygen-1.8.10-flex_2_6_0_fix-1.patch	Sat Nov 28 14:13:46 2015	(r3314)
@@ -0,0 +1,101 @@
+Date: 2015-11-28
+Initial Package Version: 1.8.10
+Upstream Status: Committed.
+Origin: from upstream.
+Description: 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..f014924 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
+-#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!"
++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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/commentscan.l b/src/commentscan.l
+index cf892a0..ffed075 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_MAJOR_VERSION>=2 && (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_MAJOR_VERSION>=2 && (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..82e78c1 100644
+--- a/src/fortrancode.l
++++ b/src/fortrancode.l
+@@ -1302,11 +1302,11 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri
+   return;
+ }
+ 
+-#if !defined(YY_FLEX_SUBMINOR_VERSION) 
++#if !defined(YY_FLEX_SUBMINOR_VERSION)
+ extern "C" { // some bogus code to keep the compiler happy
+-  void fortrancodeYYdummy() { yy_flex_realloc(0,0); } 
++  void fortrancodeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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..2b2a668 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_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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..e4ae0e7 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_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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..fd36ebb 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_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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
+ 


More information about the patches mailing list