bison regenerates the docs to see if they changed which requires running
the recently built bison. This obviously doesn't work for cross compiles
hence breaks for many target bison builds.
Just disable it.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

diff -Nura bison-3.0.orig/doc/local.mk bison-3.0/doc/local.mk
--- bison-3.0.orig/doc/local.mk	2013-10-02 16:52:48.711890121 -0300
+++ bison-3.0/doc/local.mk	2013-10-02 17:14:59.329341143 -0300
@@ -37,15 +37,6 @@
 CROSS_OPTIONS_PL = $(top_srcdir)/build-aux/cross-options.pl
 CROSS_OPTIONS_TEXI = $(top_srcdir)/doc/cross-options.texi
 $(CROSS_OPTIONS_TEXI): doc/bison.help $(CROSS_OPTIONS_PL)
-# Create $@~ which is the previous contents.  Don't use 'mv' here so
-# that even if we are interrupted, the file is still available for
-# diff in the next run.  Note that $@ might not exist yet.
-	$(AM_V_GEN){ test ! -f $@ || cat $@; } >$@~
-	$(AM_V_at)test ! -f $@.tmp || rm -f $@.tmp
-	$(AM_V_at)src/bison$(EXEEXT) --help |				 \
-	  $(PERL) $(CROSS_OPTIONS_PL) $(top_srcdir)/src/scan-gram.l >$@.tmp
-	$(AM_V_at)diff -u $@~ $@.tmp || true
-	$(AM_V_at)mv $@.tmp $@
 MAINTAINERCLEANFILES = $(CROSS_OPTIONS_TEXI)
 
 ## ---------- ##
@@ -86,9 +77,6 @@
 EXTRA_DIST += $(top_srcdir)/doc/bison.help
 MAINTAINERCLEANFILES += $(top_srcdir)/doc/bison.help
 $(top_srcdir)/doc/bison.help: src/bison$(EXEEXT)
-	$(AM_V_GEN)src/bison$(EXEEXT) --version >doc/bison.help.tmp
-	$(AM_V_at) src/bison$(EXEEXT) --help   >>doc/bison.help.tmp
-	$(AM_V_at)$(top_srcdir)/build-aux/move-if-change doc/bison.help.tmp $@
 
 
 ## ----------- ##
@@ -106,16 +94,6 @@
 
 # Depend on configure to get version number changes.
 $(top_srcdir)/doc/bison.1: doc/bison.help doc/bison.x $(top_srcdir)/configure
-	$(AM_V_GEN)$(HELP2MAN)			\
-	    --include=$(top_srcdir)/doc/bison.x	\
-	    --output=$@.t src/bison$(EXEEXT)
-	$(AM_V_at)if $(remove_time_stamp) $@ >$@a.t 2>/dev/null &&	 \
-	   $(remove_time_stamp) $@.t | cmp $@a.t - >/dev/null 2>&1; then \
-	  touch $@;							 \
-	else								 \
-	  mv $@.t $@;							 \
-	fi
-	$(AM_V_at)rm -f $@*.t
 
 nodist_man_MANS = doc/yacc.1
 
