MSWSP: remove unused tree_item's
[wireshark-wip.git] / aclocal-fallback / libsmi.m4
blob69e8d741580a579e45ea002267e1b023f10518c5
1 # Configure paths for libsmi
2 # Shamelessly stolen from http://autoconf-archive.cryp.to/ax_lib_sqlite3.html
3 # $Id$
5 # Synopsis: AX_LIBSMI([minimum library version])
6 # The default minimum library version is 2
8 # This macro sets/substitutes the following:
9 # AC_DEFINE(HAVE_LIBSMI)
10 # AC_SUBST(LIBSMI_CFLAGS)
11 # AC_SUBST(LIBSMI_LDFLAGS)
12 # AC_SUBST(LIBSMI_VERSION)
13 # $libsmi_message is set to "yes" or "no"
15 AC_DEFUN([AX_LIBSMI],
17     AC_ARG_WITH([libsmi],
18         AC_HELP_STRING(
19             [--with-libsmi=@<:@DIR@:>@],
20             [use libsmi MIB/PIB library @<:@default=yes@:>@, optionally specify the prefix for libsmi]
21         ),
22         [
23         if test "$withval" = "no"; then
24             WANT_LIBSMI="no"
25         elif test "$withval" = "yes"; then
26             WANT_LIBSMI="yes"
27             ac_libsmi_path=""
28         else
29             WANT_LIBSMI="yes"
30             ac_libsmi_path="$withval"
31         fi
32         ],
33         [WANT_LIBSMI="yes"]
34     )
36     libsmi_message="no"
37     LIBSMI_CFLAGS=""
38     LIBSMI_LDFLAGS=""
39     LIBSMI_VERSION=""
41     if test "x$WANT_LIBSMI" = "xyes"; then
43         ac_libsmi_header="smi.h"
45         libsmi_version_req=ifelse([$1], [], [2], [$1])
47         AC_MSG_CHECKING([for libsmi >= $libsmi_version_req])
49         if test "$ac_libsmi_path" != ""; then
50             ac_libsmi_ldflags="-L$ac_libsmi_path/lib"
51             ac_libsmi_cflags="-I$ac_libsmi_path/include"
52         else
53             for ac_libsmi_path_tmp in /usr /usr/local /opt $prefix; do
54                 if test -f "$ac_libsmi_path_tmp/include/$ac_libsmi_header" \
55                     && test -r "$ac_libsmi_path_tmp/include/$ac_libsmi_header"; then
56                     ac_libsmi_path=$ac_libsmi_path_tmp
57                     ac_libsmi_ldflags="-L$ac_libsmi_path_tmp/lib"
58                     ac_libsmi_cflags="-I$ac_libsmi_path_tmp/include"
59                     break;
60                 fi
61             done
62         fi
64         ac_libsmi_ldflags="$ac_libsmi_ldflags -lsmi"
66         saved_CFLAGS="$CFLAGS"
67         CFLAGS="$CFLAGS $ac_libsmi_cflags"
69         AC_LANG_PUSH(C)
70         AC_COMPILE_IFELSE(
71             [
72             AC_LANG_PROGRAM([[@%:@include <smi.h>]],
73                 [[
74   int current, revision, age, n;
75   const int required = $libsmi_version_req;
76   if (smiInit(""))
77     exit(1);
78   if (strcmp(SMI_LIBRARY_VERSION, smi_library_version))
79     exit(2);
80   n = sscanf(smi_library_version, "%d:%d:%d", &current, &revision, &age);
81   if (n != 3)
82     exit(3);
83   if (required < current - age || required > current)
84     exit(4);
85                 ]]
86             )
87             ],
88             [
89             AC_MSG_RESULT([yes])
90             libsmi_message="yes"
91             ],
92             [
93             AC_MSG_RESULT([not found])
94             libsmi_message="no"
95             ]
96         )
97         AC_LANG_POP([C])
99         CFLAGS="$saved_CFLAGS"
101         if test "$libsmi_message" = "yes"; then
103             LIBSMI_CFLAGS="$ac_libsmi_cflags"
104             LIBSMI_LDFLAGS="$ac_libsmi_ldflags"
106             ac_libsmi_header_path="$ac_libsmi_path/include/$ac_libsmi_header"
108             dnl Retrieve libsmi release version
109             if test "x$ac_libsmi_header_path" != "x"; then
110                 ac_libsmi_version=`cat $ac_libsmi_header_path \
111                     | grep '#define.*SMI_LIBRARY_VERSION.*\"' | sed -e 's/.* "//' \
112                         | sed -e 's/"//'`
113                 if test $ac_libsmi_version != ""; then
114                     LIBSMI_VERSION=$ac_libsmi_version
115                 else
116                     AC_MSG_WARN([Can not find SMI_LIBRARY_VERSION macro in smi.h header to retrieve libsmi version!])
117                 fi
118             fi
120             AC_SUBST(LIBSMI_CFLAGS)
121             AC_SUBST(LIBSMI_LDFLAGS)
122             AC_SUBST(LIBSMI_VERSION)
123             AC_DEFINE(HAVE_LIBSMI, 1, [Define to 1 if you have the `smi' library (-lsmi).])
124         fi
125     fi