<?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>16891</bug_id>
          
          <creation_ts>2008-01-16 03:27:40 -0800</creation_ts>
          <short_desc>[GTK] Make use of a precompiled and/or prefix header to speed up the build</short_desc>
          <delta_ts>2014-04-08 17:54:47 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jmalonzo</cc>
    
    <cc>lethalman88</cc>
    
    <cc>mh+webkit</cc>
    
    <cc>mrobinson</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67350</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-16 03:27:40 -0800</bug_when>
    <thetext>The autotools build system is slower than the qmake system it replaces.

I&apos;ve looked into avoiding libtools, and using precompiled headers so far but no timings yet.

Apparently the current system is slow even with ccache which suggests time is being spend doing things other than compiling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68030</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-23 08:15:18 -0800</bug_when>
    <thetext>The README in GIMP and the autotools docs suggest that --disable-shared will half build time by invoking libtool less. I couldn&apos;t get this to work without modifying the Makefile.ams heavily though. Anyone else try this?

Getting a fast static build is good enough to solve the main objections with autotools right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75628</commentid>
    <comment_count>2</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2008-03-28 04:04:59 -0700</bug_when>
    <thetext>At all, lately the build is not slow anymore, it&apos;s as fast as qmake for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76704</commentid>
    <comment_count>3</comment_count>
    <who name="Mike Hommey">mh+webkit</who>
    <bug_when>2008-04-09 04:00:26 -0700</bug_when>
    <thetext>http://lists.debian.org/debian-devel/2008/04/msg00286.html

This could help make things much faster.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82294</commentid>
    <comment_count>4</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-06-04 07:25:31 -0700</bug_when>
    <thetext>Since dolt is already part of the build, what sort of target are we aiming at for this bug to be closed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91563</commentid>
    <comment_count>5</comment_count>
      <attachid>23516</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-09-17 18:01:50 -0700</bug_when>
    <thetext>Created attachment 23516
Use gcc precompiled headers (proof-of-concept)

After applying patch, copy WebKit/qt/WebKit_pch.h to WebCore/platform/WebKit_pch.h

You might need to do &apos;make WebCore/platform/WebKit_pch.h.gch&apos; before attempting a build. Dependency tracking may not be correct, didn&apos;t verify.

If someone could try timing a build to see if this helps, that&apos;d be great.

The Makefile change might also be a good example for how we can reduce some of the lists of sources in the build system using GNU make syntax (though automake limits exactly how much we can automate things).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297732</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-21 17:07:01 -0700</bug_when>
    <thetext>This bug is somewhat nebulous right now, so I think we should have it simply focus on adding a pre-compiled prefix header to the build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998938</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-08 17:54:47 -0700</bug_when>
    <thetext>We should open a new bug when someone is ready to do this with CMake.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23516</attachid>
            <date>2008-09-17 18:01:50 -0700</date>
            <delta_ts>2010-06-10 15:59:55 -0700</delta_ts>
            <desc>Use gcc precompiled headers (proof-of-concept)</desc>
            <filename>pch.patch</filename>
            <type>text/plain</type>
            <size>1521</size>
            <attacher name="Alp Toker">alp</attacher>
            
              <data encoding="base64">SW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiAzNjUyOCkKKysrIEdOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNiAr
MTk1LDggQEAgbGliV2ViQ29yZV9sYV9DRkxBR1MgPSBcCiAJJChISUxET05fQ0ZMQUdTKQogCiBs
aWJXZWJDb3JlX2xhX0NQUEZMQUdTID0gXAorCS1pbmNsdWRlIFdlYkNvcmUvcGxhdGZvcm0vV2Vi
S2l0X3BjaC5oIFwKKwktV2ludmFsaWQtcGNoIFwKIAkkKGdsb2JhbF9jcHBmbGFncykgXAogCSQo
d2ViY29yZV9jcHBmbGFncykgXAogCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpIFwKQEAgLTM5
Niw2ICszOTgsMjUgQEAgc3RhbXAtd2Via2l0bWFyc2hhbC5oOiAkKFdFQktJVF9NQVJTSEFMXwog
CSQoR0xJQl9HRU5NQVJTSEFMKSAtLXByZWZpeD13ZWJraXRfbWFyc2hhbCAkKFdFQktJVF9NQVJT
SEFMX0xJU1QpIC0taGVhZGVyID4gJChXRUJLSVRfTUFSU0hBTCkuaCAmJiBcCiAJZWNobyB0aW1l
c3RhbXAgPiAkKEBGKQogCisKK3djb3JlY3BwIDo9IFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAor
CSQod2ViY29yZV9jcHBmbGFncykgXAorCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpIFwKKwkk
KHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkkKEhJTERPTl9DUFBGTEFHUykKKword2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFdlYkNvcmUvcGxhdGZvcm0vV2ViS2l0X3BjaC5oLmdjaAorCit3dGZf
ZXhjbHVkZXMgOj0gSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBKYXZhU2NyaXB0
Q29yZS93dGYvTWFsbG9jWm9uZVN1cHBvcnQuaCBKYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3Bl
Y2lmaWMuaCBKYXZhU2NyaXB0Q29yZS93dGYvUmV0YWluUHRyLmggCit3dGZfaGVhZGVycyA6PSAk
KGZpbHRlci1vdXQgJCh3dGZfZXhjbHVkZXMpLCQoZmlsdGVyIEphdmFTY3JpcHRDb3JlL3d0Zi8l
LmgsJChqYXZhc2NyaXB0Y29yZV9zb3VyY2VzKSkpCisjd3RmX2luY2x1ZGVzIDo9ICQoYWRkcHJl
Zml4IC1pbmNsdWRlICwkKHd0Zl9oZWFkZXJzKSkKK3d0Zl9pbmNsdWRlcyA6PSAkKGFkZHByZWZp
eCAtaW5jbHVkZSAsJChhZGRwcmVmaXggJChzcmNkaXIpLywkKHd0Zl9oZWFkZXJzKSkpCisKK1dl
YkNvcmUvcGxhdGZvcm0vV2ViS2l0X3BjaC5oLmdjaDogV2ViQ29yZS9wbGF0Zm9ybS9XZWJLaXRf
cGNoLmggJCh3dGZfaGVhZGVycykKKwlnKysgLXggYysrLWhlYWRlciAtREhBVkVfQ09ORklHX0gg
LUkuIC1mUElDIC1EUElDICQod3RmX2luY2x1ZGVzKSAkKHdjb3JlY3BwKSAkKGxpYldlYkNvcmVf
bGFfQ1hYRkxBR1MpICQ8IC1vICRACisKKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZW51bXR5
cGVzLmg6IHN0YW1wLXdlYmtpdGVudW10eXBlcy5oCiAJQHRydWUKIHN0YW1wLXdlYmtpdGVudW10
eXBlcy5oOiAkKHdlYmtpdGd0a19oX2FwaSkgR05VbWFrZWZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>