#!/usr/bin/perl -w # Copyright (C) 2005-2009, 2013, 2014 Apple Inc. All rights reserved. # Copyright (C) 2009 Google Inc. All rights reserved. # Copyright (C) 2011 Brent Fulgham. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of Apple Inc. ("Apple") nor the names of # its contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Update script for WebKit Open Source Project. use strict; use FindBin; use lib $FindBin::Bin; use File::Basename; use File::Spec; use Getopt::Long; use VCSUtils; use webkitdirs; # Handle options my $quiet = ''; my $showHelp; # This call is needed to eat --wincairo argument and avoid unknown option error. # FIXME: Allow port options explicitly or make this script port-agnostic. determinePortName(); chdirWebKit(); my $auxiliaryLibs = 1; my $getOptionsResult = GetOptions( 'h|help' => \$showHelp, 'q|quiet' => \$quiet, 'auxiliary-libs!' => \$auxiliaryLibs, ); if (!$getOptionsResult || $showHelp) { print STDERR <<__END__; Usage: @{[ basename($0) ]} [options] -h|--help show the help message -q|--quiet pass -q to svn update for quiet updates --[no-]auxiliary-libs [don\'t] update the auxiliary libraries for Windows (default: update) __END__ exit 1; } my @svnOptions = (); push @svnOptions, '-q' if $quiet; # Don't prompt when using svn-1.6 or newer. push @svnOptions, qw(--accept postpone) if isSVNVersion16OrNewer(); print "Updating OpenSource\n" unless $quiet; runSvnUpdateAndResolveChangeLogs(@svnOptions) if isSVN(); runGitUpdate() if isGit(); if (isAppleWinWebKit() && $auxiliaryLibs) { system($^X, File::Spec->catfile("Tools", "Scripts", "update-webkit-auxiliary-libs")) == 0 or die; if (isWinCairo()) { # WinCairo shares the auxiliary libs from the Apple port. system($^X, File::Spec->catfile("Tools", "Scripts", "update-webkit-wincairo-libs")) == 0 or die; } } setupAppleWinEnv() if isAppleWinWebKit(); exit 0;