|
1 | 1 | : |
2 | 2 | # remove extra #include's |
3 | 3 |
|
4 | | -# $PostgreSQL: pgsql/src/tools/pginclude/pgrminclude,v 1.12 2006/07/11 20:51:25 momjian Exp $ |
| 4 | +# $PostgreSQL: pgsql/src/tools/pginclude/pgrminclude,v 1.13 2006/07/12 16:28:27 momjian Exp $ |
5 | 5 |
|
6 | 6 | trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15 |
7 | 7 | find . \( -name CVS -a -prune \) -o -type f -name '*.[ch]' -print | |
|
15 | 15 | else IS_INCLUDE="N" |
16 | 16 | fi |
17 | 17 |
|
18 | | - # remove defines |
19 | | - if [ "$IS_INCLUDE" = "Y" ] |
20 | | - then cat "$FILE" | grep -v "^#if" | grep -v "^#else" | |
21 | | - grep -v "^#endif" | sed 's/->[a-zA-Z0-9_\.]*//g' >/tmp/$$a |
22 | | - else cat "$FILE" >/tmp/$$a |
23 | | - fi |
24 | | - |
25 | 18 | # loop through all includes |
26 | | - cat /tmp/$$a | grep "^#include" | |
| 19 | + cat "$FILE" | grep "^#include" | |
27 | 20 | sed 's/^#include[ ]*[<"]\([^>"]*\).*$/\1/g' | |
28 | 21 | while read INCLUDE |
29 | 22 | do |
| 23 | + if [ "$1" = "-v" ] |
| 24 | + then echo "checking $FILE $INCLUDE" |
| 25 | + fi |
| 26 | + |
30 | 27 | [ -s /usr/include/$INCLUDE ] && continue |
31 | 28 | [ "$INCLUDE" = postgres.h ] && continue |
32 | 29 | [ "$INCLUDE" = config.h ] && continue |
|
39 | 36 | grep -A1 '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' "$FILE" | |
40 | 37 | egrep -q '^#else|^#endif' && continue |
41 | 38 |
|
| 39 | + # remove defines from include files |
| 40 | + if [ "$IS_INCLUDE" = "Y" ] |
| 41 | + then cat "$FILE" | grep -v "^#if" | grep -v "^#else" | |
| 42 | + grep -v "^#endif" | sed 's/->[a-zA-Z0-9_\.]*//g' >/tmp/$$a |
| 43 | + else cat "$FILE" >/tmp/$$a |
| 44 | + fi |
| 45 | + |
42 | 46 | # set up initial file contents |
43 | | - cat /tmp/$$a | |
44 | | - grep -v '^#include[ ]*[<"]'"$INCLUDE"'[>"]' >/tmp/$$b |
| 47 | + grep -v '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' \ |
| 48 | + /tmp/$$a >/tmp/$$b |
| 49 | + |
45 | 50 | if [ "$IS_INCLUDE" = "Y" ] |
46 | 51 | then echo "#include \"postgres.h\"" >/tmp/$$.c |
47 | 52 | else >/tmp/$$.c |
|
66 | 71 | cat /tmp/$$b |
67 | 72 | cat /tmp/$$.c |
68 | 73 | fi |
69 | | - grep -v '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' "$FILE" >/tmp/$$b |
70 | 74 | mv /tmp/$$b "$FILE" |
71 | | - elif [ "$1" = "-v" ] |
72 | | - then echo "$FILE" |
73 | 75 | fi |
74 | | - |
75 | 76 | done |
76 | 77 | done |
0 commit comments