diff --git a/src/tools/pginclude/pgcompinclude b/src/tools/pginclude/pgcompinclude
index 13f49f1637769376c9cd5f640c1858871d2c0123..e2505e685ae885135676e5caf459f1b58df699e0 100755
--- a/src/tools/pginclude/pgcompinclude
+++ b/src/tools/pginclude/pgcompinclude
@@ -4,7 +4,7 @@
 # src/tools/pginclude/pgcompinclude
 
 trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a" 0 1 2 3 15
-find . \( -name CVS -a -prune \) -o -name '*.h' -type f -print | while read FILE
+find . \( -name .git -a -prune \) -o -name '*.h' -type f -print | while read FILE
 do
 	sed 's/->[a-zA-Z0-9_\.]*//g' "$FILE" >/tmp/$$a
 	echo "#include \"postgres.h\"" >/tmp/$$.c
@@ -13,9 +13,11 @@ do
 	echo "void include_test() {" >>/tmp/$$.c
 	pgdefine "$FILE" >>/tmp/$$.c
 	echo "}" >>/tmp/$$.c
+	# Use -O1 to get warnings only generated by optimization,
+	# but -O2 is too slow.
 	cc -fsyntax-only -Werror -Wall -Wmissing-prototypes \
 		-Wmissing-declarations -I/pg/include -I/pg/backend \
-		-I/pg/interfaces/libpq -I`dirname $FILE` $CFLAGS -c /tmp/$$.c \
+		-I/pg/interfaces/libpq -I`dirname $FILE` $CFLAGS -O1 -c /tmp/$$.c \
 		-o /tmp/$$.o >/tmp/$$ 2>&1
 	if [ "$?" -ne 0 ]
 	then	echo "$FILE"
diff --git a/src/tools/pginclude/pgfixinclude b/src/tools/pginclude/pgfixinclude
index 4b2d2bacee8ef33ee6b0d8d1339d9e4c1e90c250..6721566495c9f853c069223ef810a28706a790f7 100755
--- a/src/tools/pginclude/pgfixinclude
+++ b/src/tools/pginclude/pgfixinclude
@@ -3,7 +3,7 @@
 # src/tools/pginclude/pgfixinclude
 
 trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15
-find . \( -name CVS -a -prune \) -o -type f -name '*.[chyls]' -print |
+find . \( -name .git -a -prune \) -o -type f -name '*.[chyls]' -print |
 while read FILE
 do
 	cat "$FILE" | grep "^#include" |