1# unistd_h.m4 serial 75 2dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7dnl Written by Simon Josefsson, Bruno Haible. 8 9AC_DEFUN([gl_UNISTD_H], 10[ 11 dnl Use AC_REQUIRE here, so that the default behavior below is expanded 12 dnl once only, before all statements that occur in other macros. 13 AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) 14 15 gl_CHECK_NEXT_HEADERS([unistd.h]) 16 if test $ac_cv_header_unistd_h = yes; then 17 HAVE_UNISTD_H=1 18 else 19 HAVE_UNISTD_H=0 20 fi 21 AC_SUBST([HAVE_UNISTD_H]) 22 23 dnl Ensure the type pid_t gets defined. 24 AC_REQUIRE([AC_TYPE_PID_T]) 25 26 dnl Determine WINDOWS_64_BIT_OFF_T. 27 AC_REQUIRE([gl_TYPE_OFF_T]) 28 29 dnl Check for declarations of anything we want to poison if the 30 dnl corresponding gnulib module is not in use. 31 gl_WARN_ON_USE_PREPARE([[ 32#if HAVE_UNISTD_H 33# include <unistd.h> 34#endif 35/* Some systems declare various items in the wrong headers. */ 36#if !(defined __GLIBC__ && !defined __UCLIBC__) 37# include <fcntl.h> 38# include <stdio.h> 39# include <stdlib.h> 40# if defined _WIN32 && ! defined __CYGWIN__ 41# include <io.h> 42# endif 43#endif 44 ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat 45 fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups 46 gethostname getlogin getlogin_r getpagesize getpass 47 getusershell setusershell endusershell 48 group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite 49 readlink readlinkat rmdir sethostname sleep symlink symlinkat 50 truncate ttyname_r unlink unlinkat usleep]) 51]) 52 53AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], 54[ 55 dnl Use AC_REQUIRE here, so that the default settings are expanded once only. 56 AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) 57 gl_MODULE_INDICATOR_SET_VARIABLE([$1]) 58 dnl Define it also as a C macro, for the benefit of the unit tests. 59 gl_MODULE_INDICATOR_FOR_TESTS([$1]) 60]) 61 62AC_DEFUN([gl_UNISTD_H_DEFAULTS], 63[ 64 GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) 65 GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) 66 GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) 67 GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) 68 GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) 69 GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) 70 GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) 71 GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) 72 GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) 73 GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) 74 GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) 75 GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) 76 GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) 77 GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) 78 GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) 79 GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) 80 GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) 81 GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) 82 GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) 83 GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) 84 GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) 85 GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) 86 GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) 87 GNULIB_GETPASS=0; AC_SUBST([GNULIB_GETPASS]) 88 GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) 89 GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) 90 GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) 91 GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) 92 GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) 93 GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) 94 GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) 95 GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) 96 GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) 97 GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) 98 GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) 99 GNULIB_READ=0; AC_SUBST([GNULIB_READ]) 100 GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) 101 GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) 102 GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) 103 GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) 104 GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) 105 GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) 106 GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) 107 GNULIB_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE]) 108 GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) 109 GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) 110 GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) 111 GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) 112 GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) 113 GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) 114 GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) 115 dnl Assume proper GNU behavior unless another module says otherwise. 116 HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) 117 HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) 118 HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) 119 HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) 120 HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) 121 HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) 122 HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) 123 HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) 124 HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) 125 HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) 126 HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) 127 HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) 128 HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) 129 HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) 130 HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) 131 HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) 132 HAVE_GETPASS=1; AC_SUBST([HAVE_GETPASS]) 133 HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) 134 HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) 135 HAVE_LINK=1; AC_SUBST([HAVE_LINK]) 136 HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) 137 HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) 138 HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) 139 HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) 140 HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) 141 HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) 142 HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) 143 HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) 144 HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) 145 HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) 146 HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) 147 HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) 148 HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) 149 HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) 150 HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) 151 HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) 152 HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) 153 HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN]) 154 HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) 155 HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) 156 HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) 157 HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) 158 HAVE_DECL_TRUNCATE=1; AC_SUBST([HAVE_DECL_TRUNCATE]) 159 HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) 160 HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) 161 HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) 162 REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) 163 REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) 164 REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) 165 REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) 166 REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) 167 REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) 168 REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) 169 REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) 170 REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) 171 REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) 172 REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) 173 REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) 174 REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) 175 REPLACE_GETPASS=0; AC_SUBST([REPLACE_GETPASS]) 176 REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) 177 REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) 178 REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) 179 REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) 180 REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) 181 REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) 182 REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) 183 REPLACE_READ=0; AC_SUBST([REPLACE_READ]) 184 REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) 185 REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) 186 REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) 187 REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) 188 REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) 189 REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) 190 REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE]) 191 REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) 192 REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) 193 REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) 194 REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) 195 REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) 196 UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) 197 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; 198 AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) 199]) 200