Patchwork webkit: Fix build issue with gcc-4.6 and above

login
register
mail settings
Submitter Valentine Barshak
Date Oct. 4, 2012, 9:26 p.m.
Message ID <1349385964-710-1-git-send-email-gvaxon@gmail.com>
Download mbox | patch
Permalink /patch/189334/
State Superseded
Headers show

Comments

Valentine Barshak - Oct. 4, 2012, 9:26 p.m.
This fixes the "Unknown parameter for tags/attrs" build error.
Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe

[PATCH] 2011-04-17  Thierry Reding
<thierry.reding@avionic-design.de>

  Reviewed by Adam Barth.

  Fix build with GCC 4.6.

  * dom/make_names.pl: Execute preprocessor without the -P option. The
  preprocessor in GCC 4.6 eats empty lines, effectively breaking the
  parsing performed by this script. Dropping the -P option when invoking
  the preprocessor keeps the empty lines but as a side-effect also adds
  additional linemarkers.

  From the cpp manpage:

    -P  Inhibit generation of linemarkers in the output from the
        preprocessor. This might be useful when running the preprocessor
        on something that is not C code, and will be sent to a program
        which might be confused by the linemarkers.

  The linemarkers are not problematic, however, because the script
  properly handles them by ignoring all lines starting with a #.

Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
---
 package/webkit/webkit-fix-build-with-gcc-4-6.patch | 45 ++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 package/webkit/webkit-fix-build-with-gcc-4-6.patch
Valentine Barshak - Oct. 9, 2012, 10:54 p.m.
On 10/05/2012 01:26 AM, Valentine Barshak wrote:
> This fixes the "Unknown parameter for tags/attrs" build error.
> Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe
>
> [PATCH] 2011-04-17  Thierry Reding
> <thierry.reding@avionic-design.de>
>
>    Reviewed by Adam Barth.
>
>    Fix build with GCC 4.6.
>
>    * dom/make_names.pl: Execute preprocessor without the -P option. The
>    preprocessor in GCC 4.6 eats empty lines, effectively breaking the
>    parsing performed by this script. Dropping the -P option when invoking
>    the preprocessor keeps the empty lines but as a side-effect also adds
>    additional linemarkers.
>
>    From the cpp manpage:
>
>      -P  Inhibit generation of linemarkers in the output from the
>          preprocessor. This might be useful when running the preprocessor
>          on something that is not C code, and will be sent to a program
>          which might be confused by the linemarkers.
>
>    The linemarkers are not problematic, however, because the script
>    properly handles them by ignoring all lines starting with a #.
>
> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
> ---
>   package/webkit/webkit-fix-build-with-gcc-4-6.patch | 45 ++++++++++++++++++++++
>   1 file changed, 45 insertions(+)
>   create mode 100644 package/webkit/webkit-fix-build-with-gcc-4-6.patch
>
> diff --git a/package/webkit/webkit-fix-build-with-gcc-4-6.patch b/package/webkit/webkit-fix-build-with-gcc-4-6.patch
> new file mode 100644
> index 0000000..15f32d9
> --- /dev/null
> +++ b/package/webkit/webkit-fix-build-with-gcc-4-6.patch
> @@ -0,0 +1,45 @@
> +Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe:
> +Removed the ChangeLog part.
> +
> +From: "commit-queue@webkit.org"
> + <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
> +Date: Mon, 18 Apr 2011 06:53:23 +0000
> +Subject: [PATCH] 2011-04-17  Thierry Reding
> + <thierry.reding@avionic-design.de>
> +
> +        Reviewed by Adam Barth.
> +
> +        Fix build with GCC 4.6.
> +
> +        * dom/make_names.pl: Execute preprocessor without the -P option. The
> +        preprocessor in GCC 4.6 eats empty lines, effectively breaking the
> +        parsing performed by this script. Dropping the -P option when invoking
> +        the preprocessor keeps the empty lines but as a side-effect also adds
> +        additional linemarkers.
> +
> +        From the cpp manpage:
> +
> +          -P  Inhibit generation of linemarkers in the output from the
> +              preprocessor. This might be useful when running the preprocessor
> +              on something that is not C code, and will be sent to a program
> +              which might be confused by the linemarkers.
> +
> +        The linemarkers are not problematic, however, because the script
> +        properly handles them by ignoring all lines starting with a #.
> +
> +diff --git a/WebCore/dom/make_names.pl b/Source/WebCore/dom/make_names.pl
> +index 836137e..50386e0 100755
> +--- a/WebCore/dom/make_names.pl
> ++++ b/WebCore/dom/make_names.pl
> +@@ -54,7 +54,7 @@ if ($ENV{CC}) {
> + } else {
> +     $gccLocation = "/usr/bin/gcc";
> + }
> +-my $preprocessor = $gccLocation . " -E -P -x c++";
> ++my $preprocessor = $gccLocation . " -E -x c++";
> +
> + GetOptions(
> +     'tags=s' => \$tagsFile,
> +--
> +1.7.11.4
> +
>

Is this change OK?
I'm building on Fedora 17, using host gcc 4.7.2, and webkit doesn't 
build for me without this patch.

Thanks,
Val.
Samuel Martin - Oct. 10, 2012, 5:21 a.m.
Hi Val,

2012/10/10 Valentine Barshak <gvaxon@gmail.com>:
>
> Is this change OK?
> I'm building on Fedora 17, using host gcc 4.7.2, and webkit doesn't build
> for me without this patch.
>
I think this will fix the Webkit issue I got when I was trying the
gettext patch set some weeks ago... but I didn't dig into it.

I'll give it a try as soon as I can.


Thanks,
Samuel Martin - Oct. 13, 2012, 9:41 a.m.
Hi Val, all,

Tested using gcc-4.{6,7}-based toolchain.

My comments inlined.

2012/10/4 Valentine Barshak <gvaxon@gmail.com>:
> This fixes the "Unknown parameter for tags/attrs" build error.
> Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe
>
> [PATCH] 2011-04-17  Thierry Reding
> <thierry.reding@avionic-design.de>
>
>   Reviewed by Adam Barth.
>
>   Fix build with GCC 4.6.
>
>   * dom/make_names.pl: Execute preprocessor without the -P option. The
>   preprocessor in GCC 4.6 eats empty lines, effectively breaking the
>   parsing performed by this script. Dropping the -P option when invoking
>   the preprocessor keeps the empty lines but as a side-effect also adds
>   additional linemarkers.
>
>   From the cpp manpage:
>
>     -P  Inhibit generation of linemarkers in the output from the
>         preprocessor. This might be useful when running the preprocessor
>         on something that is not C code, and will be sent to a program
>         which might be confused by the linemarkers.
>
>   The linemarkers are not problematic, however, because the script
>   properly handles them by ignoring all lines starting with a #.
>
> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
Tested-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>

[...]
> +        The linemarkers are not problematic, however, because the script
> +        properly handles them by ignoring all lines starting with a #.
> +
> +diff --git a/WebCore/dom/make_names.pl b/Source/WebCore/dom/make_names.pl
Nitpicking:
s@Source/@@


Regards,
Valentine Barshak - Oct. 15, 2012, 1:48 p.m.
On 10/13/2012 01:41 PM, Samuel Martin wrote:
> Hi Val, all,
>
> Tested using gcc-4.{6,7}-based toolchain.
>
> My comments inlined.
>
> 2012/10/4 Valentine Barshak <gvaxon@gmail.com>:
>> This fixes the "Unknown parameter for tags/attrs" build error.
>> Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe
>>
>> [PATCH] 2011-04-17  Thierry Reding
>> <thierry.reding@avionic-design.de>
>>
>>    Reviewed by Adam Barth.
>>
>>    Fix build with GCC 4.6.
>>
>>    * dom/make_names.pl: Execute preprocessor without the -P option. The
>>    preprocessor in GCC 4.6 eats empty lines, effectively breaking the
>>    parsing performed by this script. Dropping the -P option when invoking
>>    the preprocessor keeps the empty lines but as a side-effect also adds
>>    additional linemarkers.
>>
>>    From the cpp manpage:
>>
>>      -P  Inhibit generation of linemarkers in the output from the
>>          preprocessor. This might be useful when running the preprocessor
>>          on something that is not C code, and will be sent to a program
>>          which might be confused by the linemarkers.
>>
>>    The linemarkers are not problematic, however, because the script
>>    properly handles them by ignoring all lines starting with a #.
>>
>> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
> Tested-by: Samuel Martin <s.martin49@gmail.com>
> Acked-by: Samuel Martin <s.martin49@gmail.com>
>
> [...]
>> +        The linemarkers are not problematic, however, because the script
>> +        properly handles them by ignoring all lines starting with a #.
>> +
>> +diff --git a/WebCore/dom/make_names.pl b/Source/WebCore/dom/make_names.pl
> Nitpicking:
> s@Source/@@
>

Thanks, Samuel!

Regards,
Val

Patch

diff --git a/package/webkit/webkit-fix-build-with-gcc-4-6.patch b/package/webkit/webkit-fix-build-with-gcc-4-6.patch
new file mode 100644
index 0000000..15f32d9
--- /dev/null
+++ b/package/webkit/webkit-fix-build-with-gcc-4-6.patch
@@ -0,0 +1,45 @@ 
+Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe:
+Removed the ChangeLog part.
+
+From: "commit-queue@webkit.org"
+ <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
+Date: Mon, 18 Apr 2011 06:53:23 +0000
+Subject: [PATCH] 2011-04-17  Thierry Reding 
+ <thierry.reding@avionic-design.de>
+
+        Reviewed by Adam Barth.
+
+        Fix build with GCC 4.6.
+
+        * dom/make_names.pl: Execute preprocessor without the -P option. The
+        preprocessor in GCC 4.6 eats empty lines, effectively breaking the
+        parsing performed by this script. Dropping the -P option when invoking
+        the preprocessor keeps the empty lines but as a side-effect also adds
+        additional linemarkers.
+
+        From the cpp manpage:
+
+          -P  Inhibit generation of linemarkers in the output from the
+              preprocessor. This might be useful when running the preprocessor
+              on something that is not C code, and will be sent to a program
+              which might be confused by the linemarkers.
+
+        The linemarkers are not problematic, however, because the script
+        properly handles them by ignoring all lines starting with a #.
+
+diff --git a/WebCore/dom/make_names.pl b/Source/WebCore/dom/make_names.pl
+index 836137e..50386e0 100755
+--- a/WebCore/dom/make_names.pl
++++ b/WebCore/dom/make_names.pl
+@@ -54,7 +54,7 @@ if ($ENV{CC}) {
+ } else {
+     $gccLocation = "/usr/bin/gcc";
+ }
+-my $preprocessor = $gccLocation . " -E -P -x c++";
++my $preprocessor = $gccLocation . " -E -x c++";
+ 
+ GetOptions(
+     'tags=s' => \$tagsFile, 
+-- 
+1.7.11.4
+