[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e
paroga at webkit.org
paroga at webkit.org
Fri Jan 21 14:53:12 UTC 2011
The following commit has been merged in the debian/experimental branch:
commit be8cbfb8a782d8b3e39e42a1e921434f5191e707
Author: paroga at webkit.org <paroga at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jan 3 21:04:17 2011 +0000
2011-01-03 Patrick Gansterer <paroga at webkit.org>
Reviewed by David Kilzer.
Add WinCE support to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=51642
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 9c234cf..0b920e4 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,13 @@
+2011-01-03 Patrick Gansterer <paroga at webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Add WinCE support to build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=51642
+
+ * Scripts/build-webkit:
+ * Scripts/webkitdirs.pm:
+
2011-01-03 Eric Seidel <eric at webkit.org>
Reviewed by Adam Barth.
diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit
index 36c596c..6571df7 100755
--- a/Tools/Scripts/build-webkit
+++ b/Tools/Scripts/build-webkit
@@ -300,11 +300,14 @@ Usage: $programName [options] [options to pass to build system]
--help Show this help message
--clean Cleanup the build directory
--debug Compile in debug mode
- --wincairo Build using Cairo (rather than CoreGraphics) on Windows
+
--chromium Build the Chromium port on Mac/Win/Linux
+ --efl Build the EFL port
--gtk Build the GTK+ port
--qt Build the Qt port
- --efl Build the EFL port
+ --wincairo Build using Cairo (rather than CoreGraphics) on Windows
+ --wince Build the WinCE port
+
--inspector-frontend Copy changes to the inspector front-end files to the build directory
--install-headers=<path> Set installation path for the headers (Qt only)
@@ -506,6 +509,21 @@ if (isEfl()) {
exit exitStatus($result) if exitStatus($result);
}
+if (isWinCE()) {
+ @options = ();
+ @projects = ();
+ foreach (@features) {
+ my $featureName = $_->{define};
+ if ($featureName) {
+ my $featureEnabled = ${$_->{value}} ? "ON" : "OFF";
+ push @options, "-D$featureName=$featureEnabled";
+ }
+ }
+ push @options, "--makeargs=" . $makeArgs if defined($makeArgs);
+ my $result = buildCMakeWinCEProject("STANDARDSDK_500 (ARMV4I)", $clean, @options);
+ exit exitStatus($result) if exitStatus($result);
+}
+
# Build, and abort if the build fails.
for my $dir (@projects) {
chdir $dir or die;
diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm
index 88d12fb..ea64c6b 100644
--- a/Tools/Scripts/webkitdirs.pm
+++ b/Tools/Scripts/webkitdirs.pm
@@ -63,6 +63,7 @@ my $isQt;
my $isSymbian;
my %qtFeatureDefaults;
my $isGtk;
+my $isWinCE;
my $isWx;
my $isEfl;
my @wxArgs;
@@ -272,6 +273,7 @@ sub argumentsForConfiguration()
push(@args, '--symbian') if isSymbian();
push(@args, '--gtk') if isGtk();
push(@args, '--efl') if isEfl();
+ push(@args, '--wince') if isWinCE();
push(@args, '--wx') if isWx();
push(@args, '--chromium') if isChromium();
push(@args, '--inspector-frontend') if isInspectorFrontend();
@@ -609,6 +611,9 @@ sub builtDylibPathForName
if (isEfl()) {
return "$configurationProductDir/$libraryName/../.libs/libewebkit.so";
}
+ if (isWinCE()) {
+ return "$configurationProductDir/$libraryName";
+ }
if (isAppleMacWebKit()) {
return "$configurationProductDir/$libraryName.framework/Versions/A/$libraryName";
}
@@ -762,6 +767,18 @@ sub determineIsGtk()
$isGtk = checkForArgumentAndRemoveFromARGV("--gtk");
}
+sub isWinCE()
+{
+ determineIsWinCE();
+ return $isWinCE;
+}
+
+sub determineIsWinCE()
+{
+ return if defined($isWinCE);
+ $isWinCE = checkForArgumentAndRemoveFromARGV("--wince");
+}
+
sub isWx()
{
determineIsWx();
@@ -876,7 +893,7 @@ sub isLinux()
sub isAppleWebKit()
{
- return !(isQt() or isGtk() or isWx() or isChromium() or isEfl());
+ return !(isQt() or isGtk() or isWx() or isChromium() or isEfl() or isWinCE());
}
sub isAppleMacWebKit()
@@ -963,7 +980,7 @@ sub relativeScriptsDir()
sub launcherPath()
{
my $relativeScriptsPath = relativeScriptsDir();
- if (isGtk() || isQt() || isWx() || isEfl()) {
+ if (isGtk() || isQt() || isWx() || isEfl() || isWinCE()) {
return "$relativeScriptsPath/run-launcher";
} elsif (isAppleWebKit()) {
return "$relativeScriptsPath/run-safari";
@@ -982,6 +999,8 @@ sub launcherName()
return "Safari";
} elsif (isEfl()) {
return "EWebLauncher";
+ } elsif (isWinCE()) {
+ return "WinCELauncher";
}
}
@@ -1439,10 +1458,19 @@ sub buildCMakeProject($@)
my $dir = File::Spec->canonpath(baseProductDir());
my $config = configuration();
my $result;
+ my $cmakeBuildArgs = "";
my $makeArgs = "";
my @buildArgs;
-
- $makeArgs .= " -j" . numberOfCPUs() if ($makeArgs !~ m/-j\s*\d+/);
+
+ if ($port =~ m/wince/i) {
+ if ($config =~ m/debug/i) {
+ $cmakeBuildArgs .= " --config Debug";
+ } elsif ($config =~ m/release/i) {
+ $cmakeBuildArgs .= " --config Release";
+ }
+ } else {
+ $makeArgs .= " -j" . numberOfCPUs() if ($makeArgs !~ m/-j\s*\d+/);
+ }
if ($clean) {
print "Cleaning the build directory '$dir'\n";
@@ -1451,7 +1479,7 @@ sub buildCMakeProject($@)
$result = 0;
} else {
my $cmakebin = "cmake";
- my $make = "make";
+ my $cmakeBuildCommand = $cmakebin . " --build .";
push @buildArgs, "-DPORT=$port";
@@ -1484,8 +1512,10 @@ sub buildCMakeProject($@)
die "Failed while running $cmakebin to generate makefiles!\n";
}
- print "Calling '$make $makeArgs' in " . $dir . "\n\n";
- $result = system "$make $makeArgs";
+ $cmakeBuildArgs .= " -- " . $makeArgs;
+
+ print "Calling '$cmakeBuildCommand $cmakeBuildArgs' in " . $dir . "\n\n";
+ $result = system "$cmakeBuildCommand $cmakeBuildArgs";
if ($result ne 0) {
die "Failed to build $port port\n";
}
@@ -1502,6 +1532,12 @@ sub buildCMakeEflProject($@)
return buildCMakeProject("Efl", $clean, @buildArgs);
}
+sub buildCMakeWinCEProject($@)
+{
+ my ($sdk, $clean, @buildArgs) = @_;
+ return buildCMakeProject("WinCE -DCMAKE_WINCE_SDK=\"" . $sdk . "\"", $clean, @buildArgs);
+}
+
sub buildQMakeProject($@)
{
my ($clean, @buildParams) = @_;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list