#!/bin/sh # this shell script is designed to merely dump the configuration # information about how the net-snmp package was compiled. The # information is particularily useful for applications that need to # link against the net-snmp libraries and hence must know about any # other libraries that must be linked in as well. NSC_BASE_AGENT_LIBS="-lnetsnmpagent -lnetsnmpmibs -lnetsnmphelpers -lnetsnmp" if test "x$1" = "x"; then usage="yes" else exec_prefix=@exec_prefix@ prefix=@exec_prefix@ case $1 in --debug-tokens) echo "find NET-SNMP-SOURCE-DIR -name \"*.c\" -print | xargs grep DEBUGMSGT | grep \\\" | cut -f 2 -d\\\" | sort -u" ;; --indent-options) echo "indent -orig -nbc -bap -nut -nfca `(cd NET-SNMP-INCLUDE-DIR; perl -n -e 'print "-T $1 " if (/}\s*(netsnmp_\w+)\s*;/);' */*.h)`" ;; --configure-options) echo @CONFIGURE_OPTIONS@ ;; --snmpd-module-list) echo @MODULE_LIST@ ;; --base-cflags) echo @CFLAGS@ @CPPFLAGS@ -I@includedir@ ;; --cflags) echo @CFLAGS@ @DEVFLAGS@ @CPPFLAGS@ -I. -I@includedir@ ;; --agent-libs) # use this one == --netsnmp-agent-libs + --external-libs echo @LDFLAGS@ -L@libdir@ $NSC_BASE_AGENT_LIBS @AGENTLIBS@ @WRAPLIBS@ ;; --libs) # use this one == --netsnmp-libs + --external-libs echo @LDFLAGS@ -L@libdir@ -lnetsnmp @LIBS@ ;; --external-libs) echo @LDFLAGS@ @LIBS@ ;; --external-agent-libs) echo @LDFLAGS@ @AGENTLIBS@ @WRAPLIBS@ ;; --netsnmp-libs) echo -L@libdir@ -lnetsnmp ;; --netsnmp-agent-libs) echo -L@libdir@ $NSC_BASE_AGENT_LIBS ;; --version) echo @VERSION@ ;; --help) usage="yes" ;; --prefix) echo @prefix@ ;; --exec-prefix) echo @exec_prefix@ ;; --create-snmpv3-user) if @PSCMD@ | egrep ' snmpd *$' > /dev/null 2>&1 ; then echo "Apparently at least one snmpd demon is already running." echo "You must stop them in order to use this command." exit 1 fi Aalgorithm="MD5" Xalgorithm="DES" token=rwuser shift arg=$1 shift while test "x$done" = "x" -a "x$arg" != "x" ; do case $arg in -A) Aalgorithm=$1 shift ;; -X) Xalgorithm=$1 shift ;; -a) apassphrase=$1 shift ;; -x) xpassphrase=$1 shift ;; -ro) token="rouser" ;; -*) echo "unknown suboption to --create-snmpv3-user: $arg" exit 1 ;; *) done=1 ;; esac if test "x$done" = "x" ; then arg=$1 shift fi done user=$arg if test "x$user" = "x" ; then prompt=yes echo "Enter a SNMPv3 user name to create: " read user fi if test "x$user" = "x" ; then echo "You must specify a user name" exit 1 fi if test "x$apassphrase" = "x" ; then prompt=yes echo "Enter authentication pass-phrase: " read apassphrase else shift fi if test "x$apassphrase" = "x" ; then echo "You must specify an authentication pass-phrase" exit 1 fi if test "x$prompt" = "xyes" -a "x$xpassphrase" = "x" ; then echo "Enter encryption pass-phrase: " echo " [press return to reuse the authentication pass-phrase]" read xpassphrase fi outfile="@PERSISTENT_DIRECTORY@/snmpd.conf" line="createUser $user $Aalgorithm \"$apassphrase\" $Xalgorithm $xpassphrase" echo "adding the following line to $outfile:" echo " " $line echo $line >> $outfile outfile="@datadir@/snmp/snmpd.conf" line="$token $user" echo "adding the following line to $outfile:" echo " " $line echo $line >> $outfile ;; --compile-subagent) shift outname=$1 shift if test $1 = "--norm" ; then norm=1 shift fi if test $1 = "--cflags" ; then shift cflags=$1 echo "setting extra cflags: $cflags" shift fi if test $1 = "--ldflags" ; then shift ldflags=$1 echo "setting extra ldflags: $ldflags" shift fi tmpfile=netsnmptmp.$$.c if test -f $tmpfile; then echo "Ack. Can't create $tmpfile: already exists" exit 1 fi echo "generating the tmporary code file: $tmpfile" rm -f $tmp cat > $tmpfile < #ifdef HAVE_SIGNAL_H #include #endif /* HAVE_SIGNAL_H */ #include #include EOF # add include files while test "$1" != ""; do cfiles="$cfiles $1" name=`basename $1 | sed 's/\.[co]$/.h/'` if test -f $name.h; then if grep "init_$name" $name; then echo " #include\"$name\"" >> $tmpfile fi fi shift done cat >> $tmpfile <> $tmpfile fi shift done # finish file cat >> $tmpfile <