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 + -- http://lists.linuxfromscratch.org/listinfo/patches FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page