Changeset 189973 in webkit


Ignore:
Timestamp:
Sep 18, 2015, 11:00:32 AM (10 years ago)
Author:
achristensen@apple.com
Message:

Prevent build-webkit from building four times on Windows
https://bugs.webkit.org/show_bug.cgi?id=149336

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:

Move the Windows code out of the for loop iterating over each subdirectory to be build.
They're built all at once.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject):
(cmakeGeneratedBuildfile):
Don't generate the Visual Studio solution if it already exists.
It will run CMake again if necessary.

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r189959 r189973  
     12015-09-18  Alex Christensen  <achristensen@webkit.org>
     2
     3        Prevent build-webkit from building four times on Windows
     4        https://bugs.webkit.org/show_bug.cgi?id=149336
     5
     6        Reviewed by Brent Fulgham.
     7
     8        * Scripts/build-webkit:
     9        Move the Windows code out of the for loop iterating over each subdirectory to be build.
     10        They're built all at once.
     11        * Scripts/webkitdirs.pm:
     12        (buildVisualStudioProject):
     13        (cmakeGeneratedBuildfile):
     14        Don't generate the Visual Studio solution if it already exists.
     15        It will run CMake again if necessary.
     16
    1172015-09-17  Simon Fraser  <simon.fraser@apple.com>
    218
  • trunk/Tools/Scripts/build-webkit

    r189934 r189973  
    242242}
    243243
    244 # Build, and abort if the build fails.
    245 for my $dir (@projects) {
    246     chdir $dir or die;
    247     $result = 0;
    248 
    249     my $project = basename($dir);
    250     my $baseProductDir = baseProductDir();
    251     if (isAppleMacWebKit()) {
    252         my @local_options = @options;
    253         push @local_options, XcodeCoverageSupportOptions() if $coverageSupport;
    254         push @local_options, XcodeStaticAnalyzerOption() if $shouldRunStaticAnalyzer;
    255         my $projectPath = $project =~ /gtest/ ? "xcode/gtest" : $project;
    256         $result = buildXCodeProject($projectPath, $clean, @local_options, @ARGV);
    257     } elsif (isAppleWinWebKit() || isWinCairo()) {
    258         chdirWebKit();
    259         if (exitStatus(generateBuildSystemFromCMakeProject(isWinCairo() ? "WinCairo" : "AppleWin"))) {
    260             die "Run \"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/vcvarsall.bat\" before build-webkit when using ninja";
    261         }
    262         if (canUseNinja()) {
    263             chdir "WebKitBuild/" . configuration();
    264             $result = system("ninja");
    265         } else {
    266             $result = buildVisualStudioProject("WebKitBuild/" . configuration() . "/WebKit.sln", $clean);
    267         }
    268     }
    269     # Various build* calls above may change the CWD.
     244my $baseProductDir = baseProductDir();
     245if (isAppleWinWebKit() || isWinCairo()) {
    270246    chdirWebKit();
    271 
     247    if (exitStatus(generateBuildSystemFromCMakeProject(isWinCairo() ? "WinCairo" : "AppleWin"))) {
     248        die "Run \"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/vcvarsall.bat\" before build-webkit when using ninja";
     249    }
     250    chdirWebKit();
     251    if (canUseNinja()) {
     252        chdir "WebKitBuild/" . configuration();
     253        $result = system("ninja");
     254    } else {
     255        $result = buildVisualStudioProject("WebKitBuild/" . configuration() . "/WebKit.sln", $clean);
     256    }
    272257    if (exitStatus($result)) {
    273258        my $scriptDir = relativeScriptsDir();
     
    278263        }
    279264        exit exitStatus($result);
     265    }
     266} elsif (isAppleMacWebKit()) {
     267    # Build, and abort if the build fails.
     268    for my $dir (@projects) {
     269        chdir $dir or die;
     270        $result = 0;
     271
     272        my $project = basename($dir);
     273       
     274        my @local_options = @options;
     275        push @local_options, XcodeCoverageSupportOptions() if $coverageSupport;
     276        push @local_options, XcodeStaticAnalyzerOption() if $shouldRunStaticAnalyzer;
     277        my $projectPath = $project =~ /gtest/ ? "xcode/gtest" : $project;
     278        $result = buildXCodeProject($projectPath, $clean, @local_options, @ARGV);
     279
     280        # Various build* calls above may change the CWD.
     281        chdirWebKit();
     282
     283        if (exitStatus($result)) {
     284            exit exitStatus($result);
     285        }
    280286    }
    281287}
  • trunk/Tools/Scripts/webkitdirs.pm

    r189934 r189973  
    16791679
    16801680    my @command = ($vcBuildPath, "/verbosity:minimal", $project, $action, $config, $platform, "/fl", $errorLogging, "/fl1", $warningLogging);
    1681 
    16821681    print join(" ", @command), "\n";
    16831682    return system @command;
     
    18131812    if ($willUseNinja) {
    18141813        return File::Spec->catfile(baseProductDir(), configuration(), "build.ninja")
     1814    } elsif (isWindows() || isCygwin()) {
     1815        return File::Spec->catfile(baseProductDir(), configuration(), "WebKit.sln")
    18151816    } else {
    18161817        return File::Spec->catfile(baseProductDir(), configuration(), "Makefile")
Note: See TracChangeset for help on using the changeset viewer.