]> arthur.barton.de Git - netatalk.git/blob - macros/snprintf-check.m4
Version 1.6.2.
[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)
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                 ],[return(sys_nerr);],
31                         ac_cv_decl_errno=yes, ac_cv_decl_errno=no)
32                 ])
33                 if test "$ac_cv_decl_errno" = yes; then
34                         AC_DEFINE(HAVE_DECL_ERRNO)
35                 fi;
36         fi
37
38         AC_CACHE_CHECK(for sys_nerr,
39         ac_cv_sys_nerr,
40         [
41         AC_TRY_LINK(,[extern int sys_nerr; return (sys_nerr);],
42                 ac_cv_sys_nerr=yes, ac_cv_sys_nerr=no)
43         ])
44         if test "$ac_cv_sys_nerr" = yes; then
45                 AC_DEFINE(HAVE_SYS_NERR)
46                 AC_CACHE_CHECK(for sys_nerr declaration,
47                 ac_cv_decl_sys_nerr,
48                 [
49                 AC_TRY_COMPILE([
50                 #include <stdio.h>
51                 #ifdef HAVE_STDLIB_H
52                 #include <stdlib.h>
53                 #endif
54                 #ifdef HAVE_UNISTD_H
55                 #include <unistd.h>
56                 #endif],[return(sys_nerr);],
57                 ac_cv_decl_sys_nerr_def=yes, ac_cv_decl_sys_nerr_def=no)
58                 ])
59                 if test "$ac_cv_decl_sys_nerr" = yes; then
60                         AC_DEFINE(HAVE_DECL_SYS_NERR)
61                 fi
62         fi
63
64
65         AC_CACHE_CHECK(for sys_errlist array,
66         ac_cv_sys_errlist,
67         [AC_TRY_LINK(,[extern char *sys_errlist[];
68                 sys_errlist[0];],
69                 ac_cv_sys_errlist=yes, ac_cv_sys_errlist=no)
70         ])
71         if test "$ac_cv_sys_errlist" = yes; then
72                 AC_DEFINE(HAVE_SYS_ERRLIST)
73                 AC_CACHE_CHECK(for sys_errlist declaration,
74                 ac_cv_sys_errlist_def,
75                 [AC_TRY_COMPILE([
76                 #include <stdio.h>
77                 #include <errno.h>
78                 #ifdef HAVE_STDLIB_H
79                 #include <stdlib.h>
80                 #endif
81                 #ifdef HAVE_UNISTD_H
82                 #include <unistd.h>
83                 #endif],[char *s = sys_errlist[0]; return(*s);],
84                 ac_cv_decl_sys_errlist=yes, ac_cv_decl_sys_errlist=no)
85                 ])
86                 if test "$ac_cv_decl_sys_errlist" = yes; then
87                         AC_DEFINE(HAVE_DECL_SYS_ERRLIST)
88                 fi
89         fi
90
91
92
93         AC_CACHE_CHECK(checking for long long,
94         ac_cv_long_long,
95         [
96         AC_TRY_COMPILE([
97         #include <stdio.h>
98         #include <sys/types.h>
99         ], [printf("%d",sizeof(long long));],
100         ac_cv_long_long=yes, ac_cv_long_long=no)
101         ])
102         if test $ac_cv_long_long = yes; then
103           AC_DEFINE(HAVE_LONG_LONG)
104         fi
105
106         AC_CACHE_CHECK(checking for long double,
107         ac_cv_long_double,
108         [
109         AC_TRY_COMPILE([
110         #include <stdio.h>
111         #include <sys/types.h>
112         ], [printf("%d",sizeof(long double));],
113         ac_cv_long_double=yes, ac_cv_long_double=no)
114         ])
115         if test $ac_cv_long_double = yes; then
116           AC_DEFINE(HAVE_LONG_DOUBLE)
117         fi
118
119         AC_CACHE_CHECK(checking for quad_t,
120         ac_cv_quad_t,
121         [
122         AC_TRY_COMPILE([
123         #include <stdio.h>
124         #include <sys/types.h>
125         ], [printf("%d",sizeof(quad_t));],
126         ac_cv_quad_t=yes, ac_cv_quad_t=no)
127         ])
128         if test $ac_cv_quad_t = yes; then
129           AC_DEFINE(HAVE_QUAD_T)
130         fi
131 ])