forked from ocaml/ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
s.h.in
313 lines (187 loc) · 7.8 KB
/
s.h.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
/**************************************************************************/
/* */
/* OCaml */
/* */
/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
/* */
/* Copyright 1996 Institut National de Recherche en Informatique et */
/* en Automatique. */
/* */
/* All rights reserved. This file is distributed under the terms of */
/* the GNU Lesser General Public License version 2.1, with the */
/* special exception on linking described in the file LICENSE. */
/* */
/**************************************************************************/
/* Operating system and standard library configuration. */
/* 0. Operating system type string. */
#undef OCAML_OS_TYPE
/* #define OCAML_OS_TYPE "Unix" */
/* #define OCAML_OS_TYPE "Win32" */
/* #define OCAML_OS_TYPE "MacOS" */
/* 1. For the runtime system. */
#undef POSIX_SIGNALS
/* Define POSIX_SIGNALS if signal handling is POSIX-compliant.
In particular, sigaction(), sigprocmask() and the operations on
sigset_t are provided. */
#undef BSD_SIGNALS
/* Define BSD_SIGNALS if signal handlers have the BSD semantics: the handler
remains attached to the signal when the signal is received. Leave it
undefined if signal handlers have the System V semantics: the signal
resets the behavior to default. */
#undef SUPPORT_DYNAMIC_LINKING
/* Define SUPPORT_DYNAMIC_LINKING if dynamic loading of C stub code
via dlopen() is available. */
#undef HAS_FULL_THREAD_VARIABLES
/* Define HAS_FULL_THREAD_VARIABLES if thread-local storage is fully supported,
including across DLLs. This is not the case with macOS and with Windows +
MinGW-w64. */
#undef HAS_C99_FLOAT_OPS
/* Define HAS_C99_FLOAT_OPS if <math.h> conforms to ISO C99.
In particular, it should provide expm1(), log1p(), hypot(), fma(),
exp2(), log2(), cbrt(), acosh(), asinh(), atanh(), erf(), erfc(),
trunc(), round(), copysign(). */
#undef HAS_WORKING_FMA
/* Define HAS_WORKING_FMA if the fma function is correctly implemented. The
newlib library (intentionally) just has return x * y + z. This hatch is
also used for https://sourceforge.net/p/mingw-w64/bugs/848/ */
#undef HAS_WORKING_ROUND
/* Define HAS_WORKING_ROUND is the round function is correctly implemented. This
hatch exists primarily for https://sourceforge.net/p/mingw-w64/bugs/573/ */
#undef HAS_GETENTROPY
#undef HAS_GETRUSAGE
#undef HAS_TIMES
#undef HAS_SECURE_GETENV
#undef HAS___SECURE_GETENV
#undef HAS_ISSETUGID
#undef HAS_SYS_MMAN_H
/* 2. For the Unix library. */
#undef HAS_SOCKETS
/* Define HAS_SOCKETS if you have BSD sockets. */
#undef HAS_SOCKETPAIR
/* Define HAS_SOCKETPAIR if you have the socketpair function. Only
relevant on Windows. */
#undef HAS_SOCKLEN_T
/* Define HAS_SOCKLEN_T if the type socklen_t is defined in
/usr/include/sys/socket.h. */
#undef HAS_AFUNIX_H
/* Define HAS_AFUNIX_H if you have <afunix.h>. */
#undef HAS_INET_ATON
#undef HAS_IPV6
#undef HAS_PTHREAD_NP_H
#undef HAS_UNISTD
/* Define HAS_UNISTD if you have /usr/include/unistd.h. */
#undef HAS_DIRENT
/* Define HAS_DIRENT if you have /usr/include/dirent.h and the result of
readdir() is of type struct dirent *.
Otherwise, we'll load /usr/include/sys/dir.h, and readdir() is expected to
return a struct direct *. */
#undef HAS_REWINDDIR
/* Define HAS_REWINDDIR if you have rewinddir(). */
#undef HAS_LOCKF
/* Define HAS_LOCKF if the library provides the lockf() function. */
#undef HAS_MKFIFO
/* Define HAS_MKFIFO if the library provides the mkfifo() function. */
#undef HAS_GETCWD
/* Define HAS_GETCWD if the library provides the getcwd() function. */
#undef HAS_SYSTEM
/* Define HAS_SYSTEM if the library provides the system() function. */
#undef HAS_UTIME
#undef HAS_UTIMES
/* Define HAS_UTIME if you have /usr/include/utime.h and the library
provides utime(). Define HAS_UTIMES if the library provides utimes(). */
#undef HAS_FCHMOD
/* Define HAS_FCHMOD if you have fchmod() and fchown(). */
#undef HAS_TRUNCATE
/* Define HAS_TRUNCATE if you have truncate() and
ftruncate(). */
#undef HAS_SELECT
/* Define HAS_SELECT if you have select(). */
#undef HAS_SYS_SELECT_H
/* Define HAS_SYS_SELECT_H if /usr/include/sys/select.h exists
and should be included before using select(). */
#undef HAS_NANOSLEEP
/* Define HAS_NANOSLEEP if you have nanosleep(). */
#undef HAS_SYMLINK
/* Define HAS_SYMLINK if you have symlink() and readlink() and lstat(). */
#undef HAS_REALPATH
/* Define HAS_REALPATH if you have realpath(). */
#undef HAS_WAIT4
#undef HAS_WAITPID
/* Define HAS_WAIT4 if you have wait4().
Define HAS_WAITPID if you have waitpid(). */
#undef HAS_GETGROUPS
/* Define HAS_GETGROUPS if you have getgroups(). */
#undef HAS_SETGROUPS
/* Define HAS_SETGROUPS if you have setgroups(). */
#undef HAS_INITGROUPS
/* Define HAS_INITGROUPS if you have initgroups(). */
#undef HAS_TERMIOS
/* Define HAS_TERMIOS if you have /usr/include/termios.h and it is
Posix-compliant. */
#undef HAS_SETITIMER
/* Define HAS_SETITIMER if you have setitimer(). */
#undef HAS_GETHOSTNAME
/* Define HAS_GETHOSTNAME if you have gethostname(). */
#undef HAS_UNAME
/* Define HAS_UNAME if you have uname(). */
#undef HAS_GETTIMEOFDAY
/* Define HAS_GETTIMEOFDAY if you have gettimeofday(). */
#undef HAS_MKTIME
/* Define HAS_MKTIME if you have mktime(). */
#undef HAS_SETSID
/* Define HAS_SETSID if you have setsid(). */
#undef HAS_PUTENV
/* Define HAS_PUTENV if you have putenv(). */
#undef HAS_SETENV_UNSETENV
/* Define HAS_SETENV_UNSETENV if you have setenv() and unsetenv(). */
#undef HAS_LOCALE_H
/* Define HAS_LOCALE_H if you have the include file <locale.h> and the
uselocale() function. */
#undef HAS_XLOCALE_H
/* Define HAS_XLOCALE_H if you have the include file <xlocale.h> and the
uselocale() function. */
#undef HAS_STRTOD_L
/* Define HAS_STRTOD_L if you have strtod_l */
#undef HAS_MMAP
/* Define HAS_MMAP if you have the include file <sys/mman.h> and the
functions mmap() and munmap(). */
#undef HAS_PWRITE
#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
/* Define either HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC,
HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC, or HAVE_STRUCT_STAT_ST_ATIMENSEC if
(respectively) the field struct stat.st_atim.tv_nsec,
struct stat.st_atimespec.tv_nsec, or struct stat.st_atimensec is available.
*/
#undef HAS_GETHOSTBYNAME_R
/* Define HAS_GETHOSTBYNAME_R if gethostbyname_r() is available.
The value of this symbol is the number of arguments of
gethostbyname_r(): either 5 or 6 depending on prototype.
(5 is the Solaris version, 6 is the Linux version). */
#undef HAS_GETHOSTBYADDR_R
/* Define HAS_GETHOSTBYADDR_R if gethostbyaddr_r() is available.
The value of this symbol is the number of arguments of
gethostbyaddr_r(): either 7 or 8 depending on prototype.
(7 is the Solaris version, 8 is the Linux version). */
#undef HAS_MKSTEMP
#undef HAS_NICE
/* Define HAS_NICE if you have nice(). */
#undef HAS_DUP3
#undef HAS_PIPE2
#undef HAS_ACCEPT4
#undef HAS_GETAUXVAL
#undef HAS_SYS_SHM_H
#undef HAS_SHMAT
#undef HAS_EXECVPE
#undef HAS_POSIX_SPAWN
#undef HAS_SIGWAIT
#undef HAS_HUGE_PAGES
#undef HUGE_PAGE_SIZE
#undef HAS_LIBUNWIND
#undef HAS_BROKEN_PRINTF
#undef HAS_POSIX_MONOTONIC_CLOCK
#undef HAS_CLOCK_GETTIME_NSEC_NP
#undef HAS_GNU_GETAFFINITY_NP
#undef HAS_BSD_GETAFFINITY_NP
#undef HAS_ZSTD