Changeset 52825 in webkit


Ignore:
Timestamp:
Jan 5, 2010 2:45:01 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-05 Robert Hogan <robert@roberthogan.net>

Reviewed by Eric Seidel.

[Qt] fix DRT link failures on --no-svg builds when only making changes to DRT

If you're working from a --minimal or --no-svg build and make changes to the
DRT, then recompile, the build will fail.

This is because the current behavior at build time is to assume that the
previous Qt build supported SVG and consequently delete libQtWebKit.so.
Unfortunately, just deleting libQtWebKit.so will not cause the library to
re-link. Instead the build will see libQtWebKit.so.4 and co., pass over the
linking phase, and attempt to link the DRT with libQtWebKit.so absent. This
results in a link failure on the DRT.

Since re-linking libQtWebKit can take up to ten minutes and should be avoided
in cases where not actually required, remove the assumption that
the previous Qt build supported SVG, and amend the symbol detection to look for
a symbol name that is not present in SVG builds. Currently webkitdirs.pm looks
for 'SVGElement' but even non-SVG builds contain the symbol 'isSVGElement'.

https://bugs.webkit.org/show_bug.cgi?id=32992

  • Scripts/webkitdirs.pm:
Location:
trunk/WebKitTools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r52817 r52825  
     12010-01-05  Robert Hogan  <robert@roberthogan.net>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [Qt] fix DRT link failures on --no-svg builds when only making changes to DRT
     6       
     7        If you're working from a --minimal or --no-svg build and make changes to the
     8        DRT, then recompile, the build will fail.
     9       
     10        This is because the current behavior at build time is to assume that the
     11        previous Qt build supported SVG and consequently delete libQtWebKit.so.
     12        Unfortunately, just deleting libQtWebKit.so will not cause the library to
     13        re-link. Instead the build will see libQtWebKit.so.4 and co., pass over the
     14        linking phase, and attempt to link the DRT with libQtWebKit.so absent. This
     15        results in a link failure on the DRT.
     16       
     17        Since re-linking libQtWebKit can take up to ten minutes and should be avoided
     18        in cases where not actually required, remove the assumption that
     19        the previous Qt build supported SVG, and amend the symbol detection to look for
     20        a symbol name that is not present in SVG builds. Currently webkitdirs.pm looks
     21        for 'SVGElement' but even non-SVG builds contain the symbol 'isSVGElement'.
     22       
     23        https://bugs.webkit.org/show_bug.cgi?id=32992
     24
     25        * Scripts/webkitdirs.pm:
     26
    1272010-01-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
    228
  • trunk/WebKitTools/Scripts/webkitdirs.pm

    r52692 r52825  
    622622    my $path = shift;
    623623
    624     if (isQt()) {
    625         return 1;
    626     }
    627    
    628624    if (isWx()) {
    629625        return 0;
    630626    }
    631627
    632     return libraryContainsSymbol($path, "SVGElement");
     628    # We used to look for SVGElement but isSVGElement is a valid symbol in --no-svg builds.
     629    return libraryContainsSymbol($path, "SVGDefsElement");
    633630}
    634631
Note: See TracChangeset for help on using the changeset viewer.