Make vtysh work on NetBSD, and minor cleanups:

  if --enable-vtysh, look for perl, and substitute into vtysh/extract.pl,
  rather than assuming perl is in /usr/bin

  Look for tputs in libtermcap and libcurses, in addition to
  previously-searched locations.  Follow GNU readlines search order.

  Clean up --enable-vtysh definition in configure.ac.

  Add vtysh/vtysh_cmds.c to CLEANFILES.  This is important if
  extract.pl fails, so that 'make clean && make' will regenerate
  vtysh_cmds.c rhather than using the old zero-length file.
diff --git a/ChangeLog b/ChangeLog
index f46a54c..ba53471 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>
 
+	* configure.ac: Look for perl, and substitute into vtysh/extract.pl.
+	Search for termcap functions more expansively (fixes vtysh compile
+	on NetBSD).  Clean up --enable-vtysh definition.
+
+2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>
+
 	* update-autotools: Use -rf on autom4te.cache.
 
 2004-06-20 Hasso Tepper <hasso@estpak.ee>
diff --git a/configure.ac b/configure.ac
index 2129421..bd6b4ff 100755
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 ##  Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
 ##  Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
 ##
-## $Id: configure.ac,v 1.53 2004/06/20 21:00:27 hasso Exp $
+## $Id: configure.ac,v 1.54 2004/06/30 14:25:12 gdt Exp $
 AC_PREREQ(2.53)
 
 AC_INIT(quagga, 0.96.5, [http://bugzilla.quagga.net])
@@ -68,7 +68,7 @@
 dnl Packages configuration
 dnl ----------------------
 AC_ARG_ENABLE(vtysh,
-[  --enable-vtysh,       Make integrated vty shell for Quagga])
+[  --enable-vtysh          include integrated vty shell for Quagga])
 AC_ARG_ENABLE(ipv6,
 [  --disable-ipv6          turn off IPv6 related features and daemons])
 AC_ARG_ENABLE(zebra,
@@ -286,10 +286,18 @@
 case "${enable_vtysh}" in
   "yes") VTYSH="vtysh";
          AC_DEFINE(VTYSH,,VTY shell)
-	 AC_CHECK_LIB(tinfo, tputs, , AC_CHECK_LIB(ncurses, tputs))
+	 AC_PATH_PROG(PERL, perl)
+dnl	 Vtysh uses libreadline, which looks for termcap functions at
+dnl	 configure time.  We follow readline's search order.
+dnl	 The required procedures are in libtermcap on NetBSD, in
+dnl	 [TODO] on Linux, and in [TODO] on Solaris.
+	 AC_CHECK_LIB(termcap, tputs, ,
+	 	AC_CHECK_LIB(tinfo, tputs, ,
+	 	AC_CHECK_LIB(curses, tputs, ,
+	 	AC_CHECK_LIB(ncurses, tputs))))
          AC_CHECK_LIB(readline, main)
          if test $ac_cv_lib_readline_main = no; then
-           AC_MSG_ERROR([vtysh needs libreadline but was not found on your system.])
+           AC_MSG_ERROR([vtysh needs libreadline but was not found and usable on your system.])
          fi
 	 AC_CHECK_HEADER(readline/history.h)
 	 if test $ac_cv_header_readline_history_h = no;then
@@ -1106,8 +1114,10 @@
 	  ripngd/Makefile bgpd/Makefile ospfd/Makefile 
 	  ospf6d/Makefile isisd/Makefile vtysh/Makefile doc/Makefile 
 	  ospfclient/Makefile
+	  vtysh/extract.pl
 	  redhat/Makefile redhat/quagga.spec
-	  lib/version.h)
+	  lib/version.h,
+	  [chmod +x vtysh/extract.pl])
 
 echo "
 zebra configuration
diff --git a/vtysh/ChangeLog b/vtysh/ChangeLog
index d439850..db9f805 100644
--- a/vtysh/ChangeLog
+++ b/vtysh/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>
+
+	* extract.pl.in: Rename from extract.pl, with @PERL@.
+
+	* Makefile.am: Add vtysh_cmds.c to CLEANFILES.
+
 2004-06-20 Hasso Tepper <hasso@estpak.ee>
 
 	* extract.pl: Zebra daemon has access lists as well.
diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am
index 9118350..fea0cb0 100644
--- a/vtysh/Makefile.am
+++ b/vtysh/Makefile.am
@@ -9,6 +9,7 @@
 
 vtysh_SOURCES = vtysh_main.c vtysh.c vtysh_user.c vtysh_config.c
 nodist_vtysh_SOURCES = vtysh_cmd.c
+CLEANFILES = vtysh_cmd.c
 noinst_HEADERS = vtysh.h vtysh_user.h
 vtysh_LDADD = ../lib/libzebra.a @LIBCAP@
 
diff --git a/vtysh/extract.pl b/vtysh/extract.pl.in
similarity index 99%
rename from vtysh/extract.pl
rename to vtysh/extract.pl.in
index 8488e01..6882b10 100755
--- a/vtysh/extract.pl
+++ b/vtysh/extract.pl.in
@@ -1,4 +1,4 @@
-#! /usr/bin/perl
+#! @PERL@
 ##
 ## Virtual terminal interface shell command extractor.
 ## Copyright (C) 2000 Kunihiro Ishiguro