#!/bin/ksh #set -x PATH=/bin:/usr/bin:$PATH host=`uname -n` test_prog=/tmp/b$$.c test_out=/tmp/b$$.o cat < $test_prog void printItem( int *list[2]) { printf( "%d\n", list[1][0] ); } EOF trap 'rm -f $test_prog $test_out' HUP TERM QUIT INT EXIT for path in /usr/ccs/bin /usr/local/bin /opt/*/bin /usr/ccs/lib \ /freeware/bin /usr/sbin /usr/bin/posix /usr/opt/ultrix/usr/bin \ /usr/local/lib `echo $PATH | sed "s|:| |g"` do echo $path done | sort -u |\ while read a; do for ex in ladebug dis ddd dbx gdb gdb64 adb gmake make makedepend imake ar cc c++ gcc aCC aC++ \ c++filter cfront g++ CC ld ldd nm cpp yacc lex flex bison; do if [ -x $a/$ex ]; then if [ "$ex" = "make" ]; then $a/make -v > /dev/null 2>&1 if [ $? = 0 ]; then echo "$host:$a/make (gmake)" else echo "$host:$a/make" fi elif [ "$ex" = "cc" ]; then supp=0 for flags in "" "-Ae"; do $a/cc $flags -c $test_prog -o $test_out > /dev/null 2>&1 if [ $? = 0 ]; then if [ "$flags" = "" ]; then echo "$host:$a/cc (ansi)" else echo "$host:$a/cc (ansi using $flags)" fi supp=1 break fi done if [ $supp != 1 ]; then echo "$host:$a/cc (K&R)" fi rm -f b.o else echo $host:$a/$ex fi fi done done rm -f $test_prog $test_out