]> arthur.barton.de Git - netatalk.git/blob - macros/snprintf-check.m4
PAM config for FreeBSD
[netatalk.git] / macros / snprintf-check.m4
1 dnl Check for (v)snprintf functions
2
3 AC_DEFUN([NETATALK_SNPRINTF_CHECK], [
4         AC_CHECK_FUNCS(snprintf vsnprintf)
5
6         AC_CHECK_HEADERS(stdarg.h varargs.h)
7
8         AC_CHECK_FUNCS(strerror)
9         AC_CACHE_CHECK(for errno,
10         ac_cv_errno,
11         [
12         AC_TRY_LINK(,[extern int errno; return (errno);],
13                 ac_cv_errno=yes, ac_cv_errno=no)
14         ])
15         if test "$ac_cv_errno" = yes; then
16                 AC_DEFINE(HAVE_ERRNO, 1, [Define if errno declaration exists])
17                 AC_CACHE_CHECK(for errno declaration,
18                 ac_cv_decl_errno,
19                 [
20                 AC_TRY_COMPILE([
21                 #include <stdio.h>
22                 #ifdef HAVE_STDLIB_H
23                 #include <stdlib.h>
24                 #endif
25                 #ifdef HAVE_UNISTD_H
26                 #include <unistd.h>
27                 #endif
28                 #ifdef HAVE_ERRNO_H
29                 #include <errno.h>
30                 #endif
31                 ],[return(sys_nerr);],
32                         ac_cv_decl_errno=yes, ac_cv_decl_errno=no)
33                 ])
34                 if test "$ac_cv_decl_errno" = yes; then
35                         AC_DEFINE(HAVE_DECL_ERRNO, 1, [Define if errno declaration exists])
36                 fi;
37         fi
38
39         AC_CACHE_CHECK(for sys_nerr,
40         ac_cv_sys_nerr,
41         [
42         AC_TRY_LINK(,[extern int sys_nerr; return (sys_nerr);],
43                 ac_cv_sys_nerr=yes, ac_cv_sys_nerr=no)
44         ])
45         if test "$ac_cv_sys_nerr" = yes; then
46                 AC_DEFINE(HAVE_SYS_NERR, 1, [Define if sys_nerr declaration exists])
47                 AC_CACHE_CHECK(for sys_nerr declaration,
48                 ac_cv_decl_sys_nerr,
49                 [
50                 AC_TRY_COMPILE([
51                 #include <stdio.h>
52                 #ifdef HAVE_STDLIB_H
53                 #include <stdlib.h>
54                 #endif
55                 #ifdef HAVE_UNISTD_H
56                 #include <unistd.h>
57                 #endif],[return(sys_nerr);],
58                 ac_cv_decl_sys_nerr_def=yes, ac_cv_decl_sys_nerr_def=no)
59                 ])
60                 if test "$ac_cv_decl_sys_nerr" = yes; then
61                         AC_DEFINE(HAVE_DECL_SYS_NERR, 1, [Define if sys_nerr declaration exists])
62                 fi
63         fi
64
65
66         AC_CACHE_CHECK(for sys_errlist array,
67         ac_cv_sys_errlist,
68         [AC_TRY_LINK(,[extern char *sys_errlist[];
69                 sys_errlist[0];],
70                 ac_cv_sys_errlist=yes, ac_cv_sys_errlist=no)
71         ])
72         if test "$ac_cv_sys_errlist" = yes; then
73                 AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if sys_errlist declaration exists])
74                 AC_CACHE_CHECK(for sys_errlist declaration,
75                 ac_cv_sys_errlist_def,
76                 [AC_TRY_COMPILE([
77                 #include <stdio.h>
78                 #include <errno.h>
79                 #ifdef HAVE_STDLIB_H
80                 #include <stdlib.h>
81                 #endif
82                 #ifdef HAVE_UNISTD_H
83                 #include <unistd.h>
84                 #endif],[char *s = sys_errlist[0]; return(*s);],
85                 ac_cv_decl_sys_errlist=yes, ac_cv_decl_sys_errlist=no)
86                 ])
87                 if test "$ac_cv_decl_sys_errlist" = yes; then
88                         AC_DEFINE(HAVE_DECL_SYS_ERRLIST, 1, [Define if sys_errlist declaration exists])
89                 fi
90         fi
91
92
93
94         AC_CACHE_CHECK(for long long,
95         ac_cv_long_long,
96         [
97         AC_TRY_COMPILE([
98         #include <stdio.h>
99         #include <sys/types.h>
100         ], [printf("%d",sizeof(long long));],
101         ac_cv_long_long=yes, ac_cv_long_long=no)
102         ])
103         if test $ac_cv_long_long = yes; then
104           AC_DEFINE(HAVE_LONG_LONG, 1, [Define if long long is a valid data type])
105         fi
106
107         AC_CACHE_CHECK(for long double,
108         ac_cv_long_double,
109         [
110         AC_TRY_COMPILE([
111         #include <stdio.h>
112         #include <sys/types.h>
113         ], [printf("%d",sizeof(long double));],
114         ac_cv_long_double=yes, ac_cv_long_double=no)
115         ])
116         if test $ac_cv_long_double = yes; then
117           AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if long double is a valid data type])
118         fi
119
120         AC_CACHE_CHECK(for quad_t,
121         ac_cv_quad_t,
122         [
123         AC_TRY_COMPILE([
124         #include <stdio.h>
125         #include <sys/types.h>
126         ], [printf("%d",sizeof(quad_t));],
127         ac_cv_quad_t=yes, ac_cv_quad_t=no)
128         ])
129         if test $ac_cv_quad_t = yes; then
130           AC_DEFINE(HAVE_QUAD_T, 1, [Define if quad_t is a valid data type])
131         fi
132 ])