fix license quoting in files.yaml
[gnulib.git] / doc / install.texi
index 4f3301f..b58c9ed 100644 (file)
@@ -2,12 +2,11 @@
 @c the INSTALL file.
 
 @ifclear autoconf
-@firstparagraphindent insert
 
 @unnumbered Installation Instructions
 
-Copyright @copyright{} 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004,
-2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1994-1996, 1999-2002, 2004-2013 Free Software
+Foundation, Inc.
 
 Copying and distribution of this file, with or without modification, are
 permitted in any medium without royalty provided the copyright notice
@@ -19,7 +18,8 @@ warranty of any kind.
 @node Basic Installation
 @section Basic Installation
 
-Briefly, the shell commands @samp{./configure; make; make install}
+Briefly, the shell command
+@samp{./configure@tie{}&& make@tie{}&& make@tie{}install}
 should configure, build, and install this package.  The following
 more-detailed instructions are generic; see the @file{README} file for
 instructions specific to this package.
@@ -28,9 +28,9 @@ Some packages provide this @file{INSTALL} file but do not implement all
 of the features documented below.  The lack of an optional feature in a
 given package is not necessarily a bug.
 @end ifclear
-More recommendations for @acronym{GNU} packages can be found in
+More recommendations for GNU packages can be found in
 @ref{Makefile Conventions, , Makefile Conventions, standards,
-@acronym{GNU} Coding Standards}.
+GNU Coding Standards}.
 
 The @command{configure} shell script attempts to guess correct values
 for various system-dependent variables used during compilation.  It uses
@@ -84,7 +84,10 @@ and only the @samp{make install} phase executed with root privileges.
 
 @item
 Optionally, type @samp{make installcheck} to repeat any self-tests, but
-this time using the binaries in their final installed location.
+this time using the binaries in their final installed location.  This
+target does not install anything.  Running this target as a regular
+user, particularly if the prior @samp{make install} required root
+privileges, verifies that the installation completed correctly.
 
 @item
 You can remove the program binaries and object files from the source
@@ -100,7 +103,7 @@ distribution.
 Often, you can also type @samp{make uninstall} to remove the installed
 files again.  In practice, not all packages have tested that
 uninstallation works correctly, even though it is required by the
-@acronym{GNU} Coding Standards.
+GNU Coding Standards.
 
 @item
 Some packages, particularly those that use Automake, provide @samp{make
@@ -132,14 +135,14 @@ Here is an example:
 
 You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use @acronym{GNU} @command{make}.
+own directory.  To do this, you can use GNU @command{make}.
 @command{cd} to the directory where you want the object files and
 executables to go and run the @command{configure} script.
 @command{configure} automatically checks for the source code in the
 directory that @command{configure} is in and in @file{..}.  This is
 known as a @dfn{VPATH} build.
 
-With a non-@acronym{GNU} @command{make},
+With a non-GNU @command{make},
 it is safer to compile the package for one
 architecture at a time in the source code directory.  After you have
 installed the package for one architecture, use @samp{make distclean}
@@ -169,7 +172,7 @@ By default, @samp{make install} installs the package's commands under
 You can specify an
 installation prefix other than @file{/usr/local} by giving
 @command{configure} the option @option{--prefix=@var{prefix}}, where
-@var{prefix} must be an absolute path.
+@var{prefix} must be an absolute file name.
 
 You can specify separate installation prefixes for architecture-specific
 files and architecture-independent files.  If you pass the option
@@ -184,7 +187,8 @@ particular kinds of files.  Run @samp{configure --help} for a list of
 the directories you can set and what kinds of files go in them.  In
 general, the default for these options is expressed in terms of
 @samp{$@{prefix@}}, so that specifying just @option{--prefix} will
-affect all of the other directory specifications.
+affect all of the other directory specifications that were not
+explicitly provided.
 
 The most portable way to affect installation locations is to pass the
 correct locations to @command{configure}; however, many packages provide
@@ -194,29 +198,26 @@ without having to reconfigure or recompile.
 
 The first method involves providing an override variable for each
 affected directory.  For example, @samp{make install
-prefix=/path/to/alternate} will choose an alternate location, as well as
-influencing all other directory configuration variables that were
-expressed in terms of @samp{$@{prefix@}} (or, put another way, all
-directories specified during @command{configure} but not in terms of the
-common prefix must each be overridden at install time for the entire
-installation to be relocated).  The approach of makefile variable
-overrides for each directory variable is required by the @acronym{GNU}
+prefix=/alternate/directory} will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+@samp{$@{prefix@}}.  Any directories that were specified during
+@command{configure}, but not in terms of @samp{$@{prefix@}}, must each be
+overridden at install time for the entire
+installation to be relocated.  The approach of makefile variable
+overrides for each directory variable is required by the GNU
 Coding Standards, and ideally causes no recompilation.  However, some
 platforms have known limitations with the semantics of shared libraries
 that end up requiring recompilation when using this method, particularly
-noticeable in packages that use @acronym{GNU} Libtool.
+noticeable in packages that use GNU Libtool.
 
 The second method involves providing the @samp{DESTDIR} variable.  For
-example, @samp{make install DESTDIR=/path/to/alternate} will prepend
-@samp{/path/to/alternate} before all installation paths.  The approach
-of @samp{DESTDIR} overrides is not required by the @acronym{GNU} Coding
+example, @samp{make install DESTDIR=/alternate/directory} will prepend
+@samp{/alternate/directory} before all installation names.  The approach
+of @samp{DESTDIR} overrides is not required by the GNU Coding
 Standards, and does not work on platforms that have drive letters.  On
 the other hand, it does better at avoiding recompilation issues, and
 works well even when some directory options were not specified in terms
-of @samp{$@{prefix@}} at @command{configure} time.  For packages which
-support @samp{DESTDIR}, the variable should remain undefined during
-@command{configure} and @samp{make all}, and only be specified during
-@samp{make install}.
+of @samp{$@{prefix@}} at @command{configure} time.
 
 @node Optional Features
 @section Optional Features
@@ -261,6 +262,11 @@ use an ANSI C compiler:
 @noindent
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+HP-UX @command{make} updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as @command{configure} are involved.  Use GNU
+@command{make} instead.
+
 On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot
 parse its @code{<wchar.h>} header file.  The option @option{-nodtk} can be
 used as a workaround.  If GNU CC is not installed, it is therefore
@@ -359,11 +365,11 @@ overridden in the site shell script).
 
 @noindent
 Unfortunately, this technique does not work for @env{CONFIG_SHELL} due
-to an Autoconf bug.  Until the bug is fixed you can use this
-workaround:
+to an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
 @example
-CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 @end example
 
 @node configure Invocation