Bug #: 5788
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 Nov 2005 09:36:52 +0000 (09:36 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 Nov 2005 09:36:52 +0000 (09:36 +0000)
Submitted by: eseidel
Reviewed by: hyatt
        Some simple fixes to the build/test scripts now that SVG uses the
        WebCore DOM.  JSC+SVG is no longer needed, nor is RTTI support
        or symlinks for KDOM.

        * Scripts/build-webkit: No longer builds JavaScriptCore+SVG
        * Scripts/prepare-ChangeLog: handles missing LayoutTests directory
        * Scripts/run-webkit-tests: now runs SVG tests using DRT
        * Scripts/webkitdirs.pm: use SVG symbols instead of RTTI
        * checkout: no longer symlink kdom

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@11274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/Scripts/build-webkit
WebKitTools/Scripts/prepare-ChangeLog
WebKitTools/Scripts/run-webkit-tests
WebKitTools/Scripts/webkitdirs.pm
WebKitTools/checkout

index 4b254594623e808842ad5816233805f726dce8ca..92f6780a279acb771b1b6972fc80cf24a53f90a5 100644 (file)
@@ -1,3 +1,17 @@
+2005-11-21  Eric Seidel  <eseidel@apple.com>
+
+        Reviewed by hyatt.
+
+        Some simple fixes to the build/test scripts now that SVG uses the
+        WebCore DOM.  JSC+SVG is no longer needed, nor is RTTI support
+        or symlinks for KDOM.
+
+        * Scripts/build-webkit: No longer builds JavaScriptCore+SVG
+        * Scripts/prepare-ChangeLog: handles missing LayoutTests directory
+        * Scripts/run-webkit-tests: now runs SVG tests using DRT
+        * Scripts/webkitdirs.pm: use SVG symbols instead of RTTI 
+        * checkout: no longer symlink kdom
+
 2005-11-10  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by ggaren.
index c789ff5519bf0c07bed6963a216c5974802fa52f..44755c52ee32fa9a21f8bbb29c9e6862d3243096 100755 (executable)
@@ -75,14 +75,13 @@ if (!-e $header || -M $header > -M $srcHeader) {
 }
 
 # Force re-link of existing libraries if different than expected
-removeLibraryDependingOnRTTI("JavaScriptCore", $svgSupport);
-removeLibraryDependingOnRTTI("WebCore", $svgSupport);
+removeLibraryDependingOnSVG("WebCore", $svgSupport);
 
 # Build, and abort if the build fails.
 for my $dir (@projects) {
     chdir $dir or die;
     my $result;
-    if ($svgSupport && ($dir eq "JavaScriptCore" || $dir eq "WebCore")) {
+    if ($svgSupport && ($dir eq "WebCore")) {
         $result = system "xcodebuild", "-project", "$dir.xcodeproj", @options, "-target", "$dir+SVG";
     } else {
         $result = system "xcodebuild", "-project", "$dir.xcodeproj", @options;
@@ -103,7 +102,5 @@ print " code, use the \"run-safari\" script.\n";
 if ($svgSupport) {
     print "\n NOTE: WebKit has been built with SVG support enabled.\n";
     print " Safari will have basic SVG viewing capatibilies.\n";
-    print " Additional SVG testing is possible using DrawTest:\n";
-    print " run \"build-drawtest\" followed by \"run-drawtest\"\n";
 }
 print "===========================================================\n";
index 974f65f9bb4f493781f5a204fe64987a6ff8ac0a..746c86940d344dae22e1ac9cc8295d9108808517 100755 (executable)
@@ -254,7 +254,7 @@ foreach my $prefix (sort keys %files)
     if ($prefix =~ m/WebCore/ || `pwd` =~ m/WebCore/) {
         my $testsDir = "../LayoutTests";
         $testsDir = "$prefix/$testsDir" if length($prefix);
-        my $haveNewTests = (system("find \"$testsDir/../LayoutTests\" -path \"*/CVS/Entries\" | xargs grep -q \"/0/dummy timestamp//\"") == 0);
+        my $haveNewTests = ((-x "$testsDir/../LayoutTests") && (system("find \"$testsDir/../LayoutTests\" -path \"*/CVS/Entries\" | xargs grep -q \"/0/dummy timestamp//\"") == 0));
         print CHANGE_LOG "        WARNING: NO TEST CASES ADDED\n\n" unless $haveNewTests;
     }
 
index ab2340d1a28c3f3d7d189b156d1b37076b67f6f8..fee4b8674e7567325f31b98f106b4d7cc642bd4b 100755 (executable)
@@ -70,8 +70,8 @@ GetOptions('svg' => \$testSVGs,
     'pixel-tests|p' => \$pixelTests,
     'leaks|l' => \$checkLeaks,
     'guard-malloc|g' => \$guardMalloc,
-    'max-width|w' => \$maxWidth,
-    'max-height|h' => \$maxHeight, 
+    'max-width|w=s' => \$maxWidth,
+    'max-height|h=s' => \$maxHeight, 
     'verbose|v' => \$verbose,
     'quiet|q' => \$quiet,
     'singly|1' => \$singly);
@@ -80,10 +80,10 @@ my $dumpToolName = "DumpRenderTree";
 my $result = system "WebKitTools/Scripts/build-dumprendertree", @ARGV;
 exit $result if $result;
 if ($testSVGs) {
-    my $result = system "WebKitTools/Scripts/build-dumpkcanvastree", @ARGV;
-    exit $result if $result;
-    $dumpToolName = "DumpKCanvasTree";
     $pixelTests = 1; # Pixel tests are always on for SVG.
+    # Temporary Hack: to pass w3c SVG layout tests which assume a smaller window size.
+    $maxWidth = 480 if (!$maxWidth);
+    $maxHeight = 360 if (!$maxHeight);
 }
 
 my $tool = "$productDir/$dumpToolName";
index 01f49d1e7115240f304d7a87b4012a1e9b292690..f2424ef8736d73aa4be03be34e8ab79bfb31d136 100644 (file)
@@ -196,32 +196,32 @@ sub checkFrameworks
     }
 }
 
-sub isRTTIEnabled
+sub hasSVGSupport
 {
     my $path = shift;
     my $frameworkSymbols = `nm $path`;
-    my $isRTTIEnabled = ($frameworkSymbols =~ /__ZTI/);
-    return $isRTTIEnabled;
+    my $hasSVGSupport = ($frameworkSymbols =~ /SVGElementImpl/);
+    return $hasSVGSupport;
 }
 
-sub removeLibraryDependingOnRTTI
+sub removeLibraryDependingOnSVG
 {
     my $frameworkName = shift;
-    my $shouldHaveRTTI = shift;
+    my $shouldHaveSVG = shift;
     
     my $path = builtDylibPathForName($frameworkName);
     return unless -x $path;
     
-    my $hasRTTI = isRTTIEnabled($path);
-    system "rm -f $path" if ($shouldHaveRTTI xor $hasRTTI);
+    my $hasSVG = hasSVGSupport($path);
+    system "rm -f $path" if ($shouldHaveSVG xor $hasSVG);
 }
 
 sub checkWebCoreSVGSupport
 {
     my $framework = "WebCore";
     my $path = builtDylibPathForName($framework);
-    my $hasSVGSupport = isRTTIEnabled($path);
-    die "$framework at \"$path\" does not include SVG Support, please run build-webkit --svg\n" unless $hasSVGSupport;
+    my $hasSVG = hasSVGSupport($path);
+    die "$framework at \"$path\" does not include SVG Support, please run build-webkit --svg\n" unless $hasSVG;
 }
 
 sub checkRequiredSystemConfig
index b306a3c152c91a68e7c0b173bf5d3fb8c1829503..7212e6b66cc9099f5a38b90e062127b750a1a4a0 100755 (executable)
@@ -73,7 +73,6 @@ close CVS;
 if ($includeSVG) {
     # Make the necessary symlinks
     print "\nCreating symlinks (kdom, kcanvas, ksvg2, WebCore+SVG, svg-tests) from WebCore into SVGSupport\n";
-    symlink("../SVGSupport/kdom", "WebCore/kdom");
     symlink("../SVGSupport/kcanvas", "WebCore/kcanvas");
     symlink("../SVGSupport/ksvg2", "WebCore/ksvg2");
     symlink("../SVGSupport/WebCore+SVG", "WebCore/WebCore+SVG");