this doesn't work with the Portland Group compiler.  Instead, use "$CC
-E bar.c".  Include the .h file twice in the grammar, as an extra
check.
 AS_MKDIR_P([$dirname])
 
 AT_DATA_GRAMMAR([$1.y],
-[%%
+[%{
+#include "$1.h"
+%}
+%%
 dummy:;
+%%
+#include "$1.h"
 ])
 
-AT_CHECK([bison --defines=$1.h $1.y])
+AT_CHECK([bison --defines=$1.h --output=y.tab.c $1.y])
 
 # CPP should be happy with it.
-AT_CHECK([$CC -E $1.h], 0, [ignore])
+AT_CHECK([$CC -E y.tab.c], 0, [ignore])
 
 AT_CLEANUP
 ])