Merge r9175 (don't run inappropriate OS- and platform-specific tests) from
the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9176 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/tests/platform_test b/tests/platform_test
new file mode 100644
index 0000000..e11d5d8
--- /dev/null
+++ b/tests/platform_test
@@ -0,0 +1,37 @@
+#! /bin/sh
+
+# This script determines which platforms that this Valgrind installation
+# supports.
+# We return:
+# - 0 if the machine matches the asked-for platform
+# - 1 if it didn't match, but did match the name of another platform
+# - 2 otherwise
+
+# Nb: When updating this file for a new platform, add the name to
+# 'all_platforms'.
+
+all_platforms=
+all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
+all_platforms="$all_platforms ppc32-aix5 ppc64-aix5"
+all_platforms="$all_platforms x86-darwin amd64-darwin"
+
+if [ $# -ne 2 ] ; then
+    echo "usage: platform_test <arch-type> <OS-type>"
+    exit 2;
+fi
+
+# Get the directory holding the arch_test and os_test, which will be the same
+# as the one holding this script.
+dir=`dirname $0`
+
+if $dir/arch_test $1 && sh $dir/os_test $2 ; then
+    exit 0;         # Matches this platform.
+fi
+
+for p in $all_platforms ; do
+    if [ $1-$2 = $p ] ; then
+        exit 1;     # Matches another Valgrind-supported platform.
+    fi
+done
+
+exit 2;             # Doesn't match any Valgrind-supported platform.