summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2013-09-12 15:11:29 -0600
committerEric Blake <eblake@redhat.com>2013-09-14 06:28:34 -0600
commita197431414088a417b407b9b20583b2e8f7363bd (patch)
tree91c47cd11e53c03f6a4fdb690b2e05ac4bc056b7
parentf5b1ea679360db7a6714bbf3953f4fe1a3174844 (diff)
downloadautoconf-a197431414088a417b407b9b20583b2e8f7363bd.tar.gz
AC_INIT: add --runstatedir option to configure
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. This patch adds support for the option to all configure scripts built by autoconf. * general.m4 (_AC_INIT_PARSE_ARGS): Add new directory option. (_AC_INIT_HELP): Document it. * doc/autoconf.texi (Installation Directory Variables): Document new option. (Site Defaults): Mention typical use within a distro. * NEWS: Mention the addition. Signed-off-by: Eric Blake <eblake@redhat.com>
-rw-r--r--NEWS5
-rw-r--r--doc/autoconf.texi14
-rw-r--r--lib/autoconf/general.m413
3 files changed, 30 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index de9d915..7003c44 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@ GNU Autoconf NEWS - User visible changes.
* Noteworthy changes in release ?.? (????-??-??) [?]
+** Configure scripts now support a '--runstatedir' option, which
+ defaults to '${localstatedir}/run', and which can be used to place
+ per-process temporary runtime files (such as pid files) into '/run'
+ instead of '/var/run'.
+
** The use of the long-deprecated name 'configure.in' for the autoconf
input file now elicits a warning in the 'obsolete' category.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 26e7b17..4932067 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -2826,7 +2826,18 @@ usually has a subdirectory per locale.
@defvar localstatedir
@ovindex localstatedir
-The directory for installing modifiable single-machine data.
+The directory for installing modifiable single-machine data. Content in
+this directory typically survives a reboot.
+@end defvar
+
+@defvar runstatedir
+@ovindex runstatedir
+The directory for installing temporary modifiable single-machine data.
+Content in this directory survives as long as the process is running
+(such as pid files), as contrasted with @file{/tmp} that may be
+periodically cleaned. Conversely, this directory is typically cleaned
+on a reboot. By default, this is a subdirectory of
+@code{localstatedir}.
@end defvar
@defvar mandir
@@ -22606,6 +22617,7 @@ test "$prefix" = NONE && prefix=/usr/share/local/gnu
test "$exec_prefix" = NONE && exec_prefix=/usr/local/gnu
test "$sharedstatedir" = '$@{prefix@}/com' && sharedstatedir=/var
test "$localstatedir" = '$@{prefix@}/var' && localstatedir=/var
+test "$runstatedir" = '$@{localstatedir@}/run' && runstatedir=/run
# Give Autoconf 2.x generated configure scripts a shared default
# cache file for feature test results, architecture-specific.
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 70b0168..1ce9922 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -586,6 +586,7 @@ AC_SUBST([datadir], ['${datarootdir}'])dnl
AC_SUBST([sysconfdir], ['${prefix}/etc'])dnl
AC_SUBST([sharedstatedir], ['${prefix}/com'])dnl
AC_SUBST([localstatedir], ['${prefix}/var'])dnl
+AC_SUBST([runstatedir], ['${localstatedir}/run'])dnl
AC_SUBST([includedir], ['${prefix}/include'])dnl
AC_SUBST([oldincludedir], ['/usr/include'])dnl
AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
@@ -812,6 +813,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -921,7 +931,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1058,6 +1068,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]