<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>160544</bug_id>
          
          <creation_ts>2016-08-04 04:06:35 -0700</creation_ts>
          <short_desc>[GTK] Build the jhbuild with -O2 optimization level by default</short_desc>
          <delta_ts>2016-08-09 03:39:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>jdiggs</cc>
    
    <cc>lforschler</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1217361</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-04 04:06:35 -0700</bug_when>
    <thetext>It seems using the internal JHBuild is causing a big performance impact because we are building without compiler optimizations.

Some numbers:

Obtained n release build of WebKitGTK+/r204105 by running the performance test:

  $ Tools/Scripts/run-benchmark --platform gtk --browser minibrowser --plan animometer



1) With System libs (Debian 8 jessie):

Animometer:Score:Geometric: 252pt stdev=0.0%
          Animometer:Score:Geometric: 252pt stdev=0.0%
                    Canvas Arcs:Score: 256pt stdev=0.0%
                    Canvas Lines:Score: 846pt stdev=0.0%
                    Design:Score: 48.0pt stdev=0.0%
                    Focus:Score: 318pt stdev=0.0%
                    Images:Score: 219pt stdev=0.0%
                    Leaves:Score: 99.9pt stdev=0.0%
                    Multiply:Score: 358pt stdev=0.0%
                    Paths:Score: 900pt stdev=0.0%
                    Suits:Score: 174pt stdev=0.0%



2) With default (current) jhbuild

Animometer:Score:Geometric: 53.5pt stdev=0.0%
          Animometer:Score:Geometric: 53.5pt stdev=0.0%
                    Canvas Arcs:Score: 67.1pt stdev=0.0%
                    Canvas Lines:Score: 1.00pt stdev=0.0%
                    Design:Score: 14.3pt stdev=0.0%
                    Focus:Score: 301pt stdev=0.0%
                    Images:Score: 183pt stdev=0.0%
                    Leaves:Score: 32.2pt stdev=0.0%
                    Multiply:Score: 175pt stdev=0.0%
                    Paths:Score: 205pt stdev=0.0%
                    Suits:Score: 59.0pt stdev=0.0%



3) With default jhbuild and cairo with -O2:

          Animometer:Score:Geometric: 74.2pt stdev=0.0%
                    Canvas Arcs:Score: 171pt stdev=0.0%
                    Canvas Lines:Score: 1.00pt stdev=0.0%
                    Design:Score: 14.7pt stdev=0.0%
                    Focus:Score: 321pt stdev=0.0%
                    Images:Score: 198pt stdev=0.0%
                    Leaves:Score: 34.1pt stdev=0.0%
                    Multiply:Score: 259pt stdev=0.0%
                    Paths:Score: 558pt stdev=0.0%
                    Suits:Score: 86.6pt stdev=0.0%



4) With all jhbuild with -O2:

Animometer:Score:Geometric: 259pt stdev=0.0%
          Animometer:Score:Geometric: 259pt stdev=0.0%
                    Canvas Arcs:Score: 225pt stdev=0.0%
                    Canvas Lines:Score: 968pt stdev=0.0%
                    Design:Score: 53.6pt stdev=0.0%
                    Focus:Score: 332pt stdev=0.0%
                    Images:Score: 229pt stdev=0.0%
                    Leaves:Score: 102pt stdev=0.0%
                    Multiply:Score: 349pt stdev=0.0%
                    Paths:Score: 904pt stdev=0.0%
                    Suits:Score: 187pt stdev=0.0%


5) With all jhbuild with -O3:

Animometer:Score:Geometric: 267pt stdev=0.0%
          Animometer:Score:Geometric: 267pt stdev=0.0%
                    Canvas Arcs:Score: 259pt stdev=0.0%
                    Canvas Lines:Score: 1000pt stdev=0.0%
                    Design:Score: 53.1pt stdev=0.0%
                    Focus:Score: 311pt stdev=0.0%
                    Images:Score: 219pt stdev=0.0%
                    Leaves:Score: 109pt stdev=0.0%
                    Multiply:Score: 371pt stdev=0.0%
                    Paths:Score: 934pt stdev=0.0%
                    Suits:Score: 194pt stdev=0.0%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217362</commentid>
    <comment_count>1</comment_count>
      <attachid>285311</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-04 04:09:18 -0700</bug_when>
    <thetext>Created attachment 285311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217375</commentid>
    <comment_count>2</comment_count>
      <attachid>285311</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-04 06:34:35 -0700</bug_when>
    <thetext>Comment on attachment 285311
Patch

This is going to reduce backtrace quality on the debug bot. It also isn&apos;t the best solution: CMake should already be handling this for us. -DCMAKE_BUILD_TYPE=Release means to use -O3. -DCMAKE_BUILD_TYPE=Debug means to use -O0 -g. I think we need further investigation to see why this isn&apos;t working. If build-webkit isn&apos;t setting CMAKE_BUILD_TYPE, it should do so. If it is setting the build type, then we might be stripping the optimization flags away in a CMake file somewhere, which would be bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217376</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-08-04 06:37:53 -0700</bug_when>
    <thetext>This is not about the flags used when building WebKit itself but its dependencies. I agree we should update the jhbuildrc so that it only affects the deps and not the WebKit build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217378</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-04 06:44:04 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; This is not about the flags used when building WebKit itself but its
&gt; dependencies. 

Good point, my review is wrong.

&gt; I agree we should update the jhbuildrc so that it only affects
&gt; the deps and not the WebKit build.

I&apos;m not sure how to do this, though; we have module_extra_env, but surely don&apos;t want to open-code every module name except WebKit there, and I see no other way to exclude WebKit from receiving the flags. I guess we could use -O2 and just live with reduced backtrace quality, it&apos;s not a big deal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217379</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-04 06:46:51 -0700</bug_when>
    <thetext>So I don&apos;t think it&apos;s possible to fix in the jhbuildrc, but since we don&apos;t actually use &apos;jhbuild build&apos; to build WebKit, probably all we need to do is append other optimization flags to CFLAGS from somewhere in build-webkit after entering the jhbuild environment. Maybe we already do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217381</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-04 06:50:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;m not sure how to do this, though; we have module_extra_env, but surely
&gt; don&apos;t want to open-code every module name except WebKit there, and I see no
&gt; other way to exclude WebKit from receiving the flags. 

This is news to me...

Are the environment variables from Tools/gtk/jhbuildrc leaking into the WebKit build process? Then this patch is wrong

The idea is to pass -O2 only when building the jhbuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217387</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-04 07:22:46 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This is news to me...
&gt; 
&gt; Are the environment variables from Tools/gtk/jhbuildrc leaking into the
&gt; WebKit build process? Then this patch is wrong

Yes, the environment you set in jhbuildrc will be set inside the jhbuild environment that we build in (as required to use the dependencies we&apos;ve built).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217489</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-04 11:08:59 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; This is news to me...
&gt; &gt; 
&gt; &gt; Are the environment variables from Tools/gtk/jhbuildrc leaking into the
&gt; &gt; WebKit build process? Then this patch is wrong
&gt; 
&gt; Yes, the environment you set in jhbuildrc will be set inside the jhbuild
&gt; environment that we build in (as required to use the dependencies we&apos;ve
&gt; built).

And it seems that setting those variables there is what caused this problem.

I have tested this patch:

diff --git a/Tools/gtk/jhbuildrc b/Tools/gtk/jhbuildrc
index 29323b3..9b210a7 100644
--- a/Tools/gtk/jhbuildrc
+++ b/Tools/gtk/jhbuildrc
@@ -37,8 +37,5 @@ buildroot = os.path.join(os.path.dirname(checkoutroot), &quot;Build&quot;)
 # For the layout tests: path where llvmpipe/software-only mesa libraries are installed.
 os.environ[&apos;LLVMPIPE_LIBGL_PATH&apos;] = os.path.abspath(os.path.join(prefix, &apos;softGL&apos;, &apos;lib&apos;))
 
-os.environ[&apos;CFLAGS&apos;] = &apos;-Wno-error&apos;
-os.environ[&apos;CXXFLAGS&apos;] = &apos;-Wno-error&apos;
-
 # For building gstreamer plugins on the Mac.
 os.environ[&apos;OBJCFLAGS&apos;] = &apos;-Wno-error&apos;


And rebuild the JHBuild, without defining any CFLAGS/CXXFLAGS environment variable, and now I get this performance numbers:

Animometer:Score:Geometric: 261pt stdev=0.0%
          Animometer:Score:Geometric: 261pt stdev=0.0%
                    Canvas Arcs:Score: 256pt stdev=0.0%
                    Canvas Lines:Score: 1.02Kpt stdev=0.0%
                    Design:Score: 50.7pt stdev=0.0%
                    Focus:Score: 318pt stdev=0.0%
                    Images:Score: 219pt stdev=0.0%
                    Leaves:Score: 103pt stdev=0.0%
                    Multiply:Score: 368pt stdev=0.0%
                    Paths:Score: 906pt stdev=0.0%
                    Suits:Score: 181pt stdev=0.0%



Which is on par with forcing -O2.


And it seems that autotools based build system set by default -O2  *unless* there is an environment variable CCFLAGS/CXXFLAGS defined. In which case they pick that variable, and we are just passing &quot;-Wno-error&quot; since r197713 &lt;http://trac.webkit.org/r197713&gt;.


Check this quick test with gtk+:

gtk+ $ ./configure
gtk+ $ grep -P &apos;^(CFLAGS|CXXFLAGS)&apos; Makefile
CFLAGS = -g -O2 -Wall
CFLAGS_FOR_BUILD = -g -O2
CXXFLAGS = -g -O2

        ^^ If my environment is clean configure by default it sets -O2

gtk+ $ CFLAGS=&quot;-Wno-error&quot; CXXFLAGS=&quot;-Wno-error&quot; ./configure
gtk+ $ grep -P &apos;^(CFLAGS|CXXFLAGS)&apos; Makefile
CFLAGS = -Wno-error -Wall
CFLAGS_FOR_BUILD = -Wno-error
CXXFLAGS = -Wno-error

        ^^ If my environment contains CFLAGs it sets mine and not -O2.


I think we should avoid defining any CFLAG/CXXFLAG variable in Tools/gtk/jhbuildrc, because this variables are also leaking into the build process of WebKit, which don&apos;t seems like a good idea to me.

but I&apos;m open to hear any other suggestion. Any idea/opinion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217496</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-04 11:17:05 -0700</bug_when>
    <thetext>... and I have just checked that we are also setting CXXFLAGS=-pipe CFLAGS=-pipe on the GTK+ bots locally ...

... which explains why there isn&apos;t any performance drop on http://perf.webkit.org after r197713, because the bots have been running with locally set cflags for years ...

... i&apos;m going to remove any cflags variable from the local environment of the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217554</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-04 13:16:05 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think we should avoid defining any CFLAG/CXXFLAG variable in
&gt; Tools/gtk/jhbuildrc, because this variables are also leaking into the build
&gt; process of WebKit, which don&apos;t seems like a good idea to me.

Well we really don&apos;t want to get rid of -Wno-error, but you could try setting it using autogenargs rather than the environment, that way they should get used only for the dependencies:

autogenargs = &apos;CFLAGS=-Wno-error CXXFLAGS=-Wno-error&apos;

I think that would probably work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217818</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-08-04 23:44:23 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; I think we should avoid defining any CFLAG/CXXFLAG variable in
&gt; &gt; Tools/gtk/jhbuildrc, because this variables are also leaking into the build
&gt; &gt; process of WebKit, which don&apos;t seems like a good idea to me.
&gt; 
&gt; Well we really don&apos;t want to get rid of -Wno-error, but you could try
&gt; setting it using autogenargs rather than the environment, that way they
&gt; should get used only for the dependencies:
&gt; 
&gt; autogenargs = &apos;CFLAGS=-Wno-error CXXFLAGS=-Wno-error&apos;
&gt; 
&gt; I think that would probably work.

autogenargs = &apos;--disable-Werror&apos;

There&apos;s an option for that in jhbuild now:

disable_Werror = True

but it&apos;s true by default, let&apos;s update the jhbuild rev if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217869</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-05 06:49:38 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; autogenargs = &apos;--disable-Werror&apos;

Won&apos;t work, that just passes --disable-Werror on to configure scripts, which ignore it unless they&apos;re using a recent version of AX_COMPILER_FLAGS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217979</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-05 11:05:38 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; I think we should avoid defining any CFLAG/CXXFLAG variable in
&gt; &gt; Tools/gtk/jhbuildrc, because this variables are also leaking into the build
&gt; &gt; process of WebKit, which don&apos;t seems like a good idea to me.
&gt; 
&gt; Well we really don&apos;t want to get rid of -Wno-error, but you could try
&gt; setting it using autogenargs rather than the environment, that way they
&gt; should get used only for the dependencies:
&gt; 
&gt; autogenargs = &apos;CFLAGS=-Wno-error CXXFLAGS=-Wno-error&apos;
&gt; 
&gt; I think that would probably work.

I think it won&apos;t work, because when exporting an environment variable you have to put it at the start of the command line. And JHBuild passes autogenargs after 
%(srcdir)s/%(autogen-sh)s

You could maybe play with the autogen-template but it feels too much hacky for me and prone to break some module on the moduleset already defining its own autogen-template.

I have two ideas going forward:

#1. Export some magic environment variable on the script build-webkit and then on jhbuildrc check for that variable. So we only export this CFLAGS when that variable is not set (will indicate the user is doing any other thing than building webkit).

#2. Check on the file jhbuildrc if jhbuild has been called to run a command or not, because build-webkit ends calling &quot;jhbuild [..] run cmake [..]&quot; to build webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217983</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-05 11:23:51 -0700</bug_when>
    <thetext>(In reply to comment #13) 
&gt; I think it won&apos;t work, because when exporting an environment variable you
&gt; have to put it at the start of the command line. And JHBuild passes
&gt; autogenargs after 
&gt; %(srcdir)s/%(autogen-sh)s

They don&apos;t need to be in the environment of configure; they&apos;ll get passed as arguments. If you run ./configure --help one some configure script you&apos;ll see:

&quot;&quot;&quot;
Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.
&quot;&quot;&quot;

&gt; #1. Export some magic environment variable on the script build-webkit and
&gt; then on jhbuildrc check for that variable. So we only export this CFLAGS
&gt; when that variable is not set (will indicate the user is doing any other
&gt; thing than building webkit).

That would work (but try my suggestion above first).

&gt; #2. Check on the file jhbuildrc if jhbuild has been called to run a command
&gt; or not, because build-webkit ends calling &quot;jhbuild [..] run cmake [..]&quot; to
&gt; build webkit.

I don&apos;t understand this suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218523</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-08 10:36:53 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13) 
&gt; &gt; I think it won&apos;t work, because when exporting an environment variable you
&gt; &gt; have to put it at the start of the command line. And JHBuild passes
&gt; &gt; autogenargs after 
&gt; &gt; %(srcdir)s/%(autogen-sh)s
&gt; 
&gt; They don&apos;t need to be in the environment of configure; they&apos;ll get passed as
&gt; arguments. If you run ./configure --help one some configure script you&apos;ll
&gt; see:
&gt; 
&gt; &quot;&quot;&quot;
&gt; Usage: ./configure [OPTION]... [VAR=VALUE]...
&gt; 
&gt; To assign environment variables (e.g., CC, CFLAGS...), specify them as
&gt; VAR=VALUE.  See below for descriptions of some of the useful variables.
&gt; &quot;&quot;&quot;
&gt; 

I tried this, and it don&apos;t works with some packages that run ./autogen.sh as configure script, and their autogen.sh script doesn&apos;t handle properly arguments with spaces even when this arguments were passed quoted.

This is true at least for gstreamer, gst-plugins-* and openwebrtc.

Check this example:

gstreamer-1.8.0 $ ./autogen.sh --enable-introspection CFLAGS=&quot;-Wno-error -O2&quot; CXFLAGS=&quot;-Wno-error -O2&quot;

+ passing argument --enable-introspection to configure
+ passing argument CFLAGS=-Wno-error to configure
+ passing argument -O2 to configure
+ passing argument CXFLAGS=-Wno-error to configure
+ passing argument -O2 to configure
+ options passed to configure:  --enable-introspection CFLAGS=-Wno-error -O2 CXFLAGS=-Wno-error -O2
[....]
./configure --enable-maintainer-mode --enable-gtk-doc --enable-docbook --enable-failing-tests --enable-poisoning --enable-introspection CFLAGS=-Wno-error -O2 CXFLAGS=-Wno-error -O2
configure: error: unrecognized option: `-O2&apos;
Try `./configure --help&apos; for more information
  configure failed


For the gstreamer case the work-around will be to change autogen-sh to ./configure in the jhbuild template, but for the openwebrtc this won&apos;t work as they checkout from git and a pre-generated configure script is not shipped.

I could try to go the hard path of trying to fix each one of the autogen.sh scripts.... but nothing grants that the next module someone try to adds also has this problem.

&gt; &gt; #1. Export some magic environment variable on the script build-webkit and
&gt; &gt; then on jhbuildrc check for that variable. So we only export this CFLAGS
&gt; &gt; when that variable is not set (will indicate the user is doing any other
&gt; &gt; thing than building webkit).
&gt; 
&gt; That would work (but try my suggestion above first).
&gt; 
&gt; &gt; #2. Check on the file jhbuildrc if jhbuild has been called to run a command
&gt; &gt; or not, because build-webkit ends calling &quot;jhbuild [..] run cmake [..]&quot; to
&gt; &gt; build webkit.
&gt; 
&gt; I don&apos;t understand this suggestion.

In Tools/gtk/jhbuildrc you can check how the program was invoked by inspecting sys.argv. 

When Tools/Scripts/update-webkitgtk-libs is invoked, what ends being executed is:

sys.argv = [/${WEBKITPATH}/WebKitBuild/DependenciesGTK/Root/bin/jhbuild&apos;, &apos;--exit-on-error&apos;, &apos;--no-interact&apos;, &apos;-f&apos;, &apos;/${WEBKITPATH}/Tools/jhbuild/../../Tools/gtk/jhbuildrc&apos;, &apos;build&apos;]

When Tools/Scripts/build-webkit --gtk --release is invoked, what ends being executed is:

sys.argv = [&apos;/${WEBKITPATH}/WebKitBuild/DependenciesGTK/Root/bin/jhbuild&apos;, &apos;--exit-on-error&apos;, &apos;--no-interact&apos;, &apos;-f&apos;, &apos;/${WEBKITPATH}/Tools/jhbuild/../../Tools/gtk/jhbuildrc&apos;, &apos;run&apos;, &apos;cmake&apos;, &apos;--build&apos;, &apos;$/{WEBKITPATH}/WebKitBuild/Release&apos;, &apos;--config&apos;, &apos;Release&apos;, &apos;--&apos;, &apos;-j8&apos;]


So, if &apos;run&apos; is one of the options passed in sys.argv you know you are not building the jhbuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218528</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-08 11:00:42 -0700</bug_when>
    <thetext>(In reply to comment #15) 
&gt; In Tools/gtk/jhbuildrc you can check how the program was invoked by
&gt; inspecting sys.argv. 

I&apos;m fine with any of the proposed solutions that keep -Wno-error working. This one seems cleanest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218558</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-08 13:07:31 -0700</bug_when>
    <thetext>I have tested also the differences between passing -g1, passing -g or not passing any -g flag.

with *FLAGS = &apos;-Wno-error -O2&apos; $ du -hs WebKitBuild/DependenciesGTK/
3.6G	WebKitBuild/DependenciesGTK/

with *FLAGS = &apos;-Wno-error -O2 -g1&apos; $ du -hs WebKitBuild/DependenciesGTK/
3.9G	WebKitBuild/DependenciesGTK/

with *FLAGS = &apos;-Wno-error -O2 -g&apos; $ du -hs WebKitBuild/DependenciesGTK/
8.3G	WebKitBuild/DependenciesGTK/


-g1 provides basic debug information, which is handy when debugging some traceback that ends in the JHBuild. 


-g would provide better debug information, but it doubles the resources in disk space needed. So I guess that given that the intent is Debug webkit itself and not the libraries, -g1 seems the best tradeoff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218563</commentid>
    <comment_count>18</comment_count>
      <attachid>285581</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-08 13:17:35 -0700</bug_when>
    <thetext>Created attachment 285581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218564</commentid>
    <comment_count>19</comment_count>
      <attachid>285582</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-08 13:19:10 -0700</bug_when>
    <thetext>Created attachment 285582
Patch

trivial: fix quote usage in comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218716</commentid>
    <comment_count>20</comment_count>
      <attachid>285582</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-09 03:39:14 -0700</bug_when>
    <thetext>Comment on attachment 285582
Patch

Clearing flags on attachment: 285582

Committed r204279: &lt;http://trac.webkit.org/changeset/204279&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218717</commentid>
    <comment_count>21</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-09 03:39:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285311</attachid>
            <date>2016-08-04 04:09:18 -0700</date>
            <delta_ts>2016-08-08 13:17:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160544-20160804130752.patch</filename>
            <type>text/plain</type>
            <size>1331</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE5ZDVjZWNkZDYxMGEyNjMxZTVhNjkyY2NjNDc3OGY1
MDk5YjhjMC4uYjY4NDI0NTI4Y2ExMTcwMzg3NzJhNWYyNmQwN2VjZmZkOGUzMmIyYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE2LTA4LTA0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEJ1aWxkIHRoZSBqaGJ1aWxkIHdpdGggLU8yIG9wdGlt
aXphdGlvbiBsZXZlbCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjA1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGd0ay9qaGJ1aWxkcmM6CisKIDIwMTYtMDgtMDMgIEFha2FzaCBK
YWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIERvY3VtZW50IGluc3RydWN0
aW9ucyBmb3IgaW5jcmVhc2luZyBwcm9jZXNzIGFuZCBmaWxlIGxpbWl0cwpkaWZmIC0tZ2l0IGEv
VG9vbHMvZ3RrL2poYnVpbGRyYyBiL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKaW5kZXggMjkzMjNiMzQ4
YjYwYTYyODMzMDE5NGY4MTc3NWU5MDJmZmI2ZDE3ZC4uNzQzNTBiNmViMjA1MmZiOTQ2Y2Q4ZWQy
OTk4NzE2NzQ3M2MyNTRjMyAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGRyYworKysgYi9U
b29scy9ndGsvamhidWlsZHJjCkBAIC0zNyw4ICszNyw4IEBAIGJ1aWxkcm9vdCA9IG9zLnBhdGgu
am9pbihvcy5wYXRoLmRpcm5hbWUoY2hlY2tvdXRyb290KSwgIkJ1aWxkIikKICMgRm9yIHRoZSBs
YXlvdXQgdGVzdHM6IHBhdGggd2hlcmUgbGx2bXBpcGUvc29mdHdhcmUtb25seSBtZXNhIGxpYnJh
cmllcyBhcmUgaW5zdGFsbGVkLgogb3MuZW52aXJvblsnTExWTVBJUEVfTElCR0xfUEFUSCddID0g
b3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcmVmaXgsICdzb2Z0R0wnLCAnbGliJykpCiAK
LW9zLmVudmlyb25bJ0NGTEFHUyddID0gJy1Xbm8tZXJyb3InCi1vcy5lbnZpcm9uWydDWFhGTEFH
UyddID0gJy1Xbm8tZXJyb3InCitvcy5lbnZpcm9uWydDRkxBR1MnXSA9ICctV25vLWVycm9yIC1P
MicKK29zLmVudmlyb25bJ0NYWEZMQUdTJ10gPSAnLVduby1lcnJvciAtTzInCiAKICMgRm9yIGJ1
aWxkaW5nIGdzdHJlYW1lciBwbHVnaW5zIG9uIHRoZSBNYWMuCiBvcy5lbnZpcm9uWydPQkpDRkxB
R1MnXSA9ICctV25vLWVycm9yJwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285581</attachid>
            <date>2016-08-08 13:17:35 -0700</date>
            <delta_ts>2016-08-08 13:19:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160544-20160808221602.patch</filename>
            <type>text/plain</type>
            <size>1999</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjYyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDkwZjM0MWEyMmFhZDE3OTE1ZDBjOTA3OWI1ZmM3Njk3
ZTU1YzM3Mi4uZGFlMDI3N2Y1NGI3ZjhiNzU1NjlhMDI5YzRlMzY5N2RmYTllY2RmMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTA4LTA4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEJ1aWxkIHRoZSBqaGJ1aWxkIHdpdGggLU8yIG9wdGlt
aXphdGlvbiBsZXZlbCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjA1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGd0ay9qaGJ1aWxkcmM6IFBhc3MgLU8yIHdoZW4gYnVpbGRpbmcg
dGhlIEpIQnVpbGQsIGFzIGFsc28gLWcxCisgICAgICAgIHdoaWNoIGRvbid0IGluY3JlYXNlcyB0
aGUgcmVxdWlyZWQgZGlzayBzcGFjZSBzaWduaWZpY2F0aXZlbHkgYW5kCisgICAgICAgIHByb3Zp
ZGVzIGJldHRlciBkZWJ1ZyBpbmZvcm1hdGlvbiB0aGFuIG5vIHBhc3NpbmcgaXQuCisKIDIwMTYt
MDgtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUg
QVBJIHRlc3RzIGluIG1hYy9TZXREb2N1bWVudFVSSS5tbSBhZnRlciByMjA0MjQ3CmRpZmYgLS1n
aXQgYS9Ub29scy9ndGsvamhidWlsZHJjIGIvVG9vbHMvZ3RrL2poYnVpbGRyYwppbmRleCAyOTMy
M2IzNDhiNjBhNjI4MzMwMTk0ZjgxNzc1ZTkwMmZmYjZkMTdkLi4zMzJmYzlhOWY5MDFkMmJiM2Jk
ZGUyMTY5ZDI2YjNlZGMwM2UxOGFiIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZHJjCisr
KyBiL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKQEAgLTM3LDggKzM3LDEyIEBAIGJ1aWxkcm9vdCA9IG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoY2hlY2tvdXRyb290KSwgIkJ1aWxkIikKICMgRm9y
IHRoZSBsYXlvdXQgdGVzdHM6IHBhdGggd2hlcmUgbGx2bXBpcGUvc29mdHdhcmUtb25seSBtZXNh
IGxpYnJhcmllcyBhcmUgaW5zdGFsbGVkLgogb3MuZW52aXJvblsnTExWTVBJUEVfTElCR0xfUEFU
SCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcmVmaXgsICdzb2Z0R0wnLCAnbGli
JykpCiAKLW9zLmVudmlyb25bJ0NGTEFHUyddID0gJy1Xbm8tZXJyb3InCi1vcy5lbnZpcm9uWydD
WFhGTEFHUyddID0gJy1Xbm8tZXJyb3InCi0KLSMgRm9yIGJ1aWxkaW5nIGdzdHJlYW1lciBwbHVn
aW5zIG9uIHRoZSBNYWMuCi1vcy5lbnZpcm9uWydPQkpDRkxBR1MnXSA9ICctV25vLWVycm9yJwor
IyBXZSBvbmx5IHdhbnQgdG8gZXhwb3J0IHRoaXMgd2hlbiBidWxkaW5nIHRoZSBKSEJ1aWxkLCBi
dXQgbm90IHdoZW4gYnVpbGRpbmcgV2ViS2l0LgorIyBXaGVuIHRoZSBidWlsZC13ZWJraXQgc2Ny
aXB0IGlzIHVzZWQsIHdlIGVuZCBleGVjdXRpbmcgImpoYnVpbGQgWy4uLl0gcnVuIGNtYWtlIFsu
Li5dJy4KKyMgQnV0IHdoZW4gdGhlIEpIQnVpbGQgZ2V0cyBidWlsdCwgd2UgZW5kIGV4ZWN1dGlu
ZyAiamhidWlsZCBbLi4uXSBidWlsZCcuCisjIFNvIHdlIGNhbiBrbm93IGlmIHdlIGFyZSBidWls
ZGluZyB0aGUgSkhCdWlsZCBieSBjaGVja2luZyB0aGF0ICdydW4nIGlzIG5vdCBhbiBhcmd1bWVu
dC4KK2lmICdydW4nIG5vdCBpbiBzeXMuYXJndjoKKyAgICBvcy5lbnZpcm9uWydDRkxBR1MnXSA9
ICctV25vLWVycm9yIC1PMiAtZzEnCisgICAgb3MuZW52aXJvblsnQ1hYRkxBR1MnXSA9ICctV25v
LWVycm9yIC1PMiAtZzEnCisgICAgIyBGb3IgYnVpbGRpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgb24g
dGhlIE1hYy4KKyAgICBvcy5lbnZpcm9uWydPQkpDRkxBR1MnXSA9ICctV25vLWVycm9yIC1PMiAt
ZzEnCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285582</attachid>
            <date>2016-08-08 13:19:10 -0700</date>
            <delta_ts>2016-08-09 03:39:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160544-20160808221737.patch</filename>
            <type>text/plain</type>
            <size>1999</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjYyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDkwZjM0MWEyMmFhZDE3OTE1ZDBjOTA3OWI1ZmM3Njk3
ZTU1YzM3Mi4uZGFlMDI3N2Y1NGI3ZjhiNzU1NjlhMDI5YzRlMzY5N2RmYTllY2RmMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTA4LTA4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEJ1aWxkIHRoZSBqaGJ1aWxkIHdpdGggLU8yIG9wdGlt
aXphdGlvbiBsZXZlbCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjA1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGd0ay9qaGJ1aWxkcmM6IFBhc3MgLU8yIHdoZW4gYnVpbGRpbmcg
dGhlIEpIQnVpbGQsIGFzIGFsc28gLWcxCisgICAgICAgIHdoaWNoIGRvbid0IGluY3JlYXNlcyB0
aGUgcmVxdWlyZWQgZGlzayBzcGFjZSBzaWduaWZpY2F0aXZlbHkgYW5kCisgICAgICAgIHByb3Zp
ZGVzIGJldHRlciBkZWJ1ZyBpbmZvcm1hdGlvbiB0aGFuIG5vIHBhc3NpbmcgaXQuCisKIDIwMTYt
MDgtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUg
QVBJIHRlc3RzIGluIG1hYy9TZXREb2N1bWVudFVSSS5tbSBhZnRlciByMjA0MjQ3CmRpZmYgLS1n
aXQgYS9Ub29scy9ndGsvamhidWlsZHJjIGIvVG9vbHMvZ3RrL2poYnVpbGRyYwppbmRleCAyOTMy
M2IzNDhiNjBhNjI4MzMwMTk0ZjgxNzc1ZTkwMmZmYjZkMTdkLi45ZDI5NDlkYTVhZGRkMTM3OGFh
MzQ3YTQ1YzM2ZjAyNmUzNWIxN2NiIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZHJjCisr
KyBiL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKQEAgLTM3LDggKzM3LDEyIEBAIGJ1aWxkcm9vdCA9IG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoY2hlY2tvdXRyb290KSwgIkJ1aWxkIikKICMgRm9y
IHRoZSBsYXlvdXQgdGVzdHM6IHBhdGggd2hlcmUgbGx2bXBpcGUvc29mdHdhcmUtb25seSBtZXNh
IGxpYnJhcmllcyBhcmUgaW5zdGFsbGVkLgogb3MuZW52aXJvblsnTExWTVBJUEVfTElCR0xfUEFU
SCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcmVmaXgsICdzb2Z0R0wnLCAnbGli
JykpCiAKLW9zLmVudmlyb25bJ0NGTEFHUyddID0gJy1Xbm8tZXJyb3InCi1vcy5lbnZpcm9uWydD
WFhGTEFHUyddID0gJy1Xbm8tZXJyb3InCi0KLSMgRm9yIGJ1aWxkaW5nIGdzdHJlYW1lciBwbHVn
aW5zIG9uIHRoZSBNYWMuCi1vcy5lbnZpcm9uWydPQkpDRkxBR1MnXSA9ICctV25vLWVycm9yJwor
IyBXZSBvbmx5IHdhbnQgdG8gZXhwb3J0IHRoaXMgd2hlbiBidWxkaW5nIHRoZSBKSEJ1aWxkLCBi
dXQgbm90IHdoZW4gYnVpbGRpbmcgV2ViS2l0LgorIyBXaGVuIHRoZSBidWlsZC13ZWJraXQgc2Ny
aXB0IGlzIHVzZWQsIHdlIGVuZCBleGVjdXRpbmcgJ2poYnVpbGQgWy4uLl0gcnVuIGNtYWtlIFsu
Li5dJy4KKyMgQnV0IHdoZW4gdGhlIEpIQnVpbGQgZ2V0cyBidWlsdCwgd2UgZW5kIGV4ZWN1dGlu
ZyAnamhidWlsZCBbLi4uXSBidWlsZCcuCisjIFNvIHdlIGNhbiBrbm93IGlmIHdlIGFyZSBidWls
ZGluZyB0aGUgSkhCdWlsZCBieSBjaGVja2luZyB0aGF0ICdydW4nIGlzIG5vdCBhbiBhcmd1bWVu
dC4KK2lmICdydW4nIG5vdCBpbiBzeXMuYXJndjoKKyAgICBvcy5lbnZpcm9uWydDRkxBR1MnXSA9
ICctV25vLWVycm9yIC1PMiAtZzEnCisgICAgb3MuZW52aXJvblsnQ1hYRkxBR1MnXSA9ICctV25v
LWVycm9yIC1PMiAtZzEnCisgICAgIyBGb3IgYnVpbGRpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgb24g
dGhlIE1hYy4KKyAgICBvcy5lbnZpcm9uWydPQkpDRkxBR1MnXSA9ICctV25vLWVycm9yIC1PMiAt
ZzEnCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>