diff -r 67f8bb81b054 -r b2a53d442fd6 cross-plat-dev-utils/apply_patch_file.pm --- a/cross-plat-dev-utils/apply_patch_file.pm Thu May 13 19:18:16 2010 +0100 +++ b/cross-plat-dev-utils/apply_patch_file.pm Sat May 15 14:32:45 2010 +0100 @@ -23,6 +23,7 @@ use File::Copy; use places; use check_os; +use get_wordsize; sub compare_files($$) { @@ -41,6 +42,7 @@ sub apply_patch_file($) { + my $patched = 0; my $patch_file = shift; my ($src_file, $dest_file); my $epocroot = get_epocroot(); @@ -54,7 +56,14 @@ } $src_file = File::Spec->catfile($patch_files_dir,$patch_file); if (! -f $src_file) { - die("*** Error: not found \"$src_file\" ***"); + my $wordsize = get_host_wordsize(); + $wordsize .= "bit"; + if (-f "$src_file\.$wordsize") { + print ">>> Using $wordsize variant of \"$src_file\"\n"; + $src_file .= "\.$wordsize"; + } else { + die("*** Error: not found \"$src_file\" ***"); + } } if ($patch_file =~ /^\$/) { my ($vol,$dir,$file) = File::Spec->splitpath($patch_file); @@ -73,6 +82,7 @@ print ">>> Yes. \"$dest_file\" does not exist\n"; print ">>> Copying \"$src_file\" to \"$dest_file\"n"; copy($src_file,$dest_file) or die $!; + $patched = 1; } else { my $dif = !compare_files($src_file,$dest_file); @@ -87,9 +97,11 @@ print ">>> Backing up \"$dest_file\" as \"$backup\"\n"; copy($dest_file,$backup) or die $!; print ">>> Copying \"$src_file\" to \"$dest_file\"\n"; - copy($src_file,$dest_file) or die $!; + copy($src_file,$dest_file) or die $!; + $patched = 1; } } + return $patched; } 1;