aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2017-01-03 17:46:40 +0200
committerEli Zaretskii2017-01-03 17:46:40 +0200
commit10444dcf77711bf3360f865fcb0d446a83e1bfb5 (patch)
treec5e6586bbae9bb3fdbfd2a7727f9ec9fc0fe8f4a
parent134e86b360cab0d0a5cb634b71a4b06ec26c5f1f (diff)
downloademacs-10444dcf77711bf3360f865fcb0d446a83e1bfb5.tar.gz
emacs-10444dcf77711bf3360f865fcb0d446a83e1bfb5.zip
Generate nt/gnulib.mk from lib/gnulib.mk
This was proposed by Paul Eggert <eggert@cs.ucla.edu>, with the purpose of avoiding manual maintenance of nt/gnulib.mk. * nt/gnulib-modules-to-delete.cfg: New file. * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0) (am__v_GEN_1): New variables. (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg. * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of files to link. * configure.ac (GNULIB_MK): Compute the value according to $opsys. * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before running autoreconf. * Makefile.in (gnulib_mk): New variable. ($(srcdir)/nt/gnulib.mk): Rule to produce it. (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file name. * .gitignore: Add nt/gnulib.mk. * src/w32.c (acl_errno_valid): Implement it here, as we no longer build the acl-permissions module from Gnulib.
-rw-r--r--.gitignore1
-rw-r--r--Makefile.in8
-rwxr-xr-xautogen.sh7
-rw-r--r--configure.ac11
-rwxr-xr-xmake-dist2
-rw-r--r--nt/Makefile.in10
-rw-r--r--nt/gnulib-modules-to-delete.cfg66
-rw-r--r--nt/gnulib.mk1151
-rw-r--r--src/w32.c17
9 files changed, 119 insertions, 1154 deletions
diff --git a/.gitignore b/.gitignore
index 85c06c9b495..e8eb4fdeaed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -288,5 +288,6 @@ lib/SYS/
288/site-lisp/ 288/site-lisp/
289nt/emacs.rc 289nt/emacs.rc
290nt/emacsclient.rc 290nt/emacsclient.rc
291nt/gnulib.mk
291src/gdb.ini 292src/gdb.ini
292/var/ 293/var/
diff --git a/Makefile.in b/Makefile.in
index 3cb1f5e2ab6..b9aaf5babc2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -98,6 +98,9 @@ configuration=@configuration@
98### The nt/ subdirectory gets built only for MinGW 98### The nt/ subdirectory gets built only for MinGW
99NTDIR=@NTDIR@ 99NTDIR=@NTDIR@
100 100
101### $(srcdir)/nt/gnulib.mk for MinGW, else $(srcdir)/lib/gnulib.mk
102gnulib_mk=@GNULIB_MK@
103
101# 'make' verbosity. 104# 'make' verbosity.
102AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 105AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
103 106
@@ -451,10 +454,13 @@ $(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS)
451 cd $(srcdir) && ACLOCAL_PATH='$(ACLOCAL_PATH)' $(ACLOCAL) -I m4 454 cd $(srcdir) && ACLOCAL_PATH='$(ACLOCAL_PATH)' $(ACLOCAL) -I m4
452 455
453AUTOMAKE_INPUTS = $(srcdir)/aclocal.m4 $(srcdir)/lib/Makefile.am \ 456AUTOMAKE_INPUTS = $(srcdir)/aclocal.m4 $(srcdir)/lib/Makefile.am \
454 $(srcdir)/lib/gnulib.mk 457 $(gnulib_mk)
455$(srcdir)/lib/Makefile.in: $(AUTOMAKE_INPUTS) 458$(srcdir)/lib/Makefile.in: $(AUTOMAKE_INPUTS)
456 cd $(srcdir) && $(AUTOMAKE) --gnu -a -c lib/Makefile 459 cd $(srcdir) && $(AUTOMAKE) --gnu -a -c lib/Makefile
457 460
461$(srcdir)/nt/gnulib.mk: $(srcdir)/lib/Makefile.in
462 $(MAKE) -C $(srcdir)/nt gnulib.mk
463
458# Regenerate files that this makefile would have made, if this makefile 464# Regenerate files that this makefile would have made, if this makefile
459# had been built by Automake. The name 'am--refresh' is for 465# had been built by Automake. The name 'am--refresh' is for
460# compatibility with subsidiary Automake-generated makefiles. 466# compatibility with subsidiary Automake-generated makefiles.
diff --git a/autogen.sh b/autogen.sh
index 7381bc32342..91e1e2cea23 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -220,8 +220,13 @@ Please report any problems with this script to bug-gnu-emacs@gnu.org .'
220 fi 220 fi
221 221
222 echo 'Your system has the required tools.' 222 echo 'Your system has the required tools.'
223 echo "Running 'autoreconf -fi -I m4' ..."
224 223
224 ## Create nt/gnulib.mk if it doesn't exist, as autoreconf will need it.
225 if test ! -f nt/gnulib.mk; then
226 sed '/^[^#]/s|^.*$|/^## begin *gnulib module &/,/^## end *gnulib module &/c ## gnulib module & removed|' nt/gnulib-modules-to-delete.cfg | sed -f- lib/gnulib.mk > nt/gnulib.mk
227 fi
228
229 echo "Running 'autoreconf -fi -I m4' ..."
225 230
226 ## Let autoreconf figure out what, if anything, needs doing. 231 ## Let autoreconf figure out what, if anything, needs doing.
227 ## Use autoreconf's -f option in case autoreconf itself has changed. 232 ## Use autoreconf's -f option in case autoreconf itself has changed.
diff --git a/configure.ac b/configure.ac
index ce386f6c6c8..262f367f2c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -774,6 +774,17 @@ fi
774dnl This is used in lib/Makefile.am to use nt/gnulib.mk, the 774dnl This is used in lib/Makefile.am to use nt/gnulib.mk, the
775dnl alternative to lib/gnulib.mk, so as to avoid generating header files 775dnl alternative to lib/gnulib.mk, so as to avoid generating header files
776dnl that clash with MinGW. 776dnl that clash with MinGW.
777case $opsys in
778 mingw32 )
779 GNULIB_MK='$(srcdir)/nt/gnulib.mk'
780 ;;
781 * )
782 GNULIB_MK='$(srcdir)/lib/gnulib.mk'
783 ;;
784
785esac
786AC_SUBST([GNULIB_MK])
787
777AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"]) 788AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"])
778 789
779# Avoid gnulib's tests for -lcrypto, so that there's no static dependency on it. 790# Avoid gnulib's tests for -lcrypto, so that there's no static dependency on it.
diff --git a/make-dist b/make-dist
index 6513cca3920..41203b20aa7 100755
--- a/make-dist
+++ b/make-dist
@@ -482,7 +482,7 @@ echo "Making links to 'nt'"
482(cd nt 482(cd nt
483 ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt 483 ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt
484 ln [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt 484 ln [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt
485 ln *.in gnulib.mk ../${tempdir}/nt 485 ln *.in gnulib.mk gnulib-modules-to-delete.cfg ../${tempdir}/nt
486 ln mingw-cfg.site epaths.nt INSTALL.W64 ../${tempdir}/nt 486 ln mingw-cfg.site epaths.nt INSTALL.W64 ../${tempdir}/nt
487 ln ChangeLog.*[0-9] INSTALL README README.W32 ../${tempdir}/nt) 487 ln ChangeLog.*[0-9] INSTALL README README.W32 ../${tempdir}/nt)
488 488
diff --git a/nt/Makefile.in b/nt/Makefile.in
index 7e911db7aa8..89f44606d70 100644
--- a/nt/Makefile.in
+++ b/nt/Makefile.in
@@ -54,6 +54,11 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
54am__v_CCLD_0 = @echo " CCLD " $@; 54am__v_CCLD_0 = @echo " CCLD " $@;
55am__v_CCLD_1 = 55am__v_CCLD_1 =
56 56
57AM_V_GEN = $(am__v_GEN_@AM_V@)
58am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
59am__v_GEN_0 = @echo " GEN " $@;
60am__v_GEN_1 =
61
57AM_V_RC = $(am__v_RC_@AM_V@) 62AM_V_RC = $(am__v_RC_@AM_V@)
58am__v_RC_ = $(am__v_RC_@AM_DEFAULT_V@) 63am__v_RC_ = $(am__v_RC_@AM_DEFAULT_V@)
59am__v_RC_0 = @echo " RC " $@; 64am__v_RC_0 = @echo " RC " $@;
@@ -255,3 +260,8 @@ runemacs${EXEEXT}: ${srcdir}/runemacs.c $(EMACSRES)
255emacs.res ../src/emacs.res: emacs.rc ${srcdir}/icons/emacs.ico \ 260emacs.res ../src/emacs.res: emacs.rc ${srcdir}/icons/emacs.ico \
256 ${srcdir}/icons/hand.cur ${srcdir}/$(EMACS_MANIFEST) 261 ${srcdir}/icons/hand.cur ${srcdir}/$(EMACS_MANIFEST)
257 $(AM_V_RC)${WINDRES} -I ${srcdir} -O coff -o $@ $< 262 $(AM_V_RC)${WINDRES} -I ${srcdir} -O coff -o $@ $<
263
264${srcdir}/gnulib.mk: ${srcdir}/gnulib-modules-to-delete.cfg ${srcdir}/../lib/gnulib.mk
265 $(AM_V_GEN)sed '/^[^#]/s|^.*$$|/^## begin *gnulib module &/,/^## end *gnulib module &/c ## gnulib module & removed|' < $< | \
266 sed -f- ${srcdir}/../lib/gnulib.mk > $@-t && \
267 ${srcdir}/../build-aux/move-if-change $@-t $@
diff --git a/nt/gnulib-modules-to-delete.cfg b/nt/gnulib-modules-to-delete.cfg
new file mode 100644
index 00000000000..09bea0ee6a5
--- /dev/null
+++ b/nt/gnulib-modules-to-delete.cfg
@@ -0,0 +1,66 @@
1# This is the list of modules to be deleted from ../lib/gnulib.mk.
2#
3# We delete them because they either conflict with MinGW headers or
4# headers in nt/inc, or because those modules won't compile with
5# MinGW, or because Emacs already has the corresponding facilities as
6# part of Emacs sources, and their implementation is incompatible with
7# Gnulib's.
8#
9# In general, do NOT remove anything from ../lib/gnulib.mk that
10# doesn't need to be removed, to minimize the differences from
11# upstream gnulib.mk and thus make the maintenance easier. Every
12# header file whose generation is controlled by configure-time tests
13# does NOT need to be removed; instead, force the configure script to
14# accept whatever MinGW has to offer, by defining the appropriate
15# Autoconf variable in the nt/mingw-cfg.site file. Headers that are
16# generated conditionally have the tell-tale "if GL_GENERATE_foo_H"
17# condition before their Makefile snippet in this file. Likewise, do
18# NOT remove gnulib modules which introduce header files that don't
19# exist in MinGW and in nt/inc/, since they cannot possibly clash
20# with anything. Gnulib modules that introduce source *.c files also
21# need not be removed; if they define functions that could clash with
22# the w32 substitutes in Emacs, disable their compilation by defining
23# suitable variables in nt/mingw-cfg.site.
24# ----------------------------------------------------------------------
25#
26# Copyright (C) 2017 Free Software Foundation, Inc.
27#
28# This file is free software; you can redistribute it and/or modify
29# it under the terms of the GNU General Public License as published by
30# the Free Software Foundation; either version 3 of the License, or
31# (at your option) any later version.
32#
33# This file is distributed in the hope that it will be useful,
34# but WITHOUT ANY WARRANTY; without even the implied warranty of
35# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36# GNU General Public License for more details.
37#
38# You should have received a copy of the GNU General Public License
39# along with this file. If not, see <http://www.gnu.org/licenses/>.
40#
41# As a special exception to the GNU General Public License,
42# this file may be distributed as part of a program that
43# contains a configuration script generated by Autoconf, under
44# the same distribution terms as the rest of that program.
45#
46acl-permissions
47allocator
48at-internal
49careadlinkat
50dirent
51dirfd
52fcntl
53fcntl-h
54inttypes-incomplete
55mkostemp
56pipe2
57secure_getenv
58signal-h
59stdio
60stdlib
61sys_select
62sys_stat
63sys_time
64sys_types
65tempname
66unistd
diff --git a/nt/gnulib.mk b/nt/gnulib.mk
deleted file mode 100644
index 87b47a3bf57..00000000000
--- a/nt/gnulib.mk
+++ /dev/null
@@ -1,1151 +0,0 @@
1## This file is an edited copy of ../lib/gnulib.mk.
2##
3## The purpose of the edits is to avoid generating any headers
4## which would conflict with either the headers we have in nt/inc,
5## or with MinGW system headers and subsequent redirection of some
6## functions in nt/inc/ms-w32.h.
7##
8## In general, do NOT remove anything from ../lib/gnulib.mk that
9## doesn't need to be removed, to minimize the differences from
10## upstream gnulib.mk and thus make the maintenance easier. Every
11## header file whose generation is controlled by configure-time tests
12## does NOT need to be removed; instead, force the configure script to
13## accept whatever MinGW has to offer, by defining the appropriate
14## Autoconf variable in the nt/mingw-cfg.site file. Headers that are
15## generated conditionally have the tell-tale "if GL_GENERATE_foo_H"
16## condition before their Makefile snippet in this file. Likewise, do
17## NOT remove gnulib modules which introduce header files that don't
18## exist in MinGW and in nt/inc/, since they cannot possibly clash
19## with anything. Gnulib modules that introduce source *.c files also
20## need not be removed; if they define functions that could clash with
21## the w32 substitutes in Emacs, disable their compilation by defining
22## suitable variables in nt/mingw-cfg.site.
23##
24## Process this file with automake to produce Makefile.in.
25# Copyright (C) 2002-2017 Free Software Foundation, Inc.
26#
27# This file is free software; you can redistribute it and/or modify
28# it under the terms of the GNU General Public License as published by
29# the Free Software Foundation; either version 3 of the License, or
30# (at your option) any later version.
31#
32# This file is distributed in the hope that it will be useful,
33# but WITHOUT ANY WARRANTY; without even the implied warranty of
34# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35# GNU General Public License for more details.
36#
37# You should have received a copy of the GNU General Public License
38# along with this file. If not, see <http://www.gnu.org/licenses/>.
39#
40# As a special exception to the GNU General Public License,
41# this file may be distributed as part of a program that
42# contains a configuration script generated by Autoconf, under
43# the same distribution terms as the rest of that program.
44#
45# Generated by gnulib-tool.
46# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=flexmember --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=setenv --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --avoid=unsetenv --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode filevercmp fstatat fsync getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog ignore-value intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qcopy-acl readlink readlinkat sig2str socklen stat-time std-gnu11 stdalign stddef stdio stpcpy strftime strtoimax strtoumax symlink sys_stat sys_time time time_r time_rz timegm timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings
47
48
49MOSTLYCLEANFILES += core *.stackdump
50
51noinst_LIBRARIES += libgnu.a
52
53libgnu_a_SOURCES =
54libgnu_a_LIBADD = $(gl_LIBOBJS)
55libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
56EXTRA_libgnu_a_SOURCES =
57
58## begin gnulib module absolute-header
59
60# Use this preprocessor expression to decide whether #include_next works.
61# Do not rely on a 'configure'-time test for this, since the expression
62# might appear in an installed header, which is used by some other compiler.
63HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
64
65## end gnulib module absolute-header
66
67## begin gnulib module acl-permissions
68
69libgnu_a_SOURCES += acl-errno-valid.c acl-internal.c \
70 get-permissions.c
71
72EXTRA_DIST += acl-internal.h acl.h acl_entries.c
73
74EXTRA_libgnu_a_SOURCES += acl_entries.c
75
76## end gnulib module acl-permissions
77
78## begin gnulib module alloca-opt
79
80BUILT_SOURCES += $(ALLOCA_H)
81
82# We need the following in order to create <alloca.h> when the system
83# doesn't have one that works with the given compiler.
84if GL_GENERATE_ALLOCA_H
85alloca.h: alloca.in.h $(top_builddir)/config.status
86 $(AM_V_GEN)rm -f $@-t $@ && \
87 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
88 cat $(srcdir)/alloca.in.h; \
89 } > $@-t && \
90 mv -f $@-t $@
91else
92alloca.h: $(top_builddir)/config.status
93 rm -f $@
94endif
95MOSTLYCLEANFILES += alloca.h alloca.h-t
96
97EXTRA_DIST += alloca.in.h
98
99## end gnulib module alloca-opt
100
101## begin gnulib module binary-io
102
103libgnu_a_SOURCES += binary-io.h binary-io.c
104
105## end gnulib module binary-io
106
107## begin gnulib module byteswap
108
109BUILT_SOURCES += $(BYTESWAP_H)
110
111# We need the following in order to create <byteswap.h> when the system
112# doesn't have one.
113if GL_GENERATE_BYTESWAP_H
114byteswap.h: byteswap.in.h $(top_builddir)/config.status
115 $(AM_V_GEN)rm -f $@-t $@ && \
116 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
117 cat $(srcdir)/byteswap.in.h; \
118 } > $@-t && \
119 mv -f $@-t $@
120else
121byteswap.h: $(top_builddir)/config.status
122 rm -f $@
123endif
124MOSTLYCLEANFILES += byteswap.h byteswap.h-t
125
126EXTRA_DIST += byteswap.in.h
127
128## end gnulib module byteswap
129
130## begin gnulib module c-ctype
131
132libgnu_a_SOURCES += c-ctype.h c-ctype.c
133
134## end gnulib module c-ctype
135
136## begin gnulib module c-strcase
137
138libgnu_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
139
140## end gnulib module c-strcase
141
142## begin gnulib module close-stream
143
144libgnu_a_SOURCES += close-stream.c
145
146EXTRA_DIST += close-stream.h
147
148## end gnulib module close-stream
149
150## begin gnulib module count-one-bits
151
152libgnu_a_SOURCES += count-one-bits.c
153
154EXTRA_DIST += count-one-bits.h
155
156## end gnulib module count-one-bits
157
158## begin gnulib module count-trailing-zeros
159
160libgnu_a_SOURCES += count-trailing-zeros.c
161
162EXTRA_DIST += count-trailing-zeros.h
163
164## end gnulib module count-trailing-zeros
165
166## begin gnulib module crypto/md5
167
168libgnu_a_SOURCES += md5.c
169
170EXTRA_DIST += gl_openssl.h md5.h
171
172## end gnulib module crypto/md5
173
174## begin gnulib module crypto/sha1
175
176libgnu_a_SOURCES += sha1.c
177
178EXTRA_DIST += gl_openssl.h sha1.h
179
180## end gnulib module crypto/sha1
181
182## begin gnulib module crypto/sha256
183
184libgnu_a_SOURCES += sha256.c
185
186EXTRA_DIST += gl_openssl.h sha256.h
187
188## end gnulib module crypto/sha256
189
190## begin gnulib module crypto/sha512
191
192libgnu_a_SOURCES += sha512.c
193
194EXTRA_DIST += gl_openssl.h sha512.h
195
196## end gnulib module crypto/sha512
197
198## begin gnulib module dosname
199
200if gl_GNULIB_ENABLED_dosname
201
202endif
203EXTRA_DIST += dosname.h
204
205## end gnulib module dosname
206
207## begin gnulib module dtoastr
208
209libgnu_a_SOURCES += dtoastr.c
210
211EXTRA_DIST += ftoastr.c ftoastr.h
212
213EXTRA_libgnu_a_SOURCES += ftoastr.c
214
215## end gnulib module dtoastr
216
217## begin gnulib module dtotimespec
218
219libgnu_a_SOURCES += dtotimespec.c
220
221## end gnulib module dtotimespec
222
223## begin gnulib module dup2
224
225
226EXTRA_DIST += dup2.c
227
228EXTRA_libgnu_a_SOURCES += dup2.c
229
230## end gnulib module dup2
231
232## begin gnulib module errno
233
234BUILT_SOURCES += $(ERRNO_H)
235
236# We need the following in order to create <errno.h> when the system
237# doesn't have one that is POSIX compliant.
238if GL_GENERATE_ERRNO_H
239errno.h: errno.in.h $(top_builddir)/config.status
240 $(AM_V_GEN)rm -f $@-t $@ && \
241 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
242 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
243 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
244 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
245 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
246 -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
247 -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
248 -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
249 -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
250 -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
251 -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
252 -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
253 < $(srcdir)/errno.in.h; \
254 } > $@-t && \
255 mv $@-t $@
256else
257errno.h: $(top_builddir)/config.status
258 rm -f $@
259endif
260MOSTLYCLEANFILES += errno.h errno.h-t
261
262EXTRA_DIST += errno.in.h
263
264## end gnulib module errno
265
266## begin gnulib module euidaccess
267
268if gl_GNULIB_ENABLED_euidaccess
269
270endif
271EXTRA_DIST += euidaccess.c
272
273EXTRA_libgnu_a_SOURCES += euidaccess.c
274
275## end gnulib module euidaccess
276
277## begin gnulib module execinfo
278
279BUILT_SOURCES += $(EXECINFO_H)
280
281# We need the following in order to create <execinfo.h> when the system
282# doesn't have one that works.
283if GL_GENERATE_EXECINFO_H
284execinfo.h: execinfo.in.h $(top_builddir)/config.status
285 $(AM_V_GEN)rm -f $@-t $@ && \
286 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
287 cat $(srcdir)/execinfo.in.h; \
288 } > $@-t && \
289 mv $@-t $@
290else
291execinfo.h: $(top_builddir)/config.status
292 rm -f $@
293endif
294MOSTLYCLEANFILES += execinfo.h execinfo.h-t
295
296EXTRA_DIST += execinfo.c execinfo.in.h
297
298EXTRA_libgnu_a_SOURCES += execinfo.c
299
300## end gnulib module execinfo
301
302## begin gnulib module faccessat
303
304
305EXTRA_DIST += at-func.c faccessat.c
306
307EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c
308
309## end gnulib module faccessat
310
311## begin gnulib module fdatasync
312
313
314EXTRA_DIST += fdatasync.c
315
316EXTRA_libgnu_a_SOURCES += fdatasync.c
317
318## end gnulib module fdatasync
319
320## begin gnulib module fdopendir
321
322
323EXTRA_DIST += fdopendir.c
324
325EXTRA_libgnu_a_SOURCES += fdopendir.c
326
327## end gnulib module fdopendir
328
329## begin gnulib module filemode
330
331libgnu_a_SOURCES += filemode.c
332
333EXTRA_DIST += filemode.h
334
335## end gnulib module filemode
336
337## begin gnulib module filevercmp
338
339libgnu_a_SOURCES += filevercmp.c
340
341EXTRA_DIST += filevercmp.h
342
343## end gnulib module filevercmp
344
345## begin gnulib module fpending
346
347
348EXTRA_DIST += fpending.c fpending.h stdio-impl.h
349
350EXTRA_libgnu_a_SOURCES += fpending.c
351
352## end gnulib module fpending
353
354## begin gnulib module fstatat
355
356
357EXTRA_DIST += at-func.c fstatat.c
358
359EXTRA_libgnu_a_SOURCES += at-func.c fstatat.c
360
361## end gnulib module fstatat
362
363## begin gnulib module fsync
364
365
366EXTRA_DIST += fsync.c
367
368EXTRA_libgnu_a_SOURCES += fsync.c
369
370## end gnulib module fsync
371
372## begin gnulib module getdtablesize
373
374if gl_GNULIB_ENABLED_getdtablesize
375
376endif
377EXTRA_DIST += getdtablesize.c
378
379EXTRA_libgnu_a_SOURCES += getdtablesize.c
380
381## end gnulib module getdtablesize
382
383## begin gnulib module getgroups
384
385if gl_GNULIB_ENABLED_getgroups
386
387endif
388EXTRA_DIST += getgroups.c
389
390EXTRA_libgnu_a_SOURCES += getgroups.c
391
392## end gnulib module getgroups
393
394## begin gnulib module getloadavg
395
396
397EXTRA_DIST += getloadavg.c
398
399EXTRA_libgnu_a_SOURCES += getloadavg.c
400
401## end gnulib module getloadavg
402
403## begin gnulib module getopt-posix
404
405BUILT_SOURCES += $(GETOPT_H)
406
407# We need the following in order to create <getopt.h> when the system
408# doesn't have one that works with the given compiler.
409getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
410 $(AM_V_GEN)rm -f $@-t $@ && \
411 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
412 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
413 -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
414 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
415 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
416 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
417 -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
418 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
419 < $(srcdir)/getopt.in.h; \
420 } > $@-t && \
421 mv -f $@-t $@
422MOSTLYCLEANFILES += getopt.h getopt.h-t
423
424EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
425
426EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
427
428## end gnulib module getopt-posix
429
430## begin gnulib module gettext-h
431
432if gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36
433libgnu_a_SOURCES += gettext.h
434
435endif
436## end gnulib module gettext-h
437
438## begin gnulib module gettime
439
440libgnu_a_SOURCES += gettime.c
441
442## end gnulib module gettime
443
444## begin gnulib module gettimeofday
445
446
447EXTRA_DIST += gettimeofday.c
448
449EXTRA_libgnu_a_SOURCES += gettimeofday.c
450
451## end gnulib module gettimeofday
452
453## begin gnulib module group-member
454
455if gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1
456
457endif
458EXTRA_DIST += group-member.c
459
460EXTRA_libgnu_a_SOURCES += group-member.c
461
462## end gnulib module group-member
463
464## begin gnulib module ignore-value
465
466
467EXTRA_DIST += ignore-value.h
468
469## end gnulib module ignore-value
470
471## begin gnulib module intprops
472
473
474EXTRA_DIST += intprops.h
475
476## end gnulib module intprops
477
478## begin gnulib module limits-h
479
480BUILT_SOURCES += $(LIMITS_H)
481
482# We need the following in order to create <limits.h> when the system
483# doesn't have one that is compatible with GNU.
484if GL_GENERATE_LIMITS_H
485limits.h: limits.in.h $(top_builddir)/config.status
486 $(AM_V_GEN)rm -f $@-t $@ && \
487 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
488 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
489 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
490 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
491 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
492 -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
493 < $(srcdir)/limits.in.h; \
494 } > $@-t && \
495 mv $@-t $@
496else
497limits.h: $(top_builddir)/config.status
498 rm -f $@
499endif
500MOSTLYCLEANFILES += limits.h limits.h-t
501
502EXTRA_DIST += limits.in.h
503
504## end gnulib module limits-h
505
506## begin gnulib module lstat
507
508
509EXTRA_DIST += lstat.c
510
511EXTRA_libgnu_a_SOURCES += lstat.c
512
513## end gnulib module lstat
514
515## begin gnulib module memrchr
516
517
518EXTRA_DIST += memrchr.c
519
520EXTRA_libgnu_a_SOURCES += memrchr.c
521
522## end gnulib module memrchr
523
524## begin gnulib module mktime
525
526
527EXTRA_DIST += mktime-internal.h mktime.c
528
529EXTRA_libgnu_a_SOURCES += mktime.c
530
531## end gnulib module mktime
532
533## begin gnulib module mktime-internal
534
535if gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31
536
537endif
538EXTRA_DIST += mktime-internal.h mktime.c
539
540EXTRA_libgnu_a_SOURCES += mktime.c
541
542## end gnulib module mktime-internal
543
544## begin gnulib module openat-h
545
546if gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7
547
548endif
549EXTRA_DIST += openat.h
550
551## end gnulib module openat-h
552
553## begin gnulib module pathmax
554
555if gl_GNULIB_ENABLED_pathmax
556
557endif
558EXTRA_DIST += pathmax.h
559
560## end gnulib module pathmax
561
562## begin gnulib module pselect
563
564
565EXTRA_DIST += pselect.c
566
567EXTRA_libgnu_a_SOURCES += pselect.c
568
569## end gnulib module pselect
570
571## begin gnulib module pthread_sigmask
572
573
574EXTRA_DIST += pthread_sigmask.c
575
576EXTRA_libgnu_a_SOURCES += pthread_sigmask.c
577
578## end gnulib module pthread_sigmask
579
580## begin gnulib module putenv
581
582
583EXTRA_DIST += putenv.c
584
585EXTRA_libgnu_a_SOURCES += putenv.c
586
587## end gnulib module putenv
588
589## begin gnulib module qcopy-acl
590
591libgnu_a_SOURCES += qcopy-acl.c
592
593## end gnulib module qcopy-acl
594
595## begin gnulib module readlink
596
597
598EXTRA_DIST += readlink.c
599
600EXTRA_libgnu_a_SOURCES += readlink.c
601
602## end gnulib module readlink
603
604## begin gnulib module readlinkat
605
606
607EXTRA_DIST += at-func.c readlinkat.c
608
609EXTRA_libgnu_a_SOURCES += at-func.c readlinkat.c
610
611## end gnulib module readlinkat
612
613## begin gnulib module root-uid
614
615if gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c
616
617endif
618EXTRA_DIST += root-uid.h
619
620## end gnulib module root-uid
621
622## begin gnulib module sig2str
623
624
625EXTRA_DIST += sig2str.c sig2str.h
626
627EXTRA_libgnu_a_SOURCES += sig2str.c
628
629## end gnulib module sig2str
630
631## begin gnulib module snippet/_Noreturn
632
633# Because this Makefile snippet defines a variable used by other
634# gnulib Makefile snippets, it must be present in all Makefile.am that
635# need it. This is ensured by the applicability 'all' defined above.
636
637_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
638
639EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
640
641## end gnulib module snippet/_Noreturn
642
643## begin gnulib module snippet/arg-nonnull
644
645# The BUILT_SOURCES created by this Makefile snippet are not used via #include
646# statements but through direct file reference. Therefore this snippet must be
647# present in all Makefile.am that need it. This is ensured by the applicability
648# 'all' defined above.
649
650BUILT_SOURCES += arg-nonnull.h
651# The arg-nonnull.h that gets inserted into generated .h files is the same as
652# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
653# off.
654arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
655 $(AM_V_GEN)rm -f $@-t $@ && \
656 sed -n -e '/GL_ARG_NONNULL/,$$p' \
657 < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
658 > $@-t && \
659 mv $@-t $@
660MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
661
662ARG_NONNULL_H=arg-nonnull.h
663
664EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
665
666## end gnulib module snippet/arg-nonnull
667
668## begin gnulib module snippet/c++defs
669
670# The BUILT_SOURCES created by this Makefile snippet are not used via #include
671# statements but through direct file reference. Therefore this snippet must be
672# present in all Makefile.am that need it. This is ensured by the applicability
673# 'all' defined above.
674
675BUILT_SOURCES += c++defs.h
676# The c++defs.h that gets inserted into generated .h files is the same as
677# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
678c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
679 $(AM_V_GEN)rm -f $@-t $@ && \
680 sed -n -e '/_GL_CXXDEFS/,$$p' \
681 < $(top_srcdir)/build-aux/snippet/c++defs.h \
682 > $@-t && \
683 mv $@-t $@
684MOSTLYCLEANFILES += c++defs.h c++defs.h-t
685
686CXXDEFS_H=c++defs.h
687
688EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
689
690## end gnulib module snippet/c++defs
691
692## begin gnulib module snippet/warn-on-use
693
694BUILT_SOURCES += warn-on-use.h
695# The warn-on-use.h that gets inserted into generated .h files is the same as
696# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
697# off.
698warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
699 $(AM_V_GEN)rm -f $@-t $@ && \
700 sed -n -e '/^.ifndef/,$$p' \
701 < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
702 > $@-t && \
703 mv $@-t $@
704MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
705
706WARN_ON_USE_H=warn-on-use.h
707
708EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
709
710## end gnulib module snippet/warn-on-use
711
712## begin gnulib module stat
713
714if gl_GNULIB_ENABLED_stat
715
716endif
717EXTRA_DIST += stat.c
718
719EXTRA_libgnu_a_SOURCES += stat.c
720
721## end gnulib module stat
722
723## begin gnulib module stat-time
724
725libgnu_a_SOURCES += stat-time.c
726
727EXTRA_DIST += stat-time.h
728
729## end gnulib module stat-time
730
731## begin gnulib module stdalign
732
733BUILT_SOURCES += $(STDALIGN_H)
734
735# We need the following in order to create <stdalign.h> when the system
736# doesn't have one that works.
737if GL_GENERATE_STDALIGN_H
738stdalign.h: stdalign.in.h $(top_builddir)/config.status
739 $(AM_V_GEN)rm -f $@-t $@ && \
740 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
741 cat $(srcdir)/stdalign.in.h; \
742 } > $@-t && \
743 mv $@-t $@
744else
745stdalign.h: $(top_builddir)/config.status
746 rm -f $@
747endif
748MOSTLYCLEANFILES += stdalign.h stdalign.h-t
749
750EXTRA_DIST += stdalign.in.h
751
752## end gnulib module stdalign
753
754## begin gnulib module stddef
755
756BUILT_SOURCES += $(STDDEF_H)
757
758# We need the following in order to create <stddef.h> when the system
759# doesn't have one that works with the given compiler.
760if GL_GENERATE_STDDEF_H
761stddef.h: stddef.in.h $(top_builddir)/config.status
762 $(AM_V_GEN)rm -f $@-t $@ && \
763 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
764 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
765 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
766 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
767 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
768 -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
769 -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
770 -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
771 -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
772 < $(srcdir)/stddef.in.h; \
773 } > $@-t && \
774 mv $@-t $@
775else
776stddef.h: $(top_builddir)/config.status
777 rm -f $@
778endif
779MOSTLYCLEANFILES += stddef.h stddef.h-t
780
781EXTRA_DIST += stddef.in.h
782
783## end gnulib module stddef
784
785## begin gnulib module stdint
786
787BUILT_SOURCES += $(STDINT_H)
788
789# We need the following in order to create <stdint.h> when the system
790# doesn't have one that works with the given compiler.
791if GL_GENERATE_STDINT_H
792stdint.h: stdint.in.h $(top_builddir)/config.status
793 $(AM_V_GEN)rm -f $@-t $@ && \
794 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
795 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
796 -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
797 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
798 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
799 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
800 -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
801 -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
802 -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
803 -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
804 -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
805 -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
806 -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
807 -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
808 -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
809 -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
810 -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
811 -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
812 -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
813 -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
814 -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
815 -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
816 -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
817 -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
818 -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
819 -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
820 -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
821 -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
822 -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
823 -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
824 < $(srcdir)/stdint.in.h; \
825 } > $@-t && \
826 mv $@-t $@
827else
828stdint.h: $(top_builddir)/config.status
829 rm -f $@
830endif
831MOSTLYCLEANFILES += stdint.h stdint.h-t
832
833EXTRA_DIST += stdint.in.h
834
835## end gnulib module stdint
836
837## begin gnulib module stpcpy
838
839
840EXTRA_DIST += stpcpy.c
841
842EXTRA_libgnu_a_SOURCES += stpcpy.c
843
844## end gnulib module stpcpy
845
846## begin gnulib module strftime
847
848libgnu_a_SOURCES += strftime.c
849
850EXTRA_DIST += strftime.h
851
852## end gnulib module strftime
853
854## begin gnulib module string
855
856BUILT_SOURCES += string.h
857
858# We need the following in order to create <string.h> when the system
859# doesn't have one that works with the given compiler.
860string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
861 $(AM_V_GEN)rm -f $@-t $@ && \
862 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
863 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
864 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
865 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
866 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
867 -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
868 -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
869 -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
870 -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
871 -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
872 -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
873 -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
874 -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
875 -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
876 -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
877 -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
878 -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
879 -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
880 -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
881 -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
882 -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
883 -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
884 -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
885 -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
886 -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
887 -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
888 -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
889 -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
890 -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
891 -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
892 -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
893 -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
894 -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
895 -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
896 -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
897 -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
898 -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
899 -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
900 -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
901 -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
902 -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
903 -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
904 -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
905 < $(srcdir)/string.in.h | \
906 sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
907 -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
908 -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
909 -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
910 -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
911 -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
912 -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
913 -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
914 -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
915 -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
916 -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
917 -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
918 -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
919 -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
920 -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
921 -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
922 -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
923 -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
924 -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
925 -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
926 -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
927 -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
928 -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
929 -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
930 -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
931 -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
932 -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
933 -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
934 -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
935 -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
936 -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
937 -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
938 -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
939 -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
940 -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
941 -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
942 -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
943 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
944 -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
945 < $(srcdir)/string.in.h; \
946 } > $@-t && \
947 mv $@-t $@
948MOSTLYCLEANFILES += string.h string.h-t
949
950EXTRA_DIST += string.in.h
951
952## end gnulib module string
953
954## begin gnulib module strtoimax
955
956
957EXTRA_DIST += strtoimax.c
958
959EXTRA_libgnu_a_SOURCES += strtoimax.c
960
961## end gnulib module strtoimax
962
963## begin gnulib module strtoll
964
965if gl_GNULIB_ENABLED_strtoll
966
967endif
968EXTRA_DIST += strtol.c strtoll.c
969
970EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c
971
972## end gnulib module strtoll
973
974## begin gnulib module strtoull
975
976if gl_GNULIB_ENABLED_strtoull
977
978endif
979EXTRA_DIST += strtol.c strtoul.c strtoull.c
980
981EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c strtoull.c
982
983## end gnulib module strtoull
984
985## begin gnulib module strtoumax
986
987
988EXTRA_DIST += strtoimax.c strtoumax.c
989
990EXTRA_libgnu_a_SOURCES += strtoimax.c strtoumax.c
991
992## end gnulib module strtoumax
993
994## begin gnulib module symlink
995
996
997EXTRA_DIST += symlink.c
998
999EXTRA_libgnu_a_SOURCES += symlink.c
1000
1001## end gnulib module symlink
1002
1003## begin gnulib module time
1004
1005BUILT_SOURCES += time.h
1006
1007# We need the following in order to create <time.h> when the system
1008# doesn't have one that works with the given compiler.
1009time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
1010 $(AM_V_GEN)rm -f $@-t $@ && \
1011 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
1012 sed -e 's|@''GUARD_PREFIX''@|GL|g' \
1013 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
1014 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
1015 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
1016 -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
1017 -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
1018 -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
1019 -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
1020 -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
1021 -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
1022 -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
1023 -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
1024 -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
1025 -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
1026 -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
1027 -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
1028 -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
1029 -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
1030 -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
1031 -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
1032 -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
1033 -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
1034 -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
1035 -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
1036 -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
1037 -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
1038 -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
1039 -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
1040 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
1041 -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
1042 < $(srcdir)/time.in.h; \
1043 } > $@-t && \
1044 mv $@-t $@
1045MOSTLYCLEANFILES += time.h time.h-t
1046
1047EXTRA_DIST += time.in.h
1048
1049## end gnulib module time
1050
1051## begin gnulib module time_r
1052
1053
1054EXTRA_DIST += time_r.c
1055
1056EXTRA_libgnu_a_SOURCES += time_r.c
1057
1058## end gnulib module time_r
1059
1060## begin gnulib module time_rz
1061
1062
1063EXTRA_DIST += time_rz.c
1064
1065EXTRA_libgnu_a_SOURCES += time_rz.c
1066
1067## end gnulib module time_rz
1068
1069## begin gnulib module timegm
1070
1071
1072EXTRA_DIST += mktime-internal.h timegm.c
1073
1074EXTRA_libgnu_a_SOURCES += timegm.c
1075
1076## end gnulib module timegm
1077
1078## begin gnulib module timespec
1079
1080libgnu_a_SOURCES += timespec.c
1081
1082EXTRA_DIST += timespec.h
1083
1084## end gnulib module timespec
1085
1086## begin gnulib module timespec-add
1087
1088libgnu_a_SOURCES += timespec-add.c
1089
1090## end gnulib module timespec-add
1091
1092## begin gnulib module timespec-sub
1093
1094libgnu_a_SOURCES += timespec-sub.c
1095
1096## end gnulib module timespec-sub
1097
1098## begin gnulib module u64
1099
1100libgnu_a_SOURCES += u64.c
1101
1102EXTRA_DIST += u64.h
1103
1104## end gnulib module u64
1105
1106## begin gnulib module update-copyright
1107
1108
1109EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright
1110
1111## end gnulib module update-copyright
1112
1113## begin gnulib module utimens
1114
1115libgnu_a_SOURCES += utimens.c
1116
1117EXTRA_DIST += utimens.h
1118
1119## end gnulib module utimens
1120
1121## begin gnulib module verify
1122
1123
1124EXTRA_DIST += verify.h
1125
1126## end gnulib module verify
1127
1128## begin gnulib module vla
1129
1130
1131EXTRA_DIST += vla.h
1132
1133## end gnulib module vla
1134
1135## begin gnulib module xalloc-oversized
1136
1137if gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec
1138
1139endif
1140EXTRA_DIST += xalloc-oversized.h
1141
1142## end gnulib module xalloc-oversized
1143
1144
1145mostlyclean-local: mostlyclean-generic
1146 @for dir in '' $(MOSTLYCLEANDIRS); do \
1147 if test -n "$$dir" && test -d $$dir; then \
1148 echo "rmdir $$dir"; rmdir $$dir; \
1149 fi; \
1150 done; \
1151 :
diff --git a/src/w32.c b/src/w32.c
index 30aced9d9ff..f35ad67d829 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -6407,6 +6407,23 @@ acl_set_file (const char *fname, acl_type_t type, acl_t acl)
6407 return retval; 6407 return retval;
6408} 6408}
6409 6409
6410/* Return true if errno value ERRNUM indicates that ACLs are well
6411 supported on this system. ERRNUM should be an errno value obtained
6412 after an ACL-related system call fails. */
6413bool
6414acl_errno_valid (int errnum)
6415{
6416 switch (errnum)
6417 {
6418 case EBUSY:
6419 case EINVAL:
6420 case ENOTSUP:
6421 return false;
6422 default:
6423 return true;
6424 }
6425}
6426
6410 6427
6411/* MS-Windows version of careadlinkat (cf. ../lib/careadlinkat.c). We 6428/* MS-Windows version of careadlinkat (cf. ../lib/careadlinkat.c). We
6412 have a fixed max size for file names, so we don't need the kind of 6429 have a fixed max size for file names, so we don't need the kind of