root/src/noit_config.h.in

Revision 6210da7ee0e2ed143d71a8e00b709f16e71059f8, 5.9 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 6 years ago)

various changes to avoid dereferencing type-punned pointers and breaking strict-aliasing rules, refs #34

  • Property mode set to 100644
Line 
1 /*
2  * Copyright (c) 2005-2007, OmniTI Computer Consulting, Inc.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  *    * Redistributions of source code must retain the above copyright
10  *      notice, this list of conditions and the following disclaimer.
11  *    * Redistributions in binary form must reproduce the above
12  *      copyright notice, this list of conditions and the following
13  *      disclaimer in the documentation and/or other materials provided
14  *      with the distribution.
15  *    * Neither the name OmniTI Computer Consulting, Inc. nor the names
16  *      of its contributors may be used to endorse or promote products
17  *      derived from this software without specific prior written
18  *      permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 #ifndef __NOIT_CONFIG_H
34 #define __NOIT_CONFIG_H
35
36 /* define inline unless that is what the compiler already calls it. */
37 #undef inline
38
39 #undef MODULEEXT
40 #undef MODULES_DIR
41 #undef DEFAULT_EVENTER
42 #undef ETC_DIR
43
44 #undef HAVE_FCNTL_H
45 #undef HAVE_UNISTD_H
46 #undef HAVE_SYS_TYPES_H
47 #undef HAVE_SYS_WAIT_H
48 #undef HAVE_TERM_H
49 #undef HAVE_TERMIO_H
50 #undef HAVE_TERMIOS_H
51 #undef TPUTS_TAKES_CHAR
52 #undef HAVE_SYS_IOCTL_COMPAT_H
53 #undef HAVE_SYS_FILIO_H
54 #undef HAVE_STROPTS_H
55 #undef HAVE_SYS_STREAM_H
56 #undef HAVE_UTIL_H
57 #undef HAVE_CURSES_H
58 #undef HAVE_DIRENT_H
59 #undef HAVE_PWD_H
60 #undef HAVE_PTY_H
61 #undef HAVE_ERRNO_H
62 #undef HAVE_STRING_H
63 #undef HAVE_STDLIB_H
64 #undef HAVE_SYS_PARAM_H
65 #undef HAVE_SEMAPHORE_H
66 #undef HAVE_ALLOCA_H
67 #undef HAVE_TIME_H
68 #undef HAVE_SYS_STAT_H
69 #undef HAVE_SYS_RESOURCE_H
70 #undef HAVE_SYS_CDEFS_H
71 #undef HAVE_LIBKERN_OSATOMIC_H
72 #undef HAVE_NETINET_IN_SYSTM_H
73 #undef HAVE_INT64_T
74 #undef HAVE_INTXX_T
75 #undef HAVE_LONG_LONG_INT
76 #undef HAVE_UINTXX_T
77 #undef HAVE_U_INT
78 #undef HAVE_U_INT64_T
79 #undef HAVE_U_INTXX_T
80 #undef HAVE_UUID_UNPARSE_LOWER
81 #define IFS_CH '/'
82 #undef WORKING_SEM_INIT
83
84 #undef HAVE_GETPWNAM_R
85 #undef HAVE_GETPWNAM_R_POSIX
86 #undef HAVE_GETGRNAM_R
87 #undef HAVE_GETGRNAM_R_POSIX
88
89 #ifdef HAVE_STRING_H
90 #include <string.h>
91 #endif
92 #ifdef HAVE_STDLIB_H
93 #include <stdlib.h>
94 #endif
95 #ifdef HAVE_SYS_PARAM_H
96 #include <sys/param.h>
97 #endif
98 #ifdef HAVE_SYS_TYPES_H
99 #include <sys/types.h>
100 #endif
101 #ifdef HAVE_SYS_STAT_H
102 #include <sys/stat.h>
103 #endif
104 #ifdef HAVE_SYS_RESOURCE_H
105 #include <sys/resource.h>
106 #endif
107
108 #undef HAVE_ISSETUGID
109 #undef HAVE_STRLCPY
110 #undef HAVE_STRNSTRN
111 #undef HAVE_OPENPTY
112 #undef HAVE_INET_PTON
113 #undef HAVE_INET_NTOP
114 #undef HAVE_GETOPT
115 #undef HAVE_POLL
116
117 /* Kernel kqueue() support */
118 #undef HAVE_KQUEUE
119 /* Kernel epoll_create() support */
120 #undef HAVE_EPOLL
121 /* Kernel port_create() support */
122 #undef HAVE_PORTS
123
124 /* The number of bytes in a char.  */
125 #undef SIZEOF_CHAR
126
127 /* The number of bytes in a int.  */
128 #undef SIZEOF_INT
129
130 /* The number of bytes in a size_t.  */
131 #undef SIZEOF_SIZE_T
132
133
134 /* The number of bytes in a long int.  */
135 #undef SIZEOF_LONG_INT
136
137 /* The number of bytes in a long long int.  */
138 #undef SIZEOF_LONG_LONG_INT
139
140 /* The number of bytes in a short int.  */
141 #undef SIZEOF_SHORT_INT
142
143 /* The number of bytes in a void *.  */
144 #undef SIZEOF_VOID_P
145
146 #ifndef HAVE_U_INT
147 typedef unsigned int u_int;
148 #endif
149
150 #undef HAVE_INTXX_T
151 #ifndef HAVE_INTXX_T
152 #if (SIZEOF_CHAR == 1)
153 typedef char int8_t;
154 #else
155 #error "8 bit int type not found."
156 #endif
157 #if (SIZEOF_SHORT_INT == 2)
158 typedef short int int16_t;
159 #else
160 #ifdef _CRAY
161 typedef long int16_t;
162 #else
163 #warning "16 bit int type not found."
164 #endif /* _CRAY */
165 #endif
166 #if (SIZEOF_INT == 4)
167 typedef int int32_t;
168 #else
169 #ifdef _CRAY
170 typedef long int32_t;
171 #else
172 #error "32 bit int type not found."
173 #endif /* _CRAY */
174 #endif
175 #endif
176
177 /* If sys/types.h does not supply u_intXX_t, supply them ourselves */
178 #ifndef HAVE_U_INTXX_T
179 #ifdef HAVE_UINTXX_T
180 typedef uint8_t u_int8_t;
181 typedef uint16_t u_int16_t;
182 typedef uint32_t u_int32_t;
183 #define HAVE_U_INTXX_T 1
184 #else
185 #if (SIZEOF_CHAR == 1)
186 typedef unsigned char u_int8_t;
187 #else
188 #error "8 bit int type not found."
189 #endif
190 #if (SIZEOF_SHORT_INT == 2)
191 typedef unsigned short int u_int16_t;
192 #else
193 #ifdef _CRAY
194 typedef unsigned long u_int16_t;
195 #else
196 #warning "16 bit int type not found."
197 #endif
198 #endif
199 #if (SIZEOF_INT == 4)
200 typedef unsigned int u_int32_t;
201 #else
202 #ifdef _CRAY
203 typedef unsigned long u_int32_t;
204 #else
205 #error "32 bit int type not found."
206 #endif
207 #endif
208 #endif
209 #endif
210
211 /* 64-bit types */
212 #ifndef HAVE_INT64_T
213 #if (SIZEOF_LONG_INT == 8)
214 typedef long int int64_t;
215 #define HAVE_INT64_T 1
216 #else
217 #if (SIZEOF_LONG_LONG_INT == 8)
218 typedef long long int int64_t;
219 #define HAVE_INT64_T 1
220 #define HAVE_LONG_LONG_INT
221 #endif
222 #endif
223 #endif
224 #ifndef HAVE_U_INT64_T
225 #if (SIZEOF_LONG_INT == 8)
226 typedef unsigned long int u_int64_t;
227 #define HAVE_U_INT64_T 1
228 #else
229 #if (SIZEOF_LONG_LONG_INT == 8)
230 typedef unsigned long long int u_int64_t;
231 #define HAVE_U_INT64_T 1
232 #endif
233 #endif
234 #endif
235
236 #if (SIZEOF_VOID_P == 8)
237 typedef u_int64_t vpsized_uint;
238 typedef int64_t vpsized_int;
239 #elif (SIZEOF_VOID_P == 4)
240 typedef u_int32_t vpsized_uint;
241 typedef int32_t vpsized_int;
242 #else
243 #error Unsupported size of void ptr
244 #endif
245
246 #ifndef PATH_MAX
247 #define PATH_MAX MAXPATHLEN
248 #endif
249
250 typedef enum { noit_false = 0, noit_true } noit_boolean;
251
252 #define NOIT_HEADURL "$HeadURL$"
253 #undef NOIT_SVNVERSION
254
255 #endif
Note: See TracBrowser for help on using the browser.