isisd: change ISIS_METHOD to use C preprocessor

this fixes warnings from vtysh extract.pl by making sure the isis method
files always 'work'. (previously, extract.pl would grab unselected isis
method sources and then complain about missing headers)
This commit is contained in:
David Lamparter 2010-02-02 21:49:35 +01:00 committed by Greg Troxel
parent 2470e99e82
commit 745bf05f58
5 changed files with 20 additions and 13 deletions

View File

@ -782,15 +782,18 @@ AC_SUBST(OTHER_METHOD)
dnl -------------------------- dnl --------------------------
dnl Determine IS-IS I/O method dnl Determine IS-IS I/O method
dnl -------------------------- dnl --------------------------
AC_DEFINE(ISIS_METHOD_PFPACKET, 1, [ constant value for isis method pfpacket ])
AC_DEFINE(ISIS_METHOD_DLPI, 2, [ constant value for isis method dlpi ])
AC_DEFINE(ISIS_METHOD_BPF, 3, [ constant value for isis method bpf ])
AC_CHECK_HEADER(net/bpf.h) AC_CHECK_HEADER(net/bpf.h)
AC_CHECK_HEADER(sys/dlpi.h) AC_CHECK_HEADER(sys/dlpi.h)
AC_MSG_CHECKING(zebra IS-IS I/O method) AC_MSG_CHECKING(zebra IS-IS I/O method)
if test x"$opsys" = x"gnu-linux"; then if test x"$opsys" = x"gnu-linux"; then
AC_MSG_RESULT(pfpacket) AC_MSG_RESULT(pfpacket)
ISIS_METHOD=isis_pfpacket.o ISIS_METHOD_MACRO="ISIS_METHOD_PFPACKET"
elif test x"$opsys" = x"sol2-6" -o x"$opsys" = x"sol8"; then elif test x"$opsys" = x"sol2-6" -o x"$opsys" = x"sol8"; then
AC_MSG_RESULT(DLPI) AC_MSG_RESULT(DLPI)
ISIS_METHOD="isis_dlpi.o" ISIS_METHOD_MACRO="ISIS_METHOD_DLPI"
else else
if test $ac_cv_header_net_bpf_h = no; then if test $ac_cv_header_net_bpf_h = no; then
if test $ac_cv_header_sys_dlpi_h = no; then if test $ac_cv_header_sys_dlpi_h = no; then
@ -800,13 +803,13 @@ else
else else
AC_MSG_RESULT(DLPI) AC_MSG_RESULT(DLPI)
fi fi
ISIS_METHOD="isis_dlpi.o" ISIS_METHOD_MACRO="ISIS_METHOD_DLPI"
else else
AC_MSG_RESULT(BPF) AC_MSG_RESULT(BPF)
ISIS_METHOD="isis_bpf.o" ISIS_METHOD_MACRO="ISIS_METHOD_BPF"
fi fi
fi fi
AC_SUBST(ISIS_METHOD) AC_DEFINE_UNQUOTED(ISIS_METHOD, $ISIS_METHOD_MACRO, [ selected method for isis, == one of the constants ])
dnl ------------------------------------ dnl ------------------------------------
dnl check for broken CMSG_FIRSTHDR macro dnl check for broken CMSG_FIRSTHDR macro

View File

@ -13,8 +13,6 @@ noinst_LIBRARIES = libisis.a
sbin_PROGRAMS = isisd sbin_PROGRAMS = isisd
SUBDIRS = topology SUBDIRS = topology
isis_method = @ISIS_METHOD@
libisis_a_SOURCES = \ libisis_a_SOURCES = \
isis_adjacency.c isis_lsp.c dict.c isis_circuit.c isis_pdu.c \ isis_adjacency.c isis_lsp.c dict.c isis_circuit.c isis_pdu.c \
isis_tlv.c isisd.c isis_misc.c isis_zebra.c isis_dr.c \ isis_tlv.c isisd.c isis_misc.c isis_zebra.c isis_dr.c \
@ -30,13 +28,10 @@ noinst_HEADERS = \
include-netbsd/clnp.h include-netbsd/esis.h include-netbsd/iso.h include-netbsd/clnp.h include-netbsd/esis.h include-netbsd/iso.h
isisd_SOURCES = \ isisd_SOURCES = \
isis_main.c $(libisis_a_SOURCES) isis_main.c $(libisis_a_SOURCES) \
isis_bpf.c isis_dlpi.c isis_pfpacket.c
isisd_LDADD = $(isis_method) @ISIS_TOPOLOGY_LIB@ ../lib/libzebra.la @LIBCAP@ isisd_LDADD = @ISIS_TOPOLOGY_LIB@ ../lib/libzebra.la @LIBCAP@
isisd_DEPENDENCIES = $(isis_method)
EXTRA_DIST = isis_bpf.c isis_dlpi.c isis_pfpacket.c
examplesdir = $(exampledir) examplesdir = $(exampledir)
dist_examples_DATA = isisd.conf.sample dist_examples_DATA = isisd.conf.sample

View File

@ -21,6 +21,7 @@
*/ */
#include <zebra.h> #include <zebra.h>
#if ISIS_METHOD == ISIS_METHOD_BPF
#include <net/if.h> #include <net/if.h>
#include <netinet/if_ether.h> #include <netinet/if_ether.h>
#include <sys/time.h> #include <sys/time.h>
@ -339,3 +340,5 @@ isis_send_pdu_p2p (struct isis_circuit *circuit, int level)
{ {
return ISIS_OK; return ISIS_OK;
} }
#endif /* ISIS_METHOD == ISIS_METHOD_BPF */

View File

@ -21,6 +21,7 @@
*/ */
#include <zebra.h> #include <zebra.h>
#if ISIS_METHOD == ISIS_METHOD_DLPI
#include <net/if.h> #include <net/if.h>
#include <netinet/if_ether.h> #include <netinet/if_ether.h>
#include <sys/types.h> #include <sys/types.h>
@ -622,3 +623,5 @@ isis_send_pdu_bcast (struct isis_circuit *circuit, int level)
sock_buff, stream_get_endp (circuit->snd_stream) + LLC_LEN, 0); sock_buff, stream_get_endp (circuit->snd_stream) + LLC_LEN, 0);
return ISIS_OK; return ISIS_OK;
} }
#endif /* ISIS_METHOD == ISIS_METHOD_DLPI */

View File

@ -21,6 +21,7 @@
*/ */
#include <zebra.h> #include <zebra.h>
#if ISIS_METHOD == ISIS_METHOD_PFPACKET
#include <net/ethernet.h> /* the L2 protocols */ #include <net/ethernet.h> /* the L2 protocols */
#include <netpacket/packet.h> #include <netpacket/packet.h>
@ -371,3 +372,5 @@ isis_send_pdu_p2p (struct isis_circuit *circuit, int level)
return ISIS_OK; return ISIS_OK;
} }
#endif /* ISIS_METHOD == ISIS_METHOD_PFPACKET */