[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