Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
|
|
|
## Process this file with automake to produce Makefile.in.
|
2016-01-01 09:12:52 +00:00
|
|
|
# Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
#
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
# This file is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This file is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this file. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
|
|
|
# As a special exception to the GNU General Public License,
|
|
|
|
# this file may be distributed as part of a program that
|
|
|
|
# contains a configuration script generated by Autoconf, under
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
# the same distribution terms as the rest of that program.
|
|
|
|
#
|
|
|
|
# Generated by gnulib-tool.
|
2016-09-21 22:17:20 +00:00
|
|
|
# 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=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 flexmember 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
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
MOSTLYCLEANFILES += core *.stackdump
|
|
|
|
|
|
|
|
noinst_LIBRARIES += libgnu.a
|
|
|
|
|
|
|
|
libgnu_a_SOURCES =
|
|
|
|
libgnu_a_LIBADD = $(gl_LIBOBJS)
|
|
|
|
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
|
|
|
|
EXTRA_libgnu_a_SOURCES =
|
|
|
|
|
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 08:05:36 +00:00
|
|
|
## begin gnulib module absolute-header
|
|
|
|
|
|
|
|
# Use this preprocessor expression to decide whether #include_next works.
|
|
|
|
# Do not rely on a 'configure'-time test for this, since the expression
|
|
|
|
# might appear in an installed header, which is used by some other compiler.
|
|
|
|
HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
|
|
|
|
|
|
|
|
## end gnulib module absolute-header
|
|
|
|
|
2015-05-28 00:46:15 +00:00
|
|
|
## begin gnulib module acl-permissions
|
|
|
|
|
2015-06-07 01:37:45 +00:00
|
|
|
libgnu_a_SOURCES += acl-errno-valid.c acl-internal.c get-permissions.c set-permissions.c
|
2015-05-28 00:46:15 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += acl-internal.h acl.h acl_entries.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += acl_entries.c
|
|
|
|
|
|
|
|
## end gnulib module acl-permissions
|
|
|
|
|
2011-06-21 16:15:07 +00:00
|
|
|
## begin gnulib module alloca-opt
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(ALLOCA_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <alloca.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
if GL_GENERATE_ALLOCA_H
|
|
|
|
alloca.h: alloca.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
cat $(srcdir)/alloca.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv -f $@-t $@
|
|
|
|
else
|
|
|
|
alloca.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += alloca.h alloca.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += alloca.in.h
|
|
|
|
|
|
|
|
## end gnulib module alloca-opt
|
|
|
|
|
2011-04-08 21:53:30 +00:00
|
|
|
## begin gnulib module allocator
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += allocator.c
|
|
|
|
|
|
|
|
EXTRA_DIST += allocator.h
|
|
|
|
|
|
|
|
## end gnulib module allocator
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module at-internal
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += openat-priv.h openat-proc.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += openat-proc.c
|
|
|
|
|
|
|
|
## end gnulib module at-internal
|
|
|
|
|
2013-07-09 17:16:21 +00:00
|
|
|
## begin gnulib module binary-io
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += binary-io.h binary-io.c
|
|
|
|
|
|
|
|
## end gnulib module binary-io
|
|
|
|
|
Use hardware support for byteswapping on glibc x86 etc.
On Fedora 19 x86-64, the new bswap_64 needs 1 instruction,
whereas the old swap64 needed 30.
* admin/merge-gnulib (GNULIB_MODULES): Add byteswap.
* lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]:
* src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]:
Use byteswap.h's macros to swap bytes.
* src/lisp.h (swap16, swap32, swap64): Remove.
All uses replaced by bswap_16, bswap_32, bswap_64.
2013-10-04 07:36:22 +00:00
|
|
|
## begin gnulib module byteswap
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(BYTESWAP_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <byteswap.h> when the system
|
|
|
|
# doesn't have one.
|
|
|
|
if GL_GENERATE_BYTESWAP_H
|
|
|
|
byteswap.h: byteswap.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
cat $(srcdir)/byteswap.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv -f $@-t $@
|
|
|
|
else
|
|
|
|
byteswap.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += byteswap.h byteswap.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += byteswap.in.h
|
|
|
|
|
|
|
|
## end gnulib module byteswap
|
|
|
|
|
2012-07-06 21:07:46 +00:00
|
|
|
## begin gnulib module c-ctype
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += c-ctype.h c-ctype.c
|
|
|
|
|
|
|
|
## end gnulib module c-ctype
|
|
|
|
|
|
|
|
## begin gnulib module c-strcase
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
|
|
|
|
|
|
|
|
## end gnulib module c-strcase
|
|
|
|
|
2011-04-01 06:28:48 +00:00
|
|
|
## begin gnulib module careadlinkat
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += careadlinkat.c
|
|
|
|
|
2011-04-08 21:53:30 +00:00
|
|
|
EXTRA_DIST += careadlinkat.h
|
2011-04-01 06:28:48 +00:00
|
|
|
|
|
|
|
## end gnulib module careadlinkat
|
|
|
|
|
2012-11-03 18:54:17 +00:00
|
|
|
## begin gnulib module close-stream
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += close-stream.c
|
|
|
|
|
|
|
|
EXTRA_DIST += close-stream.h
|
|
|
|
|
|
|
|
## end gnulib module close-stream
|
|
|
|
|
Improve support for popcount and counting trailing zeros.
Do this by using the Gnulib modules for this.
This should generate faster code on non-GCC, non-MSC platforms,
and make the code a bit more portable, at least in theory.
* admin/merge-gnulib (GNULIB_MODULES): Add count-one-bits
and count-trailing-zeros.
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
* m4/count-one-bits.m4, m4/count-trailing-zeros.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
* src/data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>.
(USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE)
(NEED_GENERIC_POPCOUNT, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc):
Remove; now done by Gnulib.
(popcount_size_t): Now a macro that defers to Gnulib.
(count_trailing_zero_bits): Return int, for consistency with
Gnulib and because Emacs prefers signed to unsigned int.
Don't assume that size_t is either unsigned int or unsigned long
or unsigned long long.
(size_t_to_host_endian): Do not assume that size_t is either
exactly 32 or exactly 64 bits wide.
* src/lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG
etc., so that it's now an enum constant, not a macro.
No need to assume that it's either 32 or 64.
Fixes: debbugs:15550
2013-10-07 21:37:19 +00:00
|
|
|
## begin gnulib module count-one-bits
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += count-one-bits.c
|
|
|
|
|
|
|
|
EXTRA_DIST += count-one-bits.h
|
|
|
|
|
|
|
|
## end gnulib module count-one-bits
|
|
|
|
|
|
|
|
## begin gnulib module count-trailing-zeros
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += count-trailing-zeros.c
|
|
|
|
|
|
|
|
EXTRA_DIST += count-trailing-zeros.h
|
|
|
|
|
|
|
|
## end gnulib module count-trailing-zeros
|
|
|
|
|
2011-02-18 08:07:03 +00:00
|
|
|
## begin gnulib module crypto/md5
|
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
libgnu_a_SOURCES += md5.c
|
2011-02-18 08:07:03 +00:00
|
|
|
|
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 08:05:36 +00:00
|
|
|
EXTRA_DIST += gl_openssl.h md5.h
|
2011-02-18 08:07:03 +00:00
|
|
|
|
|
|
|
## end gnulib module crypto/md5
|
|
|
|
|
2011-05-24 08:12:52 +00:00
|
|
|
## begin gnulib module crypto/sha1
|
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
libgnu_a_SOURCES += sha1.c
|
2011-05-24 08:12:52 +00:00
|
|
|
|
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 08:05:36 +00:00
|
|
|
EXTRA_DIST += gl_openssl.h sha1.h
|
2011-05-24 08:12:52 +00:00
|
|
|
|
|
|
|
## end gnulib module crypto/sha1
|
|
|
|
|
2011-06-21 08:45:39 +00:00
|
|
|
## begin gnulib module crypto/sha256
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += sha256.c
|
|
|
|
|
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 08:05:36 +00:00
|
|
|
EXTRA_DIST += gl_openssl.h sha256.h
|
2011-06-21 08:45:39 +00:00
|
|
|
|
|
|
|
## end gnulib module crypto/sha256
|
|
|
|
|
|
|
|
## begin gnulib module crypto/sha512
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += sha512.c
|
|
|
|
|
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 08:05:36 +00:00
|
|
|
EXTRA_DIST += gl_openssl.h sha512.h
|
2011-06-21 08:45:39 +00:00
|
|
|
|
|
|
|
## end gnulib module crypto/sha512
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module dirent
|
|
|
|
|
|
|
|
BUILT_SOURCES += dirent.h
|
|
|
|
|
|
|
|
# We need the following in order to create <dirent.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
|
|
|
|
-e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \
|
|
|
|
-e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \
|
|
|
|
-e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \
|
|
|
|
-e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \
|
|
|
|
-e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \
|
|
|
|
-e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \
|
|
|
|
-e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
|
|
|
|
-e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
|
|
|
|
-e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
|
|
|
|
-e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
|
|
|
|
-e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
|
|
|
|
-e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
|
|
|
|
-e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
|
|
|
|
-e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/dirent.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += dirent.h dirent.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += dirent.in.h
|
|
|
|
|
|
|
|
## end gnulib module dirent
|
|
|
|
|
2015-03-19 19:32:42 +00:00
|
|
|
## begin gnulib module dirfd
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_dirfd
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += dirfd.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += dirfd.c
|
|
|
|
|
|
|
|
## end gnulib module dirfd
|
|
|
|
|
2011-02-25 20:05:36 +00:00
|
|
|
## begin gnulib module dosname
|
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
if gl_GNULIB_ENABLED_dosname
|
2011-02-25 20:05:36 +00:00
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
endif
|
2011-02-25 20:05:36 +00:00
|
|
|
EXTRA_DIST += dosname.h
|
|
|
|
|
|
|
|
## end gnulib module dosname
|
|
|
|
|
2011-01-12 06:13:06 +00:00
|
|
|
## begin gnulib module dtoastr
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
|
2011-01-12 06:13:06 +00:00
|
|
|
libgnu_a_SOURCES += dtoastr.c
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
|
2011-01-12 06:13:06 +00:00
|
|
|
EXTRA_DIST += ftoastr.c ftoastr.h
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += ftoastr.c
|
|
|
|
|
|
|
|
## end gnulib module dtoastr
|
2011-01-09 01:20:28 +00:00
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module dtotimespec
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += dtotimespec.c
|
|
|
|
|
|
|
|
## end gnulib module dtotimespec
|
|
|
|
|
2011-06-25 08:40:38 +00:00
|
|
|
## begin gnulib module dup2
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += dup2.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += dup2.c
|
|
|
|
|
|
|
|
## end gnulib module dup2
|
|
|
|
|
Use Gnulib ACL implementation, for benefit of Solaris etc.
* configure.ac: Remove -with-acl option, since Gnulib does that for
us now.
(LIBACL_LIBS): Remove; no longer needed.
* lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
for the benefit of the new ACL implementation.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
($(BLD)/acl-errno-valid.$(O)): New rule.
* lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
* lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
* lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add qacl.
(GNULIB_TOOL_FLAGS): Do not avoid errno.
* etc/NEWS: Emacs is no longer limited to POSIX ACLs. --disable-acl,
not --without-acl, since we're now using Gnulib's implementation.
* nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
* nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
* src/Makefile.in (LIB_ACL): New macro.
(LIBACL_LIBS): Remove.
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
* src/fileio.c: Include <acl.h>.
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
!acl_errno_valid.
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
it ourselves.
Fixes: debbugs:14295
2013-05-07 21:34:03 +00:00
|
|
|
## begin gnulib module errno
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(ERRNO_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <errno.h> when the system
|
|
|
|
# doesn't have one that is POSIX compliant.
|
|
|
|
if GL_GENERATE_ERRNO_H
|
|
|
|
errno.h: errno.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
|
|
|
|
-e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
|
|
|
|
-e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
|
|
|
|
-e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
|
|
|
|
-e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
|
|
|
|
-e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
|
|
|
|
-e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
|
|
|
|
< $(srcdir)/errno.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
else
|
|
|
|
errno.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += errno.h errno.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += errno.in.h
|
|
|
|
|
|
|
|
## end gnulib module errno
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module euidaccess
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_euidaccess
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += euidaccess.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += euidaccess.c
|
|
|
|
|
|
|
|
## end gnulib module euidaccess
|
|
|
|
|
2012-08-25 04:04:08 +00:00
|
|
|
## begin gnulib module execinfo
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(EXECINFO_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <execinfo.h> when the system
|
|
|
|
# doesn't have one that works.
|
|
|
|
if GL_GENERATE_EXECINFO_H
|
|
|
|
execinfo.h: execinfo.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
cat $(srcdir)/execinfo.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
else
|
|
|
|
execinfo.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += execinfo.h execinfo.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += execinfo.c execinfo.in.h
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += execinfo.c
|
|
|
|
|
|
|
|
## end gnulib module execinfo
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module faccessat
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += at-func.c faccessat.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c
|
|
|
|
|
|
|
|
## end gnulib module faccessat
|
|
|
|
|
Make file descriptors close-on-exec when possible.
This simplifies Emacs a bit, since it no longer needs to worry
about closing file descriptors by hand in some cases.
It also fixes some unlikely races. Not all such races, as
libraries often open files internally without setting
close-on-exec, but it's an improvement.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl, pipe2.
(GNULIB_TOOL_FLAGS): Avoid binary-io, close. Do not avoid fcntl.
* configure.ac (mkostemp): New function to check for.
(PTY_OPEN): Pass O_CLOEXEC to posix_openpt.
* lib/fcntl.c, lib/getdtablesize.c, lib/pipe2.c, m4/fcntl.m4:
* m4/getdtablesize.m4, m4/pipe2.m4: New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Remove empty gl_GNULIB_ENABLED_verify section;
otherwise, gnulib-tool complains given close-on-exec changes.
* nt/inc/ms-w32.h (pipe): Remove.
* nt/mingw-cfg.site (ac_cv_func_fcntl, gl_cv_func_fcntl_f_dupfd_cloexec)
(gl_cv_func_fcntl_f_dupfd_works, ac_cv_func_pipe2): New vars.
* src/alloc.c (valid_pointer_p) [!WINDOWSNT]:
* src/callproc.c (Fcall_process) [!MSDOS]:
* src/emacs.c (main) [!DOS_NT]:
* src/nsterm.m (ns_term_init):
* src/process.c (create_process):
Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
* src/emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
* src/filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
Prefer mkostemp with O_CLOEXEC to mkstemp.
* src/callproc.c (relocate_fd) [!WINDOWSNT]:
* src/emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
now using pipe2.
* src/filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
Make the resulting file descriptor close-on-exec.
* src/lisp.h, src/lread.c, src/process.c (close_load_descs, close_process_descs):
* src/lread.c (load_descriptor_list, load_descriptor_unwind):
Remove; no longer needed. All uses removed.
* src/process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
(close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
New functions.
(socket) [!SOCK_CLOEXEC]: Supply a substitute.
(Fmake_network_process, Fnetwork_interface_list):
(Fnetwork_interface_info, server_accept_connection):
Make newly-created socket close-on-exec.
* src/sysdep.c (emacs_open, emacs_fopen):
Make new-created descriptor close-on-exec.
* src/w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
* src/w32.c, src/w32.h (pipe2): Rename from 'pipe', with new flags arg.
Fixes: debbugs:14803
2013-07-07 18:00:14 +00:00
|
|
|
## begin gnulib module fcntl
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += fcntl.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += fcntl.c
|
|
|
|
|
|
|
|
## end gnulib module fcntl
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module fcntl-h
|
|
|
|
|
|
|
|
BUILT_SOURCES += fcntl.h
|
|
|
|
|
|
|
|
# We need the following in order to create <fcntl.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
|
|
|
|
-e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
|
|
|
|
-e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
|
|
|
|
-e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
|
|
|
|
-e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
|
|
|
|
-e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
|
|
|
|
-e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
|
|
|
|
-e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
|
|
|
|
-e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
|
|
|
|
-e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/fcntl.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += fcntl.h fcntl.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += fcntl.in.h
|
|
|
|
|
|
|
|
## end gnulib module fcntl-h
|
|
|
|
|
File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
* configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
(fsync): Remove check; now done by gnulib.
* lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib-src/Makefile.in (LIB_FDATASYNC): New macro.
(emacsclient${EXEEXT}): Use it.
* lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
care about metadata. Keep trying if interrupted.
* lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
fsync is available everywhere (or there is a substitute). Don't
report an error if fsync returns EINVAL.
* nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
* src/Makefile.in (LIB_FDATASYNC): New macro.
(LIBES): Use it.
* src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
* src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
Don't worry about HAVE_FSYNC, since a substitute fsync is
available if the system lacks one.
(Fwrite_regin): Retry fsync if interrupted.
Fixes: debbugs:13944
2013-03-13 18:42:22 +00:00
|
|
|
## begin gnulib module fdatasync
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += fdatasync.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += fdatasync.c
|
|
|
|
|
|
|
|
## end gnulib module fdatasync
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module fdopendir
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += fdopendir.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += fdopendir.c
|
|
|
|
|
|
|
|
## end gnulib module fdopendir
|
|
|
|
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
## begin gnulib module filemode
|
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
libgnu_a_SOURCES += filemode.c
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
EXTRA_DIST += filemode.h
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
|
|
|
|
## end gnulib module filemode
|
|
|
|
|
2016-02-21 21:25:24 +00:00
|
|
|
## begin gnulib module filevercmp
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += filevercmp.c
|
|
|
|
|
|
|
|
EXTRA_DIST += filevercmp.h
|
|
|
|
|
|
|
|
## end gnulib module filevercmp
|
|
|
|
|
2016-09-08 00:04:49 +00:00
|
|
|
## begin gnulib module flexmember
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += flexmember.h
|
|
|
|
|
|
|
|
## end gnulib module flexmember
|
|
|
|
|
2012-11-03 18:54:17 +00:00
|
|
|
## begin gnulib module fpending
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += fpending.c fpending.h
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += fpending.c
|
|
|
|
|
|
|
|
## end gnulib module fpending
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module fstatat
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += at-func.c fstatat.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += at-func.c fstatat.c
|
|
|
|
|
|
|
|
## end gnulib module fstatat
|
|
|
|
|
File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
* configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
(fsync): Remove check; now done by gnulib.
* lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib-src/Makefile.in (LIB_FDATASYNC): New macro.
(emacsclient${EXEEXT}): Use it.
* lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
care about metadata. Keep trying if interrupted.
* lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
fsync is available everywhere (or there is a substitute). Don't
report an error if fsync returns EINVAL.
* nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
* src/Makefile.in (LIB_FDATASYNC): New macro.
(LIBES): Use it.
* src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
* src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
Don't worry about HAVE_FSYNC, since a substitute fsync is
available if the system lacks one.
(Fwrite_regin): Retry fsync if interrupted.
Fixes: debbugs:13944
2013-03-13 18:42:22 +00:00
|
|
|
## begin gnulib module fsync
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += fsync.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += fsync.c
|
|
|
|
|
|
|
|
## end gnulib module fsync
|
|
|
|
|
Make file descriptors close-on-exec when possible.
This simplifies Emacs a bit, since it no longer needs to worry
about closing file descriptors by hand in some cases.
It also fixes some unlikely races. Not all such races, as
libraries often open files internally without setting
close-on-exec, but it's an improvement.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl, pipe2.
(GNULIB_TOOL_FLAGS): Avoid binary-io, close. Do not avoid fcntl.
* configure.ac (mkostemp): New function to check for.
(PTY_OPEN): Pass O_CLOEXEC to posix_openpt.
* lib/fcntl.c, lib/getdtablesize.c, lib/pipe2.c, m4/fcntl.m4:
* m4/getdtablesize.m4, m4/pipe2.m4: New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Remove empty gl_GNULIB_ENABLED_verify section;
otherwise, gnulib-tool complains given close-on-exec changes.
* nt/inc/ms-w32.h (pipe): Remove.
* nt/mingw-cfg.site (ac_cv_func_fcntl, gl_cv_func_fcntl_f_dupfd_cloexec)
(gl_cv_func_fcntl_f_dupfd_works, ac_cv_func_pipe2): New vars.
* src/alloc.c (valid_pointer_p) [!WINDOWSNT]:
* src/callproc.c (Fcall_process) [!MSDOS]:
* src/emacs.c (main) [!DOS_NT]:
* src/nsterm.m (ns_term_init):
* src/process.c (create_process):
Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
* src/emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
* src/filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
Prefer mkostemp with O_CLOEXEC to mkstemp.
* src/callproc.c (relocate_fd) [!WINDOWSNT]:
* src/emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
now using pipe2.
* src/filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
Make the resulting file descriptor close-on-exec.
* src/lisp.h, src/lread.c, src/process.c (close_load_descs, close_process_descs):
* src/lread.c (load_descriptor_list, load_descriptor_unwind):
Remove; no longer needed. All uses removed.
* src/process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
(close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
New functions.
(socket) [!SOCK_CLOEXEC]: Supply a substitute.
(Fmake_network_process, Fnetwork_interface_list):
(Fnetwork_interface_info, server_accept_connection):
Make newly-created socket close-on-exec.
* src/sysdep.c (emacs_open, emacs_fopen):
Make new-created descriptor close-on-exec.
* src/w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
* src/w32.c, src/w32.h (pipe2): Rename from 'pipe', with new flags arg.
Fixes: debbugs:14803
2013-07-07 18:00:14 +00:00
|
|
|
## begin gnulib module getdtablesize
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_getdtablesize
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += getdtablesize.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += getdtablesize.c
|
|
|
|
|
|
|
|
## end gnulib module getdtablesize
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module getgroups
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_getgroups
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += getgroups.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += getgroups.c
|
|
|
|
|
|
|
|
## end gnulib module getgroups
|
|
|
|
|
2011-02-08 07:05:03 +00:00
|
|
|
## begin gnulib module getloadavg
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += getloadavg.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += getloadavg.c
|
|
|
|
|
|
|
|
## end gnulib module getloadavg
|
|
|
|
|
2011-01-09 07:33:50 +00:00
|
|
|
## begin gnulib module getopt-posix
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(GETOPT_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <getopt.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2011-04-06 07:04:53 +00:00
|
|
|
getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
|
2011-01-09 07:33:50 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
< $(srcdir)/getopt.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv -f $@-t $@
|
|
|
|
MOSTLYCLEANFILES += getopt.h getopt.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
|
|
|
|
|
|
|
|
## end gnulib module getopt-posix
|
|
|
|
|
|
|
|
## begin gnulib module gettext-h
|
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
if gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36
|
2011-01-09 07:33:50 +00:00
|
|
|
libgnu_a_SOURCES += gettext.h
|
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
endif
|
2011-01-09 07:33:50 +00:00
|
|
|
## end gnulib module gettext-h
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module gettime
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += gettime.c
|
|
|
|
|
|
|
|
## end gnulib module gettime
|
|
|
|
|
|
|
|
## begin gnulib module gettimeofday
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += gettimeofday.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += gettimeofday.c
|
|
|
|
|
|
|
|
## end gnulib module gettimeofday
|
|
|
|
|
2015-04-07 07:00:55 +00:00
|
|
|
## begin gnulib module gitlog-to-changelog
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog
|
|
|
|
|
|
|
|
## end gnulib module gitlog-to-changelog
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module group-member
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += group-member.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += group-member.c
|
|
|
|
|
|
|
|
## end gnulib module group-member
|
|
|
|
|
2016-01-03 23:00:49 +00:00
|
|
|
## begin gnulib module ignore-value
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += ignore-value.h
|
|
|
|
|
|
|
|
## end gnulib module ignore-value
|
|
|
|
|
2011-01-09 01:20:28 +00:00
|
|
|
## begin gnulib module intprops
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += intprops.h
|
|
|
|
|
|
|
|
## end gnulib module intprops
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
|
2011-04-26 19:29:47 +00:00
|
|
|
## begin gnulib module inttypes-incomplete
|
2011-04-21 19:12:13 +00:00
|
|
|
|
|
|
|
BUILT_SOURCES += inttypes.h
|
|
|
|
|
|
|
|
# We need the following in order to create <inttypes.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2012-05-26 23:14:36 +00:00
|
|
|
inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
|
2011-04-21 19:12:13 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
|
|
|
|
-e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
|
|
|
|
-e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
|
|
|
|
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
|
|
|
|
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
|
|
|
|
-e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
|
|
|
|
-e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
|
|
|
|
-e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
|
|
|
|
-e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
|
|
|
|
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
|
|
|
|
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
|
|
|
|
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
|
2013-10-12 20:00:38 +00:00
|
|
|
-e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
|
2011-04-21 19:12:13 +00:00
|
|
|
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
|
|
|
|
-e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
|
|
|
|
-e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
|
|
|
|
-e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
2011-04-21 19:12:13 +00:00
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/inttypes.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += inttypes.h inttypes.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += inttypes.in.h
|
|
|
|
|
2011-04-26 19:29:47 +00:00
|
|
|
## end gnulib module inttypes-incomplete
|
2011-04-21 19:12:13 +00:00
|
|
|
|
2016-09-15 18:50:23 +00:00
|
|
|
## begin gnulib module limits-h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(LIMITS_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <limits.h> when the system
|
|
|
|
# doesn't have one that is compatible with GNU.
|
|
|
|
if GL_GENERATE_LIMITS_H
|
|
|
|
limits.h: limits.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
|
|
|
|
< $(srcdir)/limits.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
else
|
|
|
|
limits.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += limits.h limits.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += limits.in.h
|
|
|
|
|
|
|
|
## end gnulib module limits-h
|
|
|
|
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
## begin gnulib module lstat
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += lstat.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += lstat.c
|
|
|
|
|
|
|
|
## end gnulib module lstat
|
|
|
|
|
2013-02-11 23:37:18 +00:00
|
|
|
## begin gnulib module memrchr
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += memrchr.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += memrchr.c
|
|
|
|
|
|
|
|
## end gnulib module memrchr
|
|
|
|
|
2013-08-04 16:56:56 +00:00
|
|
|
## begin gnulib module mkostemp
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += mkostemp.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += mkostemp.c
|
|
|
|
|
|
|
|
## end gnulib module mkostemp
|
|
|
|
|
2011-01-09 06:57:07 +00:00
|
|
|
## begin gnulib module mktime
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += mktime-internal.h mktime.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += mktime.c
|
|
|
|
|
|
|
|
## end gnulib module mktime
|
|
|
|
|
New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING. All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized. Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time. All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 07:01:34 +00:00
|
|
|
## begin gnulib module mktime-internal
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += mktime-internal.h mktime.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += mktime.c
|
|
|
|
|
|
|
|
## end gnulib module mktime-internal
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module openat-h
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += openat.h
|
|
|
|
|
|
|
|
## end gnulib module openat-h
|
|
|
|
|
2012-02-01 06:04:34 +00:00
|
|
|
## begin gnulib module pathmax
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_pathmax
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += pathmax.h
|
|
|
|
|
|
|
|
## end gnulib module pathmax
|
|
|
|
|
Make file descriptors close-on-exec when possible.
This simplifies Emacs a bit, since it no longer needs to worry
about closing file descriptors by hand in some cases.
It also fixes some unlikely races. Not all such races, as
libraries often open files internally without setting
close-on-exec, but it's an improvement.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl, pipe2.
(GNULIB_TOOL_FLAGS): Avoid binary-io, close. Do not avoid fcntl.
* configure.ac (mkostemp): New function to check for.
(PTY_OPEN): Pass O_CLOEXEC to posix_openpt.
* lib/fcntl.c, lib/getdtablesize.c, lib/pipe2.c, m4/fcntl.m4:
* m4/getdtablesize.m4, m4/pipe2.m4: New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Remove empty gl_GNULIB_ENABLED_verify section;
otherwise, gnulib-tool complains given close-on-exec changes.
* nt/inc/ms-w32.h (pipe): Remove.
* nt/mingw-cfg.site (ac_cv_func_fcntl, gl_cv_func_fcntl_f_dupfd_cloexec)
(gl_cv_func_fcntl_f_dupfd_works, ac_cv_func_pipe2): New vars.
* src/alloc.c (valid_pointer_p) [!WINDOWSNT]:
* src/callproc.c (Fcall_process) [!MSDOS]:
* src/emacs.c (main) [!DOS_NT]:
* src/nsterm.m (ns_term_init):
* src/process.c (create_process):
Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
* src/emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
* src/filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
Prefer mkostemp with O_CLOEXEC to mkstemp.
* src/callproc.c (relocate_fd) [!WINDOWSNT]:
* src/emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
now using pipe2.
* src/filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
Make the resulting file descriptor close-on-exec.
* src/lisp.h, src/lread.c, src/process.c (close_load_descs, close_process_descs):
* src/lread.c (load_descriptor_list, load_descriptor_unwind):
Remove; no longer needed. All uses removed.
* src/process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
(close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
New functions.
(socket) [!SOCK_CLOEXEC]: Supply a substitute.
(Fmake_network_process, Fnetwork_interface_list):
(Fnetwork_interface_info, server_accept_connection):
Make newly-created socket close-on-exec.
* src/sysdep.c (emacs_open, emacs_fopen):
Make new-created descriptor close-on-exec.
* src/w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
* src/w32.c, src/w32.h (pipe2): Rename from 'pipe', with new flags arg.
Fixes: debbugs:14803
2013-07-07 18:00:14 +00:00
|
|
|
## begin gnulib module pipe2
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += pipe2.c
|
|
|
|
|
|
|
|
## end gnulib module pipe2
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module pselect
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += pselect.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += pselect.c
|
|
|
|
|
|
|
|
## end gnulib module pselect
|
|
|
|
|
2011-07-08 20:20:19 +00:00
|
|
|
## begin gnulib module pthread_sigmask
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += pthread_sigmask.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += pthread_sigmask.c
|
|
|
|
|
|
|
|
## end gnulib module pthread_sigmask
|
|
|
|
|
Use putenv+unsetenv instead of modifying environ directly.
* admin/merge-gnulib (GNULIB_MODULES): Add putenv, unsetenv.
* lib/putenv.c, lib/unsetenv.c, m4/putenv.m4, m4/setenv.m4:
New files, copied automatically from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/alloc.c (xputenv): New function.
* src/dbusbind.c (Fdbus_init_bus):
* src/emacs.c (main):
* src/xterm.c (x_term_init):
Use xputenv instead of setenv or putenv, to detect memory exhaustion.
* src/editfns.c (initial_tz): Move static var decl up.
(tzvalbuf_in_environ): New static var.
(init_editfns): Initialize these two static vars.
(Fencode_time): Don't assume arbitrary limit on EMACS_INT width.
Save old TZ value on stack, if it's small.
(Fencode_time, set_time_zone_rule): Don't modify 'environ' directly;
instead, use xputenv+unsetenv to set and restore TZ.
(environbuf): Remove static var. All uses removed.
(Fset_time_zone_rule): Do not save TZ and environ;
no longer needed here.
(set_time_zone_rule_tz1, set_time_zone_rule_tz2) [LOCALTIME_CACHE]:
Move to inside set_time_zone_rule; they don't need file scope any more.
(set_time_zone_rule): Maintain the TZ=value string separately.
(syms_of_editfns): Don't initialize initial_tz;
init_editfns now does it.
* src/emacs.c (dump_tz) [HAVE_TZSET]: Now const.
* src/lisp.h (xputenv): New decl.
Fixes: debbugs:13070
2012-12-08 17:19:51 +00:00
|
|
|
## begin gnulib module putenv
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += putenv.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += putenv.c
|
|
|
|
|
|
|
|
## end gnulib module putenv
|
|
|
|
|
2015-05-28 00:46:15 +00:00
|
|
|
## begin gnulib module qcopy-acl
|
Use Gnulib ACL implementation, for benefit of Solaris etc.
* configure.ac: Remove -with-acl option, since Gnulib does that for
us now.
(LIBACL_LIBS): Remove; no longer needed.
* lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
for the benefit of the new ACL implementation.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
($(BLD)/acl-errno-valid.$(O)): New rule.
* lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
* lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
* lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add qacl.
(GNULIB_TOOL_FLAGS): Do not avoid errno.
* etc/NEWS: Emacs is no longer limited to POSIX ACLs. --disable-acl,
not --without-acl, since we're now using Gnulib's implementation.
* nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
* nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
* src/Makefile.in (LIB_ACL): New macro.
(LIBACL_LIBS): Remove.
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
* src/fileio.c: Include <acl.h>.
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
!acl_errno_valid.
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
it ourselves.
Fixes: debbugs:14295
2013-05-07 21:34:03 +00:00
|
|
|
|
2015-05-28 00:46:15 +00:00
|
|
|
libgnu_a_SOURCES += qcopy-acl.c
|
Use Gnulib ACL implementation, for benefit of Solaris etc.
* configure.ac: Remove -with-acl option, since Gnulib does that for
us now.
(LIBACL_LIBS): Remove; no longer needed.
* lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
for the benefit of the new ACL implementation.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
($(BLD)/acl-errno-valid.$(O)): New rule.
* lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
* lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
* lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add qacl.
(GNULIB_TOOL_FLAGS): Do not avoid errno.
* etc/NEWS: Emacs is no longer limited to POSIX ACLs. --disable-acl,
not --without-acl, since we're now using Gnulib's implementation.
* nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
* nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
* src/Makefile.in (LIB_ACL): New macro.
(LIBACL_LIBS): Remove.
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
* src/fileio.c: Include <acl.h>.
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
!acl_errno_valid.
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
it ourselves.
Fixes: debbugs:14295
2013-05-07 21:34:03 +00:00
|
|
|
|
2015-05-28 00:46:15 +00:00
|
|
|
## end gnulib module qcopy-acl
|
Use Gnulib ACL implementation, for benefit of Solaris etc.
* configure.ac: Remove -with-acl option, since Gnulib does that for
us now.
(LIBACL_LIBS): Remove; no longer needed.
* lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
for the benefit of the new ACL implementation.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
($(BLD)/acl-errno-valid.$(O)): New rule.
* lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
* lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
* lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add qacl.
(GNULIB_TOOL_FLAGS): Do not avoid errno.
* etc/NEWS: Emacs is no longer limited to POSIX ACLs. --disable-acl,
not --without-acl, since we're now using Gnulib's implementation.
* nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
* nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
* src/Makefile.in (LIB_ACL): New macro.
(LIBACL_LIBS): Remove.
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
* src/fileio.c: Include <acl.h>.
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
!acl_errno_valid.
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
it ourselves.
Fixes: debbugs:14295
2013-05-07 21:34:03 +00:00
|
|
|
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
## begin gnulib module readlink
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += readlink.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += readlink.c
|
|
|
|
|
|
|
|
## end gnulib module readlink
|
|
|
|
|
Use fdopendir, fstatat and readlinkat, for efficiency.
On my host, this speeds up directory-files-and-attributes by a
factor of 3, when applied to Emacs's src directory.
These functions are standardized by POSIX and are common these
days; fall back on a (slower) gnulib implementation if the host
is too old to supply them.
* .bzrignore: Add lib/dirent.h.
* lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c.
* lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib,
incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h:
* lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4:
* m4/fstatat.m4: New files, from gnulib.
* lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files.
These last three are specific to Emacs and are not copied from gnulib.
They are simpler than the gnulib versions and are tuned for Emacs.
* admin/merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
(GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
Avoid dup, open, opendir.
* nt/inc/sys/stat.h (fstatat):
* nt/inc/unistd.h (readlinkat): New decls.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): Remove.
* src/dired.c: Include <fcntl.h>.
(open_directory): New function, which uses open and fdopendir
rather than opendir. DOS_NT platforms still use opendir, though.
(directory_files_internal, file_name_completion): Use it.
(file_attributes): New function, with most of the old Ffile_attributes.
(directory_files_internal, Ffile_attributes): Use it.
(file_attributes, file_name_completion_stat): First arg is now fd,
not dir name. All uses changed. Use fstatat rather than lstat +
stat.
(file_attributes): Use emacs_readlinkat rather than Ffile_symlink_p.
* src/fileio.c: Include <allocator.h>, <careadlinkat.h>.
(emacs_readlinkat): New function, with much of the old
Ffile_symlink_p, but with an fd argument for speed.
It uses readlinkat rather than careadlinkatcwd, so that it
need not assume the working directory.
(Ffile_symlink_p): Use it.
* src/filelock.c (current_lock_owner): Use emacs_readlinkat
rather than emacs_readlink.
* src/lisp.h (emacs_readlinkat): New decl.
(READLINK_BUFSIZE, emacs_readlink): Remove.
* src/sysdep.c: Do not include <allocator.h>, <careadlinkat.h>.
(emacs_norealloc_allocator, emacs_readlink): Remove.
This stuff is moved to fileio.c.
* src/w32.c (fstatat, readlinkat): New functions.
(careadlinkat): Don't check that fd == AT_FDCWD.
(careadlinkatcwd): Remove; no longer needed.
Fixes: debbugs:13539
2013-02-01 06:30:51 +00:00
|
|
|
## begin gnulib module readlinkat
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += at-func.c readlinkat.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += at-func.c readlinkat.c
|
|
|
|
|
|
|
|
## end gnulib module readlinkat
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module root-uid
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += root-uid.h
|
|
|
|
|
|
|
|
## end gnulib module root-uid
|
|
|
|
|
2013-08-04 16:56:56 +00:00
|
|
|
## begin gnulib module secure_getenv
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_secure_getenv
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += secure_getenv.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += secure_getenv.c
|
|
|
|
|
|
|
|
## end gnulib module secure_getenv
|
|
|
|
|
Assume POSIX 1003.1-1988 or later for signal.h.
Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN,
SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these.
* admin/CPP-DEFINES (SIGALRM, SIGCHLD, SIGHUP, SIGKILL, SIGPIPE, SIGQUIT):
Remove.
(SIGTRAP): Remove this one too, as config.h no longer defines it.
* admin/merge-gnulib (GNULIB_MODULES): Add sig2str.
* configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF):
Use SIGCHLD rather than SIGCLD.
* lib/sig2str.c, lib/sig2str.h, m4/sig2str.m4: New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BUILD)/sig2str.$(O).
* src/process.c [subprocesses]: Include <c-ctype.h>, <sig2str.h>.
(deleted_pid_list, Fdelete_process, create_process)
(record_child_status_change, handle_child_signal, deliver_child_signal)
(init_process_emacs, syms_of_process):
Assume SIGCHLD is defined.
(parse_signal): Remove. All uses removed.
(abbr_to_signal): New static function.
(Fsignal_process): Use it to convert signal names to ints.
* src/sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than
kill (getpgrp (), ...).
(emacs_sigaction_init): Assume SIGCHLD is defined.
(init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL,
SIGPIPE, and SIGQUIT are defined. Do not worry about SIGCLD any more.
* src/syssignal.h (EMACS_KILLPG): Remove.
All uses replaced by 'kill' with a negative pid.
(SIGCHLD): Remove definition, as we now assume SIGCHLD.
* src/w32proc.c (sys_kill): Support negative pids compatibly with POSIX.
Fixes: debbugs:13026
2012-12-08 02:30:51 +00:00
|
|
|
## begin gnulib module sig2str
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += sig2str.c sig2str.h
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += sig2str.c
|
|
|
|
|
|
|
|
## end gnulib module sig2str
|
|
|
|
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
## begin gnulib module signal-h
|
2011-07-06 17:58:37 +00:00
|
|
|
|
|
|
|
BUILT_SOURCES += signal.h
|
|
|
|
|
|
|
|
# We need the following in order to create <signal.h> when the system
|
|
|
|
# doesn't have a complete one.
|
|
|
|
signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
|
|
|
|
-e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \
|
2011-07-06 17:58:37 +00:00
|
|
|
-e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
|
|
|
|
-e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
|
|
|
|
-e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
|
|
|
|
-e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
|
2011-07-08 20:20:19 +00:00
|
|
|
-e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \
|
2011-07-06 17:58:37 +00:00
|
|
|
-e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
|
|
|
|
-e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
|
|
|
|
-e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
|
|
|
|
-e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \
|
|
|
|
-e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
|
|
|
|
-e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
|
|
|
|
-e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \
|
2011-07-06 17:58:37 +00:00
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/signal.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += signal.h signal.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += signal.in.h
|
|
|
|
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
## end gnulib module signal-h
|
2011-07-06 17:58:37 +00:00
|
|
|
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
## begin gnulib module snippet/_Noreturn
|
|
|
|
|
|
|
|
# Because this Makefile snippet defines a variable used by other
|
|
|
|
# gnulib Makefile snippets, it must be present in all Makefile.am that
|
|
|
|
# need it. This is ensured by the applicability 'all' defined above.
|
|
|
|
|
|
|
|
_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
|
|
|
|
|
|
|
|
## end gnulib module snippet/_Noreturn
|
|
|
|
|
|
|
|
## begin gnulib module snippet/arg-nonnull
|
|
|
|
|
|
|
|
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
|
|
|
|
# statements but through direct file reference. Therefore this snippet must be
|
|
|
|
# present in all Makefile.am that need it. This is ensured by the applicability
|
|
|
|
# 'all' defined above.
|
|
|
|
|
|
|
|
BUILT_SOURCES += arg-nonnull.h
|
|
|
|
# The arg-nonnull.h that gets inserted into generated .h files is the same as
|
|
|
|
# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
|
|
|
|
# off.
|
|
|
|
arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
sed -n -e '/GL_ARG_NONNULL/,$$p' \
|
|
|
|
< $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
|
|
|
|
> $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
|
|
|
|
|
|
|
|
ARG_NONNULL_H=arg-nonnull.h
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
|
|
|
|
|
|
|
|
## end gnulib module snippet/arg-nonnull
|
|
|
|
|
|
|
|
## begin gnulib module snippet/c++defs
|
|
|
|
|
|
|
|
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
|
|
|
|
# statements but through direct file reference. Therefore this snippet must be
|
|
|
|
# present in all Makefile.am that need it. This is ensured by the applicability
|
|
|
|
# 'all' defined above.
|
|
|
|
|
|
|
|
BUILT_SOURCES += c++defs.h
|
|
|
|
# The c++defs.h that gets inserted into generated .h files is the same as
|
|
|
|
# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
|
|
|
|
c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
sed -n -e '/_GL_CXXDEFS/,$$p' \
|
|
|
|
< $(top_srcdir)/build-aux/snippet/c++defs.h \
|
|
|
|
> $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += c++defs.h c++defs.h-t
|
|
|
|
|
|
|
|
CXXDEFS_H=c++defs.h
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
|
|
|
|
|
|
|
|
## end gnulib module snippet/c++defs
|
|
|
|
|
|
|
|
## begin gnulib module snippet/warn-on-use
|
|
|
|
|
|
|
|
BUILT_SOURCES += warn-on-use.h
|
|
|
|
# The warn-on-use.h that gets inserted into generated .h files is the same as
|
|
|
|
# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
|
|
|
|
# off.
|
|
|
|
warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
sed -n -e '/^.ifndef/,$$p' \
|
|
|
|
< $(top_srcdir)/build-aux/snippet/warn-on-use.h \
|
|
|
|
> $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
|
|
|
|
|
|
|
|
WARN_ON_USE_H=warn-on-use.h
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
|
|
|
|
|
|
|
|
## end gnulib module snippet/warn-on-use
|
|
|
|
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
## begin gnulib module stat
|
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
if gl_GNULIB_ENABLED_stat
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
endif
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
EXTRA_DIST += stat.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += stat.c
|
|
|
|
|
|
|
|
## end gnulib module stat
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module stat-time
|
|
|
|
|
2012-08-02 04:46:10 +00:00
|
|
|
libgnu_a_SOURCES += stat-time.c
|
2012-06-22 21:17:42 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += stat-time.h
|
|
|
|
|
|
|
|
## end gnulib module stat-time
|
|
|
|
|
2012-05-26 23:14:36 +00:00
|
|
|
## begin gnulib module stdalign
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(STDALIGN_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <stdalign.h> when the system
|
|
|
|
# doesn't have one that works.
|
|
|
|
if GL_GENERATE_STDALIGN_H
|
|
|
|
stdalign.h: stdalign.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
cat $(srcdir)/stdalign.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
else
|
|
|
|
stdalign.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
|
|
|
MOSTLYCLEANFILES += stdalign.h stdalign.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += stdalign.in.h
|
|
|
|
|
|
|
|
## end gnulib module stdalign
|
|
|
|
|
2011-01-09 06:57:07 +00:00
|
|
|
## begin gnulib module stddef
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(STDDEF_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <stddef.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2011-04-06 07:04:53 +00:00
|
|
|
if GL_GENERATE_STDDEF_H
|
|
|
|
stddef.h: stddef.in.h $(top_builddir)/config.status
|
2011-01-09 06:57:07 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
|
2014-12-12 07:16:37 +00:00
|
|
|
-e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
|
|
|
|
-e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
|
|
|
|
< $(srcdir)/stddef.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
2011-04-06 07:04:53 +00:00
|
|
|
else
|
|
|
|
stddef.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
2011-01-09 06:57:07 +00:00
|
|
|
MOSTLYCLEANFILES += stddef.h stddef.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += stddef.in.h
|
|
|
|
|
|
|
|
## end gnulib module stddef
|
|
|
|
|
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-19 07:28:29 +00:00
|
|
|
## begin gnulib module stdint
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(STDINT_H)
|
|
|
|
|
|
|
|
# We need the following in order to create <stdint.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2011-04-06 07:04:53 +00:00
|
|
|
if GL_GENERATE_STDINT_H
|
|
|
|
stdint.h: stdint.in.h $(top_builddir)/config.status
|
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-19 07:28:29 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
|
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-19 07:28:29 +00:00
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
|
2016-09-15 18:50:23 +00:00
|
|
|
-e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
|
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-19 07:28:29 +00:00
|
|
|
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
|
|
|
|
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
|
|
|
-e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
|
|
|
|
-e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
|
|
|
|
-e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
|
|
|
|
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
|
|
|
|
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
|
|
|
|
-e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
|
|
|
|
-e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
|
|
|
|
-e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
|
|
|
|
-e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
|
|
|
|
-e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
|
|
|
|
-e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
|
|
|
|
-e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
|
|
|
|
-e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
|
|
|
|
-e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
|
|
|
|
-e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
|
|
|
|
-e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
|
|
|
|
-e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
|
|
|
|
-e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
|
|
|
|
-e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
|
|
|
|
< $(srcdir)/stdint.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
2011-04-06 07:04:53 +00:00
|
|
|
else
|
|
|
|
stdint.h: $(top_builddir)/config.status
|
|
|
|
rm -f $@
|
|
|
|
endif
|
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-19 07:28:29 +00:00
|
|
|
MOSTLYCLEANFILES += stdint.h stdint.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += stdint.in.h
|
|
|
|
|
|
|
|
## end gnulib module stdint
|
|
|
|
|
2011-03-21 05:06:47 +00:00
|
|
|
## begin gnulib module stdio
|
|
|
|
|
|
|
|
BUILT_SOURCES += stdio.h
|
|
|
|
|
|
|
|
# We need the following in order to create <stdio.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2011-04-06 07:04:53 +00:00
|
|
|
stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
2011-03-21 05:06:47 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
2011-03-21 05:06:47 +00:00
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
|
|
|
|
-e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
|
|
|
|
-e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
|
|
|
|
-e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
|
|
|
|
-e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
|
|
|
|
-e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
|
|
|
|
-e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
|
|
|
|
-e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
|
|
|
|
-e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
|
|
|
|
-e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
|
|
|
|
-e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
|
|
|
|
-e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
|
|
|
|
-e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
|
|
|
|
-e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
|
|
|
|
-e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
|
|
|
|
-e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
|
|
|
|
-e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
|
|
|
|
-e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
|
|
|
|
-e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
|
|
|
|
-e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
|
|
|
|
-e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
|
|
|
|
-e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
|
|
|
|
-e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
|
|
|
|
-e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
|
|
|
|
-e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
|
|
|
|
-e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
|
|
|
|
-e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
|
|
|
|
-e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
|
|
|
|
-e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
|
|
|
|
-e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
|
|
|
|
-e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
|
|
|
|
-e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
|
|
|
|
-e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
|
|
|
|
-e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
|
|
|
|
-e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
|
2011-03-21 05:06:47 +00:00
|
|
|
< $(srcdir)/stdio.in.h | \
|
|
|
|
sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
|
|
|
|
-e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
|
|
|
|
-e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
|
|
|
|
-e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
|
|
|
|
-e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
|
2011-03-21 05:06:47 +00:00
|
|
|
-e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
|
|
|
|
-e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
|
|
|
|
-e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
|
2011-03-21 05:06:47 +00:00
|
|
|
-e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
|
|
|
|
-e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
|
|
|
|
-e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
|
|
|
|
-e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
|
|
|
|
-e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
|
|
|
|
-e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
|
|
|
|
-e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
|
|
|
|
-e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
|
|
|
|
-e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
|
|
|
|
-e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
|
|
|
|
-e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
|
|
|
|
-e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
|
|
|
|
-e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
|
|
|
|
-e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
|
|
|
|
-e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
|
|
|
|
-e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
|
2011-04-18 04:03:18 +00:00
|
|
|
-e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
|
2011-03-21 05:06:47 +00:00
|
|
|
-e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
|
|
|
|
-e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
|
|
|
|
-e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
|
|
|
|
-e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
|
|
|
|
-e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += stdio.h stdio.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += stdio.in.h
|
|
|
|
|
|
|
|
## end gnulib module stdio
|
|
|
|
|
2011-02-08 07:05:03 +00:00
|
|
|
## begin gnulib module stdlib
|
|
|
|
|
|
|
|
BUILT_SOURCES += stdlib.h
|
|
|
|
|
|
|
|
# We need the following in order to create <stdlib.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
|
|
|
$(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
2011-02-08 07:05:03 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
|
|
|
|
-e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
|
|
|
|
-e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
|
|
|
|
-e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
|
|
|
|
-e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
|
|
|
|
-e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
|
|
|
|
-e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
|
|
|
|
-e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
|
|
|
|
-e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
|
Vector-sorting fixes.
It's not safe to call qsort or qsort_r, since they have undefined
behavior if the user-specified predicate is not a total order.
Also, watch out for garbage-collection while sorting vectors.
* admin/merge-gnulib (GNULIB_MODULES): Add vla.
* configure.ac (qsort_r): Remove, as we no longer use qsort-like
functions.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
* lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
2014-08-29 qsort_r: new module, for GNU-style qsort_r
The previous two files' changes are boilerplate generated by
admin/merge-gnulib, and should not affect Emacs.
* src/fns.c: Include <vla.h>.
(sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
(sort_vector_compare): Remove, replacing with ....
(inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
... these new functions.
(sort_vector): Rewrite to use the new functions.
GCPRO locals, since the predicate can invoke the GC.
Since it's in-place return void; caller changed.
(merge): Use 'inorder', for clarity.
Fixes: debbugs:18361
2014-08-30 22:59:39 +00:00
|
|
|
-e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
|
|
|
|
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
|
|
|
|
-e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
|
2013-02-08 23:37:17 +00:00
|
|
|
-e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
|
|
|
|
-e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
|
|
|
|
-e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
|
|
|
|
-e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
|
|
|
|
-e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
|
2011-02-10 07:03:12 +00:00
|
|
|
< $(srcdir)/stdlib.in.h | \
|
|
|
|
sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
|
|
|
|
-e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
|
|
|
|
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
|
|
|
|
-e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
|
|
|
|
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
|
|
|
|
-e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
|
|
|
|
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
|
|
|
|
-e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
|
|
|
|
-e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
|
2016-10-27 15:27:13 +00:00
|
|
|
-e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
|
|
|
|
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
|
|
|
|
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
|
|
|
|
-e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
|
2013-02-08 23:37:17 +00:00
|
|
|
-e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
|
|
|
|
-e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
|
|
|
|
-e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
|
|
|
|
-e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
|
|
|
|
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
|
|
|
|
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
|
|
|
|
-e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
|
|
|
|
-e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
|
|
|
|
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
|
|
|
|
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
|
2012-10-04 07:15:42 +00:00
|
|
|
-e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
|
Vector-sorting fixes.
It's not safe to call qsort or qsort_r, since they have undefined
behavior if the user-specified predicate is not a total order.
Also, watch out for garbage-collection while sorting vectors.
* admin/merge-gnulib (GNULIB_MODULES): Add vla.
* configure.ac (qsort_r): Remove, as we no longer use qsort-like
functions.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
* lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
2014-08-29 qsort_r: new module, for GNU-style qsort_r
The previous two files' changes are boilerplate generated by
admin/merge-gnulib, and should not affect Emacs.
* src/fns.c: Include <vla.h>.
(sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
(sort_vector_compare): Remove, replacing with ....
(inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
... these new functions.
(sort_vector): Rewrite to use the new functions.
GCPRO locals, since the predicate can invoke the GC.
Since it's in-place return void; caller changed.
(merge): Use 'inorder', for clarity.
Fixes: debbugs:18361
2014-08-30 22:59:39 +00:00
|
|
|
-e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
|
|
|
|
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
|
|
|
|
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
|
|
|
|
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
|
|
|
|
-e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
-e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
-e '/definition of _Noreturn/r $(_NORETURN_H)' \
|
2011-02-08 07:05:03 +00:00
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
2011-02-10 07:03:12 +00:00
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
|
2011-02-08 07:05:03 +00:00
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += stdlib.h stdlib.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += stdlib.in.h
|
|
|
|
|
|
|
|
## end gnulib module stdlib
|
|
|
|
|
Prefer stpcpy to strcat
* admin/merge-gnulib (GNULIB_MODULES): Add stpcpy.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stpcpy.c, m4/stpcpy.m4: New files, from gnulib.
* lib-src/ebrowse.c (sym_scope_1, operator_name, open_file):
* lib-src/emacsclient.c (get_server_config, set_local_socket)
(start_daemon_and_retry_set_socket):
* lib-src/etags.c (main, C_entries, relative_filename):
* lib-src/pop.c (sendline):
* lib-src/update-game-score.c (main):
* lwlib/xlwmenu.c (resource_widget_value):
* src/callproc.c (child_setup):
* src/dbusbind.c (xd_signature_cat):
* src/doc.c (get_doc_string, Fsnarf_documentation):
* src/editfns.c (Fuser_full_name):
* src/frame.c (xrdb_get_resource):
* src/gtkutil.c (xg_get_file_with_chooser):
* src/tparam.c (tparam1):
* src/xfns.c (xic_create_fontsetname):
* src/xrdb.c (gethomedir, get_user_db, get_environ_db):
* src/xsmfns.c (smc_save_yourself_CB):
Rewrite to avoid the need for strcat, typically by using stpcpy
and/or lispstpcpy. strcat tends to be part of O(N**2) algorithms.
* src/doc.c (sibling_etc):
* src/xrdb.c (xdefaults):
Now a top-level static constant.
2014-12-25 12:19:17 +00:00
|
|
|
## begin gnulib module stpcpy
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += stpcpy.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += stpcpy.c
|
|
|
|
|
|
|
|
## end gnulib module stpcpy
|
|
|
|
|
2011-01-30 23:34:18 +00:00
|
|
|
## begin gnulib module strftime
|
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
libgnu_a_SOURCES += strftime.c
|
2011-01-30 23:34:18 +00:00
|
|
|
|
2011-06-15 22:27:54 +00:00
|
|
|
EXTRA_DIST += strftime.h
|
2011-01-30 23:34:18 +00:00
|
|
|
|
|
|
|
## end gnulib module strftime
|
|
|
|
|
2013-02-11 23:37:18 +00:00
|
|
|
## begin gnulib module string
|
|
|
|
|
|
|
|
BUILT_SOURCES += string.h
|
|
|
|
|
|
|
|
# We need the following in order to create <string.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
|
|
|
|
-e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
|
|
|
|
-e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
|
|
|
|
-e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
|
|
|
|
-e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
|
|
|
|
-e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
|
|
|
|
-e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
|
|
|
|
-e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
|
|
|
|
-e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
|
|
|
|
-e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
|
|
|
|
-e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
|
|
|
|
-e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
|
|
|
|
-e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
|
|
|
|
-e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
|
|
|
|
-e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
|
|
|
|
-e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
|
|
|
|
-e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
|
|
|
|
-e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
|
|
|
|
-e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
|
|
|
|
-e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
|
|
|
|
-e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
|
|
|
|
-e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
|
|
|
|
-e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
|
|
|
|
-e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
|
|
|
|
-e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
|
|
|
|
< $(srcdir)/string.in.h | \
|
|
|
|
sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
|
|
|
|
-e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
|
|
|
|
-e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
|
|
|
|
-e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
|
|
|
|
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
|
|
|
|
-e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
|
|
|
|
-e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
|
|
|
|
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
|
|
|
|
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
|
|
|
|
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
|
|
|
|
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
|
|
|
|
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
|
|
|
|
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
|
|
|
|
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
|
|
|
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
|
|
|
|
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
|
|
|
|
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
|
|
|
|
-e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
|
|
|
|
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
|
|
|
|
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
|
|
|
|
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
|
|
|
|
-e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
|
|
|
|
-e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
|
|
|
|
-e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
|
|
|
|
-e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
|
|
|
|
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
|
|
|
|
-e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
|
|
|
|
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
|
|
|
|
< $(srcdir)/string.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += string.h string.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += string.in.h
|
|
|
|
|
|
|
|
## end gnulib module string
|
|
|
|
|
2011-07-09 00:18:49 +00:00
|
|
|
## begin gnulib module strtoimax
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += strtoimax.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += strtoimax.c
|
|
|
|
|
|
|
|
## end gnulib module strtoimax
|
|
|
|
|
|
|
|
## begin gnulib module strtoll
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_strtoll
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += strtol.c strtoll.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c
|
|
|
|
|
|
|
|
## end gnulib module strtoll
|
|
|
|
|
2011-04-26 19:29:47 +00:00
|
|
|
## begin gnulib module strtoull
|
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
if gl_GNULIB_ENABLED_strtoull
|
2011-04-26 19:29:47 +00:00
|
|
|
|
2011-05-04 06:11:49 +00:00
|
|
|
endif
|
2011-04-26 19:29:47 +00:00
|
|
|
EXTRA_DIST += strtol.c strtoul.c strtoull.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c strtoull.c
|
|
|
|
|
|
|
|
## end gnulib module strtoull
|
|
|
|
|
2011-04-21 19:12:13 +00:00
|
|
|
## begin gnulib module strtoumax
|
|
|
|
|
|
|
|
|
2011-04-26 19:29:47 +00:00
|
|
|
EXTRA_DIST += strtoimax.c strtoumax.c
|
2011-04-21 19:12:13 +00:00
|
|
|
|
2011-04-26 19:29:47 +00:00
|
|
|
EXTRA_libgnu_a_SOURCES += strtoimax.c strtoumax.c
|
2011-04-21 19:12:13 +00:00
|
|
|
|
|
|
|
## end gnulib module strtoumax
|
|
|
|
|
[ChangeLog]
Work around some portability problems with symlinks.
* Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink.
* configure.in (lstat, HAVE_LSTAT): Remove special hack.
* lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c:
* m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4:
New files, automatically generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate.
2011-02-22 Paul Eggert <eggert@cs.ucla.edu>
[src/ChangeLog]
Work around some portability problems with symlinks.
* fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p):
Simplify the code by assuming that the readlink and symlink calls
exist, even if they always fail on this host.
(Ffile_readable_p): Likewise, for fifos.
* config.in: Regenerate.
2011-02-22 19:30:07 +00:00
|
|
|
## begin gnulib module symlink
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += symlink.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += symlink.c
|
|
|
|
|
|
|
|
## end gnulib module symlink
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module sys_select
|
|
|
|
|
|
|
|
BUILT_SOURCES += sys/select.h
|
|
|
|
|
|
|
|
# We need the following in order to create <sys/select.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
|
|
|
|
$(AM_V_at)$(MKDIR_P) sys
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \
|
|
|
|
-e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \
|
|
|
|
-e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \
|
|
|
|
-e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \
|
|
|
|
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
|
|
|
|
-e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \
|
|
|
|
-e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \
|
|
|
|
-e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/sys_select.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += sys/select.h sys/select.h-t
|
|
|
|
MOSTLYCLEANDIRS += sys
|
|
|
|
|
|
|
|
EXTRA_DIST += sys_select.in.h
|
|
|
|
|
|
|
|
## end gnulib module sys_select
|
|
|
|
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
## begin gnulib module sys_stat
|
|
|
|
|
|
|
|
BUILT_SOURCES += sys/stat.h
|
|
|
|
|
|
|
|
# We need the following in order to create <sys/stat.h> when the system
|
|
|
|
# has one that is incomplete.
|
2011-04-06 07:04:53 +00:00
|
|
|
sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
$(AM_V_at)$(MKDIR_P) sys
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
|
|
|
|
-e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
|
|
|
|
-e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
|
|
|
|
-e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
|
|
|
|
-e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
|
|
|
|
-e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
|
|
|
|
-e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
|
|
|
|
-e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
|
|
|
|
-e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
|
|
|
|
-e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
|
|
|
|
-e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
|
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
2011-02-20 10:51:50 +00:00
|
|
|
-e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
|
|
|
|
-e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
|
|
|
|
-e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
|
|
|
|
-e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
|
|
|
|
-e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
|
|
|
|
-e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
|
|
|
|
-e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
|
|
|
|
-e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
|
|
|
|
-e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
|
|
|
|
-e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
|
|
|
|
-e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
|
|
|
|
-e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
|
|
|
|
-e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
|
|
|
|
-e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
|
|
|
|
-e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
|
|
|
|
-e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
|
|
|
|
-e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
|
|
|
|
-e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
|
|
|
|
-e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
|
|
|
|
-e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/sys_stat.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t
|
|
|
|
MOSTLYCLEANDIRS += sys
|
|
|
|
|
|
|
|
EXTRA_DIST += sys_stat.in.h
|
|
|
|
|
|
|
|
## end gnulib module sys_stat
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module sys_time
|
2012-05-26 23:14:36 +00:00
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
BUILT_SOURCES += sys/time.h
|
2012-05-26 23:14:36 +00:00
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
# We need the following in order to create <sys/time.h> when the system
|
2012-05-26 23:14:36 +00:00
|
|
|
# doesn't have one that works with the given compiler.
|
2012-06-22 21:17:42 +00:00
|
|
|
sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
2012-05-26 23:14:36 +00:00
|
|
|
$(AM_V_at)$(MKDIR_P) sys
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
2012-06-22 21:17:42 +00:00
|
|
|
-e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
2012-06-22 21:17:42 +00:00
|
|
|
-e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
|
|
|
|
-e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
|
|
|
|
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
|
|
|
|
-e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
|
|
|
|
-e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
|
|
|
|
-e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
|
|
|
|
-e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/sys_time.in.h; \
|
2012-05-26 23:14:36 +00:00
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
2012-06-22 21:17:42 +00:00
|
|
|
MOSTLYCLEANFILES += sys/time.h sys/time.h-t
|
2012-05-26 23:14:36 +00:00
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
EXTRA_DIST += sys_time.in.h
|
2012-05-26 23:14:36 +00:00
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## end gnulib module sys_time
|
2012-05-26 23:14:36 +00:00
|
|
|
|
2014-03-07 18:57:11 +00:00
|
|
|
## begin gnulib module sys_types
|
|
|
|
|
|
|
|
BUILT_SOURCES += sys/types.h
|
|
|
|
|
|
|
|
# We need the following in order to create <sys/types.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
|
|
|
sys/types.h: sys_types.in.h $(top_builddir)/config.status
|
|
|
|
$(AM_V_at)$(MKDIR_P) sys
|
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
|
|
|
|
-e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
|
|
|
|
< $(srcdir)/sys_types.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += sys/types.h sys/types.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += sys_types.in.h
|
|
|
|
|
|
|
|
## end gnulib module sys_types
|
|
|
|
|
2013-08-04 16:56:56 +00:00
|
|
|
## begin gnulib module tempname
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_tempname
|
|
|
|
libgnu_a_SOURCES += tempname.c
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += tempname.h
|
|
|
|
|
|
|
|
## end gnulib module tempname
|
|
|
|
|
2011-01-09 06:57:07 +00:00
|
|
|
## begin gnulib module time
|
|
|
|
|
|
|
|
BUILT_SOURCES += time.h
|
|
|
|
|
|
|
|
# We need the following in order to create <time.h> when the system
|
|
|
|
# doesn't have one that works with the given compiler.
|
2011-04-06 07:04:53 +00:00
|
|
|
time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
2011-01-09 06:57:07 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
|
2013-12-17 20:43:43 +00:00
|
|
|
-e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
|
|
|
|
-e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
|
|
|
|
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
|
|
|
|
-e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
|
|
|
|
-e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
|
New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING. All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized. Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time. All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 07:01:34 +00:00
|
|
|
-e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
|
|
|
|
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
|
|
|
|
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
|
|
|
|
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
|
New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING. All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized. Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time. All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 07:01:34 +00:00
|
|
|
-e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
|
2013-12-17 20:43:43 +00:00
|
|
|
-e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
|
|
|
|
-e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
|
|
|
|
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
|
|
|
|
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
|
|
|
|
-e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
|
|
|
|
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
|
|
|
|
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
|
|
|
|
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
|
2015-01-28 06:24:19 +00:00
|
|
|
-e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
|
2011-01-09 06:57:07 +00:00
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
|
|
|
< $(srcdir)/time.in.h; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += time.h time.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += time.in.h
|
|
|
|
|
|
|
|
## end gnulib module time
|
|
|
|
|
|
|
|
## begin gnulib module time_r
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += time_r.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += time_r.c
|
|
|
|
|
|
|
|
## end gnulib module time_r
|
|
|
|
|
New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING. All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized. Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time. All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 07:01:34 +00:00
|
|
|
## begin gnulib module time_rz
|
|
|
|
|
|
|
|
|
2015-07-27 23:50:44 +00:00
|
|
|
EXTRA_DIST += time-internal.h time_rz.c
|
New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING. All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized. Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time. All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 07:01:34 +00:00
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += time_rz.c
|
|
|
|
|
|
|
|
## end gnulib module time_rz
|
|
|
|
|
|
|
|
## begin gnulib module timegm
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += mktime-internal.h timegm.c
|
|
|
|
|
|
|
|
EXTRA_libgnu_a_SOURCES += timegm.c
|
|
|
|
|
|
|
|
## end gnulib module timegm
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module timespec
|
|
|
|
|
2012-08-02 04:46:10 +00:00
|
|
|
libgnu_a_SOURCES += timespec.c
|
2012-06-22 21:17:42 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += timespec.h
|
|
|
|
|
|
|
|
## end gnulib module timespec
|
|
|
|
|
|
|
|
## begin gnulib module timespec-add
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += timespec-add.c
|
|
|
|
|
|
|
|
## end gnulib module timespec-add
|
|
|
|
|
|
|
|
## begin gnulib module timespec-sub
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += timespec-sub.c
|
|
|
|
|
|
|
|
## end gnulib module timespec-sub
|
|
|
|
|
2011-06-21 08:45:39 +00:00
|
|
|
## begin gnulib module u64
|
|
|
|
|
2012-08-02 04:46:10 +00:00
|
|
|
libgnu_a_SOURCES += u64.c
|
2011-06-21 08:45:39 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += u64.h
|
|
|
|
|
|
|
|
## end gnulib module u64
|
|
|
|
|
2011-01-09 07:33:50 +00:00
|
|
|
## begin gnulib module unistd
|
|
|
|
|
|
|
|
BUILT_SOURCES += unistd.h
|
Merge from gnulib for 'inline'.
2012-11-29 snippet/warn-on-use: no 'static inline'
2012-11-29 ftruncate, fts, lstat, openat, raise: no 'static inline'
2012-11-29 arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
2012-11-29 fflush, stat: no 'static inline'
2012-11-29 stdio: better 'inline'
2012-11-29 sys_stat: no 'static inline'
2012-11-29 unistd: better 'inline'
2012-11-29 c-strtod, memcoll, readutmp: no 'static inline'
2012-11-29 extern-inline: no 'static inline'
2012-11-29 sys_socket: better 'inline'
* lib/stdio.c, lib/unistd.c: New files, from gnulib.
* build-aux/snippet/warn-on-use.h, lib/gnulib.mk, lib/lstat.c:
* lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c, lib/stat.c:
* lib/stdio.in.h, lib/sys_stat.in.h, lib/unistd.in.h, m4/c-strtod.m4:
* m4/extern-inline.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/md5.m4:
* m4/sha1.m4, m4/sha256.m4, m4/sha512.m4, m4/stat.m4, m4/stdio_h.m4:
* m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/unistd_h.m4:
Update from gnulib.
Fixes: debbugs:13040
2012-11-30 18:25:59 +00:00
|
|
|
libgnu_a_SOURCES += unistd.c
|
2011-01-09 07:33:50 +00:00
|
|
|
|
|
|
|
# We need the following in order to create an empty placeholder for
|
|
|
|
# <unistd.h> when the system doesn't have one.
|
2011-04-06 07:04:53 +00:00
|
|
|
unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
2011-01-09 07:33:50 +00:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
2011-05-29 21:52:18 +00:00
|
|
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
|
|
|
-e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
|
|
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
|
|
|
|
-e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
|
|
|
|
-e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
|
|
|
|
-e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
|
|
|
|
-e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
|
|
|
|
-e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
|
|
|
|
-e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
|
|
|
|
-e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
|
|
|
|
-e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
|
|
|
|
-e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
|
|
|
|
-e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
|
|
|
|
-e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
|
|
|
|
-e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
|
|
|
|
-e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
|
|
|
|
-e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
|
|
|
|
-e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
|
|
|
|
-e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
|
|
|
|
-e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
|
|
|
|
-e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
|
|
|
|
-e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
|
|
|
|
-e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
|
|
|
|
-e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
|
|
|
|
-e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
|
|
|
|
-e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
|
|
|
|
-e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
|
|
|
|
-e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
|
|
|
|
-e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
|
|
|
|
-e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
|
|
|
|
-e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
|
|
|
|
-e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
|
|
|
|
-e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
|
|
|
|
-e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
|
|
|
|
-e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
|
2011-06-08 16:26:45 +00:00
|
|
|
-e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
|
|
|
|
-e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
|
|
|
|
-e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
|
|
|
|
-e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
|
|
|
|
-e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
|
|
|
|
-e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
< $(srcdir)/unistd.in.h | \
|
|
|
|
sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
|
|
|
|
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
|
|
|
|
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
|
|
|
|
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
|
|
|
|
-e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
|
|
|
|
-e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
|
|
|
|
-e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
|
|
|
|
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
|
|
|
|
-e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
|
|
|
|
-e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
|
|
|
|
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
|
|
|
|
-e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
|
|
|
|
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
|
2011-05-16 00:51:54 +00:00
|
|
|
-e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
|
|
|
|
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
|
|
|
|
-e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
|
|
|
|
-e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
|
|
|
|
-e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
|
|
|
|
-e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
|
|
|
|
-e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
|
|
|
|
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
|
|
|
|
-e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
|
|
|
|
-e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
|
|
|
|
-e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
|
|
|
|
-e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
|
|
|
|
-e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
|
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
2011-09-26 21:30:18 +00:00
|
|
|
-e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
|
|
|
|
-e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
|
|
|
|
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
|
|
|
|
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
|
2011-02-10 07:03:12 +00:00
|
|
|
| \
|
|
|
|
sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
|
|
|
|
-e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
|
|
|
|
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
|
|
|
|
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
|
|
|
|
-e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
|
2013-10-03 07:06:52 +00:00
|
|
|
-e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
|
|
|
|
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
|
|
|
|
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
|
2012-05-26 23:14:36 +00:00
|
|
|
-e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
|
|
|
|
-e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
|
|
|
|
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
|
|
|
|
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
|
|
|
|
-e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
|
|
|
|
-e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
|
2011-04-18 04:03:18 +00:00
|
|
|
-e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
|
2014-10-19 06:33:40 +00:00
|
|
|
-e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
|
|
|
|
-e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
|
|
|
|
-e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
|
2014-10-19 06:33:40 +00:00
|
|
|
-e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
|
2011-01-09 07:33:50 +00:00
|
|
|
-e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
|
|
|
|
-e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
|
|
|
|
-e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
|
|
|
|
-e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
|
|
|
|
-e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
|
|
|
|
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
|
|
|
|
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
|
|
|
|
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
|
|
|
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
|
|
|
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
|
|
|
|
} > $@-t && \
|
|
|
|
mv $@-t $@
|
|
|
|
MOSTLYCLEANFILES += unistd.h unistd.h-t
|
|
|
|
|
|
|
|
EXTRA_DIST += unistd.in.h
|
|
|
|
|
|
|
|
## end gnulib module unistd
|
|
|
|
|
2013-12-24 18:27:53 +00:00
|
|
|
## begin gnulib module update-copyright
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright
|
|
|
|
|
|
|
|
## end gnulib module update-copyright
|
|
|
|
|
2012-06-22 21:17:42 +00:00
|
|
|
## begin gnulib module utimens
|
|
|
|
|
|
|
|
libgnu_a_SOURCES += utimens.c
|
|
|
|
|
|
|
|
EXTRA_DIST += utimens.h
|
|
|
|
|
|
|
|
## end gnulib module utimens
|
|
|
|
|
2011-04-21 19:12:13 +00:00
|
|
|
## begin gnulib module verify
|
|
|
|
|
|
|
|
|
2011-05-16 00:51:54 +00:00
|
|
|
EXTRA_DIST += verify.h
|
|
|
|
|
2011-04-21 19:12:13 +00:00
|
|
|
## end gnulib module verify
|
|
|
|
|
Vector-sorting fixes.
It's not safe to call qsort or qsort_r, since they have undefined
behavior if the user-specified predicate is not a total order.
Also, watch out for garbage-collection while sorting vectors.
* admin/merge-gnulib (GNULIB_MODULES): Add vla.
* configure.ac (qsort_r): Remove, as we no longer use qsort-like
functions.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
* lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
2014-08-29 qsort_r: new module, for GNU-style qsort_r
The previous two files' changes are boilerplate generated by
admin/merge-gnulib, and should not affect Emacs.
* src/fns.c: Include <vla.h>.
(sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
(sort_vector_compare): Remove, replacing with ....
(inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
... these new functions.
(sort_vector): Rewrite to use the new functions.
GCPRO locals, since the predicate can invoke the GC.
Since it's in-place return void; caller changed.
(merge): Use 'inorder', for clarity.
Fixes: debbugs:18361
2014-08-30 22:59:39 +00:00
|
|
|
## begin gnulib module vla
|
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += vla.h
|
|
|
|
|
|
|
|
## end gnulib module vla
|
|
|
|
|
Use faccessat, not access, when checking file permissions.
This fixes a bug that has been present in Emacs since its creation.
It was reported by Chris Torek in 1983 even before GNU Emacs existed,
which must set some sort of record. (Torek's bug report was against
a predecessor of GNU Emacs, but GNU Emacs happened to have the
same common flaw.) See Torek's Usenet posting
"setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
Posted: Fri Apr 8 14:18:56 1983.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use effective UID when checking permissions, not real UID.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/lread.c (load_path_check, init_lread):
Test whether directories are accessible, not merely whether they exist.
* src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
* src/fileio.c (check_existing, check_executable, check_writable)
(Ffile_readable_p):
Use symbolic names instead of integers for the flags, as they're
portable now.
(check_writable): New arg AMODE. All uses changed.
Set errno on failure.
(Ffile_readable_p): Use faccessat, not stat + open + close.
(Ffile_writable_p): No need to call check_existing + check_writable.
Just call check_writable and then look at errno. This saves a syscall.
dir should never be nil; replace an unnecessary runtime check
with an eassert. When checking the parent directory of a nonexistent
file, check that the directory is searchable as well as writable, as
we can't create files in unsearchable directories.
(file_directory_p): New function, which uses 'stat' on most platforms
but faccessat with D_OK (for efficiency) if WINDOWSNT.
(Ffile_directory_p, Fset_file_times): Use it.
(file_accessible_directory_p): New function, which uses a single
syscall for efficiency.
(Ffile_accessible_directory_p): Use it.
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
(dir_warning): First arg is now a usage string, not a format.
Use errno. All uses changed.
* src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
that merely introduced a race.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
and similarly for the other O_* flags.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
* src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
(magic_db): Rename from magic_file_p.
(magic_db, search_magic_path): Return an XrmDatabase rather than a
char *, so that we don't have to test for file existence
separately from opening the file for reading. This removes a race
fixes a permission-checking problem, and simplifies the code.
All uses changed.
(file_p): Remove; no longer needed.
Fixes: debbugs:12632
2012-11-14 04:55:41 +00:00
|
|
|
## begin gnulib module xalloc-oversized
|
|
|
|
|
|
|
|
if gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec
|
|
|
|
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += xalloc-oversized.h
|
|
|
|
|
|
|
|
## end gnulib module xalloc-oversized
|
|
|
|
|
Regenerate.
* aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
* lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
* configure, lisp/dired.el, src/config.in: Regenerate.
2011-01-08 21:19:44 +00:00
|
|
|
|
|
|
|
mostlyclean-local: mostlyclean-generic
|
|
|
|
@for dir in '' $(MOSTLYCLEANDIRS); do \
|
|
|
|
if test -n "$$dir" && test -d $$dir; then \
|
|
|
|
echo "rmdir $$dir"; rmdir $$dir; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
:
|