summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtools/specific_arch27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/specific_arch b/tools/specific_arch
new file mode 100755
index 000000000..1718e8f09
--- /dev/null
+++ b/tools/specific_arch
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+%compat_arch = (
+ 'noarch' => '',
+ 'i386' => 'noarch',
+ 'i486' => 'i386',
+ 'i586' => 'i486',
+ 'i686' => 'i586',
+ 'i786' => 'i686',
+ 'k6' => 'i586',
+ 'k7' => 'k6',
+ 'k8' => 'k7',
+ 'alpha' => 'noarch',
+ 'sparc' => 'noarch',
+ 'sparc32' => 'sparc',
+ 'sparc64' => 'sparc32',
+ );
+
+$arch = `uname -m` || 'unknownarch';
+$arch =~ s/\s//g;
+
+print join ' ', map {
+ my $arch = $arch;
+ $arch = $compat_arch{$arch} while $arch && !-e "$_.$arch";
+ -e "$_.$arch" ? "$_.$arch" : $_;
+ } @ARGV;
+print "\n";