]> git.pld-linux.org Git - packages/mbrowse.git/blob - mbrowse-ac_fixes.patch
- release 3
[packages/mbrowse.git] / mbrowse-ac_fixes.patch
1 --- /dev/null   Tue May  5 22:32:27 1998
2 +++ mbrowse-0.3.0/acinclude.m4  Sun Jan 19 10:47:16 2003
3 @@ -0,0 +1,303 @@
4 +# Configure paths for net-snmp or ucd-snmp.
5 +# This is really messy, but should thouroughly
6 +# check everything, and be pretty foolproof.
7 +# Some of the tests seem redundant, but it seemed
8 +# the sanest way to make it fairly robust.
9 +#
10 +# $Revision$
11 +#
12 +# Last Modified:
13 +# $Author$
14 +# $Date$
15 +#
16 +# Various pieces were snagged from other m4 files.
17 +#
18 +
19 +dnl AM_PATH_NETSNMP([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
20 +
21 +dnl Test for net-snmp and define NETSNMP_CFLAGS and NETSNMP_LIBS
22 +
23 +AC_DEFUN(AM_PATH_NETSNMP,[
24 +    AC_ARG_WITH(snmp-type,
25 +      [  --with-snmp-type=TYPE   Which snmp version to use (net or ucd)],
26 +      snmp_type="$withval",snmp_type="")
27 +    AC_ARG_WITH(snmp-prefix,
28 +      [  --with-snmp-prefix=PFX  Prefix where net/ucd snmp is installed (optional)],
29 +      snmp_prefix="$withval",snmp_prefix="")
30 +    AC_ARG_WITH(snmp-include,
31 +      [  --with-snmp-include=DIR Directory pointing to snmp include files (optional)],
32 +      snmp_include="$withval",snmp_include="")
33 +    AC_ARG_WITH(snmp-lib,
34 +      [  --with-snmp-lib=LIB     Directory containing the snmp library to use (optional)
35 +                           (Notes: -lib ignored for net-snmp, -lib and -include
36 +                            override -prefix)],
37 +      snmp_lib="$withval",snmp_lib="")
38 +
39 +    guess_type=""
40 +    SNMP_CFLAGS=""
41 +    SNMP_LIBS=""
42 +
43 +    dnl
44 +    dnl Check the user-provided include and libs first
45 +    dnl
46 +
47 +    if test "x$snmp_include" != "x" ; then
48 +      for trytype in ucd net ${snmp_type} ; do
49 +        if test -d "$snmp_include/$trytype-snmp" ; then
50 +         SNMP_CFLAGS="-I$snmp_include"
51 +         guess_type="$trytype"
52 +         found_snmp_incl="1"
53 +        fi
54 +      done
55 +    fi
56 +
57 +    if test "x$snmp_lib" != "x" ; then
58 +      for trytype in libsnmp.sl libsnmp.so libsnmp.a  libnetsnmp.sl libnetsnmp.so libnetsnmp.a ; do
59 +        if test -r "$snmp_lib/$trytype" ; then
60 +         SNMP_LIBS="-L$snmp_lib -lsnmp"
61 +         found_snmp_lib="1"
62 +        fi
63 +      done
64 +    fi
65 +
66 +    dnl
67 +    dnl Check for --with-snmp-type and -prefix at the same time
68 +    dnl
69 +
70 +    AC_MSG_CHECKING([for snmp-type])
71 +
72 +    for tryprefix in /usr /usr/local /usr/pkg $snmp_prefix ; do
73 +
74 +      if test "x$found_snmp_incl" = "x" ; then
75 +        for trytype in ucd net ${snmp_type} ; do
76 +          if test -d "$tryprefix/include/$trytype-snmp" ; then
77 +            SNMP_CFLAGS="-I$tryprefix/include"
78 +           guess_type="$trytype"
79 +           backup_prefix="$tryprefix"
80 +         fi
81 +        done
82 +      fi
83 +
84 +      if test "x$found_snmp_lib" = "x" ; then
85 +        for trytype in libsnmp.sl libsnmp.so libsnmp.a libnetsnmp.sl libnetsnmp.so libnetsnmp.a ; do
86 +          if test -r "$tryprefix/lib/$trytype" ; then
87 +            SNMP_LIBS="-L$tryprefix/lib -lsnmp"
88 +          fi
89 +        done
90 +      fi
91 +
92 +    done
93 +
94 +    if test "x$SNMP_LIBS" = "x" ; then
95 +      if test "x$SNMP_CFLAGS" = "x" ; then
96 +        echo 
97 +        echo "***"
98 +        echo "*** Could not locate any version of ucd-snmp or net-snmp"
99 +        echo "***"
100 +        echo "*** Either it is not installed, or installed in a bizarre location."
101 +        echo "***"
102 +        echo "*** Try using one of the following switches:"
103 +        echo "***   --with-snmp-prefix=PFX"
104 +        echo "***   --with-snmp-include=DIR"
105 +        echo "***   --with-snmp-lib=DIR"
106 +        echo "***"
107 +        ifelse([$3], ,:,[$3])
108 +      else
109 +        echo
110 +        echo "***"
111 +        echo "*** Found snmp headers, but could not locate the libraries."
112 +        echo "***"
113 +        echo "*** Try using the following switch:"
114 +        echo "***   --with-snmp-prefix=PFX"
115 +        echo "***   --with-snmp-lib=DIR"
116 +        echo "***"
117 +        ifelse([$3], ,:,[$3])
118 +      fi
119 +    elif test "x$SNMP_CFLAGS" = "x" ; then
120 +      echo
121 +      echo "***"
122 +      echo "*** Found snmp libraries, but could not locate headers."
123 +      ehco "***"
124 +      echo "*** If this was installed from a package, the -devel package"
125 +      echo "*** was proabably not installed."
126 +      echo "***"
127 +      echo "*** Otherwise, try one of the following switches:"
128 +      echo "***   --with-snmp-prefix=PFX"
129 +      echo "***   --with-snmp-include=DIR"
130 +      echo "***"
131 +      ifelse([$3], ,:,[$3])
132 +    fi
133 +
134 +    if test "x$guess_type" = "xnet" ; then
135 +      if test "x$snmp_prefix" != "x" ; then
136 +        if test -x "$snmp_prefix/bin/net-snmp-config" ; then
137 +          SNMP_LIBS=`$snmp_prefix/bin/net-snmp-config --libs`
138 +         SNMP_CFLAGS="$SNMP_CFLAGS -DHAVE_NETSNMP"
139 +        else
140 +          guess_type="ucd"
141 +        fi
142 +      else
143 +        if test -x "$backup_prefix/bin/net-snmp-config" ; then
144 +         SNMP_LIBS=`$backup_prefix/bin/net-snmp-config --libs`
145 +         SNMP_CFLAGS="$SNMP_CFLAGS -DHAVE_NETSNMP"
146 +       else
147 +         guess_type="ucd"
148 +        fi
149 +      fi
150 +    fi
151 +
152 +    AC_MSG_RESULT($guess_type)
153 +
154 +    if test "x$guess_type" = "xucd" ; then
155 +      AC_CHECK_LIB(socket,getservbyname)
156 +      AC_CHECK_FUNC(gethostbyname, [], AC_CHECK_LIB(nsl, gethostbyname))
157 +      AC_CHECK_LIB(crypto,EVP_md5)
158 +      AC_CHECK_LIB(kstat,kstat_lookup)
159 +    elif test "x$guess_type" != "xnet" ; then
160 +      echo
161 +      echo "***"
162 +      echo "*** I have no clue what to do with this version of SNMP."
163 +      echo "*** Net-snmp or ucd-snmp must be installed."
164 +      echo "***"
165 +    fi
166 +    
167 +    ac_save_CFLAGS="$CFLAGS"
168 +    ac_save_LIBS="$LIBS"
169 +
170 +    CFLAGS="$CFLAGS $SNMP_CFLAGS"
171 +    LIBS="$SNMP_LIBS $LIBS"
172 +
173 +    AC_MSG_CHECKING([for $guess_type-snmp ifelse([$1], , ,[>= v$1])])
174 +    dnl if no minimum version is given, just try to compile
175 +    dnl else try to compile AND run
176 +
177 +    if test "x$1" = "x" ; then
178 +      AC_TRY_COMPILE([
179 +        #include <stdarg.h>
180 +        #include <stdio.h>
181 +        #include <string.h>
182 +        #include <sys/types.h>
183 +        #ifdef HAVE_NETSNMP
184 +        #  include <net-snmp/net-snmp-config.h>
185 +        #  include <net-snmp/net-snmp-includes.h>
186 +        #else
187 +        #  include <ucd-snmp/asn1.h>
188 +        #  include <ucd-snmp/snmp_api.h>
189 +        #  include <ucd-snmp/mib.h>
190 +        #  include <ucd-snmp/snmp.h>
191 +        #endif
192 +      ],[
193 +        struct snmp_session s;
194 +       bzero( &s, sizeof( struct snmp_session));
195 +       snmp_open(&s);
196 +      ],[AC_MSG_RESULT(yes)
197 +        CFLAGS="$ac_save_CFLAGS"
198 +        LIBS="$ac_save_LIBS"
199 +        ifelse([$2], ,:,[$2])
200 +      ],[
201 +        $snmp_fail="yes"
202 +      ])
203 +    else
204 +      snmp_min_version=$1
205 +      AC_TRY_RUN([
206 +        #include <stdarg.h>
207 +        #include <stdio.h>
208 +        #include <string.h>
209 +
210 +        #include <sys/types.h>
211 +        #ifdef HAVE_NETSNMP
212 +        #  include <net-snmp/net-snmp-config.h>
213 +        #  include <net-snmp/net-snmp-includes.h>
214 +        #  include <net-snmp/version.h>
215 +        #else
216 +        #  include <ucd-snmp/asn1.h>
217 +        #  include <ucd-snmp/snmp_api.h>
218 +        #  include <ucd-snmp/mib.h>
219 +        #  include <ucd-snmp/snmp.h>
220 +        #  include <ucd-snmp/version.h>
221 +        #endif
222 +
223 +        int main() {
224 +          int major, minor,micro;
225 +          int snmp_major, snmp_minor, snmp_micro;
226 +          char *version1, *version2;
227 +          struct snmp_session s;
228 +
229 +          bzero(&s, sizeof( struct snmp_session));
230 +          snmp_open(&s);
231 +
232 +         version1 = strdup( "$snmp_min_version" );
233 +          if( sscanf( version1, "%d.%d.%d", &major, &minor, &micro) != 2) {
234 +            printf( "%s, bad supplied version string\n", "$netsnmp_min_version");
235 +            exit(1);
236 +          }
237 +
238 +          #ifdef HAVE_NETSNMP
239 +           version2 = strdup( netsnmp_get_version() );
240 +          #else
241 +            version2 = strdup( VersionInfo);
242 +          #endif
243 +          if( sscanf( version2, "%d.%d.%d", &snmp_major, &snmp_minor, &snmp_micro) != 3) {
244 +           /* Some people tripped on this with 4.2... check for it */
245 +           if ( sscanf( version2, "%d.%d", &snmp_major, &snmp_minor) != 2) {
246 +              printf( "%s, bad net-snmp version string\n", version2);
247 +              exit(1);
248 +           }
249 +           snmp_micro=0;
250 +          }
251 +
252 +          if((snmp_major > major) ||
253 +            ((snmp_major == major) && (snmp_minor > minor)) ||
254 +            ((snmp_major == major) && (snmp_minor == minor)) ||
255 +           ((snmp_major == major) && (snmp_minor == minor) && (snmp_micro >= micro))) {
256 +
257 +           if ((snmp_major == 4) && (snmp_minor <= 2) && (snmp_micro <=1)) {
258 +             printf("\n***\n*** You are running ucd-snmp < 4.2.2. It\n"
259 +                    "*** is strongly suggested that you upgrade\n"
260 +                    "*** for security reasons.  See CERT Advisory\n"
261 +                    "**** CA-2002-03 for more details.\n***\n");
262 +           }
263 +            return 0;
264 +          } else {
265 +            printf("\n***\n*** An old version of net-snmp (%d.%d) was found.\n",
266 +                   snmp_major, snmp_minor);
267 +            printf("*** You need a version of net-snmp newer than %d.%d. The latest version of\n",
268 +                   major, minor);
269 +            printf("*** net-snmp is available from ftp://net-snmp.sourceforge.net/ .\n***\n");
270 +          }
271 +          return 1;
272 +      }
273 +    ],[AC_MSG_RESULT(yes)
274 +      CFLAGS="$ac_save_CFLAGS"
275 +      LIBS="$ac_save_LIBS"
276 +      ifelse([$2], ,:,[$2])
277 +    ],[
278 +      snmp_fail="yes"
279 +    ])
280 +  fi
281 +
282 +  if test "x$snmp_fail" != "x" ; then
283 +    echo
284 +    echo "***"
285 +    echo "*** Snmp test source had problems, check your config.log."
286 +    echo "*** Chances are, it couldn't find the headers or libraries."
287 +    echo "***"
288 +    echo "*** Also try one of the following switches :"
289 +    echo "***   --with-snmp-prefix=PFX"
290 +    echo "***   --with-snmp-include=DIR"
291 +    echo "***   --with-snmp-lib=DIR"
292 +    echo "***"
293 +    CFLAGS="$ac_save_CFLAGS"
294 +    LDFLAGS="$ac_save_LDFLAGS"
295 +    LIBS="$ac_save_LIBS"
296 +    ifelse([$3], ,:,[$3])
297 +  fi
298 +
299 +  CFLAGS="$ac_save_CFLAGS"
300 +  LDFLAGS="$ac_save_LDFLAGS"
301 +  LIBS="$ac_save_LIBS"
302 +
303 +  AC_SUBST(SNMP_CFLAGS)
304 +  AC_SUBST(SNMP_LIBS)
305 +])
306 +
This page took 0.067132 seconds and 3 git commands to generate.