55 lines
1.8 KiB
Diff
55 lines
1.8 KiB
Diff
|
Fix build with Bison 3.7
|
||
|
|
||
|
https://bugs.gentoo.org/736499
|
||
|
|
||
|
Patch copied from upstream source repository:
|
||
|
|
||
|
https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31
|
||
|
|
||
|
From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001
|
||
|
From: Dmitry Shachnev <mitya57@gmail.com>
|
||
|
Date: Tue, 4 Aug 2020 21:04:06 +0300
|
||
|
Subject: [PATCH] Let Bison generate the header directly, to fix build with
|
||
|
Bison 3.7
|
||
|
|
||
|
Starting with Bison 3.7, the generated C++ file #include's the header
|
||
|
by default, instead of duplicating it. So we should not delete it.
|
||
|
|
||
|
Remove the code to add #ifdef guards to the header, since Bison adds
|
||
|
them itself since version 2.6.3.
|
||
|
---
|
||
|
Source/WebCore/css/makegrammar.pl | 21 +--------------------
|
||
|
1 file changed, 1 insertion(+), 20 deletions(-)
|
||
|
|
||
|
diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl
|
||
|
index 5d63b08102eb5..9435701c70612 100644
|
||
|
--- a/Source/WebCore/css/makegrammar.pl
|
||
|
+++ b/Source/WebCore/css/makegrammar.pl
|
||
|
@@ -73,25 +73,6 @@
|
||
|
}
|
||
|
|
||
|
my $fileBase = File::Spec->join($outputDir, $filename);
|
||
|
-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
|
||
|
+my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
|
||
|
push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
|
||
|
system(@bisonCommand) == 0 or die;
|
||
|
-
|
||
|
-open HEADER, ">$fileBase.h" or die;
|
||
|
-print HEADER << "EOF";
|
||
|
-#ifndef CSSGRAMMAR_H
|
||
|
-#define CSSGRAMMAR_H
|
||
|
-EOF
|
||
|
-
|
||
|
-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die;
|
||
|
-while (<HPP>) {
|
||
|
- print HEADER;
|
||
|
-}
|
||
|
-close HPP;
|
||
|
-
|
||
|
-print HEADER "#endif\n";
|
||
|
-close HEADER;
|
||
|
-
|
||
|
-unlink("$fileBase.cpp.h");
|
||
|
-unlink("$fileBase.hpp");
|
||
|
-
|