Set SHARED_PRECOMPS_DIR when Xcode is set to use a custom build product path.
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Dec 2011 21:01:17 +0000 (21:01 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Dec 2011 21:01:17 +0000 (21:01 +0000)
Reviewed by Anders Carlsson.

* Scripts/webkitdirs.pm:
(determineBaseProductDir):

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

Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

index 072dbcd19949d60d9f5cde87daf687997e132a52..63cc2d88c71d69130c7d7c454fdd08dd3ca614ab 100644 (file)
@@ -1,3 +1,12 @@
+2011-12-24  Dan Bernstein  <mitz@apple.com>
+
+        Set SHARED_PRECOMPS_DIR when Xcode is set to use a custom build product path.
+
+        Reviewed by Anders Carlsson.
+
+        * Scripts/webkitdirs.pm:
+        (determineBaseProductDir):
+
 2011-12-24  Dan Bernstein  <mitz@apple.com>
 
         Make build-webkit aware of additional Xcode build location defaults.
index 5dfa20b130df8333bb489f7b26e82cdbf94793d2..1888b07b3e1a26ec06923da61b0e0574e55165a4 100755 (executable)
@@ -176,6 +176,7 @@ sub determineBaseProductDir
     return if defined $baseProductDir;
     determineSourceDir();
 
+    my $setSharedPrecompsDir;
     $baseProductDir = $ENV{"WEBKITOUTPUTDIR"};
 
     if (!defined($baseProductDir) and isAppleMacWebKit()) {
@@ -195,7 +196,9 @@ sub determineBaseProductDir
             my $buildLocationStyle = join '', readXcodeUserDefault("BuildLocationStyle");
             if ($buildLocationStyle eq "Custom") {
                 my $buildLocationType = join '', readXcodeUserDefault("CustomBuildLocationType");
+                # FIXME: Read CustomBuildIntermediatesPath and set OBJROOT accordingly.
                 $baseProductDir = readXcodeUserDefault("CustomBuildProductsPath") if $buildLocationType eq "Absolute";
+                $setSharedPrecompsDir = 1;
             }
         }
 
@@ -217,6 +220,7 @@ sub determineBaseProductDir
 
     if (!defined($baseProductDir)) { # Port-spesific checks failed, use default
         $baseProductDir = "$sourceDir/WebKitBuild";
+        undef $setSharedPrecompsDir;
     }
 
     if (isBlackBerry()) {
@@ -236,6 +240,7 @@ sub determineBaseProductDir
         die "Can't handle Xcode product directory with a ~ in it.\n" if $baseProductDir =~ /~/;
         die "Can't handle Xcode product directory with a variable in it.\n" if $baseProductDir =~ /\$/;
         @baseProductDirOption = ("SYMROOT=$baseProductDir", "OBJROOT=$baseProductDir");
+        push(@baseProductDirOption, "SHARED_PRECOMPS_DIR=${baseProductDir}/PrecompiledHeaders") if $setSharedPrecompsDir;
     }
 
     if (isCygwin()) {