Home | History | Annotate | Download | only in tests
      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 
     13 all_platforms=
     14 all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
     15 all_platforms="$all_platforms arm-linux"
     16 all_platforms="$all_platforms s390x-linux mips32-linux mips64-linux"
     17 all_platforms="$all_platforms x86-darwin amd64-darwin"
     18 all_platforms="$all_platforms x86-solaris amd64-solaris"
     19 
     20 if [ $# -ne 2 ] ; then
     21     echo "usage: platform_test <arch-type> <OS-type>"
     22     exit 2;
     23 fi
     24 
     25 # Get the directory holding the arch_test and os_test, which will be the same
     26 # as the one holding this script.
     27 dir=`dirname $0`
     28 
     29 if $dir/arch_test $1 && $dir/os_test $2 ; then
     30     exit 0;         # Matches this platform.
     31 fi
     32 
     33 for p in $all_platforms ; do
     34     if [ $1-$2 = $p ] ; then
     35         exit 1;     # Matches another Valgrind-supported platform.
     36     fi
     37 done
     38 
     39 exit 2;             # Doesn't match any Valgrind-supported platform.
     40