diff --git a/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch b/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch new file mode 100644 index 0000000000..6d048e9bd9 --- /dev/null +++ b/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch @@ -0,0 +1,72 @@ +From e7e341b7ba6fa9fb875718e8740b03c2041278e8 Mon Sep 17 00:00:00 2001 +From: Neal Frager +Date: Mon, 2 Jun 2025 12:09:13 +0100 +Subject: [PATCH] bisonflex: Fix build on machines with modern flex + +With bootgen 2025.1, the directory structure was re-done. In the process of +doing this, the source files in the bisonflex directory lost the fix below +which had been applied on an earlier version of bootgen: + +Bootgen embeds an old version of flex, but uses the system include syntax +(#include <>) to reference it, causing conflicts on systems with the +development headers for a modern flex version installed, leading to build +issues like: + +../bisonflex/bif.yy.cpp: In member function 'virtual int BIF::FlexScanner::yylex()': +../bisonflex/bif.yy.cpp:1608:18: error: no match for 'operator=' (operand types are 'std::istream' {aka 'std::basic_istream'} and 'std::istream*' {aka 'std::basic_istream*'}) + +Fix it by using normal local #include statements by: + +sed -i 's//"FlexLexer.h"/g' * + +Upstream: submitted to AMD internal jira process + +Signed-off-by: Neal Frager +--- + bisonflex/bif.yy.cpp | 2 +- + bisonflex/cmdoptions.yy.cpp | 2 +- + bisonflex/reginit.yy.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/bisonflex/bif.yy.cpp b/bisonflex/bif.yy.cpp +index 8d4d364..35f0aa5 100755 +--- a/bisonflex/bif.yy.cpp ++++ b/bisonflex/bif.yy.cpp +@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; + + #define yytext_ptr yytext + +-#include ++#include "FlexLexer.h" + + int yyFlexLexer::yywrap() { return 1; } + int yyFlexLexer::yylex() +diff --git a/bisonflex/cmdoptions.yy.cpp b/bisonflex/cmdoptions.yy.cpp +index 661d7f3..a76ac81 100755 +--- a/bisonflex/cmdoptions.yy.cpp ++++ b/bisonflex/cmdoptions.yy.cpp +@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; + + #define yytext_ptr yytext + +-#include ++#include "FlexLexer.h" + + int yyFlexLexer::yywrap() { return 1; } + int yyFlexLexer::yylex() +diff --git a/bisonflex/reginit.yy.cpp b/bisonflex/reginit.yy.cpp +index d830734..dede473 100755 +--- a/bisonflex/reginit.yy.cpp ++++ b/bisonflex/reginit.yy.cpp +@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; + + #define yytext_ptr yytext + +-#include ++#include "FlexLexer.h" + + int yyFlexLexer::yywrap() { return 1; } + int yyFlexLexer::yylex() +-- +2.25.1 +