1#! /bin/sh
2
3# This script determines which platforms that this Valgrind installation
4# supports.
5# We return:
6# - 0 if the machine matches the asked-for platform
7# - 1 if it didn't match, but did match the name of another platform
8# - 2 otherwise
9
10# Nb: When updating this file for a new platform, add the name to
11# 'all_platforms'.
12
13all_platforms=
14all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
15all_platforms="$all_platforms arm-linux arm64-linux"
16all_platforms="$all_platforms s390x-linux mips32-linux mips64-linux"
17all_platforms="$all_platforms x86-darwin amd64-darwin"
18all_platforms="$all_platforms x86-solaris amd64-solaris"
19
20if [ $# -ne 2 ] ; then
21    echo "usage: platform_test <arch-type> <OS-type>"
22    exit 2;
23fi
24
25# Get the directory holding the arch_test and os_test, which will be the same
26# as the one holding this script.
27dir=`dirname $0`
28
29if $dir/arch_test $1 && $dir/os_test $2 ; then
30    exit 0;         # Matches this platform.
31fi
32
33for p in $all_platforms ; do
34    if [ $1-$2 = $p ] ; then
35        exit 1;     # Matches another Valgrind-supported platform.
36    fi
37done
38
39exit 2;             # Doesn't match any Valgrind-supported platform.
40