Reviewed by Nikolas Zimmermann.
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Nov 2008 01:06:46 +0000 (01:06 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Nov 2008 01:06:46 +0000 (01:06 +0000)
        Pre-work for getting build-webkit --chromium to work
        https://bugs.webkit.org/show_bug.cgi?id=22515
        Rename isOSX to isAppleMacWebKit to match what the code does, and add isChromium()

        * Scripts/build-dumprendertree:
        * Scripts/build-jsc:
        * Scripts/build-webkit:
        * Scripts/gdb-safari:
        * Scripts/run-javascriptcore-tests:
        * Scripts/run-webkit-tests:
        * Scripts/webkitdirs.pm:

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

WebKitTools/ChangeLog
WebKitTools/Scripts/build-dumprendertree
WebKitTools/Scripts/build-jsc
WebKitTools/Scripts/build-webkit
WebKitTools/Scripts/gdb-safari
WebKitTools/Scripts/run-javascriptcore-tests
WebKitTools/Scripts/run-webkit-tests
WebKitTools/Scripts/webkitdirs.pm

index dc6be8776c2972b7ad42a7778ba4cb3a3cfde6d2..15d974c98e636ba1ed843bbd1d1de37b09c147f1 100644 (file)
@@ -1,3 +1,19 @@
+2008-11-26  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        Pre-work for getting build-webkit --chromium to work
+        https://bugs.webkit.org/show_bug.cgi?id=22515
+        Rename isOSX to isAppleMacWebKit to match what the code does, and add isChromium()
+
+        * Scripts/build-dumprendertree:
+        * Scripts/build-jsc:
+        * Scripts/build-webkit:
+        * Scripts/gdb-safari:
+        * Scripts/run-javascriptcore-tests:
+        * Scripts/run-webkit-tests:
+        * Scripts/webkitdirs.pm:
+
 2008-11-26  David Kilzer  <ddkilzer@apple.com>
 
         Bug 22488: Make DRT smarter about charset encoding when post-processing webarchive content
index a11481bbe4f8d364596efdd788e120f99bf6f820..d20605f280739bd9859d866aa96263372f6d8c31 100755 (executable)
@@ -41,7 +41,7 @@ my @options = XcodeOptions();
 # Build
 chdir "WebKitTools/DumpRenderTree" or die;
 my $result;
-if (isOSX()) {
+if (isAppleMacWebKit()) {
     $result = system "xcodebuild", "-project", "DumpRenderTree.xcodeproj", @options, @ARGV;
 } elsif (isCygwin()) {
     $result = buildVisualStudioProject("DumpRenderTree.sln");
index f258ea55c13495cbff02609a2ffeae620cc14428..89090b2cf19235c6b31cb7ea1051dd1f4b7e3c8b 100755 (executable)
@@ -41,7 +41,7 @@ my @options = XcodeOptions();
 
 chdir "JavaScriptCore" or die "Can't find JavaScriptCore directory to build from";
 my $result;
-if (isOSX()) {
+if (isAppleMacWebKit()) {
     $result = system "sh", "-c", 'xcodebuild -project JavaScriptCore.xcodeproj -target jsc "$@" | grep -v setenv && exit ${PIPESTATUS[0]}', "xcodebuild",  @options, @ARGV;
 } elsif (isCygwin()) {
     $result = buildVisualStudioProject("JavaScriptCore.vcproj/JavaScriptCore.sln");
index 1ea402d284cd50bc6e7154e5f93f8f909f9329d2..c1542dba2b6da348b6eac6de93dd2ba781af34f7 100755 (executable)
@@ -56,8 +56,8 @@ my $xpathSupport = 1;
 my $xsltSupport = 1;
 my $wmlSupport = 0;
 my $coverageSupport = 0;
-my $videoSupport = (isOSX() || isCygwin()); # Enable by default on OSX and Windows
-my $workersSupport = (isOSX() || isCygwin() || isGtk()); # Enable by default on OSX, Windows and Gtk+
+my $videoSupport = (isAppleMacWebKit() || isCygwin()); # Enable by default on OSX and Windows
+my $workersSupport = (isAppleMacWebKit() || isCygwin() || isGtk()); # Enable by default on OSX, Windows and Gtk+
 my $showHelp = 0;
 my $clean = 0;
 my $buildUniversal = 0;
@@ -202,12 +202,12 @@ for my $dir (@projects, @otherDirs) {
 
 my @options = ();
 
-if ($clean && isOSX()) {
+if ($clean && isAppleMacWebKit()) {
     push(@options, "-alltargets");
     push(@options, "clean");
 }
 
-if ($buildSixtyFourBit && isOSX()) {
+if ($buildSixtyFourBit && isAppleMacWebKit()) {
     my $cpuVendor = `sysctl -n machdep.cpu.vendor`;
     chomp $cpuVendor;
 
@@ -218,7 +218,7 @@ if ($buildSixtyFourBit && isOSX()) {
     } else {
         push(@options, "ARCHS=ppc ppc64");
     }
-} elsif ($buildUniversal && isOSX()) {
+} elsif ($buildUniversal && isAppleMacWebKit()) {
     push(@options, "ARCHS=ppc i386");
 }
 
@@ -243,7 +243,7 @@ if (isGtk()) {
     push @options, autotoolsFlag($coverageSupport, "coverage");
 }
 
-if (isOSX()) {
+if (isAppleMacWebKit()) {
 
     push(@options, XcodeOptions());
 
@@ -302,20 +302,17 @@ for my $dir (@projects) {
     chdir $dir or die;
     my $result = 0;
 
-    if (isGtk()) {
-        if ($dir ne "WebKit") {
-            chdir ".." or die;
-            next;
-        }
+    # For Gtk and Qt the WebKit project builds all others
+    if ((isGtk() || isQt()) && $dir ne "WebKit") {
+        chdir ".." or die;
+        next;
+    }
 
+    if (isGtk()) {
         $result = buildGtkProject($dir, $clean,  @options);
     } elsif (isQt()) {
-        if ($dir ne "WebKit") {
-            chdir ".." or die;
-            next;
-        }
         $result = buildQMakeQtProject($dir, $clean, @ARGV);
-    } elsif (isOSX()) {
+    } elsif (isAppleMacWebKit()) {
         $result = system "xcodebuild", "-project", "$dir.xcodeproj", @options, $overrideFeatureDefinesString, @coverageSupportOption, @ARGV;
     } elsif (isCygwin()) {
         if ($dir eq "WebKit") {
index d0f568c151495c7e12d1743398bd2b59483fb59f..f8f0bf62a556629f23b0756a96ba8151580a1cce 100755 (executable)
@@ -74,7 +74,7 @@ my ($fh, $path) = mkstemp("/tmp/gdb-safari-XXXX");
 print $fh "set env DYLD_FRAMEWORK_PATH $productDir\n";
 print $fh "set env WEBKIT_UNSET_DYLD_FRAMEWORK_PATH YES\n";
 
-my @architectureFlags = ("-arch", preferredArchitecture()) if isOSX();
+my @architectureFlags = ("-arch", preferredArchitecture()) if isAppleMacWebKit();
 # Start up Safari.
 print "Start Safari under gdb with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
 exec $gdbPath, "-x", $path, @architectureFlags, $safariPath or die;
index afd0ab4300a663a59dfcda40b05239de9680de2d..c85d969ed179c5d7392ade32b6f49ef2fde6e8f5 100755 (executable)
@@ -79,7 +79,7 @@ foreach my $arg(@ARGV) {
 
 setConfigurationProductDir(Cwd::abs_path($root)) if (defined($root));
 
-if (isOSX() && !isTiger()) {
+if (isAppleMacWebKit() && !isTiger()) {
     my $preferredArch = preferredArchitecture("JavaScriptCore");
     setRun64Bit($run64Bit);
     my $arch = preferredArchitecture("JavaScriptCore");
@@ -98,7 +98,7 @@ if(!defined($root)){
     push(@xcodeArgs, "--wx")  if isWx();
 
     my $arch = preferredArchitecture("JavaScriptCore");
-    push(@xcodeArgs, "ARCHS=$arch") if (isOSX());
+    push(@xcodeArgs, "ARCHS=$arch") if (isAppleMacWebKit());
     
     my $buildResult = system "perl", "WebKitTools/Scripts/build-jsc", @xcodeArgs;
     if ($buildResult) {
index f09442113e7c50396993e38bae2c67461ec768ff..772b464ff35cee3c7595cf1cee49bbb9af97aa00 100755 (executable)
@@ -153,7 +153,7 @@ if (isTiger()) {
 } elsif (isSnowLeopard()) {
     $platform = "mac-snowleopard";
     $tolerance = 0.1;
-} elsif (isOSX()) {
+} elsif (isAppleMacWebKit()) {
     $platform = "mac";
 } elsif (isQt()) {
     $platform = "qt";
@@ -290,7 +290,7 @@ if (!defined($root)) {
     push(@args, "--qt")  if isQt();
     push(@args, "--gtk")  if isGtk();
 
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         my $arch = preferredArchitecture();
         push(@args, "ARCHS=$arch");
     }
@@ -634,7 +634,7 @@ for my $test (@tests) {
         close EXPECTED;
     }
     my $expectedMac;
-    if (!isOSX() && $strictTesting && !$isText) {
+    if (!isAppleMacWebKit() && $strictTesting && !$isText) {
       if (!$resetResults && open EXPECTED, "<", "$testDirectory/platform/mac/$expectedFileName") {
         $expectedMac = "";
         while (<EXPECTED>) {
@@ -726,7 +726,7 @@ for my $test (@tests) {
         }
     }
 
-    if (!isOSX() && $strictTesting && !$isText) {
+    if (!isAppleMacWebKit() && $strictTesting && !$isText) {
       if (defined $expectedMac) {
         my $simplified_actual;
         $simplified_actual = $actual;
@@ -1233,7 +1233,7 @@ sub openDumpTool()
 
     my @args = @toolArgs;
     unshift @args, $dumpTool;
-    if (isOSX and !isTiger()) {
+    if (isAppleMacWebKit and !isTiger()) {
         unshift @args, "arch";
     }
     if ($useValgrind) {
@@ -1274,7 +1274,7 @@ sub dumpToolDidCrash()
     return 1 if ($pid == $dumpToolPID);
 
     # On Mac OS X, crashing may be significantly delayed by crash reporter.
-    return 0 unless isOSX();
+    return 0 unless isAppleMacWebKit();
 
     my $tryingToExit = 0;
     open PS, "ps -o state -p $dumpToolPID |";
@@ -1862,7 +1862,7 @@ sub setFileHandleNonBlocking(*$)
 
 sub sampleDumpTool()
 {
-    return unless isOSX();
+    return unless isAppleMacWebKit();
     return unless $runSample;
 
     my $outputDirectory = "$ENV{HOME}/Library/Logs/DumpRenderTree";
index 1340eb122dd300928a95b92cf82c6fbec72d050f..a0f226da8fc3914c6faea5b463d0f3ae5fc702aa 100644 (file)
@@ -56,6 +56,7 @@ my $osXVersion;
 my $isQt;
 my $isGtk;
 my $isWx;
+my $isChromium;
 my $forceRun64Bit;
 
 # Variables for Win32 support
@@ -90,7 +91,7 @@ sub determineBaseProductDir
 {
     return if defined $baseProductDir;
     determineSourceDir();
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         open PRODUCT, "defaults read com.apple.Xcode PBXApplicationwideBuildSettings 2> /dev/null |" or die;
         $baseProductDir = join '', <PRODUCT>;
         close PRODUCT;
@@ -116,7 +117,7 @@ sub determineBaseProductDir
         }
     }
 
-    if ($baseProductDir && isOSX()) {
+    if ($baseProductDir && isAppleMacWebKit()) {
         $baseProductDir =~ s|^\Q$(SRCROOT)/..\E$|$sourceDir|;
         $baseProductDir =~ s|^\Q$(SRCROOT)/../|$sourceDir/|;
         $baseProductDir =~ s|^~/|$ENV{HOME}/|;
@@ -133,7 +134,7 @@ sub determineBaseProductDir
             $baseProductDir = "$baseProductDir/$branch";
         }
 
-        @baseProductDirOption = ("SYMROOT=$baseProductDir", "OBJROOT=$baseProductDir") if (isOSX());
+        @baseProductDirOption = ("SYMROOT=$baseProductDir", "OBJROOT=$baseProductDir") if (isAppleMacWebKit());
         if (isCygwin()) {
             my $dosBuildPath = `cygpath --windows \"$baseProductDir\"`;
             chomp $dosBuildPath;
@@ -317,7 +318,7 @@ sub safariPathFromSafariBundle
 {
     my ($safariBundle) = @_;
 
-    return "$safariBundle/Contents/MacOS/Safari" if isOSX();
+    return "$safariBundle/Contents/MacOS/Safari" if isAppleMacWebKit();
     return $safariBundle if isCygwin();
 }
 
@@ -325,7 +326,7 @@ sub installedSafariPath
 {
     my $safariBundle;
 
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         $safariBundle = "/Applications/Safari.app";
     } elsif (isCygwin()) {
         $safariBundle = `"$configurationProductDir/FindSafari.exe"`;
@@ -346,7 +347,7 @@ sub safariPath
     if (!$safariBundle) {
         determineConfigurationProductDir();
         # Use Safari.app in product directory if present (good for Safari development team).
-        if (isOSX() && -d "$configurationProductDir/Safari.app") {
+        if (isAppleMacWebKit() && -d "$configurationProductDir/Safari.app") {
             $safariBundle = "$configurationProductDir/Safari.app";
         } elsif (isCygwin() && -x "$configurationProductDir/bin/Safari.exe") {
             $safariBundle = "$configurationProductDir/bin/Safari.exe";
@@ -355,7 +356,7 @@ sub safariPath
         }
     }
     my $safariPath = safariPathFromSafariBundle($safariBundle);
-    die "Can't find executable at $safariPath.\n" if isOSX() && !-x $safariPath;
+    die "Can't find executable at $safariPath.\n" if isAppleMacWebKit() && !-x $safariPath;
     return $safariPath;
 }
 
@@ -366,7 +367,7 @@ sub builtDylibPathForName
     if (isQt() or isGtk()) {
         return "$configurationProductDir/$framework";
     }
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         return "$configurationProductDir/$framework.framework/Versions/A/$framework";
     }
     if (isCygwin()) {
@@ -385,7 +386,7 @@ sub checkFrameworks
 {
     return if isCygwin();
     my @frameworks = ("JavaScriptCore", "WebCore");
-    push(@frameworks, "WebKit") if isOSX();
+    push(@frameworks, "WebKit") if isAppleMacWebKit();
     for my $framework (@frameworks) {
         my $path = builtDylibPathForName($framework);
         die "Can't find built framework at \"$path\".\n" unless -x $path;
@@ -568,6 +569,23 @@ sub isDebianBased()
     return -e "/etc/debian_version";
 }
 
+sub isChromium()
+{
+    determineIsChromium();
+    return $isChromium;
+}
+
+sub determineIsChromium()
+{
+    return if defined($isChromium);
+
+    if (checkArgv("--chromium")) {
+        $isChromium = 1;
+    } else {
+        $isChromium = 0;
+    }
+}
+
 sub isCygwin()
 {
     return ($^O eq "cygwin") || 0;
@@ -578,19 +596,25 @@ sub isDarwin()
     return ($^O eq "darwin") || 0;
 }
 
-# isOSX() only returns true for Apple's port, not for other ports that can be
-# built/run on OS X.
-sub isOSX()
+# isAppleMacWebKit() only returns true for Apple's port,
+# not for other ports that can be built/run on OS X.
+sub isAppleMacWebKit()
 {
-    return isDarwin() unless (isQt() or isGtk() or isWx());
-    return 0;
+    return isDarwin() and !(isQt() or isGtk() or isWx() or isChromium());
+}
+
+# isAppleWinWebKit() only returns true for Apple's port,
+# not for other ports that can be built/run on Windows
+sub isAppleWinWebKit()
+{
+    return isCygwin() and !(isQt() or isGtk() or isWx() or isChromium());
 }
 
 sub determineOSXVersion()
 {
     return if $osXVersion;
 
-    if (!isOSX()) {
+    if (!isAppleMacWebKit()) {
         $osXVersion = -1;
         return;
     }
@@ -613,17 +637,17 @@ sub osXVersion()
 
 sub isTiger()
 {
-    return isOSX() && osXVersion()->{"minor"} == 4;
+    return isAppleMacWebKit() && osXVersion()->{"minor"} == 4;
 }
 
 sub isLeopard()
 {
-    return isOSX() && osXVersion()->{"minor"} == 5;
+    return isAppleMacWebKit() && osXVersion()->{"minor"} == 5;
 }
 
 sub isSnowLeopard()
 {
-    return isOSX() && osXVersion()->{"minor"} == 6;
+    return isAppleMacWebKit() && osXVersion()->{"minor"} == 6;
 }
 
 sub relativeScriptsDir()
@@ -640,7 +664,7 @@ sub launcherPath()
     my $relativeScriptsPath = relativeScriptsDir();
     if (isGtk() || isQt()) {
         return "$relativeScriptsPath/run-launcher";
-    } elsif (isOSX() || isCygwin()) {
+    } elsif (isAppleMacWebKit() || isCygwin()) {
         return "$relativeScriptsPath/run-safari";
     }
 }
@@ -651,14 +675,14 @@ sub launcherName()
         return "GtkLauncher";
     } elsif (isQt()) {
         return "QtLauncher";
-    } elsif (isOSX() || isCygwin()) {
+    } elsif (isAppleMacWebKit() || isCygwin()) {
         return "Safari";
     }
 }
 
 sub checkRequiredSystemConfig
 {
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         chomp(my $productVersion = `sw_vers -productVersion`);
         if ($productVersion lt "10.4") {
             print "*************************************************************\n";
@@ -976,7 +1000,7 @@ sub runSafari
 {
     my ($debugger) = @_;
 
-    if (isOSX()) {
+    if (isAppleMacWebKit()) {
         return system "$FindBin::Bin/gdb-safari", @ARGV if $debugger;
 
         my $productDir = productDir();
@@ -1015,7 +1039,7 @@ sub setRun64Bit($)
 
 sub preferredArchitecture
 {
-    return unless isOSX();
+    return unless isAppleMacWebKit();
     
     my $framework = shift;
     $framework = "WebKit" if !defined($framework);
@@ -1039,7 +1063,7 @@ sub preferredArchitecture
 
 sub exportArchPreference
 {
-    $ENV{ARCHPREFERENCE} = preferredArchitecture() if isOSX();
+    $ENV{ARCHPREFERENCE} = preferredArchitecture() if isAppleMacWebKit();
 }
 
 1;