summaryrefslogtreecommitdiff
path: root/Tools/Scripts/webkitdirs.pm
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
commitb1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch)
treec88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Tools/Scripts/webkitdirs.pm
parentbe01689f43cf6882cf670d33df49ead1f570c53a (diff)
downloadqtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage of libpng/libjpeg if available in the system.
Diffstat (limited to 'Tools/Scripts/webkitdirs.pm')
-rwxr-xr-xTools/Scripts/webkitdirs.pm46
1 files changed, 44 insertions, 2 deletions
diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm
index d293d81ef..b728bad0b 100755
--- a/Tools/Scripts/webkitdirs.pm
+++ b/Tools/Scripts/webkitdirs.pm
@@ -939,7 +939,6 @@ sub blackberryCMakeArguments()
if ($cpu eq "a9") {
$cpu = $arch . "v7le";
push @cmakeExtraOptions, '-DTARGETING_PLAYBOOK=1';
- push @cmakeExtraOptions, '-DENABLE_GLES2=1';
}
my $stageDir = $ENV{"STAGE_DIR"};
@@ -966,7 +965,7 @@ sub blackberryCMakeArguments()
push @cmakeExtraOptions, "-DCMAKE_SKIP_RPATH='ON'" if isDarwin();
push @cmakeExtraOptions, "-DENABLE_DRT=1" if $ENV{"ENABLE_DRT"};
- push @cmakeExtraOptions, "-DENABLE_GLES2=1" if $ENV{"ENABLE_GLES2"};
+ push @cmakeExtraOptions, "-DENABLE_GLES2=1" unless $ENV{"DISABLE_GLES2"};
my @includeSystemDirectories;
push @includeSystemDirectories, File::Spec->catdir($stageInc, "grskia", "skia");
@@ -2495,6 +2494,49 @@ sub buildChromium($@)
return $result;
}
+sub chromiumInstall64BitAndroidLinkerIfNeeded
+{
+ my ($androidNdkRoot) = @_;
+
+ # Resolve the toolchain version through glob().
+ my $linkerDirPrefix = glob("$androidNdkRoot/toolchains/arm-linux-androideabi-*/prebuilt/linux-x86");
+
+ my $linkerDirname1 = "$linkerDirPrefix/bin";
+ my $linkerBasename1 = "arm-linux-androideabi-ld";
+ my $linkerDirname2 = "$linkerDirPrefix/arm-linux-androideabi/bin";
+ my $linkerBasename2 = "ld";
+ my $newLinker = "arm-linux-androideabi-ld.e4df3e0a5bb640ccfa2f30ee67fe9b3146b152d6";
+
+ # Do not continue if the new linker is not (yet) available.
+ if (! -e "third_party/aosp/$newLinker") {
+ return;
+ }
+
+ chromiumReplaceAndroidLinkerIfNeeded($linkerDirname1, $linkerBasename1, $newLinker);
+ chromiumReplaceAndroidLinkerIfNeeded($linkerDirname2, $linkerBasename2, $newLinker);
+}
+
+sub chromiumReplaceAndroidLinkerIfNeeded
+{
+ my ($linkerDirname, $linkerBasename, $newLinker) = @_;
+
+ # If the destination directory does not exist, or the linker has already
+ # been installed, replacing it will not be necessary.
+ if (! -d "$linkerDirname" || -e "$linkerDirname/$newLinker") {
+ return;
+ }
+
+ print "Installing 64-bit Android linker in $linkerDirname..\n";
+ system("cp", "third_party/aosp/$newLinker", "$linkerDirname/$newLinker");
+ system("mv", "$linkerDirname/$linkerBasename", "$linkerDirname/$linkerBasename.orig");
+ system("ln", "-s", "$newLinker", "$linkerDirname/$linkerBasename");
+
+ if (! -e "$linkerDirname/$newLinker") {
+ print "Unable to copy the linker.\n";
+ exit 1;
+ }
+}
+
sub appleApplicationSupportPath
{
open INSTALL_DIR, "</proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Apple\ Inc./Apple\ Application\ Support/InstallDir";