changeset 8775:a2a9dc5e8565

octave.gperf: eliminate whitespace to allow gperf 2.7.2 to work
author John W. Eaton <jwe@octave.org>
date Tue, 17 Feb 2009 02:38:05 -0500
parents b756ce0002db
children d23c33ec6bd3
files ChangeLog aclocal.m4 src/ChangeLog src/octave.gperf
diffstat 4 files changed, 10 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Feb 17 08:38:00 2009 +0100
+++ b/ChangeLog	Tue Feb 17 02:38:05 2009 -0500
@@ -1,5 +1,7 @@
 2009-02-17  John W. Eaton  <jwe@octave.org>
 
+	* aclocal.m4 (OCTAVE_PROG_GPERF): Don't run gperf.
+
 	* Makeconf.in (do-subst-config-vals): Substitute CARBON_LIBS,
 	X11_INCFLAGS, and X11_LIBS.
 
--- a/aclocal.m4	Tue Feb 17 08:38:00 2009 +0100
+++ b/aclocal.m4	Tue Feb 17 02:38:05 2009 -0500
@@ -521,20 +521,7 @@
 dnl OCTAVE_PROG_GPERF
 AC_DEFUN(OCTAVE_PROG_GPERF, [
   AC_CHECK_PROG(GPERF, gperf, gperf, [])
-  if test -n "$GPERF"; then
-    if echo "%{
-enum octave_kw_id { a_kw };
-%}
-struct octave_kw { const char *name; int tok; octave_kw_id kw_id; };
-%%
-foo" | $GPERF -t -C -D -E -G -L C++ -H octave_kw_hash -N octave_kw_lookup > /dev/null 2>&1; then
-      true
-    else
-      GPERF=""
-      warn_gperf="I found gperf, but it does not support all of the following options: -t -C -D -E -G -L C++ -H -N; you need gperf 3.0.1 or a more recent version"
-      AC_MSG_WARN($warn_gperf)
-    fi
-  else
+  if test -z "$GPERF"; then
     GPERF='$(top_srcdir)/missing gperf'
     warn_gperf="I didn't find gperf, but it's only a problem if you need to reconstruct oct-gperf.h"
     AC_MSG_WARN($warn_gperf)
--- a/src/ChangeLog	Tue Feb 17 08:38:00 2009 +0100
+++ b/src/ChangeLog	Tue Feb 17 02:38:05 2009 -0500
@@ -1,5 +1,7 @@
 2009-02-17  John W. Eaton  <jwe@octave.org>
 
+	* octave.gperf: Eliminate whitespace to allow gperf 2.7.2 to work.
+
 	* file-io.cc (Ffscanf, Fsscanf): Check error_state after call to
 	octave_stream::scanf.
 	(Ffgetl): Check error state after call to octave_stream::getl.
--- a/src/octave.gperf	Tue Feb 17 08:38:00 2009 +0100
+++ b/src/octave.gperf	Tue Feb 17 02:38:05 2009 -0500
@@ -1,9 +1,8 @@
 %{
-
 /*
 
 Copyright (C) 1995, 1997, 1998, 2000, 2002, 2004, 2005, 2006,
-              2007 John W. Eaton
+              2007, 2008, 2009 John W. Eaton
 
 This file is part of Octave.
 
@@ -21,8 +20,11 @@
 along with Octave; see the file COPYING.  If not, see
 <http://www.gnu.org/licenses/>.
 
+NOTE: gperf 2.7.2 will silently generate bad code if there are blank
+lines following the "%{" marker above.  This comment block seems to be
+handled correctly.
+
 */
-
 enum octave_kw_id
 {
   break_kw,
@@ -56,9 +58,7 @@
   unwind_protect_cleanup_kw,
   while_kw
 };
-
 %}
-
 struct octave_kw { const char *name; int tok; octave_kw_id kw_id; };
 %%
 break, BREAK, break_kw