Fix build with xapian-core < 1.4.10
[xapian.git] / patches / doxygen / flex-2.6-compat.patch
blobb59719e6c73568d4821b5238dddfc5177a7c67f5
1 diff -ru a/src/code.l b/src/code.l
2 --- a/src/code.l 2014-07-14 01:04:37.000000000 +1200
3 +++ b/src/code.l 2016-01-11 05:39:41.576558631 +1300
4 @@ -3696,7 +3696,7 @@
5 extern "C" { // some bogus code to keep the compiler happy
6 void codeYYdummy() { yy_flex_realloc(0,0); }
8 -#elif YY_FLEX_SUBMINOR_VERSION<33
9 +#elif YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION<33
10 #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!"
11 #endif
13 diff -ru a/src/commentscan.l b/src/commentscan.l
14 --- a/src/commentscan.l 2014-08-15 05:46:42.000000000 +1200
15 +++ b/src/commentscan.l 2016-01-11 05:38:57.474904451 +1300
16 @@ -1098,7 +1098,7 @@
17 // but we need to know the position in the input buffer where this
18 // rule matched.
19 // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE
20 -#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
21 +#if YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33)
22 inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);
23 #else
24 inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf);
25 @@ -1160,7 +1160,7 @@
26 g_memberGroupHeader.resize(0);
27 parseMore=TRUE;
28 needNewEntry = TRUE;
29 -#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
30 +#if YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33)
31 inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext);
32 #else
33 inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext);
34 diff -ru a/src/fortrancode.l b/src/fortrancode.l
35 --- a/src/fortrancode.l 2014-08-15 05:46:42.000000000 +1200
36 +++ b/src/fortrancode.l 2016-01-11 05:37:55.914087689 +1300
37 @@ -1227,7 +1227,7 @@
38 extern "C" { // some bogus code to keep the compiler happy
39 void fortrancodeYYdummy() { yy_flex_realloc(0,0); }
41 -#elif YY_FLEX_SUBMINOR_VERSION<33
42 +#elif YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION<33
43 #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!"
44 #else
45 extern "C" { // some bogus code to keep the compiler happy
46 diff -ru a/src/pycode.l b/src/pycode.l
47 --- a/src/pycode.l 2014-05-17 22:21:37.000000000 +1200
48 +++ b/src/pycode.l 2016-01-11 05:40:15.350544282 +1300
49 @@ -1504,7 +1504,7 @@
50 extern "C" { // some bogus code to keep the compiler happy
51 void pycodeYYdummy() { yy_flex_realloc(0,0); }
53 -#elif YY_FLEX_SUBMINOR_VERSION<33
54 +#elif YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION<33
55 #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)."
56 #endif
58 diff -ru a/src/vhdlcode.l b/src/vhdlcode.l
59 --- a/src/vhdlcode.l 2014-08-15 05:46:42.000000000 +1200
60 +++ b/src/vhdlcode.l 2016-01-11 05:37:37.990006318 +1300
61 @@ -1619,7 +1619,7 @@
62 extern "C" { // some bogus code to keep the compiler happy
63 void vhdlcodeYYdummy() { yy_flex_realloc(0,0); }
65 -#elif YY_FLEX_SUBMINOR_VERSION<33
66 +#elif YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION<33
67 #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!"
68 #endif