chiark / gitweb /
mention bug
[userv.git] / acconfig.h
1 /*
2  * userv - acconfig.h
3  * extra stuff for config.h.in (autoconf)
4  *
5  * Copyright (C)1996-1997,1999 Ian Jackson
6  *
7  * This is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with userv; if not, write to the Free Software
19  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20  */
21
22 /* Define if EPROTO exists.  */
23 #undef HAVE_EPROTO
24
25 /* Define if LOG_AUTHPRIV exists.  */
26 #undef HAVE_LOG_AUTHPRIV
27
28 /* Define if WCOREDUMP exists.  */
29 #undef HAVE_WCOREDUMP
30
31 /* Define if function attributes a la GCC 2.5 and higher are available.  */
32 #undef HAVE_GNUC25_ATTRIB
33
34 /* Define if unused functions a la GCC 2.5 and higher are available.  */
35 #undef HAVE_GNUC25_UNUSED
36
37 /* Define if nonreturning functions a la GCC 2.5 and higher are available.  */
38 #undef HAVE_GNUC25_NORETURN
39
40 /* Define if printf-format argument lists a la GCC are available.  */
41 #undef HAVE_GNUC25_PRINTFFORMAT
42
43 @BOTTOM@
44
45 /* STRSIGNAL */
46 #ifndef HAVE_STRSIGNAL
47 #define STRSIGNAL(x) "[platform has no strsignal!]"
48 #endif
49
50 /* VSNPRINTF */
51 #ifndef HAVE_VSNPRINTF
52 # error "You must have vsnprintf!  Without vsnprintf it is very hard to write secure programs.  If you don't have it then your system libc is probably full of hideous buffer overrun security bugs.  But, if you don't want to fix your system a portable snprintf can be found at http://www.ijs.si/software/snprintf/"
53 #endif
54
55 /* EPROTO */
56 #ifndef HAVE_EPROTO
57 #define EPROTO 0
58 #endif
59
60 /* LOG_AUTHPRIV */
61 #ifndef HAVE_LOG_AUTHPRIV
62 #define LOG_AUTHPRIV LOG_AUTH
63 #endif
64
65 /* WCOREDUMP */
66 #ifndef HAVE_WCOREDUMP
67 #define WCOREDUMP(x) 0
68 #endif
69
70 /* GNU C attributes. */
71 #ifndef FUNCATTR
72 #ifdef HAVE_GNUC25_ATTRIB
73 #define FUNCATTR(x) __attribute__(x)
74 #else
75 #define FUNCATTR(x)
76 #endif
77 #endif
78
79 /* GNU C printf formats, or null. */
80 #ifndef ATTRPRINTF
81 #ifdef HAVE_GNUC25_PRINTFFORMAT
82 #define ATTRPRINTF(si,tc) format(printf,si,tc)
83 #else
84 #define ATTRPRINTF(si,tc)
85 #endif
86 #endif
87 #ifndef PRINTFFORMAT
88 #define PRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc)))
89 #endif
90
91 /* GNU C nonreturning functions, or null. */
92 #ifndef ATTRNORETURN
93 #ifdef HAVE_GNUC25_NORETURN
94 #define ATTRNORETURN noreturn
95 #else
96 #define ATTRNORETURN
97 #endif
98 #endif
99 #ifndef NONRETURNING
100 #define NONRETURNING FUNCATTR((ATTRNORETURN))
101 #endif
102
103 /* Combination of both the above. */
104 #ifndef NONRETURNPRINTFFORMAT
105 #define NONRETURNPRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc),ATTRNORETURN))
106 #endif
107
108 /* GNU C unused functions, or null. */
109 #ifndef ATTRUNUSED
110 #ifdef HAVE_GNUC25_UNUSED
111 #define ATTRUNUSED unused
112 #else
113 #define ATTRUNUSED
114 #endif
115 #endif
116 #ifndef UNUSED
117 #define UNUSED FUNCATTR((ATTRUNUSED))
118 #endif