build-webkittestrunner 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/perl -w
  2. # Copyright (C) 2010 Apple Inc. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions
  6. # are met:
  7. # 1. Redistributions of source code must retain the above copyright
  8. # notice, this list of conditions and the following disclaimer.
  9. # 2. Redistributions in binary form must reproduce the above copyright
  10. # notice, this list of conditions and the following disclaimer in the
  11. # documentation and/or other materials provided with the distribution.
  12. #
  13. # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
  14. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  15. # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  16. # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
  17. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  18. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  19. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  20. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  21. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  22. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  23. # THE POSSIBILITY OF SUCH DAMAGE.
  24. use strict;
  25. use File::Basename;
  26. use FindBin;
  27. use Getopt::Long qw(:config pass_through);
  28. use lib $FindBin::Bin;
  29. use webkitdirs;
  30. use POSIX;
  31. my $showHelp = 0;
  32. my $clean = 0;
  33. my $programName = basename($0);
  34. my $usage = <<EOF;
  35. Usage: $programName [options] [options to pass to build system]
  36. --help Show this help message
  37. --clean Clean up the build directory
  38. EOF
  39. GetOptions(
  40. 'help' => \$showHelp,
  41. 'clean' => \$clean,
  42. );
  43. if ($showHelp) {
  44. print STDERR $usage;
  45. exit 1;
  46. }
  47. checkRequiredSystemConfig();
  48. setConfiguration();
  49. chdirWebKit();
  50. # Build
  51. chdir "Tools/WebKitTestRunner" or die;
  52. my $result;
  53. if (isAppleMacWebKit()) {
  54. $result = buildXCodeProject("WebKitTestRunner", $clean, XcodeOptions(), @ARGV);
  55. } elsif (isAppleWinWebKit()) {
  56. $result = buildVisualStudioProject("WebKitTestRunner.sln", $clean);
  57. } elsif (isQt() || isGtk() || isEfl()) {
  58. # Qt and GTK+ build everything in one shot. No need to build anything here.
  59. $result = 0;
  60. } else {
  61. die "WebKitTestRunner is not supported on this platform.\n";
  62. }
  63. exit exitStatus($result);