[webkit-changes] cvs commit: WebKitTools/Scripts build-drawtest
build-dumpkcanvastree build-webkit run-drawtest
run-webkit-tests webkitdirs.pm build-webcore-svg
Eric
eseidel at opensource.apple.com
Thu Sep 22 20:31:49 PDT 2005
eseidel 05/09/22 20:31:48
Modified: . ChangeLog checkout
DrawTest/DrawTest.xcodeproj project.pbxproj
DumpKCanvasTree/DumpKCanvasTree.xcodeproj project.pbxproj
Scripts build-drawtest build-dumpkcanvastree build-webkit
run-drawtest run-webkit-tests webkitdirs.pm
Removed: . checkout-svg
Scripts build-webcore-svg
Log:
Bug #: 5003
Submitted by: eseidel
Reviewed by: mjs
Update tools for WebCore+SVG -> WebCore rename.
Also fold several SVG specific tools into their original
WebCore counterparts.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5003
* DrawTest/DrawTest.xcodeproj/project.pbxproj:
* DumpKCanvasTree/DumpKCanvasTree.xcodeproj/project.pbxproj:
* Scripts/build-drawtest:
* Scripts/build-dumpkcanvastree:
* Scripts/build-webcore-svg: Removed.
* Scripts/build-webkit: added --svg option
* Scripts/run-drawtest:
* Scripts/run-webkit-tests:
* Scripts/webkitdirs.pm: various additions.
* checkout: added --svg option
* checkout-svg: Removed.
Revision Changes Path
1.104 +21 -0 WebKitTools/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebKitTools/ChangeLog,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- ChangeLog 20 Sep 2005 01:23:11 -0000 1.103
+++ ChangeLog 23 Sep 2005 03:31:45 -0000 1.104
@@ -1,3 +1,24 @@
+2005-09-22 Eric Seidel <eseidel at apple.com>
+
+ Reviewed by mjs.
+
+ Update tools for WebCore+SVG -> WebCore rename.
+ Also fold several SVG specific tools into their original
+ WebCore counterparts.
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=5003
+
+ * DrawTest/DrawTest.xcodeproj/project.pbxproj:
+ * DumpKCanvasTree/DumpKCanvasTree.xcodeproj/project.pbxproj:
+ * Scripts/build-drawtest:
+ * Scripts/build-dumpkcanvastree:
+ * Scripts/build-webcore-svg: Removed.
+ * Scripts/build-webkit: added --svg option
+ * Scripts/run-drawtest:
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm: various additions.
+ * checkout: added --svg option
+ * checkout-svg: Removed.
+
2005-09-19 Eric Seidel <eseidel at apple.com>
Reviewed by darin.
1.3 +23 -2 WebKitTools/checkout
Index: checkout
===================================================================
RCS file: /cvs/root/WebKitTools/checkout,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- checkout 7 Jun 2005 22:02:24 -0000 1.2
+++ checkout 23 Sep 2005 03:31:46 -0000 1.3
@@ -29,6 +29,10 @@
# First time check-out script for Web Kit Open Source Project.
use strict;
+use Getopt::Long;
+
+my $includeSVG = 0;
+GetOptions('svg' => \$includeSVG);
# Check that we're in the right directory.
if (! -d "WebKitTools") {
@@ -48,13 +52,30 @@
# Check out all the sources.
print "CVS root is $root\n";
-print "Checking out WebKitTools (again), JavaScriptCore, WebCore, WebKitLibraries, and WebKit\n";
-open CVS, "cvs -d '$root' co -P WebKitTools JavaScriptCore WebCore WebKitLibraries WebKit |" or die;
+print "Checking out WebKitTools (again), JavaScriptCore, WebCore, WebKitLibraries";
+if ($includeSVG) {
+ print ", WebKit and SVGSupport\n";
+} else {
+ print " and WebKit\n";
+}
+my $directories = "WebKitTools JavaScriptCore WebCore WebKitLibraries WebKit";
+$directories .= " SVGSupport" if $includeSVG;
+open CVS, "cvs -d '$root' co -P $directories |" or die;
while (<CVS>) {
print;
}
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");
+ symlink("../SVGSupport/layout-tests", "WebCore/svg-tests");
+}
+
# Ready to build.
print "\n";
print "===============================================================\n";
1.3 +4 -7 WebKitTools/DrawTest/DrawTest.xcodeproj/project.pbxproj
Index: project.pbxproj
===================================================================
RCS file: /cvs/root/WebKitTools/DrawTest/DrawTest.xcodeproj/project.pbxproj,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.pbxproj 29 Jul 2005 22:05:18 -0000 1.2
+++ project.pbxproj 23 Sep 2005 03:31:46 -0000 1.3
@@ -23,7 +23,7 @@
A8C006F3089865E900BA5114 /* DrawTestDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = A8C006ED089865E900BA5114 /* DrawTestDocument.nib */; };
A8C006F4089865E900BA5114 /* Inspector.nib in Resources */ = {isa = PBXBuildFile; fileRef = A8C006EF089865E900BA5114 /* Inspector.nib */; };
A8C006F5089865E900BA5114 /* TestViewer.nib in Resources */ = {isa = PBXBuildFile; fileRef = A8C006F1089865E900BA5114 /* TestViewer.nib */; };
- A8C006FA0898665200BA5114 /* WebCore+SVG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8C006F90898665200BA5114 /* WebCore+SVG.framework */; };
+ A8C006FA0898665200BA5114 /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8C006F90898665200BA5114 /* WebCore.framework */; };
/* End PBXBuildFile section */
/* Begin PBXBuildStyle section */
@@ -85,7 +85,7 @@
A8C006EE089865E900BA5114 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/DrawTestDocument.nib; sourceTree = "<group>"; };
A8C006F0089865E900BA5114 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Inspector.nib; sourceTree = "<group>"; };
A8C006F2089865E900BA5114 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/TestViewer.nib; sourceTree = "<group>"; };
- A8C006F90898665200BA5114 /* WebCore+SVG.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = "WebCore+SVG.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ A8C006F90898665200BA5114 /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -94,7 +94,7 @@
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
- A8C006FA0898665200BA5114 /* WebCore+SVG.framework in Frameworks */,
+ A8C006FA0898665200BA5114 /* WebCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -117,7 +117,7 @@
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
- A8C006F90898665200BA5114 /* WebCore+SVG.framework */,
+ A8C006F90898665200BA5114 /* WebCore.framework */,
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
@@ -348,7 +348,6 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
- FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../build/Development\"";
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
@@ -371,7 +370,6 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../build/Development\"";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -391,7 +389,6 @@
A8C006770898624E00BA5114 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
- FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../build/Development\"";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = DrawTest_Prefix.pch;
1.3 +4 -4 WebKitTools/DumpKCanvasTree/DumpKCanvasTree.xcodeproj/project.pbxproj
Index: project.pbxproj
===================================================================
RCS file: /cvs/root/WebKitTools/DumpKCanvasTree/DumpKCanvasTree.xcodeproj/project.pbxproj,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.pbxproj 18 Aug 2005 05:59:07 -0000 1.2
+++ project.pbxproj 23 Sep 2005 03:31:47 -0000 1.3
@@ -9,7 +9,7 @@
/* Begin PBXBuildFile section */
8DD76F9A0486AA7600D96B5E /* DumpKCanvasTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* DumpKCanvasTree.m */; settings = {ATTRIBUTES = (); }; };
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
- A810E4BC08A4462800333D98 /* WebCore+SVG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A810E4BB08A4462800333D98 /* WebCore+SVG.framework */; };
+ A810E4BC08A4462800333D98 /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A810E4BB08A4462800333D98 /* WebCore.framework */; };
/* End PBXBuildFile section */
/* Begin PBXBuildStyle section */
@@ -52,7 +52,7 @@
08FB7796FE84155DC02AAC07 /* DumpKCanvasTree.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DumpKCanvasTree.m; sourceTree = "<group>"; };
08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
8DD76FA10486AA7600D96B5E /* DumpKCanvasTree */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = DumpKCanvasTree; sourceTree = BUILT_PRODUCTS_DIR; };
- A810E4BB08A4462800333D98 /* WebCore+SVG.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = "WebCore+SVG.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ A810E4BB08A4462800333D98 /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -61,7 +61,7 @@
buildActionMask = 2147483647;
files = (
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
- A810E4BC08A4462800333D98 /* WebCore+SVG.framework in Frameworks */,
+ A810E4BC08A4462800333D98 /* WebCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -89,7 +89,7 @@
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
- A810E4BB08A4462800333D98 /* WebCore+SVG.framework */,
+ A810E4BB08A4462800333D98 /* WebCore.framework */,
08FB779EFE84155DC02AAC07 /* Foundation.framework */,
);
name = "External Frameworks and Libraries";
1.3 +3 -2 WebKitTools/Scripts/build-drawtest
Index: build-drawtest
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/build-drawtest,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- build-drawtest 5 Aug 2005 01:24:31 -0000 1.2
+++ build-drawtest 23 Sep 2005 03:31:47 -0000 1.3
@@ -39,8 +39,9 @@
chdirWebKit();
my @options = XcodeOptions();
-# Check to see that all the frameworks are built.
-checkSVGFrameworks();
+# Check to see that all the frameworks are built (w/ SVG support).
+checkFrameworks();
+checkWebCoreSVGSupport();
# Build
chdir "WebKitTools/DrawTest" or die;
1.2 +3 -2 WebKitTools/Scripts/build-dumpkcanvastree
Index: build-dumpkcanvastree
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/build-dumpkcanvastree,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build-dumpkcanvastree 6 Aug 2005 18:36:22 -0000 1.1
+++ build-dumpkcanvastree 23 Sep 2005 03:31:47 -0000 1.2
@@ -39,8 +39,9 @@
chdirWebKit();
my @options = XcodeOptions();
-# Check to see that all the frameworks are built.
-checkSVGFrameworks();
+# Check to see that all the frameworks are built (w/ SVG support).
+checkFrameworks();
+checkWebCoreSVGSupport();
# Build
chdir "WebKitTools/DumpKCanvasTree" or die;
1.15 +29 -5 WebKitTools/Scripts/build-webkit
Index: build-webkit
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/build-webkit,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- build-webkit 5 Aug 2005 01:24:31 -0000 1.14
+++ build-webkit 23 Sep 2005 03:31:47 -0000 1.15
@@ -30,9 +30,13 @@
use strict;
use FindBin;
+use Getopt::Long;
use lib $FindBin::Bin;
use webkitdirs;
+my $svgSupport = 0;
+GetOptions('svg' => \$svgSupport);
+
checkRequiredSystemConfig();
setConfiguration();
chdirWebKit();
@@ -42,12 +46,18 @@
# Check that all the project directories are there.
my @projects = ("JavaScriptCore", "WebCore", "WebKit");
my @otherDirs = ("WebKitLibraries");
+my $checkoutScript = "WebKitTools/checkout";
+if ($svgSupport) {
+ $checkoutScript .= " --svg";
+ push(@otherDirs, "SVGSupport");
+}
for my $dir (@projects, @otherDirs) {
if (! -d $dir) {
- die "No $dir directory found. Can't build\n";
+ die "Error: No $dir directory found. Please run \"$checkoutScript\" first.\n";
}
}
+
# Copy library and header from WebKitLibraries to a findable place in the product directory.
my $srcLib = "WebKitLibraries/libWebKitSystemInterface.a";
my $lib = "$productDir/libWebKitSystemInterface.a";
@@ -64,22 +74,36 @@
system "ditto", $srcHeader, $header;
}
+# Force re-link of existing libraries if different than expected
+removeLibraryDependingOnRTTI("JavaScriptCore", $svgSupport);
+removeLibraryDependingOnRTTI("WebCore", $svgSupport);
+
# Build, and abort if the build fails.
for my $dir (@projects) {
chdir $dir or die;
my $result;
- if ($dir eq "JavaScriptCore") {
- $result = system "xcodebuild", "-project", "JavaScriptCore.xcodeproj", @options, "-target", "All";
+ if ($svgSupport && ($dir eq "JavaScriptCore" || $dir eq "WebCore")) {
+ $result = system "xcodebuild", "-project", "$dir.xcodeproj", @options, "-target", "$dir+SVG";
} else {
$result = system "xcodebuild", "-project", "$dir.xcodeproj", @options;
}
exit $result if $result;
+ if ($dir eq "JavaScriptCore") {
+ $result = system "xcodebuild", "-project", "$dir.xcodeproj", @options, "-target", "testkjs";
+ exit $result if $result;
+ }
chdir ".." or die;
}
# Write out congratulations message.
print "\n";
print "===========================================================\n";
-print " Web Kit is now built. To run Safari with this newly-built\n";
-print " code, use the run-safari script.\n";
+print " WebKit is now built. To run Safari with this newly-built\n";
+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";
1.2 +4 -3 WebKitTools/Scripts/run-drawtest
Index: run-drawtest
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/run-drawtest,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- run-drawtest 31 Jul 2005 20:02:33 -0000 1.1
+++ run-drawtest 23 Sep 2005 03:31:47 -0000 1.2
@@ -36,11 +36,12 @@
setConfiguration();
my $productDir = productDir();
-# Check to see that all the frameworks are built.
-checkSVGFrameworks();
+# Check to see that all the frameworks are built (w/ SVG support).
+checkFrameworks();
+checkWebCoreSVGSupport();
# Set up DYLD_FRAMEWORK_PATH to point to the product directory.
-print "Start DrawTest with DYLD_FRAMEWORK_PATH set to point to built WebCore+SVG in $productDir.\n";
+print "Start DrawTest with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
$ENV{DYLD_FRAMEWORK_PATH} = $productDir;
my $drawtestPath = "$productDir/DrawTest.app/Contents/MacOS/DrawTest";
exec $drawtestPath or die;
1.27 +2 -5 WebKitTools/Scripts/run-webkit-tests
Index: run-webkit-tests
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/run-webkit-tests,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- run-webkit-tests 20 Sep 2005 01:23:12 -0000 1.26
+++ run-webkit-tests 23 Sep 2005 03:31:47 -0000 1.27
@@ -91,11 +91,8 @@
die "can't find executable $dumpToolName (looked in $productDir)\n" if !-x $tool;
die "can't find executable $imageDiffTool (looked in $productDir)\n" if $pixelTests && !-x $imageDiffTool;
-if ($testSVGs) {
- checkSVGFrameworks();
-} else {
- checkFrameworks();
-}
+checkFrameworks();
+checkWebCoreSVGSupport() if $testSVGs;
my $layoutTestsName = "layout-tests";
if ($testSVGs) {
1.17 +34 -8 WebKitTools/Scripts/webkitdirs.pm
Index: webkitdirs.pm
===================================================================
RCS file: /cvs/root/WebKitTools/Scripts/webkitdirs.pm,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- webkitdirs.pm 18 Aug 2005 17:45:52 -0000 1.16
+++ webkitdirs.pm 23 Sep 2005 03:31:47 -0000 1.17
@@ -95,6 +95,7 @@
sub determineConfigurationProductDir
{
+ return if defined $configurationProductDir;
determineBaseProductDir();
determineConfiguration();
$configurationProductDir = "$baseProductDir/$configuration";
@@ -179,23 +180,48 @@
return $safariPath;
}
+sub builtDylibPathForName
+{
+ my $framework = shift;
+ determineConfigurationProductDir();
+ return "$configurationProductDir/$framework.framework/Versions/A/$framework";
+}
+
# Check to see that all the frameworks are built.
sub checkFrameworks
{
- determineConfigurationProductDir();
for my $framework ("JavaScriptCore", "WebCore", "WebKit") {
- my $path = "$configurationProductDir/$framework.framework/Versions/A/$framework";
+ my $path = builtDylibPathForName($framework);
die "Can't find built framework at \"$path\".\n" unless -x $path;
}
}
-sub checkSVGFrameworks
+sub isRTTIEnabled
{
- determineConfigurationProductDir();
- for my $framework ("JavaScriptCore", "WebCore+SVG") {
- my $path = "$configurationProductDir/$framework.framework/Versions/A/$framework";
- die "Can't find built framework at \"$path\".\n" unless -x $path;
- }
+ my $path = shift;
+ my $frameworkSymbols = `nm $path`;
+ my $isRTTIEnabled = ($frameworkSymbols =~ /__ZTI/);
+ return $isRTTIEnabled;
+}
+
+sub removeLibraryDependingOnRTTI
+{
+ my $frameworkName = shift;
+ my $shouldHaveRTTI = shift;
+
+ my $path = builtDylibPathForName($frameworkName);
+ return unless -x $path;
+
+ my $hasRTTI = isRTTIEnabled($path);
+ system "rm -f $path" if ($shouldHaveRTTI xor $hasRTTI);
+}
+
+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;
}
sub checkRequiredSystemConfig
More information about the webkit-changes
mailing list