#!/bin/sh -
PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd; export PATH

# archit - guess machine's application architecture
# Steve Kinzler, steve@kinzler.com, Sep 93
# https://kinzler.com/me/home.html#unixuni

case "$1" in
'')	source=;;
-s)	source=t;;

*)	cat << EOF 1>&2
usage: $0 [ -s ]
	-s	report source of architecture guess
EOF
	exit 1;;
esac

src='uname -m'
arch=`($src) 2> /dev/null`

case "$arch" in
'')	src=arch
	arch=`($src) 2> /dev/null`;;
esac

case "$arch" in
'')	src=machine
	arch=`($src) 2> /dev/null`;;
esac

case "$arch" in
'')	src='file /bin/sh'
	arch=`$src |
	      sed 's/.*(\([^)]*\) .*/: \1/' |
	      awk '{ print $2 }'`
	case "$arch" in
	symbolic|link)	src='file -L /bin/sh'
			arch=`$src |
			      sed 's/.*(\([^)]*\) .*/: \1/' |
			      awk '{ print $2 }'`;;
	esac;;
esac

hex4='[0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
hex12="$hex4$hex4$hex4"
case "$arch" in
*[\ ./A-Z]*|9000-*|ip[0-9]*|mach-o|$hex12)
	arch=`echo "$arch" |
	      sed "s/[ \.]/_/g
		   s,/,-,g
		   y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
		   s/^9000-[0-9]*$/hp9000/
		   s/^ip[0-9]*$/iris/
		   s/^mach-o$/next/
		   s/^$hex12$/rs6000/"`;;
esac

case "$arch" in
sun4*)	arch=sun4
	src="$src; uname -r"
	case "`uname -r`" in
	[5-9].*)	arch=sun4elf;;
	esac;;
esac

case "$source" in
?*)	arch="$arch ($src)";;
esac

exec echo "$arch"
