WebKitTools:
[WebKit-https.git] / WebKitTools / Scripts / webkitdirs.pm
index c1dc8af1351953014b694e7b60401f15c68273ac..8fcea6ac42c5ab715179db5d24fd79f850e8904d 100644 (file)
@@ -51,7 +51,7 @@ my $currentSVNRevision;
 
 
 # Variables for Win32 support
-my $devenvPath;
+my $vcbuildPath;
 my $windowsTmpPath;
 
 sub determineSourceDir
@@ -345,11 +345,26 @@ sub checkRequiredSystemConfig
 sub setupCygwinEnv()
 {
     return if !isCygwin();
-    return if $devenvPath;
+    return if $vcbuildPath;
+
+    my $vcInstallDir = $ENV{'VCINSTALLDIR'};
+    if (!$vcInstallDir) {
+        my $pf = $ENV{'PROGRAMFILES'} || "C:/Program Files";
+        $vcInstallDir = "$pf/Microsoft Visual Studio 8/VC";
+    }
+    $vcInstallDir = `cygpath "$vcInstallDir"`;
+    chomp $vcInstallDir;
+    $vcbuildPath = "$vcInstallDir/vcpackages/vcbuild.exe";
+    if (! -e $vcbuildPath) {
+        print "*************************************************************\n";
+        print "Cannot find 'vcbuild.exe' in '$vcInstallDir/vcpackages/'\n";
+        print "Please execute the file 'vcvars32.bat' from\n";
+        print "'<Program Files>\\Microsoft Visual Studio 8\\VC\\bin\\'\n";
+        print "to setup the necessary environment variables.\n";
+        print "*************************************************************\n";
+        die;
+    }
 
-    my $programFilesPath = `cygpath "$ENV{'PROGRAMFILES'}"`;
-    chomp $programFilesPath;
-    $devenvPath = "$programFilesPath/Microsoft Visual Studio 8/Common7/IDE/devenv.com";
     $windowsTmpPath = `cygpath -w /tmp`;
     chomp $windowsTmpPath;
     print "Building results into: ", baseProductDir(), "\n";
@@ -364,8 +379,8 @@ sub buildVisualStudioProject($)
     chdir "$project.vcproj" or die "Failed to cd into $project.vcproj\n";
     my $config = configuration();
 
-    print "$devenvPath $project.sln /build $config";
-    my $result = system $devenvPath, "$project.sln", "/build", $config;
+    print "$vcbuildPath $project.sln /u /time \"$config|Win32\"\n";
+    my $result = system $vcbuildPath, "$project.sln", "/u", "/time", "$config|Win32";
     chdir ".." or die;
     return $result;
 }