Tools/Scripts/build-jsc doesn't work after WTF move
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Mar 2012 00:51:06 +0000 (00:51 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Mar 2012 00:51:06 +0000 (00:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=81999

Reviewed by Eric Seidel.

For ports that require WTF and JSC to be built as two projects and where
the machinery to build both does not already exist, teach the tool to do
so for us.

* Scripts/build-jsc:
(buildMyProject):

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

Tools/ChangeLog
Tools/Scripts/build-jsc

index 7c685d040d2bc473202bcd8ba45e43617eaddea0..82165a8c8fbb07001de7bd5cb1a3c271e6384d66 100644 (file)
@@ -1,3 +1,17 @@
+2012-03-22  Filip Pizlo  <fpizlo@apple.com>
+
+        Tools/Scripts/build-jsc doesn't work after WTF move
+        https://bugs.webkit.org/show_bug.cgi?id=81999
+
+        Reviewed by Eric Seidel.
+        
+        For ports that require WTF and JSC to be built as two projects and where
+        the machinery to build both does not already exist, teach the tool to do
+        so for us.
+
+        * Scripts/build-jsc:
+        (buildMyProject):
+
 2012-03-22  Ojan Vafai  <ojan@chromium.org>
 
         Fix accidental missing line in r111793.
index 2da9ee9da93fd1904d58b4427ec0e72dc7cf06a3..da415cc89450fb4b72de739927438d32dd5c3d70 100755 (executable)
@@ -61,26 +61,36 @@ chdirWebKit();
 my @options = XcodeOptions();
 my @coverageSupportOptions = ($coverageSupport) ? XcodeCoverageSupportOptions() : ();
 
-chdir "Source/JavaScriptCore" or die "Can't find JavaScriptCore directory to build from";
-my $result;
-if (isAppleMacWebKit()) {
-    $result = system "sh", "-c", 'xcodebuild -project JavaScriptCore.xcodeproj "$@" | grep -v setenv && exit ${PIPESTATUS[0]}', "xcodebuild",  @options, @ARGV, @coverageSupportOptions;
-} elsif (isAppleWinWebKit()) {
-    $result = buildVisualStudioProject("JavaScriptCore.vcproj/JavaScriptCore.sln");
-} elsif (isGtk()) {
-    checkForArgumentAndRemoveFromARGV("--gtk");
-    $result = buildGtkProject("JavaScriptCore", 0, @ARGV);
-} elsif (isQt()) {
-    # Remove duplicated --qt options to avoid passing them to qmake
+if (isQt()) {
     checkForArgumentAndRemoveFromARGV("--qt");
     my @projects = ("WTF", "JavaScriptCore");
-    $result = buildQMakeProjects(\@projects, 0, @ARGV);
-} elsif (isWx()) {
-    # Builds everything in one-shot. No need to build anything here.
-    $result = 0;
+    my $result = buildQMakeProjects(\@projects, 0, @ARGV);
+    exit exitStatus($result);
 } elsif (cmakeBasedPortName()) {
     buildCMakeProjectOrExit(0, cmakeBasedPortName(), undef, undef, ("-DONLY_BUILD_JAVASCRIPTCORE=1", cmakeBasedPortArguments())); # This call never returns.
-} else {
-    die "Building not defined for this platform!\n";
 }
-exit exitStatus($result);
+
+sub buildMyProject
+{
+    my ($projectDirectory, $projectName) = @_;
+    my $result;
+    chdir $projectDirectory or die "Can't find $projectName directory to build from";
+    if (isAppleMacWebKit()) {
+        $result = system "sh", "-c", ('xcodebuild -project ' . $projectName . '.xcodeproj "$@" | grep -v setenv && exit ${PIPESTATUS[0]}'), "xcodebuild",  @options, @ARGV, @coverageSupportOptions;
+    } elsif (isAppleWinWebKit()) {
+        $result = buildVisualStudioProject("$projectName.vcproj/$projectName.sln");
+    } elsif (isGtk()) {
+        checkForArgumentAndRemoveFromARGV("--gtk");
+        $result = buildGtkProject($projectName, 0, @ARGV);
+    } elsif (isWx()) {
+        # Builds everything in one-shot. No need to build anything here.
+        $result = 0;
+    } else {
+        die "Building not defined for this platform!\n";
+    }
+    exit exitStatus($result) if exitStatus($result);
+    chdirWebKit();
+}
+
+buildMyProject("Source/WTF", "WTF");
+buildMyProject("Source/JavaScriptCore", "JavaScriptCore");