aacec2b15b207c7e282b6fa3ec3259009d96be8e
[debian/gzip] / m4 / unistd_h.m4
1 # unistd_h.m4 serial 38
2 dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 dnl Written by Simon Josefsson, Bruno Haible.
8
9 AC_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   AC_REQUIRE([AC_C_INLINE])
15
16   gl_CHECK_NEXT_HEADERS([unistd.h])
17
18   AC_CHECK_HEADERS_ONCE([unistd.h])
19   if test $ac_cv_header_unistd_h = yes; then
20     HAVE_UNISTD_H=1
21   else
22     HAVE_UNISTD_H=0
23   fi
24   AC_SUBST([HAVE_UNISTD_H])
25
26   dnl Check for declarations of anything we want to poison if the
27   dnl corresponding gnulib module is not in use.
28   gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
29 /* Some systems declare environ in the wrong header.  */
30 #ifndef __GLIBC__
31 # include <stdlib.h>
32 #endif
33     ]], [environ])
34 ])
35
36 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
37 [
38   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
39   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
40   GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
41 ])
42
43 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
44 [
45   GNULIB_CHOWN=0;            AC_SUBST([GNULIB_CHOWN])
46   GNULIB_CLOSE=0;            AC_SUBST([GNULIB_CLOSE])
47   GNULIB_DUP2=0;             AC_SUBST([GNULIB_DUP2])
48   GNULIB_DUP3=0;             AC_SUBST([GNULIB_DUP3])
49   GNULIB_ENVIRON=0;          AC_SUBST([GNULIB_ENVIRON])
50   GNULIB_EUIDACCESS=0;       AC_SUBST([GNULIB_EUIDACCESS])
51   GNULIB_FACCESSAT=0;        AC_SUBST([GNULIB_FACCESSAT])
52   GNULIB_FCHDIR=0;           AC_SUBST([GNULIB_FCHDIR])
53   GNULIB_FCHOWNAT=0;         AC_SUBST([GNULIB_FCHOWNAT])
54   GNULIB_FSYNC=0;            AC_SUBST([GNULIB_FSYNC])
55   GNULIB_FTRUNCATE=0;        AC_SUBST([GNULIB_FTRUNCATE])
56   GNULIB_GETCWD=0;           AC_SUBST([GNULIB_GETCWD])
57   GNULIB_GETDOMAINNAME=0;    AC_SUBST([GNULIB_GETDOMAINNAME])
58   GNULIB_GETDTABLESIZE=0;    AC_SUBST([GNULIB_GETDTABLESIZE])
59   GNULIB_GETGROUPS=0;        AC_SUBST([GNULIB_GETGROUPS])
60   GNULIB_GETHOSTNAME=0;      AC_SUBST([GNULIB_GETHOSTNAME])
61   GNULIB_GETLOGIN=0;         AC_SUBST([GNULIB_GETLOGIN])
62   GNULIB_GETLOGIN_R=0;       AC_SUBST([GNULIB_GETLOGIN_R])
63   GNULIB_GETPAGESIZE=0;      AC_SUBST([GNULIB_GETPAGESIZE])
64   GNULIB_GETUSERSHELL=0;     AC_SUBST([GNULIB_GETUSERSHELL])
65   GNULIB_LCHOWN=0;           AC_SUBST([GNULIB_LCHOWN])
66   GNULIB_LINK=0;             AC_SUBST([GNULIB_LINK])
67   GNULIB_LINKAT=0;           AC_SUBST([GNULIB_LINKAT])
68   GNULIB_LSEEK=0;            AC_SUBST([GNULIB_LSEEK])
69   GNULIB_PIPE2=0;            AC_SUBST([GNULIB_PIPE2])
70   GNULIB_PREAD=0;            AC_SUBST([GNULIB_PREAD])
71   GNULIB_READLINK=0;         AC_SUBST([GNULIB_READLINK])
72   GNULIB_READLINKAT=0;       AC_SUBST([GNULIB_READLINKAT])
73   GNULIB_RMDIR=0;            AC_SUBST([GNULIB_RMDIR])
74   GNULIB_SLEEP=0;            AC_SUBST([GNULIB_SLEEP])
75   GNULIB_SYMLINK=0;          AC_SUBST([GNULIB_SYMLINK])
76   GNULIB_SYMLINKAT=0;        AC_SUBST([GNULIB_SYMLINKAT])
77   GNULIB_UNISTD_H_GETOPT=0;  AC_SUBST([GNULIB_UNISTD_H_GETOPT])
78   GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
79   GNULIB_UNLINK=0;           AC_SUBST([GNULIB_UNLINK])
80   GNULIB_UNLINKAT=0;         AC_SUBST([GNULIB_UNLINKAT])
81   GNULIB_USLEEP=0;           AC_SUBST([GNULIB_USLEEP])
82   GNULIB_WRITE=0;            AC_SUBST([GNULIB_WRITE])
83   dnl Assume proper GNU behavior unless another module says otherwise.
84   HAVE_CHOWN=1;           AC_SUBST([HAVE_CHOWN])
85   HAVE_DUP2=1;            AC_SUBST([HAVE_DUP2])
86   HAVE_DUP3=1;            AC_SUBST([HAVE_DUP3])
87   HAVE_EUIDACCESS=1;      AC_SUBST([HAVE_EUIDACCESS])
88   HAVE_FACCESSAT=1;       AC_SUBST([HAVE_FACCESSAT])
89   HAVE_FCHOWNAT=1;        AC_SUBST([HAVE_FCHOWNAT])
90   HAVE_FSYNC=1;           AC_SUBST([HAVE_FSYNC])
91   HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
92   HAVE_GETDOMAINNAME=1;   AC_SUBST([HAVE_GETDOMAINNAME])
93   HAVE_GETDTABLESIZE=1;   AC_SUBST([HAVE_GETDTABLESIZE])
94   HAVE_GETGROUPS=1;       AC_SUBST([HAVE_GETGROUPS])
95   HAVE_GETHOSTNAME=1;     AC_SUBST([HAVE_GETHOSTNAME])
96   HAVE_GETLOGIN=1;        AC_SUBST([HAVE_GETLOGIN])
97   HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
98   HAVE_GETUSERSHELL=1;    AC_SUBST([HAVE_GETUSERSHELL])
99   HAVE_LCHOWN=1;          AC_SUBST([HAVE_LCHOWN])
100   HAVE_LINK=1;            AC_SUBST([HAVE_LINK])
101   HAVE_LINKAT=1;          AC_SUBST([HAVE_LINKAT])
102   HAVE_PIPE2=1;           AC_SUBST([HAVE_PIPE2])
103   HAVE_PREAD=1;           AC_SUBST([HAVE_PREAD])
104   HAVE_READLINK=1;        AC_SUBST([HAVE_READLINK])
105   HAVE_READLINKAT=1;      AC_SUBST([HAVE_READLINKAT])
106   HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
107   HAVE_SYMLINK=1;         AC_SUBST([HAVE_SYMLINK])
108   HAVE_SYMLINKAT=1;       AC_SUBST([HAVE_SYMLINKAT])
109   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
110   HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
111   HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
112   HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
113   HAVE_UNLINKAT=1;        AC_SUBST([HAVE_UNLINKAT])
114   HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
115   REPLACE_CHOWN=0;        AC_SUBST([REPLACE_CHOWN])
116   REPLACE_CLOSE=0;        AC_SUBST([REPLACE_CLOSE])
117   REPLACE_DUP=0;          AC_SUBST([REPLACE_DUP])
118   REPLACE_DUP2=0;         AC_SUBST([REPLACE_DUP2])
119   REPLACE_FCHDIR=0;       AC_SUBST([REPLACE_FCHDIR])
120   REPLACE_FCHOWNAT=0;     AC_SUBST([REPLACE_FCHOWNAT])
121   REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
122   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
123   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
124   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
125   REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
126   REPLACE_LINKAT=0;       AC_SUBST([REPLACE_LINKAT])
127   REPLACE_LSEEK=0;        AC_SUBST([REPLACE_LSEEK])
128   REPLACE_PREAD=0;        AC_SUBST([REPLACE_PREAD])
129   REPLACE_READLINK=0;     AC_SUBST([REPLACE_READLINK])
130   REPLACE_RMDIR=0;        AC_SUBST([REPLACE_RMDIR])
131   REPLACE_SLEEP=0;        AC_SUBST([REPLACE_SLEEP])
132   REPLACE_SYMLINK=0;      AC_SUBST([REPLACE_SYMLINK])
133   REPLACE_UNLINK=0;       AC_SUBST([REPLACE_UNLINK])
134   REPLACE_UNLINKAT=0;     AC_SUBST([REPLACE_UNLINKAT])
135   REPLACE_USLEEP=0;       AC_SUBST([REPLACE_USLEEP])
136   REPLACE_WRITE=0;        AC_SUBST([REPLACE_WRITE])
137   UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
138   UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
139                            AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
140 ])