http://lwn.net/Articles/436012/ documents that many distros
are now preferring to use /run rather than /var/run for
storage of pid files and other per-process temporary files
that must not be cleaned out during arbitrary TMPDIR sweeps.
As such, the GNU Coding Standards were recently changed to
recommend a new configure option to make it easy to choose
this directory at configure time, and autoconf 2.70 will
support the new directory by default. This patch adds support
for propagating results of the new option (for new enough
autotools) or providing a sane default (for older autotools)
into C code.
* m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
even if autoconf was too old to provide the command line option.
* modules/configmake (Makefile.am): Propagate it to .h file.
Signed-off-by: Eric Blake <eblake@redhat.com>
* modules/configmake (Makefile.am): All other rules like this one
run the final "mv -f ..." in the same backslash-continued command
as the one that does everything else. This one put the mv -f ...
command on a separate, non-backslash-continued line.
Make it like the others.
* m4/configmake.m4: New file.
* modules/configmake (Files): Ship it.
(configure.ac): Use it to guarantee fallbacks.
Signed-off-by: Eric Blake <eblake@redhat.com>
people. However, do retain the ability to work when targets are
read-only: remove the destination and temporary files before writing
them (when generated via sed or echo), or by using the -f option for
both cp and mv commands. Suggestion to use -f from Paul Eggert.
* modules/alloca-opt, modules/argz, modules/arpa_inet:
* modules/byteswap, modules/configmake, modules/fcntl:
* modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
* modules/localcharset, modules/netinet_in, modules/poll:
* modules/stdbool, modules/stdint, modules/sys_select:
* modules/sys_socket, modules/sys_stat, modules/sysexits:
* modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
Ensure that each generated file is now read-only.
* modules/argz: Likewise.
* modules/arpa_inet: Likewise.
* modules/byteswap: Likewise.
* modules/configmake: Likewise.
* modules/fcntl: Likewise.
* modules/fnmatch: Likewise.
* modules/getopt: Likewise.
* modules/glob: Likewise.
* modules/inttypes: Likewise.
* modules/netinet_in: Likewise.
* modules/poll: Likewise.
* modules/stdbool: Likewise.
* modules/stdint: Likewise.
* modules/sys_select: Likewise.
* modules/sys_socket: Likewise.
* modules/sys_stat: Likewise.
* modules/sysexits: Likewise.
* modules/localcharset: Same as above, but continue using temporary
file named "t-$@" (why different?) rather than the "$@-t" used
everywhere else.
* modules/sysexits (Makefile.am): Replace literal occurrences
of "sysexit.h" more readable, and more consistent, "$@".
by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
* MODULES.html.sh (Support for building libraries and executables):
Add configmake.
* modules/configmake: New file.