Changeset 29993 in webkit
- Timestamp:
- Feb 4, 2008 10:27:44 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r29986 r29993 1 2008-02-04 Jan Michael Alonzo <jmalonzo@unpluggable.com> 2 3 Reviewed by Mark Rowe. 4 5 http://bugs.webkit.org/show_bug.cgi?id=16618 6 [GTK] build-webkit and run-webkit-tests autootools support 7 8 * configure.ac: make the option name of icon database consistent 9 with the rest of webkit (from -icon-database to icondatabase) 10 1 11 2008-02-04 Rodney Dawes <dobey@wayofthemonkey.com> 2 12 -
trunk/WebKitTools/ChangeLog
r29992 r29993 1 2008-02-04 Jan Michael Alonzo <jmalonzo@unpluggable.com> 2 3 Reviewed by Mark Rowe. 4 5 http://bugs.webkit.org/show_bug.cgi?id=16618 6 [GTK] build-webkit and run-webkit-tests autootools support 7 8 * Scripts/build-webkit: added --database and --icondatabase options 9 * Scripts/run-launcher: 10 * Scripts/run-webkit-tests: 11 * Scripts/webkitdirs.pm: 12 1 13 2008-02-04 Oliver Hunt <oliver@apple.com> 2 14 -
trunk/WebKitTools/Scripts/build-webkit
r29854 r29993 40 40 my $originalWorkingDirectory = getcwd(); 41 41 42 my $databaseSupport = 1; 43 my $icondatabaseSupport = 1; 42 44 my $svgSupport = 1; 43 45 my $svgExperimentalSupport = 0; … … 59 61 Usage: $programName [options] [options to pass to build system] 60 62 --help Show this help message 63 --[no-]database Toggle Database Support (default: $databaseSupport) 64 --[no-]icondatabase Toggle Icon database support (default: $icondatabaseSupport) 61 65 --[no-]svg Toggle SVG support (default: $svgSupport) 62 66 --[no-]svg-experimental Toggle SVG experimental features support (default: $svgExperimentalSupport, … … 74 78 EOF 75 79 76 GetOptions('svg!' => \$svgSupport, 80 GetOptions('database!' => \$databaseSupport, 81 'icondatabase!' => \$icondatabaseSupport, 82 'svg!' => \$svgSupport, 77 83 'svg-experimental!' => \$svgExperimentalSupport, 78 84 'svg-animation!' => \$svgAnimationSupport, … … 133 139 134 140 my $productDir = productDir(); 135 my @options = XcodeOptions();136 141 my @overrideFeatureDefinesOption = (); 137 142 138 if ($clean) { 139 push(@options, "-alltargets"); 140 push(@options, "clean"); 141 } 142 143 push @overrideFeatureDefinesOption, "ENABLE_DATABASE"; 144 push @overrideFeatureDefinesOption, "ENABLE_ICONDATABASE"; 143 push @overrideFeatureDefinesOption, "ENABLE_DATABASE" if $databaseSupport; 144 push @overrideFeatureDefinesOption, "ENABLE_ICONDATABASE" if $icondatabaseSupport; 145 145 push @overrideFeatureDefinesOption, "ENABLE_SVG" if $svgSupport; 146 146 push @overrideFeatureDefinesOption, "ENABLE_SVG_ANIMATION" if $svgAnimationSupport; … … 173 173 } 174 174 175 my @options = (); 176 177 if ($clean && isOSX()) { 178 push(@options, "-alltargets"); 179 push(@options, "clean"); 180 } 181 182 # enable autotool options accordingly 183 if ($ENV{WEBKITAUTOTOOLS}) { 184 push @options, autotoolsFlag($databaseSupport, "database"); 185 push @options, autotoolsFlag($icondatabaseSupport, "icondatabase"); 186 push @options, autotoolsFlag($svgSupport, "svg"); 187 push @options, autotoolsFlag($svgAnimationSupport, "svg-animation"); 188 push @options, autotoolsFlag($svgFiltersSupport, "svg-filters"); 189 push @options, autotoolsFlag($svgForeignObjectSupport, "svg-foreign-object"); 190 push @options, autotoolsFlag($svgFontsSupport, "svg-fonts"); 191 push @options, autotoolsFlag($svgAsImageSupport, "svg-as-image"); 192 push @options, autotoolsFlag($svgUseSupport, "svg-use-element"); 193 push @options, autotoolsFlag($xpathSupport, "xpath"); 194 push @options, autotoolsFlag($xsltSupport, "xslt"); 195 push @options, autotoolsFlag($videoSupport, "video"); 196 push @options, autotoolsFlag($coverageSupport, "coverage"); 197 } 198 175 199 if (isOSX()) { 200 201 push(@options, XcodeOptions()); 202 176 203 # Copy library and header from WebKitLibraries to a findable place in the product directory. 177 204 my $srcLib = "WebKitLibraries/libWebKitSystemInterfaceTiger.a"; … … 215 242 } 216 243 217 if (isGtk() && isDarwin() && !$ENV{ QMAKESPEC}) {244 if (isGtk() && isDarwin() && !$ENV{WEBKITAUTOTOOLS} && !$ENV{QMAKESPEC}) { 218 245 # The qmake from Trolltech's binary "QT for Mac" distribution tries to 219 246 # create xcode projects, not Makefiles … … 234 261 chdir $dir or die; 235 262 my $result = 0; 263 236 264 if (isGtk()) { 237 265 if ($dir ne "WebKit") { … … 239 267 next; 240 268 } 241 242 $result = build QMakeGtkProject($dir, $clean);269 270 $result = buildGtkProject($dir, $clean, @options); 243 271 } elsif (isQt()) { 244 272 if ($dir ne "WebKit") { -
trunk/WebKitTools/Scripts/run-launcher
r29081 r29993 39 39 setConfiguration(); 40 40 my $productDir = productDir(); 41 my $libDir = catdir(productDir(), 'lib');42 41 my $launcherPath = productDir(); 43 42 my @args = @ARGV; … … 46 45 checkFrameworks(); 47 46 48 if (isGtk()) { 49 $launcherPath = catdir($launcherPath, "WebKitTools", "GtkLauncher", "GtkLauncher"); 50 # Strip --gtk from the arg-list, since otherwise GtkLauncher will try to 51 # interpret it as a URL. 52 @args = grep(!/^(--gtk)$/, @args); 53 } elsif (isQt()) { 54 $launcherPath = catdir($launcherPath, "bin", "QtLauncher"); 47 # Set paths according to the build system used 48 if (!$ENV{WEBKITAUTOTOOLS}) { 49 my $libDir = catdir(productDir(), 'lib'); 50 51 if (isGtk()) { 52 $launcherPath = catdir($launcherPath, "WebKitTools", "GtkLauncher", "GtkLauncher"); 53 # Strip --gtk from the arg-list, since otherwise GtkLauncher will try to 54 # interpret it as a URL. 55 @args = grep(!/^(--gtk)$/, @args); 56 } elsif (isQt()) { 57 $launcherPath = catdir($launcherPath, "bin", "QtLauncher"); 58 } 59 60 # Set up LD_LIBRARY_PATH to point to the product directory. 61 print "Starting webkit launcher with LD_LIBRARY_PATH set to point to built WebKit in $libDir.\n"; 62 63 $ENV{LD_LIBRARY_PATH} = $ENV{LD_LIBRARY_PATH} ? "$libDir:$ENV{LD_LIBRARY_PATH}" : $libDir; 55 64 } else { 56 die; 65 66 if (isGtk()) { 67 $launcherPath = catdir($launcherPath, "Programs", "GtkLauncher"); 68 @args = grep(!/^(--gtk)$/, @args); 69 } 70 71 print "Starting webkit launcher.\n"; 57 72 } 58 59 # Set up LD_LIBRARY_PATH to point to the product directory.60 print "Starting webkit launcher with LD_LIBRARY_PATH set to point to built WebKit in $libDir.\n";61 62 $ENV{LD_LIBRARY_PATH} = $ENV{LD_LIBRARY_PATH} ? "$libDir:$ENV{LD_LIBRARY_PATH}" : $libDir;63 73 64 74 exec $launcherPath, @args or die; -
trunk/WebKitTools/Scripts/run-webkit-tests
r29880 r29993 265 265 my $productDir = productDir(); 266 266 $productDir .= "/bin" if (isQt()); 267 $productDir .= "/WebKitTools/DumpRenderTree/gtk" if isGtk(); 267 268 if (isGtk()) { 269 if ($ENV{WEBKITAUTOTOOLS}) { 270 $productDir .= "/Programs"; 271 } else { 272 $productDir .= "/WebKitTools/DumpRenderTree/gtk"; 273 } 274 } 268 275 269 276 chdirWebKit(); -
trunk/WebKitTools/Scripts/webkitdirs.pm
r29589 r29993 395 395 396 396 if (isGtk() and $path =~ /WebCore/) { 397 $path .= "/../lib/libWebKitGtk.so" ;398 }399 400 open NM, "-|", "nm", $path or die; 397 $path .= "/../lib/libWebKitGtk.so" if !$ENV{WEBKITAUTOTOOLS}; 398 $path .= "/../.libs/libWebKitGtk.so" if $ENV{WEBKITAUTOTOOLS}; 399 } 400 401 401 my $hasSVGSupport = 0; 402 while (<NM>) { 403 $hasSVGSupport = 1 if /SVGElement/; 404 } 405 close NM; 402 if (-e $path) { 403 open NM, "-|", "nm", $path or die; 404 while (<NM>) { 405 $hasSVGSupport = 1 if /SVGElement/; 406 } 407 close NM; 408 } 406 409 return $hasSVGSupport; 407 410 } … … 717 720 } 718 721 722 sub autotoolsFlag($$) 723 { 724 my ($flag, $feature) = @_; 725 my $prefix = $flag ? "--enable" : "--disable"; 726 727 return $prefix . '-' . $feature; 728 } 729 730 sub buildAutotoolsProject($@) 731 { 732 my ($clean, @buildArgs) = @_; 733 734 my $make = 'make'; 735 my $dir = productDir(); 736 my $config = passedConfiguration() || configuration(); 737 my $prefix = $ENV{"WebKitInstallationPrefix"}; 738 739 # check if configuration is Debug 740 if ($config =~ m/debug/i) { 741 push @buildArgs, "--enable-debug"; 742 } else { 743 push @buildArgs, "--disable-debug"; 744 } 745 746 if (! -d $dir) { 747 system "mkdir", "-p", "$dir"; 748 if (! -d $dir) { 749 die "Failed to create build directory " . $dir; 750 } 751 } 752 753 chdir $dir or die "Failed to cd into " . $dir . "\n"; 754 755 my $result; 756 if ($clean) { 757 $result = system $make, "distclean"; 758 return $result; 759 } 760 761 print "Calling configure in " . $dir . "\n\n"; 762 print "Installation directory: $prefix\n" if(defined($prefix)); 763 764 $result = system "$sourceDir/autogen.sh", @buildArgs; 765 if ($result ne 0) { 766 die "Failed to setup build environment using 'autotools'!\n"; 767 } 768 769 $result = system $make; 770 if ($result ne 0) { 771 die "\nFailed to build WebKit using '$make'!\n"; 772 } 773 774 chdir ".." or die; 775 return $result; 776 } 777 719 778 sub buildQMakeProject($@) 720 779 { … … 790 849 } 791 850 792 sub build QMakeGtkProject($$)793 { 794 my ($project, $clean ) = @_;851 sub buildGtkProject($$@) 852 { 853 my ($project, $clean, @buildArgs) = @_; 795 854 796 855 if ($project ne "WebKit") { 797 die "The Gtk portbuilds JavaScriptCore/WebCore/WebKitQt in one shot! Only call it for 'WebKit'.\n"; 798 } 799 800 my @buildArgs = ("CONFIG+=gtk-port"); 801 push @buildArgs, "CONFIG-=qt"; 802 803 return buildQMakeProject($clean, @buildArgs); 856 die "The Gtk port builds JavaScriptCore, WebCore and WebKit in one shot! Only call it for 'WebKit'.\n"; 857 } 858 859 if ($ENV{WEBKITAUTOTOOLS}) { 860 return buildAutotoolsProject($clean, @buildArgs); 861 } else { 862 my @buildArgs = {"CONFIG+=gtk-port"}; 863 push @buildArgs, "CONFIG-=qt"; 864 return buildQMakeProject($clean, @buildArgs); 865 } 804 866 } 805 867 -
trunk/configure.ac
r29961 r29993 219 219 # check whether to build with icon database support 220 220 AC_MSG_CHECKING([whether to enable icon database support]) 221 AC_ARG_ENABLE(icon _database,222 AC_HELP_STRING([--enable-icon -database],221 AC_ARG_ENABLE(icondatabase, 222 AC_HELP_STRING([--enable-icondatabase], 223 223 [enable icon database [default=no]]), 224 [],[enable_icon _database="no"])225 AC_MSG_RESULT([$enable_icon _database])224 [],[enable_icondatabase="no"]) 225 AC_MSG_RESULT([$enable_icondatabase]) 226 226 227 227 # check whether to enable HTML5 audio/video support … … 355 355 356 356 # check if sqlite 3 is available 357 if test "$enable_icon _database" = "yes" || test "$enable_database" = "yes"; then357 if test "$enable_icondatabase" = "yes" || test "$enable_database" = "yes"; then 358 358 PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= $SQLITE_REQUIRED_VERSION]) 359 359 AC_SUBST([SQLITE3_CFLAGS]) … … 419 419 AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"]) 420 420 AM_CONDITIONAL([ENABLE_DATABASE],[test "$enable_database" = "yes"]) 421 AM_CONDITIONAL([ENABLE_ICONDATABASE],[test "$enable_icon _database" = "yes"])421 AM_CONDITIONAL([ENABLE_ICONDATABASE],[test "$enable_icondatabase" = "yes"]) 422 422 AM_CONDITIONAL([ENABLE_XPATH],[test "$enable_xpath" = "yes"]) 423 423 AM_CONDITIONAL([ENABLE_XSLT],[test "$enable_xslt" = "yes"]) … … 452 452 HTML5 client-side storage support : $enable_database 453 453 HTML5 video element support : $enable_video 454 Icon database support : $enable_icon _database454 Icon database support : $enable_icondatabase 455 455 SVG support : $enable_svg 456 456 SVG animation support : $enable_svg_animation
Note: See TracChangeset
for help on using the changeset viewer.