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