aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-23 01:50:55 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-23 01:50:55 +0000
commit265f81cb5dfd65e174caaf7fb18a40b2683b814e (patch)
tree7a170571d4f0fe3f1da900cbd12cee0f9cc7dc16
parentc28707b6f17345b45ed0f75891763368f4180e01 (diff)
add basic autoconf support for res_snmp
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@35607 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--build_tools/menuselect-deps.in1
-rwxr-xr-xconfigure127
-rw-r--r--configure.ac10
-rw-r--r--makeopts.in2
-rw-r--r--res/Makefile19
-rw-r--r--res/res_snmp.c1
6 files changed, 136 insertions, 24 deletions
diff --git a/build_tools/menuselect-deps.in b/build_tools/menuselect-deps.in
index e1555ecfc..df89532c6 100644
--- a/build_tools/menuselect-deps.in
+++ b/build_tools/menuselect-deps.in
@@ -26,3 +26,4 @@ ZAPTEL=@PBX_LIBZAPTEL@
LIBGSM=@PBX_LIBgsm@
IKSEMEL=@PBX_LIBIKSEMEL@
IXJUSER=@PBX_IXJUSER@
+NETSNMP=@PBX_NETSNMP@
diff --git a/configure b/configure
index f10e21128..9a311b0f2 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 35391 .
+# From configure.ac Revision: 35439 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59e.
#
@@ -765,6 +765,9 @@ PG_CONFIG
pq_INCLUDE
pq_LIB
PBX_LIBpq
+NET_SNMP_CONFIG
+NETSNMP_LIBS
+PBX_NETSNMP
PBX_H323
PBX_IXJUSER
VPB_INCLUDE
@@ -17677,6 +17680,117 @@ fi
+NETSNMP_LIBS=
+PBX_NETSNMP=0
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}net-snmp-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}net-snmp-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_NET_SNMP_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $NET_SNMP_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_NET_SNMP_CONFIG="$NET_SNMP_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_NET_SNMP_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+NET_SNMP_CONFIG=$ac_cv_path_NET_SNMP_CONFIG
+if test -n "$NET_SNMP_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $NET_SNMP_CONFIG" >&5
+echo "${ECHO_T}$NET_SNMP_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_NET_SNMP_CONFIG"; then
+ ac_pt_NET_SNMP_CONFIG=$NET_SNMP_CONFIG
+ # Extract the first word of "net-snmp-config", so it can be a program name with args.
+set dummy net-snmp-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_NET_SNMP_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $ac_pt_NET_SNMP_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_NET_SNMP_CONFIG="$ac_pt_NET_SNMP_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_NET_SNMP_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_NET_SNMP_CONFIG=$ac_cv_path_ac_pt_NET_SNMP_CONFIG
+if test -n "$ac_pt_NET_SNMP_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $ac_pt_NET_SNMP_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_NET_SNMP_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_pt_NET_SNMP_CONFIG" = x; then
+ NET_SNMP_CONFIG="No"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ NET_SNMP_CONFIG=$ac_pt_NET_SNMP_CONFIG
+ fi
+else
+ NET_SNMP_CONFIG="$ac_cv_path_NET_SNMP_CONFIG"
+fi
+
+if test "x${NET_SNMP_CONFIG}" != "xNo" ; then
+ NETSNMP_LIBS=`${NET_SNMP_CONFIG} --agent-libs`
+ PBX_NETSNMP=1
+fi
+
+
+
if test "${ac_cv_header_h323_h+set}" = set; then
{ echo "$as_me:$LINENO: checking for h323.h" >&5
echo $ECHO_N "checking for h323.h... $ECHO_C" >&6; }
@@ -27193,6 +27307,9 @@ PG_CONFIG!$PG_CONFIG$ac_delim
pq_INCLUDE!$pq_INCLUDE$ac_delim
pq_LIB!$pq_LIB$ac_delim
PBX_LIBpq!$PBX_LIBpq$ac_delim
+NET_SNMP_CONFIG!$NET_SNMP_CONFIG$ac_delim
+NETSNMP_LIBS!$NETSNMP_LIBS$ac_delim
+PBX_NETSNMP!$PBX_NETSNMP$ac_delim
PBX_H323!$PBX_H323$ac_delim
PBX_IXJUSER!$PBX_IXJUSER$ac_delim
VPB_INCLUDE!$VPB_INCLUDE$ac_delim
@@ -27223,7 +27340,7 @@ POW_LIB!$POW_LIB$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 94; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -27242,7 +27359,7 @@ fi
cat >>$CONFIG_STATUS <<_ACEOF
cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
_ACEOF
sed '
s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
@@ -27255,8 +27372,6 @@ N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
' >>$CONFIG_STATUS <conf$$subs.sed
rm -f conf$$subs.sed
cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
CEOF$ac_eof
_ACEOF
@@ -27504,7 +27619,7 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed 's/|#_!!_#|//g' >$tmp/out
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
diff --git a/configure.ac b/configure.ac
index 23813573d..ef64bc536 100644
--- a/configure.ac
+++ b/configure.ac
@@ -367,6 +367,16 @@ AC_SUBST([pq_INCLUDE])
AC_SUBST([pq_LIB])
AC_SUBST([PBX_LIBpq])
+NETSNMP_LIBS=
+PBX_NETSNMP=0
+AC_PATH_TOOL([NET_SNMP_CONFIG], [net-snmp-config], No)
+if test "x${NET_SNMP_CONFIG}" != "xNo" ; then
+ NETSNMP_LIBS=`${NET_SNMP_CONFIG} --agent-libs`
+ PBX_NETSNMP=1
+fi
+AC_SUBST([NETSNMP_LIBS])
+AC_SUBST([PBX_NETSNMP])
+
AC_CHECK_HEADER([h323.h], [PBX_H323=1], [PBX_H323=0])
AC_SUBST(PBX_H323)
diff --git a/makeopts.in b/makeopts.in
index fced44200..9eb409d79 100644
--- a/makeopts.in
+++ b/makeopts.in
@@ -123,3 +123,5 @@ EDITLINE_LIBS=@EDITLINE_LIBS@
RADIUSCLIENT_LIB=@RADIUSCLIENT_LIB@
RADIUSCLIENT_INCLUDE=@RADIUSCLIENT_INCLUDE@
+
+NETSNMP_LIBS=@NETSNMP_LIBS@
diff --git a/res/Makefile b/res/Makefile
index c8781ed1c..fdfd1e074 100644
--- a/res/Makefile
+++ b/res/Makefile
@@ -23,23 +23,6 @@ ifeq ($(OSARCH),FreeBSD)
SELECTED_MODS:=$(filter-out $(shell if test ${BSDVERSION} -lt 500000 ; then echo "res_config_odbc"; fi),$(SELECTED_MODS))
endif
-# NETsnmp has some difficulties on some platforms (conflict with unload_module)
-# Until we figure out if the collission is version-specific or what to do
-# we have disabled res_snmp on OS/X and *BSD
-ifeq ($(OSARCH),Darwin)
- SELECTED_MODS:=$(filter-out res_snmp,$(SELECTED_MODS))
-else
- ifeq ($(findstring BSD,$(OSARCH)),BSD)
- SELECTED_MODS:=$(filter-out res_snmp,$(SELECTED_MODS))
- endif
-endif
-
-ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/net-snmp/net-snmp-config.h),)
- SELECTED_MODS:=$(filter-out res_snmp,$(SELECTED_MODS))
-else
- SNMP_LDLIBS+=$(shell net-snmp-config --agent-libs)
-endif
-
MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
all: $(MODS)
@@ -97,7 +80,7 @@ res_config_odbc.o: res_config_odbc.c
$(CC) -c -o $@ $(CFLAGS) $(ODBC_INCLUDE) $<
res_snmp.so: res_snmp.o snmp/agent.o
- $(CC) $(SOLINK) $(SNMP_LDFLAGS) -o $@ $< snmp/agent.o $(SNMP_LDLIBS)
+ $(CC) $(SOLINK) -o $@ $< snmp/agent.o $(NETSNMP_LIBS)
res_config_pgsql.so: res_config_pgsql.o
$(CC) $(SOLINK) -o $@ $< $(PGSQL_LIB)
diff --git a/res/res_snmp.c b/res/res_snmp.c
index 5fb48d5d4..bacc43962 100644
--- a/res/res_snmp.c
+++ b/res/res_snmp.c
@@ -15,6 +15,7 @@
*/
/*** MODULEINFO
+ <depend>netsnmp</depend>
<defaultenabled>no</defaultenabled>
***/