build-dumprendertree 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/usr/bin/perl -w
  2. # Copyright (C) 2005, 2006, 2007, 2008, 2009 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. #
  8. # 1. Redistributions of source code must retain the above copyright
  9. # notice, this list of conditions and the following disclaimer.
  10. # 2. Redistributions in binary form must reproduce the above copyright
  11. # notice, this list of conditions and the following disclaimer in the
  12. # documentation and/or other materials provided with the distribution.
  13. # 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
  14. # its contributors may be used to endorse or promote products derived
  15. # from this software without specific prior written permission.
  16. #
  17. # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
  18. # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  19. # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  20. # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
  21. # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  22. # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  23. # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  24. # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26. # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. use strict;
  28. use File::Basename;
  29. use FindBin;
  30. use Getopt::Long qw(:config pass_through);
  31. use lib $FindBin::Bin;
  32. use webkitdirs;
  33. use POSIX;
  34. my $showHelp = 0;
  35. my $clean = 0;
  36. my $programName = basename($0);
  37. my $usage = <<EOF;
  38. Usage: $programName [options] [options to pass to build system]
  39. --help Show this help message
  40. --clean Clean up the build directory
  41. --gtk Build the GTK+ port
  42. --qt Build the Qt port
  43. --efl Build the EFL port
  44. EOF
  45. GetOptions(
  46. 'help' => \$showHelp,
  47. 'clean' => \$clean,
  48. );
  49. if ($showHelp) {
  50. print STDERR $usage;
  51. exit 1;
  52. }
  53. checkRequiredSystemConfig();
  54. setConfiguration();
  55. chdirWebKit();
  56. # Build
  57. chdir "Tools/DumpRenderTree" or die;
  58. my $result;
  59. if (isAppleMacWebKit()) {
  60. $result = buildXCodeProject("DumpRenderTree", $clean, XcodeOptions(), @ARGV);
  61. } elsif (isAppleWinWebKit()) {
  62. my $drtSolutionPath = "DumpRenderTree.vcxproj/DumpRenderTree.sln";
  63. $result = buildVisualStudioProject($drtSolutionPath, $clean);
  64. } elsif (isQt() || isGtk() || isEfl()) {
  65. # Qt, Gtk and EFL build everything in one shot. No need to build anything here.
  66. $result = 0;
  67. } else {
  68. die "Building not defined for this platform!\n";
  69. }
  70. exit exitStatus($result);