build: make BMP optional

Sigh.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2019-08-13 16:22:22 +02:00
parent ed18356f1f
commit 83c64a7d32
2 changed files with 49 additions and 13 deletions

View file

@ -43,7 +43,9 @@ endif
if RPKI if RPKI
module_LTLIBRARIES += bgpd/bgpd_rpki.la module_LTLIBRARIES += bgpd/bgpd_rpki.la
endif endif
if BGP_BMP
module_LTLIBRARIES += bgpd/bgpd_bmp.la module_LTLIBRARIES += bgpd/bgpd_bmp.la
endif
man8 += $(MANBUILD)/bgpd.8 man8 += $(MANBUILD)/bgpd.8
endif endif

View file

@ -479,12 +479,14 @@ AC_ARG_ENABLE([staticd],
AS_HELP_STRING([--disable-staticd], [do not build staticd])) AS_HELP_STRING([--disable-staticd], [do not build staticd]))
AC_ARG_ENABLE([fabricd], AC_ARG_ENABLE([fabricd],
AS_HELP_STRING([--disable-fabricd], [do not build fabricd])) AS_HELP_STRING([--disable-fabricd], [do not build fabricd]))
AC_ARG_ENABLE([bgp-announce],
AS_HELP_STRING([--disable-bgp-announce,], [turn off BGP route announcement]))
AC_ARG_ENABLE([vrrpd], AC_ARG_ENABLE([vrrpd],
AS_HELP_STRING([--disable-vrrpd], [do not build vrrpd])) AS_HELP_STRING([--disable-vrrpd], [do not build vrrpd]))
AC_ARG_ENABLE([bgp-announce],
AS_HELP_STRING([--disable-bgp-announce,], [turn off BGP route announcement]))
AC_ARG_ENABLE([bgp-vnc], AC_ARG_ENABLE([bgp-vnc],
AS_HELP_STRING([--disable-bgp-vnc],[turn off BGP VNC support])) AS_HELP_STRING([--disable-bgp-vnc],[turn off BGP VNC support]))
AC_ARG_ENABLE([bgp-bmp],
AS_HELP_STRING([--disable-bgp-bmp],[turn off BGP BMP support]))
AC_ARG_ENABLE([snmp], AC_ARG_ENABLE([snmp],
AS_HELP_STRING([--enable-snmp], [enable SNMP support for agentx])) AS_HELP_STRING([--enable-snmp], [enable SNMP support for agentx]))
AC_ARG_ENABLE([config_rollbacks], AC_ARG_ENABLE([config_rollbacks],
@ -1450,6 +1452,16 @@ if test "x$enable_pcreposix" = "xyes"; then
fi fi
AC_SUBST([HAVE_LIBPCREPOSIX]) AC_SUBST([HAVE_LIBPCREPOSIX])
dnl ------------------
dnl check C-Ares library
dnl ------------------
PKG_CHECK_MODULES([CARES], [libcares], [
c_ares_found=true
],[
c_ares_found=false
])
AM_CONDITIONAL([CARES], [$c_ares_found])
dnl ########################################################################## dnl ##########################################################################
dnl test "${enable_clippy_only}" != "yes" dnl test "${enable_clippy_only}" != "yes"
fi fi
@ -1519,10 +1531,22 @@ fi
NHRPD="" NHRPD=""
case "$host_os" in case "$host_os" in
linux*) linux*)
if test "${enable_nhrpd}" != "no"; then case "${enable_nhrpd}" in
no)
;;
yes)
if [ "$c_ares_found" != "true" ]; then
AC_MSG_ERROR([nhrpd requires libcares. Please install c-ares and its -dev headers.])
fi
NHRPD="nhrpd"
;;
*)
if [ "$c_ares_found" = "true" ]; then
NHRPD="nhrpd" NHRPD="nhrpd"
fi fi
;; ;;
esac
;;
*) *)
if test "${enable_nhrpd}" = "yes"; then if test "${enable_nhrpd}" = "yes"; then
AC_MSG_ERROR([nhrpd requires kernel APIs that are only present on Linux.]) AC_MSG_ERROR([nhrpd requires kernel APIs that are only present on Linux.])
@ -1555,19 +1579,28 @@ if test "${enable_bgp_vnc}" != "no";then
AC_DEFINE([ENABLE_BGP_VNC], [1], [Enable BGP VNC support]) AC_DEFINE([ENABLE_BGP_VNC], [1], [Enable BGP VNC support])
fi fi
bgpd_bmp=false
case "${enable_bmp}" in
no)
;;
yes)
if [ "$c_ares_found" != "true" ]; then
AC_MSG_ERROR([BMP support requires libcares. Please install c-ares and its -dev headers.])
fi
bgpd_bmp=true
;;
*)
if [ "$c_ares_found" = "true" ]; then
bgpd_bmp=true
fi
;;
esac
dnl ########################################################################## dnl ##########################################################################
dnl LARGE if block dnl LARGE if block
if test "${enable_clippy_only}" != "yes"; then if test "${enable_clippy_only}" != "yes"; then
dnl ########################################################################## dnl ##########################################################################
dnl ------------------
dnl check C-Ares library
dnl ------------------
PKG_CHECK_MODULES([CARES], [libcares], ,[
AC_MSG_ERROR([libcares not found. install c-ares and its -dev headers.])
])
AM_CONDITIONAL([CARES], [true])
dnl ------------------ dnl ------------------
dnl check Net-SNMP library dnl check Net-SNMP library
dnl ------------------ dnl ------------------
@ -2191,6 +2224,7 @@ AC_DEFINE_UNQUOTED([WATCHFRR_SH_PATH], ["${CFG_SBIN%/}/watchfrr.sh"], [path to w
dnl various features dnl various features
AM_CONDITIONAL([SUPPORT_REALMS], [test "${enable_realms}" = "yes"]) AM_CONDITIONAL([SUPPORT_REALMS], [test "${enable_realms}" = "yes"])
AM_CONDITIONAL([ENABLE_BGP_VNC], [test x${enable_bgp_vnc} != xno]) AM_CONDITIONAL([ENABLE_BGP_VNC], [test x${enable_bgp_vnc} != xno])
AM_CONDITIONAL([BGP_BMP], [$bgpd_bmp])
dnl northbound dnl northbound
AM_CONDITIONAL([SQLITE3], [$SQLITE3]) AM_CONDITIONAL([SQLITE3], [$SQLITE3])
AM_CONDITIONAL([CONFD], [test "x$enable_confd" != "x"]) AM_CONDITIONAL([CONFD], [test "x$enable_confd" != "x"])