Fix INADDR_NONE value (for systems which don't define it).
[monitoring-plugins.git] / acinclude.m4
blob7de6555013d5b22350115e5f51dc96210b1370f3
1 dnl @synopsis ACX_WHICH_GETHOSTBYNAME_R
2 dnl
3 dnl Provides a test to determine the correct way to call gethostbyname_r
4 dnl
5 dnl defines HAVE_GETHOSTBYNAME_R to the number of arguments required
6 dnl
7 dnl e.g. 6 arguments (linux)
8 dnl e.g. 5 arguments (solaris)
9 dnl e.g. 3 arguments (osf/1)
10 dnl
11 dnl @version $Id$
12 dnl @author Brian Stafford <brian@stafford.uklinux.net>
13 dnl
14 dnl based on version by Caolan McNamara <caolan@skynet.ie>
15 dnl based on David Arnold's autoconf suggestion in the threads faq
16 dnl
17 AC_DEFUN([ACX_WHICH_GETHOSTBYNAME_R],
18 [AC_CACHE_CHECK(number of arguments to gethostbyname_r,
19                 acx_which_gethostbyname_r, [
20         AC_TRY_COMPILE([
21 #               include <netdb.h> 
22         ],      [
24         char *name;
25         struct hostent *he;
26         struct hostent_data data;
27         (void) gethostbyname_r(name, he, &data);
29                 ],acx_which_gethostbyname_r=3, 
30                         [
31 dnl                     acx_which_gethostbyname_r=0
32   AC_TRY_COMPILE([
33 #   include <netdb.h>
34   ], [
35         char *name;
36         struct hostent *he, *res;
37         char *buffer = NULL;
38         int buflen = 2048;
39         int h_errnop;
40         (void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop)
41   ],acx_which_gethostbyname_r=6,
42   
43   [
44 dnl  acx_which_gethostbyname_r=0
45   AC_TRY_COMPILE([
46 #   include <netdb.h>
47   ], [
48                         char *name;
49                         struct hostent *he;
50                         char *buffer = NULL;
51                         int buflen = 2048;
52                         int h_errnop;
53                         (void) gethostbyname_r(name, he, buffer, buflen, &h_errnop)
54   ],acx_which_gethostbyname_r=5,acx_which_gethostbyname_r=0)
56   ]
57   
58   )
59                         ]
60                 )
61         ])
63 if test $acx_which_gethostbyname_r -gt 0 ; then
64     AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME_R], $acx_which_gethostbyname_r,
65                        [Number of parameters to gethostbyname_r or 0 if not available])
70 dnl @synopsis ACX_HELP_STRING(OPTION,DESCRIPTION)
71 AC_DEFUN([ACX_HELP_STRING],
72          [  $1 builtin([substr],[                       ],len($1))[$2]])
75 dnl @synopsis ACX_FEATURE(ENABLE_OR_WITH,NAME[,VALUE])
76 AC_DEFUN([ACX_FEATURE],
77          [echo "builtin([substr],[                                  ],len(--$1-$2))--$1-$2: ifelse($3,,[$]translit($1-$2,-,_),$3)"])