Commit | Line | Data |
---|---|---|
f6a9480e AC |
1 | #!/bin/sh |
2 | ||
3 | # Try to find a GNU indent. There could be a BSD indent in front of a | |
4 | # GNU gindent so when indent is found, keep looking. | |
5 | ||
6e2c7fa1 DJ |
6 | # Make certain that the script is not running in an internationalized |
7 | # environment. | |
8 | LANG=c ; export LANG | |
9 | LC_ALL=c ; export LC_ALL | |
10 | ||
f6a9480e AC |
11 | gindent= |
12 | indent= | |
13 | paths=`echo $PATH | sed \ | |
14 | -e 's/::/:.:/g' \ | |
15 | -e 's/^:/.:/' \ | |
16 | -e 's/:$/:./' \ | |
17 | -e 's/:/ /g'` | |
18 | for path in $paths | |
19 | do | |
20 | if test ! -n "${gindent}" -a -x ${path}/gindent | |
21 | then | |
22 | gindent=${path}/gindent | |
23 | break | |
24 | elif test ! -n "${indent}" -a -x ${path}/indent | |
25 | then | |
26 | indent=${path}/indent | |
27 | fi | |
28 | done | |
29 | ||
30 | if test -n "${gindent}" | |
31 | then | |
32 | indent=${gindent} | |
33 | elif test -n "${indent}" | |
34 | then | |
35 | : | |
36 | else | |
37 | echo "Indent not found" 1>&2 | |
38 | fi | |
39 | ||
40 | ||
41 | # Check that the indent found is both GNU and a reasonable version. | |
42 | # Different indent versions give different indentation. | |
43 | ||
3f5a3016 AC |
44 | m1=2 |
45 | m2=2 | |
46 | m3=9 | |
47 | ||
48 | version=`${indent} --version 2>/dev/null < /dev/null` | |
49 | case "${version}" in | |
50 | *GNU* ) ;; | |
51 | * ) echo "error: GNU indent $m1.$m2.$m3 expected" 1>&2 ; exit 1;; | |
f6a9480e | 52 | esac |
3f5a3016 AC |
53 | v1=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\1/'` |
54 | v2=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\2/'` | |
55 | v3=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\3/'` | |
56 | ||
57 | if test $m1 -ne $v1 -o $m2 -ne $v2 -o $m3 -gt $v3 | |
58 | then | |
59 | echo "error: Must be GNU indent version $m1.$m2.$m3 or later" 1>&2 | |
60 | exit 1 | |
61 | fi | |
f6a9480e | 62 | |
3f5a3016 AC |
63 | if test $m3 -ne $v3 |
64 | then | |
65 | echo "warning: GNU indent version $m1.$m2.$m3 recommended" 1>&2 | |
66 | fi | |
f6a9480e AC |
67 | |
68 | # Check that we're in the GDB source directory | |
69 | ||
70 | case `pwd` in | |
71 | */gdb ) ;; | |
8efe637d | 72 | */sim/* ) ;; |
f6a9480e AC |
73 | * ) echo "Not in GDB directory" 1>&2 ; exit 1 ;; |
74 | esac | |
75 | ||
76 | ||
77 | # Run indent per GDB specs | |
78 | ||
9b02dd1b AC |
79 | types="\ |
80 | -T FILE \ | |
a8245ab8 JJ |
81 | -T bfd -T asection -T pid_t \ |
82 | -T prgregset_t -T fpregset_t -T gregset_t -T sigset_t \ | |
530b167e JJ |
83 | -T td_thrhandle_t -T td_event_msg_t -T td_thr_events_t \ |
84 | -T td_notify_t -T td_thr_iter_f -T td_thrinfo_t \ | |
b2ed1746 | 85 | -T caddr_t \ |
9b02dd1b | 86 | `cat *.h | sed -n \ |
f6a9480e AC |
87 | -e 's/^.*[^a-z0-9_]\([a-z0-9_]*_ftype\).*$/-T \1/p' \ |
88 | -e 's/^.*[^a-z0-9_]\([a-z0-9_]*_func\).*$/-T \1/p' \ | |
89 | -e 's/^typedef.*[^a-zA-Z0-9_]\([a-zA-Z0-9_]*[a-zA-Z0-9_]\);$/-T \1/p' \ | |
90 | | sort -u`" | |
91 | ||
92 | ${indent} ${types} "$@" |