#!/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} "$@"