2004-05-11 Paul Jakma <paul@dishone.st>

* configure.ac: Add solaris support for the zebra/*_solaris
          method's, based on Sowmini's patches.
        * zebra/Makefile.am: support for IOCTL_METHOD, as per Sowmini's
          patch.
This commit is contained in:
paul 2004-05-11 10:49:35 +00:00
parent dd669bb0e7
commit 19877dd2dc
4 changed files with 71 additions and 34 deletions

View File

@ -1,3 +1,8 @@
2004-05-11 Paul Jakma <paul@dishone.st>
* configure.ac: Add solaris support for the zebra/*_solaris
method's, based on Sowmini's patches.
2004-04-08 Paul Jakma <paul@dishone.st> 2004-04-08 Paul Jakma <paul@dishone.st>
* ospf_spf.h: Add backlink field to struct vertex * ospf_spf.h: Add backlink field to struct vertex

View File

@ -5,7 +5,7 @@
## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org> ## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
## Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st> ## Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
## ##
## $Id: configure.ac,v 1.50 2004/05/03 12:50:39 paul Exp $ ## $Id: configure.ac,v 1.51 2004/05/11 10:49:35 paul Exp $
AC_PREREQ(2.53) AC_PREREQ(2.53)
AC_INIT(quagga, 0.96.5, [http://bugzilla.quagga.net]) AC_INIT(quagga, 0.96.5, [http://bugzilla.quagga.net])
@ -233,14 +233,24 @@ AC_TYPE_SIGNAL
dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) dnl Some systems (Solaris 2.x) require libnsl (Network Services Library)
case "$host" in case "$host" in
*-sunos5.6* | *-solaris2.6*) [*-sunos5.[6-8]*] | [*-solaris2.[6-8]*])
opsys=sol2-6 opsys=sol2-6
AC_DEFINE(SUNOS_5,,SunOS 5) AC_DEFINE(SUNOS_56, 1, SunOS 5.6 to 5.8)
AC_DEFINE(SUNOS_5, 1, SunOS 5)
AC_CHECK_LIB(xnet, main) AC_CHECK_LIB(xnet, main)
CURSES=-lcurses CURSES=-lcurses
;; ;;
[*-sunos5.[8-9]] | [*-sunos5.1[0-9]] \
| [*-solaris2.[8-9]] | [*-solaris2.1[0-9]])
opsys=sol9
AC_DEFINE(SUNOS_59,,SunOS 5.9 up)
AC_DEFINE(SUNOS_5, 1, SunOS 5)
AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(nsl, main)
CURSES=-lcurses
;;
*-sunos5* | *-solaris2*) *-sunos5* | *-solaris2*)
AC_DEFINE(SUNOS_5,,SunOS 5) AC_DEFINE(SUNOS_5,,SunOS 5, Unknown SunOS)
AC_CHECK_LIB(socket, main) AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(nsl, main)
CURSES=-lcurses CURSES=-lcurses
@ -396,17 +406,20 @@ if test x"$opsys" = x"gnu-linux"; then
AC_DEFINE(HAVE_NETLINK,,netlink) AC_DEFINE(HAVE_NETLINK,,netlink)
netlink=yes netlink=yes
fi fi
elif test x"$opsys" = x"sol2-6";then
AC_MSG_RESULT(Route socket)
KERNEL_METHOD="kernel_socket.o"
RT_METHOD="rt_socket.o"
elif test x"$opsys" = x"sol9";then
AC_MSG_RESULT(Route socket)
KERNEL_METHOD="kernel_socket.o"
RT_METHOD="rt_socket.o"
elif test "$opsys" = "irix" ; then
AC_MSG_RESULT(Route socket)
KERNEL_METHOD="kernel_socket.o"
RT_METHOD="rt_socket.o"
else else
if test "$opsys" = "sol2-6";then AC_TRY_RUN([#include <errno.h>
AC_MSG_RESULT(solaris)
KERNEL_METHOD="kernel_socket.o"
RT_METHOD="rt_socket.o"
elif test "$opsys" = "irix" ; then
AC_MSG_RESULT(irix)
KERNEL_METHOD="kernel_socket.o"
RT_METHOD="rt_socket.o"
else
AC_TRY_RUN([#include <errno.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
@ -427,7 +440,6 @@ main ()
[KERNEL_METHOD=kernel_socket.o [KERNEL_METHOD=kernel_socket.o
RT_METHOD=rt_socket.o RT_METHOD=rt_socket.o
AC_MSG_RESULT(socket)]) AC_MSG_RESULT(socket)])
fi
fi fi
AC_SUBST(RT_METHOD) AC_SUBST(RT_METHOD)
AC_SUBST(KERNEL_METHOD) AC_SUBST(KERNEL_METHOD)
@ -464,30 +476,34 @@ AC_SUBST(RTREAD_METHOD)
dnl ----------------------------- dnl -----------------------------
dnl check interface lookup method dnl check interface lookup method
dnl ----------------------------- dnl -----------------------------
IOCTL_METHOD=ioctl.o
AC_MSG_CHECKING(interface looking up method) AC_MSG_CHECKING(interface looking up method)
if test "$netlink" = yes; then if test "$netlink" = yes; then
AC_MSG_RESULT(netlink) AC_MSG_RESULT(netlink)
IF_METHOD=if_netlink.o IF_METHOD=if_netlink.o
else elif test "$opsys" = "sol2-6";then
if test "$opsys" = "sol2-6";then AC_MSG_RESULT(Solaris GIF)
AC_MSG_RESULT(solaris) IF_METHOD=if_ioctl.o
IF_METHOD=if_ioctl.o elif test "$opsys" = "sol9";then
elif test "$opsys" = "irix" ; then AC_MSG_RESULT(Solaris GLIF)
AC_MSG_RESULT(irix) IF_METHOD=if_ioctl_solaris.o
IF_METHOD=if_ioctl.o IOCTL_METHOD=ioctl_solaris.o
elif test "$opsys" = "openbsd";then elif test "$opsys" = "irix" ; then
AC_MSG_RESULT(openbsd) AC_MSG_RESULT(IRIX)
IF_METHOD=if_ioctl.o IF_METHOD=if_ioctl.o
elif grep NET_RT_IFLIST /usr/include/sys/socket.h >/dev/null 2>&1; then elif test "$opsys" = "openbsd";then
AC_MSG_RESULT(sysctl) AC_MSG_RESULT(openbsd)
IF_METHOD=if_ioctl.o
elif grep NET_RT_IFLIST /usr/include/sys/socket.h >/dev/null 2>&1; then
AC_MSG_RESULT(sysctl)
IF_METHOD=if_sysctl.o IF_METHOD=if_sysctl.o
AC_DEFINE(HAVE_NET_RT_IFLIST,,NET_RT_IFLIST) AC_DEFINE(HAVE_NET_RT_IFLIST,,NET_RT_IFLIST)
else else
AC_MSG_RESULT(ioctl) AC_MSG_RESULT(ioctl)
IF_METHOD=if_ioctl.o IF_METHOD=if_ioctl.o
fi
fi fi
AC_SUBST(IF_METHOD) AC_SUBST(IF_METHOD)
AC_SUBST(IOCTL_METHOD)
dnl ----------------------- dnl -----------------------
dnl check proc file system. dnl check proc file system.
@ -592,6 +608,16 @@ dnl ---------
else else
AC_MSG_RESULT(NRL) AC_MSG_RESULT(NRL)
fi fi
dnl ------------------------------------
dnl Solaris 9, 10 and potentially higher
dnl ------------------------------------
elif test x"$opsys" = x"sol9"; then
zebra_cv_ipv6=yes;
AC_DEFINE(HAVE_IPV6, 1, IPv6)
AC_DEFINE(SOLARIS_IPV6, 1, Solaris IPv6)
RIPNGD="ripngd"
OSPF6D="ospf6d"
AC_MSG_RESULT(Solaris IPv6)
dnl ---------- dnl ----------
dnl Linux IPv6 dnl Linux IPv6
dnl ---------- dnl ----------

View File

@ -1,3 +1,7 @@
2004-05-11 Paul Jakma <paul@dishone.st>
* Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch.
2004-05-09 Paul Jakma <paul@dishone.st> 2004-05-09 Paul Jakma <paul@dishone.st>
* zserv.c: (zsend_route_multipath) Set the nexthop_num * zserv.c: (zsend_route_multipath) Set the nexthop_num

View File

@ -14,14 +14,15 @@ rt_method = @RT_METHOD@
rtread_method = @RTREAD_METHOD@ rtread_method = @RTREAD_METHOD@
kernel_method = @KERNEL_METHOD@ kernel_method = @KERNEL_METHOD@
other_method = @OTHER_METHOD@ other_method = @OTHER_METHOD@
ioctl_method = @IOCTL_METHOD@
otherobj = $(ipforward) $(if_method) $(if_proc) $(rt_method) \ otherobj = $(ioctl_method) $(ipforward) $(if_method) $(if_proc) \
$(rtread_method) $(kernel_method) $(other_method) $(rt_method) $(rtread_method) $(kernel_method) $(other_method)
sbin_PROGRAMS = zebra sbin_PROGRAMS = zebra
zebra_SOURCES = \ zebra_SOURCES = \
zserv.c main.c interface.c connected.c ioctl.c zebra_rib.c \ zserv.c main.c interface.c connected.c zebra_rib.c \
redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c
noinst_HEADERS = \ noinst_HEADERS = \
@ -32,11 +33,12 @@ zebra_LDADD = ../lib/libzebra.a $(otherobj) $(LIBCAP) $(LIB_IPV6)
zebra_DEPENDENCIES = $(otherobj) zebra_DEPENDENCIES = $(otherobj)
EXTRA_DIST = if_ioctl.c if_netlink.c if_proc.c if_sysctl.c \ EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c if_proc.c \
ipforward_aix.c ipforward_ews.c ipforward_proc.c \ if_sysctl.c ipforward_aix.c ipforward_ews.c ipforward_proc.c \
ipforward_solaris.c ipforward_sysctl.c rt_ioctl.c rt_netlink.c \ ipforward_solaris.c ipforward_sysctl.c rt_ioctl.c rt_netlink.c \
rt_socket.c rtread_netlink.c rtread_proc.c rtread_sysctl.c \ rt_socket.c rtread_netlink.c rtread_proc.c rtread_sysctl.c \
rtread_getmsg.c kernel_socket.c kernel_netlink.c mtu_kvm.c \ rtread_getmsg.c kernel_socket.c kernel_netlink.c mtu_kvm.c \
ioctl.c ioctl_solaris.c \
GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
#client : client_main.o ../lib/libzebra.a #client : client_main.o ../lib/libzebra.a