Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Quagga: Dev

[PATCH 3/5] build: use net-snmp-config to configure NetSNMP

 

 

Quagga dev RSS feed   Index | Next | Previous | View Threaded


bernat at luffy

May 24, 2012, 1:56 AM

Post #1 of 1 (237 views)
Permalink
[PATCH 3/5] build: use net-snmp-config to configure NetSNMP

The correct method to link to NetSNMP is to use net-snmp-config (which
is like pkg-config). Explicit link to libcrypto is also dropped
(NetSNMP libs are linked to libcrypto, no need to link Quagga to
it). Moreover, @SNMP_INCLUDES@ is dropped because useless. Due to a
bug in configure.ac, it was properly populated.
---
babeld/Makefile.am | 2 +-
bgpd/Makefile.am | 2 +-
configure.ac | 35 +++++++++++++++++++----------------
lib/Makefile.am | 2 +-
ospf6d/Makefile.am | 2 +-
ospfd/Makefile.am | 2 +-
ripd/Makefile.am | 2 +-
ripngd/Makefile.am | 2 +-
vtysh/extract.pl.in | 2 +-
zebra/Makefile.am | 2 +-
10 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/babeld/Makefile.am b/babeld/Makefile.am
index 81f6612..af1201a 100644
--- a/babeld/Makefile.am
+++ b/babeld/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/bgpd/Makefile.am b/bgpd/Makefile.am
index e5ee893..9928734 100644
--- a/bgpd/Makefile.am
+++ b/bgpd/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/configure.ac b/configure.ac
index c3c651f..1ad2b75 100755
--- a/configure.ac
+++ b/configure.ac
@@ -221,8 +221,6 @@ AC_ARG_ENABLE(netlink,
[ --enable-netlink force to use Linux netlink interface])
AC_ARG_ENABLE(broken-aliases,
[ --enable-broken-aliases enable aliases as distinct interfaces for Linux 2.2.X])
-AC_ARG_WITH(crypto,
-[ --without-crypto do not use libcrypto in SNMP])
AC_ARG_ENABLE(snmp,
[ --enable-snmp enable SNMP support])
AC_ARG_WITH(libpam,
@@ -1366,19 +1364,24 @@ dnl ------------------
dnl check Net-SNMP library
dnl ------------------
if test "${enable_snmp}" = "yes"; then
- if test "$with_crypto" != "no"; then
- LIBS="${LIBS} -lcrypto";
- fi
- AC_CHECK_LIB(netsnmp, asn_parse_int,
- [AC_DEFINE(HAVE_SNMP,,SNMP)
- LIBS="${LIBS} -lnetsnmp"],
- [AC_MSG_ERROR([--enable-snmp given, but cannot find support for SNMP])])
-
- AC_CHECK_HEADER([net-snmp/net-snmp-config.h],
- [],
- [AC_MSG_ERROR([--enable-snmp given, but cannot find net-snmp-config.h])],
- QUAGGA_INCLUDES)
- AC_SUBST(SNMP_INCLUDES)
+ AC_PATH_TOOL([NETSNMP_CONFIG], [net-snmp-config], [no])
+ if test x"$NETSNMP_CONFIG" = x"no"; then
+ AC_MSG_ERROR([--enable-snmp given but unable to find net-snmp-config])
+ fi
+ LIBS="$LIBS `${NETSNMP_CONFIG} --agent-libs`"
+ CFLAGS="$CFLAGS `${NETSNMP_CONFIG} --base-cflags`"
+ AC_MSG_CHECKING([whether we can link to Net-SNMP])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([
+int main(void);
+],
+[
+{
+ return 0;
+}
+])],[AC_MSG_RESULT(yes)],[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([--enable-snmp given but not usable])])
+ AC_DEFINE(HAVE_SNMP,,SNMP)
fi

dnl ---------------------------
@@ -1624,7 +1627,7 @@ source code location : ${srcdir}
compiler : ${CC}
compiler flags : ${CFLAGS}
make : ${MAKE-make}
-includes : ${INCLUDES} ${SNMP_INCLUDES}
+includes : ${INCLUDES}
linker flags : ${LDFLAGS} ${LIBS} ${LIBCAP} ${LIBREADLINE} ${LIBM}
state file directory : ${quagga_statedir}
config file directory : `eval echo \`echo ${sysconfdir}\``
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 4c67858..d01cf72 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"

lib_LTLIBRARIES = libzebra.la
diff --git a/ospf6d/Makefile.am b/ospf6d/Makefile.am
index d05b020..726ce54 100644
--- a/ospf6d/Makefile.am
+++ b/ospf6d/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/ospfd/Makefile.am b/ospfd/Makefile.am
index d0b4ae8..f968d7d 100644
--- a/ospfd/Makefile.am
+++ b/ospfd/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/ripd/Makefile.am b/ripd/Makefile.am
index 3196090..b0bc7a8 100644
--- a/ripd/Makefile.am
+++ b/ripd/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/ripngd/Makefile.am b/ripngd/Makefile.am
index 83ddca0..de5beba 100644
--- a/ripngd/Makefile.am
+++ b/ripngd/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
INSTALL_SDATA=@INSTALL@ -m 600

diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
index 99224f8..2dbaf0a 100755
--- a/vtysh/extract.pl.in
+++ b/vtysh/extract.pl.in
@@ -63,7 +63,7 @@ $ignore{'"show history"'} = "ignore";
foreach (@ARGV) {
$file = $_;

- open (FH, "cpp -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I [at] top_builddi@ -I [at] srcdi@/ -I [at] srcdi@/.. -I [at] top_srcdi@/lib -I [at] top_builddi@/lib -I [at] top_srcdi@/isisd/topology @SNMP_INCLUDES@ @CPPFLAGS@ $file |");
+ open (FH, "cpp -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I [at] top_builddi@ -I [at] srcdi@/ -I [at] srcdi@/.. -I [at] top_srcdi@/lib -I [at] top_builddi@/lib -I [at] top_srcdi@/isisd/topology @CPPFLAGS@ $file |");
local $/; undef $/;
$line = <FH>;
close (FH);
diff --git a/zebra/Makefile.am b/zebra/Makefile.am
index e5b749a..9ac90f8 100644
--- a/zebra/Makefile.am
+++ b/zebra/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.

-INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib @SNMP_INCLUDES@
+INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DMULTIPATH_NUM=@MULTIPATH_NUM@
INSTALL_SDATA=@INSTALL@ -m 600

--
1.7.10

_______________________________________________
Quagga-dev mailing list
Quagga-dev [at] lists
http://lists.quagga.net/mailman/listinfo/quagga-dev

Quagga dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.