|
Lines 39-44
use POSIX;
a/WebKitTools/Scripts/build-webkit_sec1
|
| 39 |
|
39 |
|
| 40 |
my $originalWorkingDirectory = getcwd(); |
40 |
my $originalWorkingDirectory = getcwd(); |
| 41 |
|
41 |
|
|
|
42 |
my $databaseSupport = 1; |
| 43 |
my $icondatabaseSupport = 1; |
| 42 |
my $svgSupport = 1; |
44 |
my $svgSupport = 1; |
| 43 |
my $svgExperimentalSupport = 0; |
45 |
my $svgExperimentalSupport = 0; |
| 44 |
my $svgAnimationSupport = $svgExperimentalSupport; |
46 |
my $svgAnimationSupport = $svgExperimentalSupport; |
|
Lines 58-63
my $programName = basename($0);
a/WebKitTools/Scripts/build-webkit_sec2
|
| 58 |
my $usage = <<EOF; |
60 |
my $usage = <<EOF; |
| 59 |
Usage: $programName [options] [options to pass to build system] |
61 |
Usage: $programName [options] [options to pass to build system] |
| 60 |
--help Show this help message |
62 |
--help Show this help message |
|
|
63 |
--[no-]database Toggle Database Support (default: $databaseSupport) |
| 64 |
--[no-]icondatabase Toggle Icon database support (default: $icondatabaseSupport) |
| 61 |
--[no-]svg Toggle SVG support (default: $svgSupport) |
65 |
--[no-]svg Toggle SVG support (default: $svgSupport) |
| 62 |
--[no-]svg-experimental Toggle SVG experimental features support (default: $svgExperimentalSupport, |
66 |
--[no-]svg-experimental Toggle SVG experimental features support (default: $svgExperimentalSupport, |
| 63 |
implies SVG Support) |
67 |
implies SVG Support) |
|
Lines 73-79
Usage: $programName [options] [options to pass to build system]
a/WebKitTools/Scripts/build-webkit_sec3
|
| 73 |
--[no-]coverage Toggle code coverage support (default: $coverageSupport) |
77 |
--[no-]coverage Toggle code coverage support (default: $coverageSupport) |
| 74 |
EOF |
78 |
EOF |
| 75 |
|
79 |
|
| 76 |
GetOptions('svg!' => \$svgSupport, |
80 |
GetOptions('database!' => \$databaseSupport, |
|
|
81 |
'icondatabase!' => \$icondatabaseSupport, |
| 82 |
'svg!' => \$svgSupport, |
| 77 |
'svg-experimental!' => \$svgExperimentalSupport, |
83 |
'svg-experimental!' => \$svgExperimentalSupport, |
| 78 |
'svg-animation!' => \$svgAnimationSupport, |
84 |
'svg-animation!' => \$svgAnimationSupport, |
| 79 |
'svg-filters!' => \$svgFiltersSupport, |
85 |
'svg-filters!' => \$svgFiltersSupport, |
|
Lines 132-147
if (isWx()) {
a/WebKitTools/Scripts/build-webkit_sec4
|
| 132 |
|
138 |
|
| 133 |
|
139 |
|
| 134 |
my $productDir = productDir(); |
140 |
my $productDir = productDir(); |
| 135 |
my @options = XcodeOptions(); |
|
|
| 136 |
my @overrideFeatureDefinesOption = (); |
141 |
my @overrideFeatureDefinesOption = (); |
| 137 |
|
142 |
|
| 138 |
if ($clean) { |
143 |
push @overrideFeatureDefinesOption, "ENABLE_DATABASE" if $databaseSupport; |
| 139 |
push(@options, "-alltargets"); |
144 |
push @overrideFeatureDefinesOption, "ENABLE_ICONDATABASE" if $icondatabaseSupport; |
| 140 |
push(@options, "clean"); |
|
|
| 141 |
} |
| 142 |
|
| 143 |
push @overrideFeatureDefinesOption, "ENABLE_DATABASE"; |
| 144 |
push @overrideFeatureDefinesOption, "ENABLE_ICONDATABASE"; |
| 145 |
push @overrideFeatureDefinesOption, "ENABLE_SVG" if $svgSupport; |
145 |
push @overrideFeatureDefinesOption, "ENABLE_SVG" if $svgSupport; |
| 146 |
push @overrideFeatureDefinesOption, "ENABLE_SVG_ANIMATION" if $svgAnimationSupport; |
146 |
push @overrideFeatureDefinesOption, "ENABLE_SVG_ANIMATION" if $svgAnimationSupport; |
| 147 |
push @overrideFeatureDefinesOption, "ENABLE_SVG_FILTERS" if $svgFiltersSupport; |
147 |
push @overrideFeatureDefinesOption, "ENABLE_SVG_FILTERS" if $svgFiltersSupport; |
|
Lines 172-178
for my $dir (@projects, @otherDirs) {
a/WebKitTools/Scripts/build-webkit_sec5
|
| 172 |
} |
172 |
} |
| 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, $databaseSupport ? "--enable-database" : "--disable-database"; |
| 185 |
push @options, $icondatabaseSupport ? "--enable-icondatabase" : "--disable-icondatabase"; |
| 186 |
push @options, $svgSupport ? "--enable-svg" : "--disable-svg"; |
| 187 |
push @options, $svgAnimationSupport ? "--enable-svg-animation" : "--disable-svg-animation"; |
| 188 |
push @options, $svgFiltersSupport ? "--enable-svg-filters" : "--disable-svg-filters"; |
| 189 |
push @options, $svgForeignObjectSupport ? "--enable-svg-foreign-object" : "--disable-svg-foreign-object"; |
| 190 |
push @options, $svgFontsSupport ? "--enable-svg-fonts" : "--disable-svg-fonts"; |
| 191 |
push @options, $svgAsImageSupport ? "--enable-svg-as-image" : "--disable-svg-as-image"; |
| 192 |
push @options, $svgUseSupport ? "--enable-svg-use-element" : "--disable-svg-use-element"; |
| 193 |
push @options, $xpathSupport ? "--enable-xpath" : "--disable-xpath"; |
| 194 |
push @options, $xsltSupport ? "--enable-xslt" : "--disable-xslt"; |
| 195 |
push @options, $videoSupport ? "--enable-video" : "--disable-video"; |
| 196 |
push @options, $coverageSupport ? "--enable-coverage" : "--disable-coverage"; |
| 197 |
|
| 198 |
} |
| 199 |
|
| 175 |
if (isOSX()) { |
200 |
if (isOSX()) { |
|
|
201 |
|
| 202 |
push(@options, XcodeOptions()); |
| 203 |
|
| 176 |
# Copy library and header from WebKitLibraries to a findable place in the product directory. |
204 |
# Copy library and header from WebKitLibraries to a findable place in the product directory. |
| 177 |
my $srcLib = "WebKitLibraries/libWebKitSystemInterfaceTiger.a"; |
205 |
my $srcLib = "WebKitLibraries/libWebKitSystemInterfaceTiger.a"; |
| 178 |
my $lib = "$productDir/libWebKitSystemInterfaceTiger.a"; |
206 |
my $lib = "$productDir/libWebKitSystemInterfaceTiger.a"; |
|
Lines 199-205
if (isOSX()) {
a/WebKitTools/Scripts/build-webkit_sec6
|
| 199 |
} |
227 |
} |
| 200 |
} |
228 |
} |
| 201 |
|
229 |
|
| 202 |
if (isGtk() && isDarwin() && !$ENV{QMAKESPEC}) { |
230 |
if (isGtk() && isDarwin() && !$ENV{WEBKITAUTOTOOLS} && !$ENV{QMAKESPEC}) { |
| 203 |
# The qmake from Trolltech's binary "QT for Mac" distribution tries to |
231 |
# The qmake from Trolltech's binary "QT for Mac" distribution tries to |
| 204 |
# create xcode projects, not Makefiles |
232 |
# create xcode projects, not Makefiles |
| 205 |
$ENV{QMAKESPEC} = "macx-g++"; |
233 |
$ENV{QMAKESPEC} = "macx-g++"; |
|
Lines 218-230
removeLibraryDependingOnSVG("WebCore", $svgSupport);
a/WebKitTools/Scripts/build-webkit_sec7
|
| 218 |
for my $dir (@projects) { |
246 |
for my $dir (@projects) { |
| 219 |
chdir $dir or die; |
247 |
chdir $dir or die; |
| 220 |
my $result = 0; |
248 |
my $result = 0; |
|
|
249 |
|
| 221 |
if (isGtk()) { |
250 |
if (isGtk()) { |
| 222 |
if ($dir ne "WebKit") { |
251 |
if ($dir ne "WebKit") { |
| 223 |
chdir ".." or die; |
252 |
chdir ".." or die; |
| 224 |
next; |
253 |
next; |
| 225 |
} |
254 |
} |
| 226 |
|
255 |
|
| 227 |
$result = buildQMakeGtkProject($dir, $clean); |
256 |
$result = buildGtkProject($dir, $clean, @options); |
| 228 |
} elsif (isQt()) { |
257 |
} elsif (isQt()) { |
| 229 |
if ($dir ne "WebKit") { |
258 |
if ($dir ne "WebKit") { |
| 230 |
chdir ".." or die; |
259 |
chdir ".." or die; |