1/* @(#)xconfig.h.in	1.292 21/08/16 Copyright 1998-2021 J. Schilling */
2/*
3 *	Dynamic autoconf C-include code.
4 *	Do not edit, this file has been created automatically.
5 *
6 *	Copyright (c) 1998-2021 J. Schilling
7 *
8 *	The layout for this file is controlled by "configure".
9 *	Switch off cstyle(1) checks for now.
10 */
11#ifndef	__XCONFIG_H
12#define	__XCONFIG_H
13/* BEGIN CSTYLED */
14
15/*
16 * Header Files
17 */
18#undef PROTOTYPES	/* if Compiler supports ANSI C prototypes */
19#undef HAVE_INLINE	/* if Compiler supports "inline" keyword */
20#undef HAVE_AR_H	/* to use ar.h */
21#undef HAVE_ASSERT_H	/* to use assert.h */
22#undef HAVE_STDIO_H	/* to use stdio.h */
23#undef HAVE_STDARG_H	/* to use stdarg.h, else use varargs.h NOTE: SaberC on a Sun has prototypes but no stdarg.h */
24#undef HAVE_VARARGS_H	/* to use use varargs.h NOTE: The free HP-UX C-compiler has stdarg.h but no PROTOTYPES */
25#undef HAVE_STDLIB_H	/* to use general utility defines (malloc(), size_t ...) and general C library prototypes */
26#undef HAVE_STDDEF_H	/* to use offsetof(), ptrdiff_t, wchar_t, size_t */
27#undef HAVE_STRING_H	/* to get NULL and ANSI C string function prototypes */
28#undef HAVE_STRINGS_H	/* to get BSD string function prototypes */
29#undef STDC_HEADERS	/* if ANSI compliant stdlib.h, stdarg.h, string.h, float.h are present */
30#undef HAVE_UNISTD_H	/* to get POSIX syscall prototypes XXX sys/file.h fcntl.h (unixstd/fctl)XXX*/
31#undef HAVE_GETOPT_H	/* to get getopt() prototype from getopt.h instead of unistd.h */
32#undef HAVE_LIMITS_H	/* to get POSIX numeric limits constants */
33#undef HAVE_A_OUT_H	/* if a.out.h is present (may be a system using a.out format) */
34#undef HAVE_AOUTHDR_H	/* if aouthdr.h is present. This is a COFF system */
35#undef HAVE_ELF_H	/* if elf.h is present. This is an ELF system */
36#undef HAVE_FCNTL_H	/* to access, O_XXX constants for open(), otherwise use sys/file.h */
37#undef HAVE_IO_H	/* to access setmode()... from WIN-DOS, OS/2 and similar */
38#undef HAVE_CONIO_H	/* to access getch()... from WIN-DOS, OS/2 and similar */
39#undef HAVE_SYS_FILE_H	/* to use O_XXX constants for open() and flock() defs */
40#undef HAVE_INTTYPES_H	/* to use UNIX-98 inttypes.h */
41#undef HAVE_STDINT_H	/* to use SUSv3 stdint.h */
42#undef HAVE_DIRENT_H	/* to use POSIX dirent.h */
43#undef HAVE_SYS_DIR_H	/* to use BSD sys/dir.h */
44#undef HAVE_NDIR_H	/* to use ndir.h */
45#undef HAVE_SYS_NDIR_H	/* to use sys/ndir.h */
46#undef HAVE_ALLOCA_H	/* if alloca.h exists */
47#undef HAVE_MALLOC_H	/* if malloc.h exists */
48#undef HAVE_POSIX_MALLOC_H /* The Haiku include file for malloc()/valloc()/... */
49#undef HAVE_SGTTY_H	/* if sgtty.h exists */
50#undef HAVE_TERMIOS_H	/* to use POSIX termios.h */
51#undef HAVE_TERMIO_H	/* to use SVR4 termio.h */
52#undef HAVE_PWD_H	/* if pwd.h exists */
53#undef HAVE_GRP_H	/* if grp.h exists */
54#undef HAVE_SIGNAL_H	/* if signal.h exists */
55#undef HAVE_SIGINFO_H	/* if siginfo.h exists */
56#undef HAVE_SYS_SIGINFO_H /* if sys/siginfo.h exists */
57#undef HAVE_UCONTEXT_H	/* if ucontext.h exists */
58#undef HAVE_SYS_ACL_H	/* to use <sys/acl.h> for ACL definitions */
59#undef HAVE_ACLUTILS_H	/* to use <aclutils.h> for NFSv4 ACL extensions */
60#undef HAVE_ACLLIB_H	/* if HP-UX <acllib.h> is present */
61#undef HAVE_ACL_LIBACL_H /* if Linux <acl/libacl.h> is present */
62#undef HAVE_SHADOW_H	/* if shadow.h exists */
63#undef HAVE_SYSLOG_H	/* if syslog.h exists */
64#undef HAVE_SYS_TIME_H	/* may include sys/time.h for struct timeval */
65#undef TIME_WITH_SYS_TIME	/* may include both time.h and sys/time.h */
66#undef HAVE_TIMES	/* to use times() and sys/times.h */
67#undef HAVE_SYS_TIMES_H	/* may include sys/times.h for struct tms */
68#undef HAVE_UTIME		/* to use AT&T utime() and utimbuf */
69#undef HAVE_UTIMES		/* to use BSD utimes() and sys/time.h */
70#undef HAVE_FUTIMES		/* to use BSD futimes() and sys/time.h */
71#undef HAVE_LUTIMES		/* to use BSD lutimes() and sys/time.h */
72#undef HAVE_UTIMENS		/* to use BSD utimens() and sys/time.h */
73#undef HAVE_FUTIMENS		/* to use BSD futimens() and sys/time.h */
74#undef HAVE_LUTIMENS		/* to use BSD lutimens() and sys/time.h */
75#undef HAVE_UTIME_H		/* to use utime.h for the utimbuf structure declaration, else declare struct utimbuf yourself */
76#undef HAVE_SYS_UTIME_H		/* to use sys/utime.h if utime.h does not exist */
77#undef HAVE_SYS_IOCTL_H		/* if sys/ioctl.h is present */
78#undef HAVE_SYS_FILIO_H		/* if sys/filio.h is present */
79#undef HAVE_SYS_PARAM_H		/* if sys/param.h is present */
80#undef HAVE_MACH_MACHINE_H	/* if mach/machine.h is present */
81#undef HAVE_MNTENT_H		/* if mntent.h is present */
82#undef HAVE_SYS_MNTENT_H	/* if sys/mntent.h is present */
83#undef HAVE_SYS_MNTTAB_H	/* if sys/mnttab.h is present */
84#undef HAVE_SYS_MOUNT_H		/* if sys/mount.h is present */
85#undef HAVE_WAIT_H		/* to use wait.h for prototypes and union wait */
86#undef HAVE_SYS_WAIT_H		/* else use sys/wait.h */
87#undef HAVE_ULIMIT_H		/* to use ulimit() as fallback for getrlimit()  */
88#undef HAVE_PROCESS_H		/* to use process.h for spawn*() and cwait() */
89#undef HAVE_SYS_RESOURCE_H	/* to use sys/resource.h for rlimit() and wait3() */
90#undef HAVE_SYS_DBX_PLUGIN_H	/* to use sys/dbx_plugin.h for RLIM_NLIMITS on z/OS */
91#undef HAVE_PROCFS_H		/* to use procfs.h instead of sys/procfs.h (Solaris forces profcs-2) */
92#undef HAVE_SYS_PROCFS_H	/* to use sys/procfs.h for wait3() emulation */
93#undef HAVE_LIBPROC_H		/* to use libproc.h (Mac OS X) */
94#undef HAVE_SYS_SYSTEMINFO_H	/* to use SVr4 sysinfo() */
95#undef HAVE_SYS_SYSCTL_H	/* to use BSD sysctl() */
96#undef HAVE_SYS_UTSNAME_H	/* to use uname() */
97#undef HAVE_SYS_PRIOCNTL_H	/* to use SVr4 priocntl() instead of nice()/setpriority() */
98#undef HAVE_SYS_RTPRIOCNTL_H	/* if the system supports SVr4 real time classes */
99#undef HAVE_SYS_PROCSET_H	/* if the system supports SVr4 process sets */
100#undef HAVE_SYS_LOADAVG_H	/* to use getloadavg() */
101#undef HAVE_SYS_AUXV_H		/* whether we have sys/auxv.h */
102#undef HAVE_SYS_SYSCALL_H	/* to use syscall() */
103#undef HAVE_SYS_MTIO_H		/* to use mtio definitions from sys/mtio.h */
104#undef HAVE_SYS_TAPE_H		/* to use mtio definitions from AIX sys/tape.h */
105#undef HAVE_SYS_MMAN_H		/* to use definitions for mmap()/madvise()... from sys/mman.h */
106#undef HAVE_SYS_SHM_H		/* to use definitions for shmget() ... from sys/shm.h */
107#undef HAVE_SYS_SEM_H		/* to use definitions for semget() ... from sys/sem.h */
108#undef HAVE_SYS_IPC_H		/* to use definitions for ftok() ... from sys/ipc.h */
109#undef HAVE_SEMAPHORE_H		/* to use definitions for sema_init() ... from semaphore.h */
110#undef HAVE_SYS_MKDEV_H		/* to use definitions for major()/minor()/makedev() */
111#undef HAVE_SYS_SYSMACROS_H	/* to use definitions for major()/minor()/makedev() */
112#undef MAJOR_IN_MKDEV		/* if we should include sys/mkdev.h to get major()/minor()/makedev() */
113#undef MAJOR_IN_SYSMACROS	/* if we should include sys/sysmacros.h to get major()/minor()/makedev() */
114#undef HAVE_SYS_DKIO_H		/* if we may include sys/dkio.h for disk ioctls */
115#undef HAVE_SYS_DKLABEL_H	/* if we may include sys/dklabel.h for disk label */
116#undef HAVE_SUN_DKIO_H		/* if we may include sun/dkio.h for disk ioctls */
117#undef HAVE_SUN_DKLABEL_H	/* if we may include sun/dklabel.h for disk label */
118#undef HAVE_SYS_TYPES_H		/* if we may include sys/types.h (the standard) */
119#undef HAVE_SYS_STYPES_H	/* if we may include sys/stypes.h (JOS) */
120#undef HAVE_SYS_FILEDESC_H	/* if we may include sys/filedesc.h (JOS) */
121#undef HAVE_SYS_STAT_H		/* if we may include sys/stat.h (the standard) */
122#undef HAVE_SYS_ACCT_H		/* if we may include sys/acct.h */
123#undef HAVE_TYPES_H		/* if we may include types.h (rare cases e.g. ATARI TOS) */
124#undef HAVE_STAT_H		/* if we may include stat.h (rare cases e.g. ATARI TOS) */
125#undef HAVE_POLL_H		/* if we may include poll.h to use poll() */
126#undef HAVE_SYS_POLL_H		/* if we may include sys/poll.h to use poll() */
127#undef HAVE_SYS_SELECT_H	/* if we may have sys/select.h nonstandard use for select() on some systems*/
128#undef NEED_SYS_SELECT_H	/* if we need sys/select.h to use select() (this is nonstandard) */
129#undef HAVE_NETDB_H		/* if we have netdb.h for get*by*() and rcmd() */
130#undef HAVE_ARPA_AIXRCMDS_H	/* if we have arpa/aixrcmds.h for get*by*() and rcmd() */
131#undef HAVE_SYS_SOCKET_H	/* if we have sys/socket.h for socket() */
132#undef NEED_SYS_SOCKET_H	/* if we need sys/socket.h to use select() (this is nonstandard) */
133#undef HAVE_NETINET_IN_H	/* if we have netinet/in.h */
134#undef HAVE_STROPTS_H		/* if we have stropts.h */
135#undef HAVE_LINUX_PG_H		/* if we may include linux/pg.h for PP ATAPI sypport */
136#undef HAVE_CAMLIB_H		/* if we may include camlib.h for CAM SCSI transport definitions */
137#undef HAVE_IEEEFP_H		/* if we may include ieeefp.h for finite()/isnand() */
138#undef HAVE_FP_H		/* if we may include fp.h for FINITE()/IS_INF()/IS_NAN() */
139#undef HAVE_VALUES_H		/* if we may include values.h for MAXFLOAT */
140#undef HAVE_FLOAT_H		/* if we may include float.h for FLT_MAX */
141#undef HAVE_MATH_H		/* if we may include math.h for e.g. isinf()/isnan() */
142#undef HAVE__FILBUF		/* if we have _filbuf() for USG derived STDIO */
143#undef HAVE___FILBUF		/* if we have __filbuf() for USG derived STDIO */
144#undef HAVE_USG_STDIO		/* if we have USG derived STDIO */
145#undef HAVE_ERRNO_DEF		/* if we have errno definition in <errno.h> */
146#undef HAVE_ENVIRON_DEF		/* if we have environ definition in <unistd.h> */
147#undef HAVE_SYS_SIGLIST_DEF	/* if we have sys_siglist definition in <signal.h> */
148#undef HAVE_SYS_FORK_H		/* if we should include sys/fork.h for forkx() definitions */
149#undef HAVE_VFORK_H		/* if we should include vfork.h for vfork() definitions */
150#undef HAVE_ARPA_INET_H		/* if we have arpa/inet.h (missing on BeOS) */
151				/* BeOS has inet_ntoa() in <netdb.h> */
152#undef HAVE_RPC_RPC_H		/* if we may include rpc/rpc.h */
153#undef HAVE_BSD_DEV_SCSIREG_H	/* if we have a NeXT Step compatible sg driver */
154#undef HAVE_SCSI_SCSI_H		/* if we may include scsi/scsi.h */
155#undef HAVE_SCSI_SG_H		/* if we may include scsi/sg.h */
156#undef HAVE_LINUX_SCSI_H	/* if we may include linux/scsi.h */
157#undef HAVE_LINUX_SG_H		/* if we may include linux/sg.h */
158#undef HAVE_LINUX_TYPES_H	/* if we may include linux/types.h */
159#undef HAVE_LINUX_GFP_H		/* if we may include linux/gfp.h */
160#undef HAVE_ASM_TYPES_H		/* if we may include asm/types.h */
161#undef HAVE_SYS_CAPABILITY_H	/* if we may include sys/capability.h */
162#undef HAVE_SELINUX_SELINUX_H	/* if we may include selinux/selinux.h */
163#undef HAVE_SYS_BSDTTY_H	/* if we have sys/bsdtty.h on HP-UX for TIOCGPGRP */
164#undef HAVE_OS_H		/* if we have the BeOS kernel definitions in OS.h */
165#undef HAVE_OS2_H		/* if we have the OS/2 definitions in os2.h */
166#undef HAVE_OS2ME_H		/* if we have the OS/2 definitions in os2me.h */
167#undef HAVE_WINDOWS_H		/* if we have the MS-Win definitions in windows.h */
168#undef HAVE_LINUX_FS_H		/* if we have the Linux moving target linux/fs.h */
169#undef HAVE_EXT2FS_EXT2_FS_H	/* if we have the Linux moving target ext2fs/ext2_fs.h */
170#undef HAVE_SYS_XATTR_H		/* if we have the Linux Extended File Attr definitions in sys/xattr.h */
171#undef HAVE_ATTR_XATTR_H	/* if we have the Linux Extended File Attr definitions in attr/xattr.h */
172#undef HAVE_CRT_EXTERNS_H	/* if we have the Mac OS X env definitions in crt_externs.h */
173#undef HAVE_FNMATCH_H		/* if we may include fnmatch.h */
174#undef HAVE_DIRECT_H		/* if we may include direct.h  (MSVC for getcwd()/chdir()/mkdir()/rmdir()) */
175#undef HAVE_SYSEXITS_H		/* if we may include sysexits.h */
176
177#undef HAVE_LIBINTL_H		/* if we may include libintl.h */
178#undef HAVE_LOCALE_H		/* if we may include locale.h */
179#undef HAVE_LANGINFO_H		/* if we may include langinfo.h */
180#undef HAVE_NL_TYPES_H		/* if we may include nl_types.h */
181#undef HAVE_CTYPE_H		/* if we may include ctype.h */
182#undef HAVE_WCTYPE_H		/* if we may include wctype.h */
183#undef HAVE_WCHAR_H		/* if we may include wchar.h */
184#undef HAVE_ICONV_H		/* if we may include iconv.h */
185
186#undef HAVE_PRIV_H		/* if we may include priv.h */
187#undef HAVE_SYS_PRIV_H		/* if we may include sys/priv.h */
188#undef HAVE_EXEC_ATTR_H		/* if we may include exec_attr.h */
189#undef HAVE_SECDB_H		/* if we may include secdb.h */
190#undef HAVE_PTHREAD_H		/* if we may include pthread.h */
191#undef HAVE_THREAD_H		/* if we may include thread.h */
192
193#undef HAVE_LIBGEN_H		/* if we may include libgen.h */
194#undef HAVE_REGEX_H		/* if we may include regex.h */
195#undef HAVE_REGEXP_H		/* if we may include regexp.h */
196#undef HAVE_REGEXPR_H		/* if we may include regexpr.h */
197
198#undef HAVE_DLFCN_H		/* if we may include dlfcn.h */
199#undef HAVE_LINK_H		/* if we may include link.h */
200#undef HAVE_DL_H		/* if we may include dl.h */
201#undef HAVE_LIBELF_H		/* if we may include libelf.h */
202
203#undef HAVE_RANLIB_H		/* if we may include ranlib.h */
204
205#undef HAVE_EXPAT_H		/* if we may include expat.h */
206
207/*
208 * Convert to SCHILY name
209 */
210#ifdef	STDC_HEADERS
211#	ifndef	HAVE_STDC_HEADERS
212#		define	HAVE_STDC_HEADERS
213#	endif
214#endif
215
216#ifdef	HAVE_ELF_H
217#define	HAVE_ELF			/* This system uses ELF */
218#else
219#	ifdef	HAVE_AOUTHDR_H
220#	define	HAVE_COFF		/* This system uses COFF */
221#	else
222#		ifdef HAVE_A_OUT_H
223#		define HAVE_AOUT	/* This system uses AOUT */
224#		endif
225#	endif
226#endif
227
228/*
229 * Function declarations
230 */
231#undef HAVE_DECL_STAT		/* Whether <sys/stat.h> defines extern stat(); */
232#undef HAVE_DECL_LSTAT		/* Whether <sys/stat.h> defines extern lstat(); */
233
234/*
235 * Library Functions
236 */
237#undef HAVE_ACCESS		/* access() is present in libc */
238#undef HAVE_EACCESS		/* eaccess() is present in libc */
239#undef HAVE_EUIDACCESS		/* euidaccess() is present in libc */
240#undef HAVE_ACCESS_E_OK		/* access() implements E_OK (010) for effective UIDs */
241#undef HAVE_CRYPT_IN_LIBC	/* whether crypt() is in libc (needs no -lcrypt) */
242#undef HAVE_CRYPT		/* crypt() is present in libc or libcrypt */
243#undef HAVE_STRERROR		/* strerror() is present in libc */
244#undef HAVE_MEMCHR		/* memchr() is present in libc */
245#undef HAVE_MEMCMP		/* memcmp() is present in libc */
246#undef HAVE_MEMCPY		/* memcpy() is present in libc */
247#undef HAVE_MEMCCPY		/* memccpy() is present in libc */
248#undef HAVE_MEMMOVE		/* memmove() is present in libc */
249#undef HAVE_MEMSET		/* memset() is present in libc */
250#undef HAVE_MADVISE		/* madvise() is present in libc */
251#undef HAVE_MLOCK		/* mlock() is present in libc */
252#undef HAVE_MLOCKALL		/* working mlockall() is present in libc */
253#undef HAVE_MMAP		/* working mmap() is present in libc */
254#undef _MMAP_WITH_SIZEP		/* mmap() needs address of size parameter */
255#undef HAVE_FLOCK		/* *BSD flock() is present in libc */
256#undef HAVE_LOCKF		/* lockf() is present in libc (XOPEN) */
257#undef HAVE_FCNTL_LOCKF		/* file locking via fcntl() is present in libc */
258#undef HAVE_FCHDIR		/* fchdir() is present in libc */
259#undef HAVE_FDOPENDIR		/* fdopendir() is present in libc */
260#undef HAVE_GETDELIM		/* getdelim() is present in libc */
261#undef HAVE_OPENAT		/* P openat() is present in libc */
262#undef HAVE_ATTROPEN		/* attropen() is present in libc */
263#undef HAVE_FSTATAT		/* P fstatat() is present in libc */
264#undef HAVE_FCHOWNAT		/* P fchownat() is present in libc */
265#undef HAVE_FUTIMESAT		/* futimesat() is present in libc */
266#undef HAVE_RENAMEAT		/* P renameat() is present in libc */
267#undef HAVE_UNLINKAT		/* P unlinkat() is present in libc */
268#undef HAVE___ACCESSAT		/* __accessat() is present in libc */
269#undef HAVE_ACCESSAT		/* accessat() is present in libc */
270#undef HAVE_REALPATH		/* realpath() is present in libc */
271#undef HAVE_RESOLVEPATH		/* resolvepath() is present in libc */
272/*
273 * See e.g. http://www.die.net/doc/linux/man/man2/mkdirat.2.html
274 */
275#undef HAVE_MKDIRAT		/* P mkdirat() is present in libc */
276#undef HAVE_FACCESSAT		/* P faccessat() is present in libc */
277#undef HAVE_FCHMODAT		/* P fchmodat() is present in libc */
278#undef HAVE_LINKAT		/* P linkat() is present in libc */
279#undef HAVE_MKFIFOAT		/* P mkfifoat() is present in libc */
280#undef HAVE_MKNODAT		/* P mknodat() is present in libc */
281#undef HAVE_READLINKAT		/* P readlinkat() is present in libc */
282#undef HAVE_SYMLINKAT		/* P symlinkat() is present in libc */
283#undef HAVE_UTIMENSAT		/* P utimensat() is present in libc */
284#undef HAVE_IOCTL		/* ioctl() is present in libc */
285#undef HAVE_FCNTL		/* fcntl() is present in libc */
286#undef HAVE_PIPE		/* pipe() is present in libc */
287#undef HAVE__PIPE		/* _pipe() is present in libc */
288#undef HAVE_POPEN		/* popen() is present in libc */
289#undef HAVE_PCLOSE		/* pclose() is present in libc */
290#undef HAVE__POPEN		/* _popen() is present in libc */
291#undef HAVE__PCLOSE		/* _pclose() is present in libc */
292#undef HAVE_CLOSEFROM		/* closefrom() is present in libc */
293#undef HAVE_STATVFS		/* statvfs() is present in libc */
294#undef HAVE_QUOTACTL		/* quotactl() is present in libc */
295#undef HAVE_QUOTAIOCTL		/* use ioctl(f, Q_QUOTACTL, &q) instead of quotactl() */
296#undef HAVE_GETPID		/* getpid() is present in libc */
297#undef HAVE_GETPPID		/* getppid() is present in libc */
298#undef HAVE_SETREUID		/* setreuid() is present in libc */
299#undef HAVE_SETRESUID		/* setresuid() is present in libc */
300#undef HAVE_SETEUID		/* seteuid() is present in libc */
301#undef HAVE_SETUID		/* setuid() is present in libc */
302#undef HAVE_SETREGID		/* setregid() is present in libc */
303#undef HAVE_SETRESGID		/* setresgid() is present in libc */
304#undef HAVE_SETEGID		/* setegid() is present in libc */
305#undef HAVE_SETGID		/* setgid() is present in libc */
306#undef HAVE_GETUID		/* getuid() is present in libc */
307#undef HAVE_GETEUID		/* geteuid() is present in libc */
308#undef HAVE_GETGID		/* getgid() is present in libc */
309#undef HAVE_GETEGID		/* getegid() is present in libc */
310#undef HAVE_GETPGID		/* getpgid() is present in libc (POSIX) */
311#undef HAVE_SETPGID		/* setpgid() is present in libc (POSIX) */
312#undef HAVE_GETPGRP		/* getpgrp() is present in libc (ANY) */
313#undef HAVE_GETSID		/* getsid() is present in libc (POSIX) */
314#undef HAVE_SETSID		/* setsid() is present in libc (POSIX) */
315#undef HAVE_SETPGRP		/* setpgrp() is present in libc (ANY) */
316#undef HAVE_BSD_GETPGRP		/* getpgrp() in libc is BSD-4.2 compliant */
317#undef HAVE_BSD_SETPGRP		/* setpgrp() in libc is BSD-4.2 compliant */
318#undef HAVE_GETPWNAM		/* getpwnam() in libc */
319#undef HAVE_GETPWENT		/* getpwent() in libc */
320#undef HAVE_GETPWUID		/* getpwuid() in libc */
321#undef HAVE_SETPWENT		/* setpwent() in libc */
322#undef HAVE_ENDPWENT		/* endpwent() in libc */
323#undef HAVE_GETGRNAM		/* getgrnam() in libc */
324#undef HAVE_GETGRENT		/* getgrent() in libc */
325#undef HAVE_GETGRGID		/* getgrgid() in libc */
326#undef HAVE_SETGRENT		/* setgrent() in libc */
327#undef HAVE_ENDGRENT		/* endgrent() in libc */
328#undef HAVE_GETSPNAM		/* getspnam() in libc (SVR4 compliant) */
329#undef HAVE_GETSPWNAM		/* getspwnam() in libsec.a (HP-UX) */
330#undef HAVE_GETLOGIN		/* getlogin() in libc */
331#undef HAVE_SYNC		/* sync() is present in libc */
332#undef HAVE_FSYNC		/* fsync() is present in libc */
333#undef HAVE_TCGETATTR		/* tcgetattr() is present in libc */
334#undef HAVE_TCSETATTR		/* tcsetattr() is present in libc */
335#undef HAVE_TCGETPGRP		/* tcgetpgrp() is present in libc */
336#undef HAVE_TCSETPGRP		/* tcsetpgrp() is present in libc */
337#undef HAVE_TCGETSID		/* tcgetsid() is present in libc */
338#undef HAVE_WAIT		/* wait() is present in libc */
339#undef HAVE_WAIT3		/* working wait3() is present in libc */
340#undef HAVE_WAIT4		/* wait4() is present in libc */
341#undef HAVE_WAIT6		/* wait6() is present in libc */
342#undef HAVE_WAITID		/* waitid() is present in libc */
343#undef HAVE_WAITPID		/* waitpid() is present in libc */
344#undef HAVE_WNOWAIT_WAITPID	/* waitpid() supports NOWAIT */
345#undef HAVE_CWAIT		/* cwait() is present in libc */
346#undef HAVE_GETHOSTID		/* gethostid() is present in libc */
347#undef HAVE_GETHOSTNAME		/* gethostname() is present in libc */
348#undef HAVE_GETDOMAINNAME	/* getdomainname() is present in libc */
349#undef HAVE_GETPAGESIZE		/* getpagesize() is present in libc */
350#undef HAVE_GETDTABLESIZE	/* getdtablesize() is present in libc */
351#undef HAVE_GETRUSAGE		/* getrusage() is present in libc */
352#undef HAVE_GETRLIMIT		/* getrlimit() is present in libc */
353#undef HAVE_SETRLIMIT		/* setrlimit() is present in libc */
354#undef HAVE_ULIMIT		/* ulimit() is present in libc */
355#undef HAVE_GETTIMEOFDAY	/* gettimeofday() is present in libc */
356#undef HAVE_SETTIMEOFDAY	/* settimeofday() is present in libc */
357#undef HAVE_VAR_TIMEZONE	/* extern long timezone is present in libc */
358#undef HAVE_VAR_TIMEZONE_DEF	/* extern long timezone is present in time.h */
359#undef HAVE_TIME		/* time() is present in libc */
360#undef HAVE_GMTIME		/* gmtime() is present in libc */
361#undef HAVE_LOCALTIME		/* localtime() is present in libc */
362#undef HAVE_MKTIME		/* mktime() is present in libc */
363#undef HAVE_TIMEGM		/* timegm() is present in libc */
364#undef HAVE_TIMELOCAL		/* timelocal() is present in libc */
365#undef HAVE_FTIME		/* ftime() is present in libc */
366#undef HAVE_STIME		/* stime() is present in libc */
367#undef HAVE_TZSET		/* tzset() is present in libc */
368#undef HAVE_CTIME		/* ctime() is present in libc */
369#undef HAVE_CFTIME		/* cftime() is present in libc */
370#undef HAVE_ASCFTIME		/* ascftime() is present in libc */
371#undef HAVE_STRFTIME		/* strftime() is present in libc */
372#undef HAVE_GETHRTIME		/* gethrtime() is present in libc */
373#undef HAVE_POLL		/* poll() is present in libc */
374#undef HAVE_SELECT		/* select() is present in libc */
375#undef HAVE_ISASTREAM		/* isastream() is present in libc */
376#undef HAVE_CHMOD		/* chmod() is present in libc */
377#undef HAVE_FCHMOD		/* fchmod() is present in libc */
378#undef HAVE_LCHMOD		/* lchmod() is present in libc */
379#undef HAVE_CHOWN		/* chown() is present in libc */
380#undef HAVE_FCHOWN		/* fchown() is present in libc */
381#undef HAVE_LCHOWN		/* lchown() is present in libc */
382#undef HAVE_TRUNCATE		/* truncate() is present in libc */
383#undef HAVE_FTRUNCATE		/* ftruncate() is present in libc */
384#undef HAVE_BRK			/* brk() is present in libc */
385#undef HAVE_SBRK		/* sbrk() is present in libc */
386#undef HAVE_VA_COPY		/* va_copy() is present in varargs.h/stdarg.h */
387#undef HAVE__VA_COPY		/* __va_copy() is present in varargs.h/stdarg.h */
388#undef HAVE_DTOA		/* BSD-4.4 __dtoa() is present in libc */
389#undef HAVE_DTOA_R		/* BSD-4.4 __dtoa() with result ptr (reentrant) */
390#undef HAVE_DUP			/* dup() is present in libc */
391#undef HAVE_DUP2		/* dup2() is present in libc */
392#undef HAVE_GETCWD		/* POSIX getcwd() is present in libc */
393#undef HAVE_SMMAP		/* may map anonymous memory to get shared mem */
394#undef HAVE_SHMAT		/* shmat() is present in libc */
395#undef HAVE_SHMGET		/* shmget() is present in libc and working */
396#undef HAVE_SEMGET		/* semget() is present in libc */
397#undef HAVE_LSTAT		/* lstat() is present in libc */
398#undef HAVE_READLINK		/* readlink() is present in libc */
399#undef HAVE_SYMLINK		/* symlink() is present in libc */
400#undef HAVE_LINK		/* link() is present in libc */
401#undef HAVE_HARD_SYMLINKS	/* link() allows hard links on symlinks */
402#undef HAVE_LINK_NOFOLLOW	/* link() does not follow symlinks when hard linking symlinks */
403#undef HAVE_RENAME		/* rename() is present in libc */
404#undef HAVE_MKFIFO		/* mkfifo() is present in libc */
405#undef HAVE_MKNOD		/* mknod() is present in libc */
406#undef HAVE_ECVT		/* ecvt() is present in libc */
407#undef HAVE_FCVT		/* fcvt() is present in libc */
408#undef HAVE_GCVT		/* gcvt() is present in libc */
409#undef HAVE_ECVT_R		/* ecvt_r() is present in libc */
410#undef HAVE_FCVT_R		/* fcvt_r() is present in libc */
411#undef HAVE_GCVT_R		/* gcvt_r() is present in libc */
412#undef HAVE_QECVT		/* qecvt() is present in libc */
413#undef HAVE_QFCVT		/* qfcvt() is present in libc */
414#undef HAVE_QGCVT		/* qgcvt() is present in libc */
415#undef HAVE__QECVT		/* _qecvt() is present in libc */
416#undef HAVE__QFCVT		/* _qfcvt() is present in libc */
417#undef HAVE__QGCVT		/* _qgcvt() is present in libc */
418#undef HAVE__QECVT_R		/* _qecvt_r() is present in libc */
419#undef HAVE__QFCVT_R		/* _qfcvt_r() is present in libc */
420#undef HAVE__QGCVT_R		/* _qgcvt_r() is present in libc */
421#undef HAVE__LDECVT		/* _ldecvt() is present in libc */
422#undef HAVE__LDFCVT		/* _ldfcvt() is present in libc */
423#undef HAVE__LDGCVT		/* _ldgcvt() is present in libc */
424#undef HAVE__LDECVT_R		/* _ldecvt_r() is present in libc */
425#undef HAVE__LDFCVT_R		/* _ldfcvt_r() is present in libc */
426#undef HAVE__LDGCVT_R		/* _ldgcvt_r() is present in libc */
427#undef HAVE_ECONVERT		/* econvert() is present in libc */
428#undef HAVE_FCONVERT		/* fconvert() is present in libc */
429#undef HAVE_GCONVERT		/* gconvert() is present in libc */
430#undef HAVE_QECONVERT		/* qeconvert() is present in libc */
431#undef HAVE_QFCONVERT		/* qfconvert() is present in libc */
432#undef HAVE_QGCONVERT		/* qgconvert() is present in libc */
433#undef HAVE_ISINF		/* isinf() is present in libc */
434#undef HAVE_ISNAN		/* isnan() is present in libc */
435#undef HAVE_C99_ISINF		/* isinf() is present in math.h/libc */
436#undef HAVE_C99_ISNAN		/* isnan() is present in math.h/libc */
437#undef HAVE_GETC_UNLOCKED	/* getc_unlocked() is present in libc */
438#undef HAVE_GETCHAR_UNLOCKED	/* getchar_unlocked() is present in libc */
439#undef HAVE_PUTC_UNLOCKED	/* putc_unlocked() is present in libc */
440#undef HAVE_PUTCHAR_UNLOCKED	/* putchar_unlocked() is present in libc */
441#undef HAVE_FLOCKFILE		/* flockfile() is present in libc */
442#undef HAVE_FUNLOCKFILE		/* funlockfile() is present in libc */
443#undef HAVE_FTRYLOCKFILE	/* ftrylockfile() is present in libc */
444#undef HAVE_FINITE		/* finite() is present in libc/ieeefp.h (SVr4) */
445#undef HAVE_ISNAND		/* isnand() is present in libc/ieeefp.h (SVr4) */
446#undef HAVE_RAND		/* rand() is present in libc */
447#undef HAVE_DRAND48		/* drand48() is present in libc */
448#undef HAVE_ICONV_IN_LIBC	/* whether iconv() is in libc (needs no -liconv) */
449#undef HAVE_ICONV		/* iconv() is present in libiconv */
450#undef HAVE_ICONV_OPEN		/* iconv_open() is present in libiconv */
451#undef HAVE_ICONV_CLOSE		/* iconv_close() is present in libiconc */
452#undef HAVE_LIBICONV		/* libiconv() is present in libiconv */
453#undef HAVE_LIBICONV_OPEN	/* libiconv_open() is present in liiconv */
454#undef HAVE_LIBICONV_CLOSE	/* libiconv_close() is present in libiconv */
455#undef HAVE_SETPRIORITY		/* setpriority() is present in libc */
456#undef HAVE_NICE		/* nice() is present in libc */
457#undef HAVE_DOSSETPRIORITY	/* DosSetPriority() is present in libc */
458#undef HAVE_DOSALLOCSHAREDMEM	/* DosAllocSharedMem() is present in libc */
459#undef HAVE_SEEKDIR		/* seekdir() is present in libc */
460#undef HAVE_GETENV		/* getenv() is present in libc */
461#undef HAVE_PUTENV		/* putenv() is present in libc (preferred function) */
462#undef HAVE_SETENV		/* setenv() is present in libc (use instead of putenv()) */
463#undef HAVE_UNSETENV		/* unsetenv() is present in libc */
464#undef HAVE_UNAME		/* uname() is present in libc */
465#undef HAVE_SNPRINTF		/* snprintf() is present in libc */
466#undef HAVE_VPRINTF		/* vprintf() is present in libc */
467#undef HAVE_VFPRINTF		/* vfprintf() is present in libc */
468#undef HAVE_VSPRINTF		/* vsprintf() is present in libc */
469#undef HAVE_VSNPRINTF		/* vsnprintf() is present in libc */
470#undef HAVE_STRCAT		/* strcat() is present in libc */
471#undef HAVE_STRNCAT		/* strncat() is present in libc */
472#undef HAVE_STRCMP		/* strcmp() is present in libc */
473#undef HAVE_STRNCMP		/* strncmp() is present in libc */
474#undef HAVE_STRCPY		/* strcpy() is present in libc */
475#undef HAVE_STRLCAT		/* strlcat() is present in libc */
476#undef HAVE_STRLCPY		/* strlcpy() is present in libc */
477#undef HAVE_STRNCPY		/* strncpy() is present in libc */
478#undef HAVE_STRDUP		/* strdup() is present in libc */
479#undef HAVE_STRNDUP		/* strndup() is present in libc */
480#undef HAVE_STRLEN		/* strlen() is present in libc */
481#undef HAVE_STRNLEN		/* strnlen() is present in libc */
482#undef HAVE_STRCHR		/* strchr() is present in libc */
483#undef HAVE_STRRCHR		/* strrchr() is present in libc */
484#undef HAVE_STRSTR		/* strstr() is present in libc */
485#undef HAVE_STRSPN		/* strspn() is present in libc */
486#undef HAVE_STRCSPN		/* strcspn() is present in libc */
487#undef HAVE_STRCASECMP		/* strcasecmp() is present in libc */
488#undef HAVE_STRNCASECMP		/* strncasecmp() is present in libc */
489#undef HAVE_BASENAME		/* basename() is present in libc */
490#undef HAVE_DIRNAME		/* dirname() is present in libc */
491#undef HAVE_PATHCONF		/* pathconf() is present in libc */
492#undef HAVE_FPATHCONF		/* fpathconf() is present in libc */
493#undef HAVE_LPATHCONF		/* lpathconf() is present in libc */
494#undef HAVE_STRTOL		/* strtol() is present in libc */
495#undef HAVE_STRTOLL		/* strtoll() is present in libc */
496#undef HAVE_STRTOUL		/* strtoul() is present in libc */
497#undef HAVE_STRTOULL		/* strtoull() is present in libc */
498#undef HAVE_STRTOD		/* strtold() is present in libc */
499#undef HAVE_STRSIGNAL		/* strsignal() is present in libc */
500#undef HAVE_STR2SIG		/* str2sig() is present in libc */
501#undef HAVE_SIG2STR		/* sig2str() is present in libc */
502#undef HAVE_SIGSETJMP		/* sigsetjmp() is present in libc */
503#undef HAVE_SIGLONGJMP		/* siglongjmp() is present in libc */
504#undef HAVE_KILL		/* kill() is present in libc */
505#undef HAVE_KILLPG		/* killpg() is present in libc */
506#undef HAVE_SIGNAL		/* signal() is present in libc */
507#undef HAVE_SIGHOLD		/* sighold() is present in libc */
508#undef HAVE_SIGRELSE		/* sigrelse() is present in libc */
509#undef HAVE_SIGIGNORE		/* sigignore() is present in libc */
510#undef HAVE_SIGPAUSE		/* sigpause() is present in libc */
511#undef HAVE_SIGPROCMASK		/* sigprocmask() is present in libc (POSIX) */
512#undef HAVE_SIGSETMASK		/* sigsetmask() is present in libc (BSD) */
513#undef HAVE_SIGSET		/* sigset() is present in libc (POSIX) */
514#undef HAVE_SIGALTSTACK		/* sigaltstack() is present in libc (POSIX) */
515#undef HAVE_SIGBLOCK		/* sigblock() is present in libc (BSD) */
516#undef HAVE_SYS_SIGLIST		/* char *sys_siglist[] is present in libc */
517#undef HAVE_ALARM		/* alarm() is present in libc */
518#undef HAVE_SLEEP		/* sleep() is present in libc */
519#undef HAVE_USLEEP		/* usleep() is present in libc */
520#undef HAVE_FORK		/* fork() is present in libc */
521#undef HAVE_FORKX		/* forkx() is present in libc */
522#undef HAVE_FORKALL		/* forkall() is present in libc */
523#undef HAVE_FORKALLX		/* forkallx() is present in libc */
524#undef HAVE_VFORK		/* working vfork() is present in libc */
525#undef HAVE_VFORKX		/* working vforkx() is present in libc */
526#undef HAVE_EXECL		/* execl() is present in libc */
527#undef HAVE_EXECLE		/* execle() is present in libc */
528#undef HAVE_EXECLP		/* execlp() is present in libc */
529#undef HAVE_EXECV		/* execv() is present in libc */
530#undef HAVE_EXECVE		/* execve() is present in libc */
531#undef HAVE_EXECVP		/* execvp() is present in libc */
532#undef HAVE_SPAWNL		/* spawnl() is present in libc */
533#undef HAVE_SPAWNLE		/* spawnle() is present in libc */
534#undef HAVE_SPAWNLP		/* spawnlp() is present in libc */
535#undef HAVE_SPAWNLPE		/* spawnlpe() is present in libc */
536#undef HAVE_SPAWNV		/* spawnv() is present in libc */
537#undef HAVE_SPAWNVE		/* spawnve() is present in libc */
538#undef HAVE_SPAWNVP		/* spawnvp() is present in libc */
539#undef HAVE_SPAWNVPE		/* spawnvpe() is present in libc */
540#undef HAVE_ATEXIT		/* atexit() is present in libc */
541#undef HAVE_ON_EXIT		/* on_exit() (SunOS-4.x) is present in libc */
542#undef HAVE_GETEXECNAME		/* getexecname() is present in libc */
543#undef HAVE_GETPROGNAME		/* getprogname() is present in libc */
544#undef HAVE_SETPROGNAME		/* setprogname() is present in libc */
545#undef HAVE_PROC_PIDPATH	/* proc_pidpath() is present in libc */
546#undef HAVE_GETAUXVAL		/* getauxval() is present in libc (Linux) */
547#undef HAVE_ELF_AUX_INFO	/* elf_aux_info() is present in libc (FreeBSD) */
548#undef HAVE_VAR_PROGNAME	/* extern char *__progname is present in libc */
549#undef HAVE_VAR_PROGNAME_FULL	/* extern char *__progname_full is present in libc */
550#undef HAVE_GETLOADAVG		/* getloadavg() is present in libc */
551#undef HAVE_ALLOCA		/* alloca() is present (else use malloc())*/
552#undef HAVE_MALLOC		/* malloc() is present in libc */
553#undef HAVE_CALLOC		/* calloc() is present in libc */
554#undef HAVE_REALLOC		/* realloc() is present in libc */
555#undef HAVE_REALLOC_NULL	/* realloc() implements realloc(NULL, size) */
556#undef HAVE_VALLOC		/* valloc() is present in libc (else use malloc())*/
557#undef HAVE_MEMALIGN		/* memalign() is present in libc */
558#undef HAVE_POSIX_MEMALIGN	/* posix_memalign() is present in libc */
559#undef vfork
560#undef HAVE_WCSCAT		/* wcscat() is present in libc */
561#undef HAVE_WCSNCAT		/* wcsncat() is present in libc */
562#undef HAVE_WCSCMP		/* wcscmp() is present in libc */
563#undef HAVE_WCSNCMP		/* wcsncmp() is present in libc */
564#undef HAVE_WCSCPY		/* wcscpy() is present in libc */
565#undef HAVE_WCSLCAT		/* wcsncat() is present in libc */
566#undef HAVE_WCSLCPY		/* wcsncpy() is present in libc */
567#undef HAVE_WCSNCPY		/* wcsncpy() is present in libc */
568#undef HAVE_WCSDUP		/* wcsdup() is present in libc */
569#undef HAVE_WCSNDUP		/* wcsndup() is present in libc */
570#undef HAVE_WCSLEN		/* wcslen() is present in libc */
571#undef HAVE_WCSNLEN		/* wcsnlen() is present in libc */
572#undef HAVE_WCSCHR		/* wcschr() is present in libc */
573#undef HAVE_WCSRCHR		/* wcsrchr() is present in libc */
574#undef HAVE_WCSSTR		/* wcsstr() is present in libc */
575#undef HAVE_WCSSPN		/* wcsspn() is present in libc */
576#undef HAVE_WCSCSPN		/* wcscspn() is present in libc */
577#undef HAVE_WCWIDTH		/* wcwidth() is present in libc */
578#undef HAVE_WCSWIDTH		/* wcswidth() is present in libc */
579#undef HAVE_WCTYPE		/* wctype() is present in libc */
580#undef HAVE_ISWCTYPE		/* iswctype() is present in libc */
581#undef HAVE_FGETWS		/* fgetws() is present in libc */
582#undef HAVE_WCSTOL		/* wcstol() is present in libc */
583#undef HAVE_WCSTOLL		/* wcstoul() is present in libc */
584#undef HAVE_WCSTOUL		/* wcstoul() is present in libc */
585#undef HAVE_WCSTOULL		/* wcstoull() is present in libc */
586
587
588#undef HAVE_CHFLAGS		/* chflags() is present in libc */
589#undef HAVE_FCHFLAGS		/* fchflags() is present in libc */
590#undef HAVE_FFLAGSTOSTR		/* fflagstostr() is present in libc */
591#undef HAVE_STRTOFFLAGS		/* strtofflags() is present in libc */
592
593#undef HAVE_GETTEXT_IN_LIBC	/* whether gettext() is in libc (needs no -lintl) */
594#undef HAVE_GETTEXT		/* gettext() is present in -lintl */
595#undef HAVE_SETLOCALE		/* setlocale() is present in libc */
596#undef HAVE_LOCALECONV		/* localeconv() is present in libc */
597#undef HAVE_NL_LANGINFO		/* nl_langinfo() is present in libc */
598
599#undef HAVE_EXPAT_IN_LIBC	/* whether XML_Parse() is in libc (needs no -lexpat) */
600#undef HAVE_XML_PARSE		/* whether XML_Parse() libc or -lexpat */
601
602#undef HAVE_PCSC_IN_LIBC	/* whether SCardEstablishContext() is in libc (needs no -lpcsclite) */
603#undef HAVE_SCARDESTABLISHCONTEXT	/* whether SCardEstablishContext() libc or -lpcsclite */
604
605#undef HAVE_CRYPTO_IN_LIBC	/* whether CRYPTO_free() is in libc (needs no -lcrypto) */
606#undef HAVE_CRYPTO_FREE		/* whether CRYPTO_free() libc or -lcrypto */
607
608#undef HAVE_SSL_IN_LIBC		/* whether SSL_free() is in libc (needs no -lssl) */
609#undef HAVE_SSL_FREE		/* whether SSL_free() libc or -lssl */
610
611#undef HAVE_SETBUF		/* setbuf() is present in libc */
612#undef HAVE_SETVBUF		/* setvbuf() is present in libc */
613
614#undef HAVE_FNMATCH		/* fnmatch() is present in libc */
615#undef HAVE_FNMATCH_IGNORECASE	/* fnmatch() implements FNM_IGNORECASE */
616
617#undef HAVE_MKTEMP		/* mktemp() is present in libc */
618#undef HAVE_MKSTEMP		/* mkstemp() is present in libc */
619
620#undef HAVE_GETPPRIV		/* getppriv() is present in libc */
621#undef HAVE_SETPPRIV		/* setppriv() is present in libc */
622#undef HAVE_PRIV_SET		/* priv_set() is present in libc */
623#undef HAVE_ISSETUGID		/* issetugid() is present in libc */
624#undef HAVE_GETROLES		/* getroles() is present in libc (AIX) */
625#undef HAVE_PRIVBIT_SET		/* privbit_set() is present in libc (AIX) */
626
627#undef HAVE_GETAUTHATTR		/* getauthattr() is present in -lsecdb */
628#undef HAVE_GETUSERATTR		/* getuserattr() is present in -lsecdb */
629#undef HAVE_GETEXECATTR		/* getexecattr() is present in -lsecdb */
630#undef HAVE_GETPROFATTR		/* getprofattr() is present in -lsecdb */
631
632#undef HAVE_GMATCH		/* gmatch() is present in -lgen */
633
634#undef HAVE_ELF_BEGIN		/* elf_begin() is present in -lelf */
635
636#undef HAVE_CLONE_AREA		/* clone_area() is present in libc */
637#undef HAVE_CREATE_AREA		/* create_area() is present in libc */
638#undef HAVE_DELETE_AREA		/* delete_area() is present in libc */
639
640#undef HAVE_RES_INIT_IN_LIBC	/* whether res_init() is in libc (needs no -lresolv) */
641
642#undef HAVE_DLOPEN_IN_LIBC	/* whether dlopen() is in libc (needs no -ldl) */
643#undef HAVE_DLOPEN		/* dlopen() is present in libc */
644#undef HAVE_DLCLOSE		/* dlclose() is present in libc */
645#undef HAVE_DLSYM		/* dlsym() is present in libc */
646#undef HAVE_DLERROR		/* dlerror() is present in libc */
647#undef HAVE_DLINFO		/* dlinfo() is present in libc */
648#undef HAVE_SHL_LOAD		/* shl_load() is present in libc */
649#undef HAVE_SHL_UNLOAD		/* shl_unload() is present in libc */
650#undef HAVE_SHL_GETHANDLE	/* shl_gethandle() is present in libc */
651#undef HAVE_LOADLIBRARY		/* LoadLibrary() as present in libc */
652#undef HAVE_FREELIBRARY		/* FreeLibrary() is present in libc */
653#undef HAVE_GETPROCADDRESS	/* GetProcAddress() is present in libc */
654
655#undef HAVE_YIELD		/* yield() is present in libc */
656#undef HAVE_THR_YIELD		/* thr_yield() is present in libc */
657
658#undef HAVE_PTHREAD_CREATE	/* pthread_create() is present in libpthread */
659#undef HAVE_PTHREAD_KILL	/* pthread_kill() is present in libpthread */
660#undef HAVE_PTHREAD_MUTEX_LOCK	/* pthread_mutex_lock() is present in libpthread */
661#undef HAVE_PTHREAD_COND_WAIT	/* pthread_cond_wait() is present in libpthread */
662#undef HAVE_PTHREAD_SPIN_LOCK	/* pthread_spin_lock() is present in libpthread */
663
664#undef HAVE_CLOCK_GETTIME_IN_LIBC /* whether clock_gettime() is in libc (needs no -lrt) */
665#undef HAVE_CLOCK_GETTIME	/* clock_gettime() is present in librt */
666#undef HAVE_CLOCK_SETTIME	/* clock_settime() is present in librt */
667#undef HAVE_CLOCK_GETRES	/* clock_getres() is present in librt */
668#undef HAVE_SCHED_GETPARAM	/* sched_getparam() is present in librt */
669#undef HAVE_SCHED_SETPARAM	/* sched_setparam() is present in librt */
670#undef HAVE_SCHED_GETSCHEDULER	/* sched_getscheduler() is present in librt */
671#undef HAVE_SCHED_SETSCHEDULER	/* sched_setscheduler() is present in librt */
672#undef HAVE_SCHED_YIELD		/* sched_yield() is present in librt */
673#undef HAVE_NANOSLEEP		/* nanosleep() is present in librt */
674
675/*
676 * The POSIX.1e draft has been withdrawn in 1997.
677 * Linux started to implement this outdated concept in 1997.
678 */
679#undef HAVE_CAP_GET_PROC	/* cap_get_proc() is present in libcap */
680#undef HAVE_CAP_SET_PROC	/* cap_set_proc() is present in libcap */
681#undef HAVE_CAP_SET_FLAG	/* cap_set_flag() is present in libcap */
682#undef HAVE_CAP_CLEAR_FLAG	/* cap_clear_flag() is present in libcap */
683
684/*
685 * SELinux support
686 */
687#undef HAVE_IS_SELINUX_ENABLED	/* is_selinux_enabled() is present in libselinux */
688
689#undef HAVE_DIRFD		/* dirfd() is present in libc */
690#undef HAVE_ISWPRINT		/* iswprint() is present in libc */
691#undef HAVE_ISWBLANK		/* iswblank() is present in libc */
692#undef HAVE_ISBLANK		/* isblank() is present in libc */
693#undef HAVE_MBSINIT		/* mbsinit() is present in libc */
694#undef HAVE_MBTOWC		/* mbtowc() is present in libc */
695#undef HAVE_WCTOMB		/* wctomb() is present in libc */
696#undef HAVE_MBRTOWC		/* mbrtowc() is present in libc */
697#undef HAVE_WCRTOMB		/* wcrtomb() is present in libc */
698
699#undef HAVE_PRINTF_J		/* *printf() in libc supports %jd */
700#undef HAVE_PRINTF_Z		/* *printf() in libc supports %zd */
701#undef HAVE_PRINTF_LL		/* *printf() in libc supports %lld */
702
703/*
704 * Functions that we defined in 1982 but where POSIX.1-2008 defined
705 * a POSIX violating incompatible definition.
706 * We use AC_RCHECK_FUNCS(), so we get HAVE_RAW_* results as some
707 * Linux distros have fexecve() that returns ENOSYS.
708 */
709#undef HAVE_RAW_FEXECL		/* fexecl() */
710#undef HAVE_RAW_FEXECLE		/* fexecle() */
711#undef HAVE_RAW_FEXECV		/* fexecv() */
712#undef HAVE_RAW_FEXECVE		/* fexecve() */
713#undef HAVE_RAW_FSPAWNV		/* fspawnv() */
714#undef HAVE_RAW_FSPAWNL		/* fspawnl() */
715#undef HAVE_RAW_FSPAWNV_NOWAIT	/* fspawnv_nowait() */
716#undef HAVE_RAW_GETLINE		/* getline() */
717#undef HAVE_RAW_FGETLINE	/* fgetline() */
718
719
720/*
721 * Misc OS stuff
722 */
723				/* Dirty hack, better use C program not test */
724#if !defined(_MSC_VER) && !defined(__MINGW32__)
725#undef HAVE__DEV_TTY		/* /dev/tty present */
726#undef HAVE__DEV_NULL		/* /dev/null present */
727#undef HAVE__DEV_ZERO		/* /dev/zero present */
728#undef HAVE__DEV_STDIN		/* /dev/stdin present */
729#undef HAVE__DEV_STDOUT		/* /dev/stdout present */
730#undef HAVE__DEV_STDERR		/* /dev/stderr present */
731#undef HAVE__DEV_FD_0		/* /dev/fd/0 present */
732#undef HAVE__DEV_FD_1		/* /dev/fd/1 present */
733#undef HAVE__DEV_FD_2		/* /dev/fd/2 present */
734#undef HAVE__USR_SRC_LINUX_INCLUDE	/* /usr/src/linux/include present */
735
736#undef HAVE_SYMLINK__BIN	/* /bin is a symlink */
737
738#undef HAVE__BIN_SH		/* /bin/sh present */
739#undef HAVE__USR_BIN_SH		/* /usr/bin/sh present */
740#undef HAVE__USR_XPG4_BIN_SH	/* /usr/xpg4/bin/sh present */
741#undef HAVE__BIN_POSIX_SH	/* /bin/posix/sh present */
742#undef HAVE__OPT_SCHILY_XPG4_BIN_SH	/* /opt/schily/xpg4/bin/sh present */
743#endif
744
745/*
746 * Misc OS programs
747 */
748#undef	SHELL_IS_BASH		/* sh is bash */
749#undef	BIN_SHELL_IS_BASH	/* /bin/sh is bash */
750#undef	SHELL_CE_IS_BROKEN	/* sh -ce is broken */
751#undef	BIN_SHELL_CE_IS_BROKEN	/* /bin/sh -ce is broken */
752#undef	BIN_SHELL_BOSH		/* /bin/bosh is a working Bourne Shell */
753#undef	OPT_SCHILY_BIN_SHELL_BOSH /* /opt/schily/bin/bosh is a working Bourne Shell */
754#undef	CNF_PATH_ED		/* e.g. "/bin/ed" */
755#undef	CNF_PATH_RED		/* e.g. "/bin/red" */
756
757/*
758 * OS madness
759 */
760#undef HAVE_BROKEN_LINUX_EXT2_FS_H	/* whether <linux/ext2_fs.h> is broken */
761#undef HAVE_BROKEN_SRC_LINUX_EXT2_FS_H	/* whether /usr/src/linux/include/linux/ext2_fs.h is broken */
762#undef HAVE_USABLE_LINUX_EXT2_FS_H	/* whether linux/ext2_fs.h is usable at all */
763#undef HAVE_BROKEN_SCSI_SCSI_H		/* whether <scsi/scsi.h> is broken */
764#undef HAVE_BROKEN_SRC_SCSI_SCSI_H	/* whether /usr/src/linux/include/scsi/scsi.h is broken */
765#undef HAVE_BROKEN_SCSI_SG_H		/* whether <scsi/sg.h> is broken */
766#undef HAVE_BROKEN_SRC_SCSI_SG_H	/* whether /usr/src/linux/include/scsi/sg.h is broken */
767
768/*
769 * Linux Extended File Attributes
770 */
771#undef HAVE_GETXATTR		/* getxattr()				*/
772#undef HAVE_SETXATTR		/* setxattr()				*/
773#undef HAVE_LISTXATTR		/* listxattr()				*/
774#undef HAVE_LGETXATTR		/* lgetxattr()				*/
775#undef HAVE_LSETXATTR		/* lsetxattr()				*/
776#undef HAVE_LLISTXATTR		/* llistxattr()				*/
777
778/*
779 * Important:	This must be a result from a check _before_ the Large File test
780 *		has been run. It then tells us whether these functions are
781 *		available even when not in Large File mode.
782 *
783 *	Do not run the AC_FUNC_FSEEKO test from the GNU tar Large File test
784 *	siute. It will use the same cache names and interfere with our test.
785 *	Instead use the tests AC_SMALL_FSEEKO/AC_SMALL/STELLO and make sure
786 *	they are placed before the large file tests.
787 */
788#undef HAVE_FSEEKO		/* fseeko() is present in default compile mode */
789#undef HAVE_FTELLO		/* ftello() is present in default compile mode */
790
791#undef HAVE_RCMD		/* rcmd() is present in libc/libsocket */
792#undef HAVE_SOCKET		/* socket() is present in libc/libsocket */
793#undef HAVE_SOCKETPAIR		/* socketpair() is present in libc/libsocket */
794#undef HAVE_GETSERVBYNAME	/* getservbyname() is present in libc/libsocket */
795#undef HAVE_INET_NTOA		/* inet_ntoa() is present in libc/libsocket */
796#undef HAVE_GETADDRINFO		/* getaddrinfo() is present in libc/libsocket */
797#undef HAVE_GETNAMEINFO		/* getnameinfo() is present in libc/libsocket */
798#undef HAVE_HOST2NETNAME	/* host2netname() is present in libc/libsocket */
799#undef HAVE_NETNAME2HOST	/* netname2host() is present in libc/libsocket */
800
801
802#if	defined(HAVE_QUOTACTL) || defined(HAVE_QUOTAIOCTL)
803#	define HAVE_QUOTA	/* The system inludes quota */
804#endif
805
806/*
807 * We need to test for the include files too because Apollo Domain/OS has a
808 * libc that includes the functions but the includes files are not visible
809 * from the BSD compile environment.
810 *
811 * ATARI MiNT has a non-working shmget(), so we test for it separately.
812 */
813#if	defined(HAVE_SHMAT) && defined(HAVE_SHMGET) && \
814	defined(HAVE_SYS_SHM_H) && defined(HAVE_SYS_IPC_H)
815#	define	HAVE_USGSHM	/* USG shared memory is present */
816#endif
817#if	defined(HAVE_SEMGET) && defined(HAVE_SYS_SHM_H) && defined(HAVE_SYS_IPC_H)
818#	define	HAVE_USGSEM	/* USG semaphores are present */
819#endif
820
821#if	defined(HAVE_GETPGRP) && !defined(HAVE_BSD_GETPGRP)
822#define	HAVE_POSIX_GETPGRP 1	/* getpgrp() in libc is POSIX compliant */
823#endif
824#if	defined(HAVE_SETPGRP) && !defined(HAVE_BSD_SETPGRP)
825#define	HAVE_POSIX_SETPGRP 1	/* setpgrp() in libc is POSIX compliant */
826#endif
827
828/*
829 * Structures
830 */
831#undef HAVE_FILE__FLAGS		/* if FILE * contains _flags */
832#undef HAVE_FILE__IO_BUF_BASE	/* if FILE * contains _IO_buf_base */
833
834#undef HAVE_MTGET_TYPE		/* if struct mtget contains mt_type (drive type) */
835#undef HAVE_MTGET_MODEL		/* if struct mtget contains mt_model (drive type) */
836#undef HAVE_MTGET_DSREG		/* if struct mtget contains mt_dsreg (drive status) */
837#undef HAVE_MTGET_DSREG1	/* if struct mtget contains mt_dsreg1 (drive status msb) */
838#undef HAVE_MTGET_DSREG2	/* if struct mtget contains mt_dsreg2 (drive status lsb) */
839#undef HAVE_MTGET_GSTAT		/* if struct mtget contains mt_gstat (generic status) */
840#undef HAVE_MTGET_ERREG		/* if struct mtget contains mt_erreg (error register) */
841#undef HAVE_MTGET_RESID		/* if struct mtget contains mt_resid (residual count) */
842#undef HAVE_MTGET_FILENO	/* if struct mtget contains mt_fileno (file #) */
843#undef HAVE_MTGET_BLKNO		/* if struct mtget contains mt_blkno (block #) */
844#undef HAVE_MTGET_FLAGS		/* if struct mtget contains mt_flags (flags) */
845#undef HAVE_MTGET_BF		/* if struct mtget contains mt_bf (optimum blocking factor) */
846#undef HAVE_STRUCT_TIMEVAL	/* have struct timeval in time.h or sys/time.h */
847#undef HAVE_STRUCT_TIMEZONE	/* have struct timezone in time.h or sys/time.h */
848#undef HAVE_STRUCT_TIMESPEC	/* have struct timespec in time.h or sys/time.h */
849#undef HAVE_STRUCT_RUSAGE	/* have struct rusage in sys/resource.h */
850#undef HAVE_SI_UTIME		/* if struct siginfo contains si_utime */
851#undef HAVE_UNION_SEMUN		/* have an illegal definition for union semun in sys/sem.h */
852#undef HAVE_UNION_WAIT		/* have union wait in wait.h */
853#undef USE_UNION_WAIT		/* union wait in wait.h is used by default */
854#undef HAVE_DIRENT_D_INO	/* have d_ino in struct dirent */
855#undef HAVE_DIRENT_D_TYPE	/* have d_type in struct dirent */
856#undef HAVE_DIR_DD_FD		/* have dd_fd in DIR * */
857/*
858 * SCO UnixWare has st_atim.st__tim.tv_nsec but the st_atim.tv_nsec tests also
859 * succeeds. If you use st_atim.tv_nsec on UnixWare, you get a warning about
860 * illegal structure usage. For this reason, your code needs to have
861 * #ifdef HAVE_ST__TIM before #ifdef HAVE_ST_NSEC.
862 */
863#undef HAVE_ST_SPARE1		/* if struct stat contains st_spare1 (usecs) */
864#undef HAVE_ST_ATIMENSEC	/* if struct stat contains st_atimensec (nanosecs) */
865#undef HAVE_ST_ATIME_N		/* if struct stat contains st_atime_n (nanosecs) */
866#undef HAVE_ST_NSEC		/* if struct stat contains st_atim.tv_nsec (nanosecs) */
867#undef HAVE_ST__TIM		/* if struct stat contains st_atim.st__tim.tv_nsec (nanosecs) */
868#undef HAVE_ST_ATIMESPEC	/* if struct stat contains st_atimespec.tv_nsec (nanosecs) */
869#undef HAVE_ST_BLKSIZE		/* if struct stat contains st_blksize */
870#undef HAVE_ST_BLOCKS		/* if struct stat contains st_blocks */
871#undef HAVE_ST_FSTYPE		/* if struct stat contains st_fstype */
872#undef HAVE_ST_ACLCNT		/* if struct stat contains st_aclcnt */
873#undef HAVE_ST_RDEV		/* if struct stat contains st_rdev */
874#undef HAVE_ST_FLAG		/* if struct stat contains st_flag */
875#undef HAVE_ST_FLAGS		/* if struct stat contains st_flags */
876#undef STAT_MACROS_BROKEN	/* if the macros S_ISDIR, S_ISREG .. don't work */
877
878#undef HAVE_UTSNAME_ARCH	/* if struct utsname contains processor as arch */
879#undef HAVE_UTSNAME_PROCESSOR	/* if struct utsname contains processor */
880#undef HAVE_UTSNAME_SYSNAME_HOST /* if struct utsname contains sysname_host */
881#undef HAVE_UTSNAME_RELEASE_HOST /* if struct utsname contains release_host */
882#undef HAVE_UTSNAME_VERSION_HOST /* if struct utsname contains version_host */
883
884#undef DEV_MINOR_BITS		/* # if bits needed to hold minor device number */
885#undef DEV_MINOR_NONCONTIG	/* if bits in minor device number are noncontiguous */
886
887#undef HAVE_SOCKADDR_STORAGE	/* if socket.h defines struct sockaddr_storage */
888
889#undef HAVE_PW_PASSWD		/* if struct passwd contains pw_passwd */
890
891/*
892 * Misc CC features
893 */
894#undef HAVE_CC_NOINLINE		/* cc supports __attribute__ ((__noinline__)) */
895
896/*
897 * Byteorder/Bitorder
898 */
899#define	HAVE_C_BIGENDIAN	/* Flag that WORDS_BIGENDIAN test was done */
900#undef WORDS_BIGENDIAN		/* If using network byte order             */
901#define	HAVE_C_BITFIELDS	/* Flag that BITFIELDS_HTOL test was done  */
902#undef BITFIELDS_HTOL		/* If high bits come first in structures   */
903
904/*
905 * Types/Keywords
906 */
907#undef SIZEOF_CHAR
908#undef SIZEOF_SHORT_INT
909#undef SIZEOF_INT
910#undef SIZEOF_LONG_INT
911#undef SIZEOF_LONG_LONG
912#undef SIZEOF___INT64
913#undef SIZEOF_CHAR_P
914#undef SIZEOF_UNSIGNED_CHAR
915#undef SIZEOF_UNSIGNED_SHORT_INT
916#undef SIZEOF_UNSIGNED_INT
917#undef SIZEOF_UNSIGNED_LONG_INT
918#undef SIZEOF_UNSIGNED_LONG_LONG
919#undef SIZEOF_UNSIGNED___INT64
920#undef SIZEOF_UNSIGNED_CHAR_P
921#undef SIZEOF_FLOAT
922#undef SIZEOF_DOUBLE
923#undef SIZEOF_LONG_DOUBLE
924
925#undef SIZEOF_SIZE_T
926#undef SIZEOF_SSIZE_T
927#undef SIZEOF_PTRDIFF_T
928
929#undef SIZEOF_MODE_T
930#undef SIZEOF_UID_T
931#undef SIZEOF_GID_T
932#undef SIZEOF_PID_T
933
934/*
935 * If sizeof (mode_t) is < sizeof (int) and used with va_arg(),
936 * GCC4 will abort the code. So we need to use the promoted size.
937 */
938#if	SIZEOF_MODE_T < SIZEOF_INT
939#define	PROMOTED_MODE_T	int
940#else
941#define	PROMOTED_MODE_T	mode_t
942#endif
943
944#undef SIZEOF_DEV_T
945#undef SIZEOF_MAJOR_T
946#undef SIZEOF_MINOR_T
947
948#undef SIZEOF_TIME_T
949#undef SIZEOF_WCHAR		/* sizeof (L'a')	*/
950#undef SIZEOF_WCHAR_T		/* sizeof (wchar_t)	*/
951
952#undef HAVE_LONGLONG		/* Compiler defines long long type */
953#undef HAVE___INT64		/* Compiler defines __int64 type */
954#undef HAVE_LONGDOUBLE		/* Compiler defines long double type */
955#undef CHAR_IS_UNSIGNED		/* Compiler defines char to be unsigned */
956#undef HAVE_SIGSTKSZ_CONST	/* SIGSTKSZ is a constant */
957
958#undef const			/* Define to empty if const doesn't work */
959#undef uid_t			/* To be used if uid_t is not present  */
960#undef gid_t			/* To be used if gid_t is not present  */
961#undef size_t			/* To be used if size_t is not present */
962#undef ssize_t			/* To be used if ssize_t is not present */
963#undef ptrdiff_t		/* To be used if ptrdiff_t is not present */
964#undef pid_t			/* To be used if pid_t is not present  */
965#undef off_t			/* To be used if off_t is not present  */
966#undef mode_t			/* To be used if mode_t is not present */
967#undef time_t			/* To be used if time_t is not present */
968#undef caddr_t			/* To be used if caddr_t is not present */
969#undef daddr_t			/* To be used if daddr_t is not present */
970#undef dev_t			/* To be used if dev_t is not present */
971#undef major_t			/* To be used if major_t is not present */
972#undef minor_t			/* To be used if minor_t is not present */
973#undef ino_t			/* To be used if ino_t is not present */
974#undef nlink_t			/* To be used if nlink_t is not present */
975#undef blksize_t		/* To be used if blksize_t is not present */
976#undef blkcnt_t			/* To be used if blkcnt_t is not present */
977
978#undef	HAVE_TYPE_INTMAX_T	/* if <stdint.h> defines intmax_t */
979#undef	HAVE_TYPE_UINTMAX_T	/* if <stdint.h> defines uintmax_t */
980
981#ifndef	NEED_INTTYPES
982#define	NO_INTTYPES
983#endif
984#if	defined(ultrix)		/* Ultrix has these types somewhere else */
985#ifndef	NO_INTTYPES		/* so we cannot define them here	*/
986#define	NO_INTTYPES
987#endif
988#endif
989#ifndef	NO_INTTYPES
990#undef int8_t			/* To be used if int8_t is not present */
991#undef int16_t			/* To be used if int16_t is not present */
992#undef int32_t			/* To be used if int32_t is not present */
993#if	defined(HAVE_LONGLONG) || defined(HAVE___INT64)
994#undef int64_t			/* To be used if int64_t is not present */
995#endif
996#undef intmax_t			/* To be used if intmax_t is not present */
997#undef uint8_t			/* To be used if uint8_t is not present */
998#undef uint16_t			/* To be used if uint16_t is not present */
999#undef uint32_t			/* To be used if uint32_t is not present */
1000#if	defined(HAVE_LONGLONG) || defined(HAVE___INT64)
1001#undef uint64_t			/* To be used if uint64_t is not present */
1002#endif
1003#undef uintmax_t		/* To be used if uintmax_t is not present */
1004#endif	/* NO_INTTYPES */
1005
1006#undef	HAVE_TYPE_GREG_T	/* if <sys/frame.h> defines greg_t */
1007
1008#undef	HAVE_TYPE_RLIM_T	/* if <sys/resource.h> defines rlim_t */
1009#undef	HAVE_TYPE_IDTYPE_T	/* if <sys/wait.h> defines idtype_t */
1010#undef	HAVE_TYPE_SIGINFO_T	/* if <sys/wait.h> defines siginfo_t */
1011
1012#undef	HAVE_STACK_T		/* if <signal.h> defines stack_t */
1013#undef	HAVE_SIGINFO_T		/* if <signal.h> defines siginfo_t */
1014
1015/*
1016 * Important:	Next Step needs time.h for clock_t (because of a bug)
1017 */
1018#undef clock_t			/* To be used if clock_t is not present */
1019#undef socklen_t		/* To be used if socklen_t is not present */
1020
1021/*
1022 * These types are present on all UNIX systems but should be avoided
1023 * for portability.
1024 * On Apollo/Domain OS we don't have them....
1025 *
1026 * Better include <schily/utypes.h> and use Uchar, Uint & Ulong
1027 */
1028#undef u_char			/* To be used if u_char is not present	*/
1029#undef u_short			/* To be used if u_short is not present	*/
1030#undef u_int			/* To be used if u_int is not present	*/
1031#undef u_long			/* To be used if u_long is not present	*/
1032
1033#undef wctype_t			/* To be used if wctype_t is not in wchar.h */
1034#undef wint_t			/* To be used if wint_t is not in wchar.h */
1035#undef mbstate_t		/* To be used if mbstate_t is not in wchar.h */
1036
1037#undef timestruc_t		/* To be used if timestruc_t is not in sys/stat.h */
1038
1039/*#undef HAVE_SIZE_T*/
1040/*#undef NO_SIZE_T*/
1041#undef VA_LIST_IS_ARRAY		/* va_list is an array */
1042#undef GETGROUPS_T
1043#define GID_T		GETGROUPS_T
1044
1045/*
1046 * Define as the return type of signal handlers (int or void).
1047 */
1048#undef RETSIGTYPE
1049
1050/*
1051 * Defined in case that we have iconv(iconv_t, const char **, site_t *, ...)
1052 */
1053#undef HAVE_ICONV_CONST
1054
1055/*
1056 * Defines needed to get large file support.
1057 */
1058#ifdef	USE_LARGEFILES
1059
1060#undef	HAVE_LARGEFILES
1061
1062#ifdef	HAVE_LARGEFILES		/* If we have working largefiles at all	   */
1063				/* This is not defined with glibc-2.1.3	   */
1064
1065#undef _FILE_OFFSET_BITS	/* # of bits in off_t if settable	   */
1066#undef _LARGEFILE_SOURCE	/* To make ftello() visible (HP-UX 10.20). */
1067#undef _LARGE_FILES		/* Large file defined on AIX-style hosts.  */
1068#undef _XOPEN_SOURCE		/* To make ftello() visible (glibc 2.1.3). */
1069				/* XXX We don't use this because glibc2.1.3*/
1070				/* XXX is bad anyway. If we define	   */
1071				/* XXX _XOPEN_SOURCE we will loose caddr_t */
1072
1073#undef HAVE_FSEEKO		/* Do we need this? If HAVE_LARGEFILES is  */
1074				/* defined, we have fseeko()		   */
1075
1076#endif	/* HAVE_LARGEFILES */
1077#endif	/* USE_LARGEFILES */
1078
1079#ifdef USE_ACL			/* Enable/disable ACL support */
1080/*
1081 * The withdrawn POSIX.1e ACL draft support.
1082 * It has been written in 1993 and withdrawn in 1997.
1083 * Linux started to implement it in 2001.
1084 */
1085#undef HAVE_ACL_GET_FILE	/* acl_get_file() function */
1086#undef HAVE_ACL_SET_FILE	/* acl_set_file() function */
1087#undef HAVE_ACL_GET_ENTRY	/* acl_get_entry() function */
1088#undef HAVE_ACL_FROM_TEXT	/* acl_from_text() function */
1089#undef HAVE_ACL_TO_TEXT		/* acl_to_text() function */
1090#undef HAVE_ACL_TO_TEXT_NP	/* acl_to_text_np() function */
1091#undef HAVE_ACL_GET_BRAND_NP	/* acl_get_brand_np() function */
1092#undef HAVE_ACL_IS_TRIVIAL_NP	/* acl_is_trivial_np() function */
1093#undef HAVE_ACL_STRIP_NP	/* acl_strip_np() function */
1094#undef HAVE_ACL_FREE		/* acl_free() function */
1095#undef HAVE_ACL_DELETE_DEF_FILE	/* acl_delete_def_file() function */
1096#undef HAVE_ACL_EXTENDED_FILE	/* acl_extended_file() function (Linux only)*/
1097
1098#if defined(HAVE_ACL_GET_FILE) && defined(HAVE_ACL_SET_FILE) && \
1099    defined(HAVE_ACL_FROM_TEXT) && defined(HAVE_ACL_TO_TEXT) && \
1100    defined(HAVE_ACL_FREE)
1101#if !defined(OS390) && !defined(__MVS__)
1102	/*
1103	 * z/OS implements the withdrawn POSIX draft ACL interface functions
1104	 * but uses different data structures. As a result, we currently cannot
1105	 * yet implement ACL support for z/OS.
1106	 */
1107#	define	HAVE_POSIX_ACL	1 /* Withdrawn POSIX draft ACL's present */
1108#endif
1109#endif
1110
1111/*
1112 * Sun UFS ACL support.
1113 * Note: unfortunately, HP-UX has an (undocumented) acl() function in libc.
1114 */
1115#undef HAVE_ACL			/* acl() function */
1116#undef HAVE_FACL		/* facl() function */
1117#undef HAVE_ACLFROMTEXT		/* aclfromtext() function */
1118#undef HAVE_ACLTOTEXT		/* acltotext() function */
1119
1120/*
1121 * NFSv4 ACL support.
1122 * Note: There is an unfortunate name clash for acl_free() with the
1123 *	 withdrawn POSIX.1e draft. We correct this below.
1124 */
1125#undef HAVE_ACL_GET		/* acl_get() function */
1126#undef HAVE_ACL_SET		/* acl_set() function */
1127#undef HAVE_FACL_GET		/* facl_get() function */
1128#undef HAVE_FACL_SET		/* facl_set() function */
1129#undef HAVE_ACL_FROMTEXT	/* acl_fromtext() function */
1130#undef HAVE_ACL_TOTEXT		/* acl_totext() function */
1131
1132#if !defined(HAVE_POSIX_ACL)
1133/*
1134 * Cygwin used to implement the Sun UFS ACL interface but in 2016
1135 * moved towards the withdrawn POSIX draft.
1136 * Make sure that we do not #define HAVE_POSIX_ACL and HAVE_SUN_ACL
1137 * at the same time.
1138 */
1139#if defined(HAVE_ACL) && defined(HAVE_FACL) && \
1140    defined(HAVE_ACLFROMTEXT) && defined(HAVE_ACLTOTEXT)
1141#	define	HAVE_SUN_ACL	1 /* Sun UFS ACL's present */
1142#endif
1143#endif /* !defined(HAVE_POSIX_ACL) */
1144
1145#if defined(HAVE_ACL_GET) && defined(HAVE_ACL_SET) && \
1146    defined(HAVE_FACL_GET) && defined(HAVE_FACL_SET) && \
1147    defined(HAVE_ACL_FROMTEXT) && defined(HAVE_ACL_TOTEXT)
1148#	define	HAVE_ACL_FREE	1 /* acl_fre() function */
1149#	define	HAVE_NFSV4_ACL	1 /* NFSv4 ACL's present */
1150#endif
1151
1152#if defined(HAVE_ACL_GET_BRAND_NP)
1153#ifndef	HAVE_NFSV4_ACL
1154#	define	HAVE_NFSV4_ACL	1 /* NFSv4 ACL's present */
1155#endif
1156#	define	HAVE_FREEBSD_NFSV4_ACL	1 /* FreeBSD NFSv4 ACL implementation */
1157#endif
1158
1159/*
1160 * HP-UX ACL support.
1161 * Note: unfortunately, HP-UX has an (undocumented) acl() function in libc.
1162 */
1163#undef HAVE_GETACL		/* getacl() function */
1164#undef HAVE_FGETACL		/* fgetacl() function */
1165#undef HAVE_SETACL		/* setacl() function */
1166#undef HAVE_FSETACL		/* fsetacl() function */
1167#undef HAVE_STRTOACL		/* strtoacl() function */
1168#undef HAVE_ACLTOSTR		/* acltostr() function */
1169#undef HAVE_CPACL		/* cpacl() function */
1170#undef HAVE_FCPACL		/* fcpacl() function */
1171#undef HAVE_CHOWNACL		/* chownacl() function */
1172#undef HAVE_SETACLENTRY		/* setaclentry() function */
1173#undef HAVE_FSETACLENTRY	/* fsetaclentry() function */
1174
1175#if defined(HAVE_GETACL) && defined(HAVE_FGETACL) && \
1176    defined(HAVE_SETACL) && defined(HAVE_FSETACL) && \
1177    defined(HAVE_STRTOACL) && defined(HAVE_ACLTOTEXT)
1178#	define	HAVE_HP_ACL	1 /* HP-UX ACL's present */
1179#endif
1180
1181/*
1182 * Global definition whether ACL support is present.
1183 * As HP-UX differs too much from other implementations, HAVE_HP_ACL is not
1184 * included in HAVE_ANY_ACL.
1185 */
1186#if defined(HAVE_POSIX_ACL) || defined(HAVE_SUN_ACL) || defined(HAVE_NFSV4_ACL)
1187#	define	HAVE_ANY_ACL	1 /* Any ACL implementation present */
1188#endif
1189
1190#endif	/* USE_ACL */
1191
1192/*
1193 * Mainly needed for z/OS that seems to be the only OS based on EBCDIC.
1194 */
1195#if	('i' + 1) < 'j'
1196#define	HAVE_EBCDIC
1197#else
1198#define	HAVE_ASCII
1199#endif
1200
1201/*
1202 * Misc CC / LD related stuff
1203 */
1204#undef NO_USER_MALLOC		/* If we cannot define our own malloc()	*/
1205#undef NO_USER_XCVT		/* If we cannot define our own ecvt()/fcvt()/gcvt() */
1206#undef HAVE_DYN_ARRAYS		/* If the compiler allows dynamic sized arrays */
1207#undef HAVE_PRAGMA_WEAK		/* If the compiler allows #pragma weak */
1208#undef HAVE_LINK_WEAK		/* If the linker sees weak entries in other files */
1209#undef HAVE_STRINGIZE		/* If the cpp supports ANSI C stringize */
1210#undef inline
1211
1212/*
1213 * Strings that help to maintain OS/platform id's in C-programs
1214 */
1215#undef HOST_ALIAS		/* Output from config.guess (orig)	*/
1216#undef HOST_SUB			/* Output from config.sub (modified)	*/
1217#undef HOST_CPU			/* CPU part from HOST_SUB		*/
1218#undef HOST_VENDOR		/* VENDOR part from HOST_SUB		*/
1219#undef HOST_OS			/* CPU part from HOST_SUB		*/
1220
1221
1222/*
1223 * Begin restricted code for quality assurance.
1224 *
1225 * Warning: you are not allowed to include the #define below if you are not
1226 * using the Schily makefile system or if you modified the autoconfiguration
1227 * tests.
1228 *
1229 * If you only added other tests you are allowed to keep this #define.
1230 *
1231 * This restiction is introduced because this way, I hope that people
1232 * contribute to the project instead of creating branches.
1233 */
1234#define	IS_SCHILY_XCONFIG
1235/*
1236 * End restricted code for quality assurance.
1237 */
1238
1239#endif	/* __XCONFIG_H */
1240