|  | #!/bin/sh | 
|  |  | 
|  | # Try to find a GNU indent.  There could be a BSD indent in front of a | 
|  | # GNU gindent so when indent is found, keep looking. | 
|  |  | 
|  | # Make certain that the script is not running in an internationalized | 
|  | # environment. | 
|  | LANG=c ; export LANG | 
|  | LC_ALL=c ; export LC_ALL | 
|  |  | 
|  | gindent= | 
|  | indent= | 
|  | paths=`echo $PATH | sed \ | 
|  | -e 's/::/:.:/g' \ | 
|  | -e 's/^:/.:/' \ | 
|  | -e 's/:$/:./' \ | 
|  | -e 's/:/ /g'` | 
|  | for path in $paths | 
|  | do | 
|  | if test ! -n "${gindent}" -a -x ${path}/gindent | 
|  | then | 
|  | gindent=${path}/gindent | 
|  | break | 
|  | elif test ! -n "${indent}" -a -x ${path}/indent | 
|  | then | 
|  | indent=${path}/indent | 
|  | fi | 
|  | done | 
|  |  | 
|  | if test -n "${gindent}" | 
|  | then | 
|  | indent=${gindent} | 
|  | elif test -n "${indent}" | 
|  | then | 
|  | : | 
|  | else | 
|  | echo "Indent not found" 1>&2 | 
|  | fi | 
|  |  | 
|  |  | 
|  | # Check that the indent found is both GNU and a reasonable version. | 
|  | # Different indent versions give different indentation. | 
|  |  | 
|  | m1=2 | 
|  | m2=2 | 
|  | m3=9 | 
|  |  | 
|  | version=`${indent} --version 2>/dev/null < /dev/null` | 
|  | case "${version}" in | 
|  | *GNU* ) ;; | 
|  | * ) echo "error: GNU indent $m1.$m2.$m3 expected" 1>&2 ; exit 1;; | 
|  | esac | 
|  | v1=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\1/'` | 
|  | v2=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\2/'` | 
|  | v3=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\3/'` | 
|  |  | 
|  | if test $m1 -ne $v1 -o $m2 -ne $v2 -o $m3 -gt $v3 | 
|  | then | 
|  | echo "error: Must be GNU indent version $m1.$m2.$m3 or later" 1>&2 | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | if test $m3 -ne $v3 | 
|  | then | 
|  | echo "warning: GNU indent version $m1.$m2.$m3 recommended" 1>&2 | 
|  | fi | 
|  |  | 
|  | # Check that we're in the GDB source directory | 
|  |  | 
|  | case `pwd` in | 
|  | */gdb ) ;; | 
|  | */sim/* ) ;; | 
|  | * ) echo "Not in GDB directory" 1>&2 ; exit 1 ;; | 
|  | esac | 
|  |  | 
|  |  | 
|  | # Run indent per GDB specs | 
|  |  | 
|  | types="\ | 
|  | -T FILE \ | 
|  | -T bfd -T asection -T pid_t \ | 
|  | -T prgregset_t -T fpregset_t -T gregset_t -T sigset_t \ | 
|  | -T td_thrhandle_t -T td_event_msg_t -T td_thr_events_t \ | 
|  | -T td_notify_t -T td_thr_iter_f -T td_thrinfo_t \ | 
|  | -T caddr_t \ | 
|  | `cat *.h | sed -n \ | 
|  | -e 's/^.*[^a-z0-9_]\([a-z0-9_]*_ftype\).*$/-T \1/p' \ | 
|  | -e 's/^.*[^a-z0-9_]\([a-z0-9_]*_func\).*$/-T \1/p' \ | 
|  | -e 's/^typedef.*[^a-zA-Z0-9_]\([a-zA-Z0-9_]*[a-zA-Z0-9_]\);$/-T \1/p' \ | 
|  | | sort -u`" | 
|  |  | 
|  | ${indent} ${types} "$@" |