|
Packit |
e9ba0d |
#
|
|
Packit |
e9ba0d |
# lldp_CHECK_SNMP
|
|
Packit |
e9ba0d |
#
|
|
Packit |
e9ba0d |
AC_DEFUN([lldp_CHECK_SNMP], [
|
|
Packit |
e9ba0d |
if test x"$with_snmp" != x"no"; then
|
|
Packit |
e9ba0d |
AC_PATH_TOOL([NETSNMP_CONFIG], [net-snmp-config], [no])
|
|
Packit |
e9ba0d |
if test x"$NETSNMP_CONFIG" = x"no"; then
|
|
Packit |
e9ba0d |
dnl No luck
|
|
Packit |
e9ba0d |
if test x"$with_snmp" = x"yes"; then
|
|
Packit |
e9ba0d |
AC_MSG_FAILURE([*** no NetSNMP support found])
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
with_snmp=no
|
|
Packit |
e9ba0d |
else
|
|
Packit |
e9ba0d |
dnl Check it is working as expected
|
|
Packit |
e9ba0d |
NETSNMP_LIBS=`${NETSNMP_CONFIG} --agent-libs`
|
|
Packit |
e9ba0d |
NETSNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags` -DNETSNMP_NO_INLINE"
|
|
Packit |
e9ba0d |
|
|
Packit |
e9ba0d |
_save_flags="$CFLAGS"
|
|
Packit |
e9ba0d |
_save_libs="$LIBS"
|
|
Packit |
e9ba0d |
CFLAGS="$CFLAGS ${NETSNMP_CFLAGS}"
|
|
Packit |
e9ba0d |
LIBS="$LIBS ${NETSNMP_LIBS}"
|
|
Packit |
e9ba0d |
AC_MSG_CHECKING([whether C compiler supports flag "${NETSNMP_CFLAGS} ${NETSNMP_LIBS}" from Net-SNMP])
|
|
Packit |
e9ba0d |
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
Packit |
e9ba0d |
int main(void);
|
|
Packit |
e9ba0d |
],
|
|
Packit |
e9ba0d |
[
|
|
Packit |
e9ba0d |
{
|
|
Packit |
e9ba0d |
return 0;
|
|
Packit |
e9ba0d |
}
|
|
Packit |
e9ba0d |
])],[
|
|
Packit |
e9ba0d |
AC_MSG_RESULT(yes)
|
|
Packit |
e9ba0d |
dnl Is Net-SNMP usable?
|
|
Packit |
e9ba0d |
AC_CHECK_LIB([netsnmp], [snmp_register_callback], [
|
|
Packit |
e9ba0d |
dnl Do we have subagent support?
|
|
Packit |
e9ba0d |
AC_CHECK_FUNCS([netsnmp_enable_subagent], [
|
|
Packit |
e9ba0d |
dnl Yes, we need to check a few more things
|
|
Packit |
e9ba0d |
AC_SUBST([NETSNMP_LIBS])
|
|
Packit |
e9ba0d |
AC_SUBST([NETSNMP_CFLAGS])
|
|
Packit |
e9ba0d |
AC_DEFINE_UNQUOTED([USE_SNMP], 1, [Define to indicate to enable SNMP support])
|
|
Packit |
e9ba0d |
with_snmp=yes
|
|
Packit |
e9ba0d |
|
|
Packit |
e9ba0d |
dnl Should we use f_create_from_tstring_new or f_create_from_tstring?
|
|
Packit |
e9ba0d |
AC_CHECK_MEMBERS([netsnmp_tdomain.f_create_from_tstring_new],,,[
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/net-snmp-config.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/net-snmp-includes.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/library/snmp_transport.h>
|
|
Packit |
e9ba0d |
])
|
|
Packit |
e9ba0d |
dnl Do we have a usable <net-snmp/agent/util_funcs.h> header?
|
|
Packit |
e9ba0d |
AC_CHECK_HEADERS([net-snmp/agent/util_funcs.h],,,[
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/net-snmp-config.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/net-snmp-includes.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/library/snmp_transport.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/agent/net-snmp-agent-includes.h>
|
|
Packit |
e9ba0d |
@%:@include <net-snmp/agent/snmp_vars.h>
|
|
Packit |
e9ba0d |
])
|
|
Packit |
e9ba0d |
dnl Can we use snmp_select_info2?
|
|
Packit |
e9ba0d |
AC_CHECK_FUNCS([snmp_select_info2])
|
|
Packit |
e9ba0d |
],[
|
|
Packit |
e9ba0d |
if test x"$with_snmp" = x"yes"; then
|
|
Packit |
e9ba0d |
AC_MSG_ERROR([*** no subagent support in net-snmp])
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
with_snmp=no
|
|
Packit |
e9ba0d |
])
|
|
Packit |
e9ba0d |
],[
|
|
Packit |
e9ba0d |
if test x"$with_snmp" = x"yes"; then
|
|
Packit |
e9ba0d |
AC_MSG_ERROR([*** unable to use net-snmp])
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
with_snmp=no
|
|
Packit |
e9ba0d |
])
|
|
Packit |
e9ba0d |
],[
|
|
Packit |
e9ba0d |
AC_MSG_RESULT(no)
|
|
Packit |
e9ba0d |
if test x"$with_snmp" = x"yes"; then
|
|
Packit |
e9ba0d |
AC_MSG_ERROR([*** incorrect CFLAGS from net-snmp-config])
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
with_snmp=no
|
|
Packit |
e9ba0d |
])
|
|
Packit |
e9ba0d |
|
|
Packit |
e9ba0d |
CFLAGS="$_save_flags"
|
|
Packit |
e9ba0d |
LIBS="$_save_libs"
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
fi
|
|
Packit |
e9ba0d |
])
|