ocaml
Version:
OCaml compiler packaged for esy
312 lines (183 loc) • 7.69 kB
Plain Text
/**************************************************************************/
/* */
/* 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. */
/* #define OCAML_OS_TYPE "Unix" */
/* #define OCAML_OS_TYPE "Win32" */
/* #define OCAML_OS_TYPE "MacOS" */
/* 1. For the runtime system. */
/* Define POSIX_SIGNALS if signal handling is POSIX-compliant.
In particular, sigaction(), sigprocmask() and the operations on
sigset_t are provided. */
/* 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. */
/* Define SUPPORT_DYNAMIC_LINKING if dynamic loading of C stub code
via dlopen() is available. */
/* 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. */
/* 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(). */
/* 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/ */
/* Define HAS_WORKING_ROUND is the round function is correctly implemented. This
hatch exists primarily for https://sourceforge.net/p/mingw-w64/bugs/573/ */
/* 2. For the Unix library. */
/* Define HAS_SOCKETS if you have BSD sockets. */
/* Define HAS_SOCKETPAIR if you have the socketpair function. Only
relevant on Windows. */
/* Define HAS_SOCKLEN_T if the type socklen_t is defined in
/usr/include/sys/socket.h. */
/* Define HAS_AFUNIX_H if you have <afunix.h>. */
/* Define HAS_UNISTD if you have /usr/include/unistd.h. */
/* 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 *. */
/* Define HAS_REWINDDIR if you have rewinddir(). */
/* Define HAS_LOCKF if the library provides the lockf() function. */
/* Define HAS_MKFIFO if the library provides the mkfifo() function. */
/* Define HAS_GETCWD if the library provides the getcwd() function. */
/* Define HAS_SYSTEM if the library provides the system() function. */
/* Define HAS_UTIME if you have /usr/include/utime.h and the library
provides utime(). Define HAS_UTIMES if the library provides utimes(). */
/* Define HAS_FCHMOD if you have fchmod() and fchown(). */
/* Define HAS_TRUNCATE if you have truncate() and
ftruncate(). */
/* Define HAS_SELECT if you have select(). */
/* Define HAS_SYS_SELECT_H if /usr/include/sys/select.h exists
and should be included before using select(). */
/* Define HAS_NANOSLEEP if you have nanosleep(). */
/* Define HAS_SYMLINK if you have symlink() and readlink() and lstat(). */
/* Define HAS_REALPATH if you have realpath(). */
/* Define HAS_WAIT4 if you have wait4().
Define HAS_WAITPID if you have waitpid(). */
/* Define HAS_GETGROUPS if you have getgroups(). */
/* Define HAS_SETGROUPS if you have setgroups(). */
/* Define HAS_INITGROUPS if you have initgroups(). */
/* Define HAS_TERMIOS if you have /usr/include/termios.h and it is
Posix-compliant. */
/* Define HAS_SETITIMER if you have setitimer(). */
/* Define HAS_GETHOSTNAME if you have gethostname(). */
/* Define HAS_UNAME if you have uname(). */
/* Define HAS_GETTIMEOFDAY if you have gettimeofday(). */
/* Define HAS_MKTIME if you have mktime(). */
/* Define HAS_SETSID if you have setsid(). */
/* Define HAS_PUTENV if you have putenv(). */
/* Define HAS_SETENV_UNSETENV if you have setenv() and unsetenv(). */
/* Define HAS_LOCALE_H if you have the include file <locale.h> and the
uselocale() function. */
/* Define HAS_XLOCALE_H if you have the include file <xlocale.h> and the
uselocale() function. */
/* Define HAS_STRTOD_L if you have strtod_l */
/* Define HAS_MMAP if you have the include file <sys/mman.h> and the
functions mmap() and munmap(). */
/* 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). */
/* Define HAS_GETHOSTBYADDR_R if gethostbyname_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). */
/* Define HAS_NICE if you have nice(). */