Grafted root commit from savannah git master:
[gnu-stow.git] / INSTALL
blob21358bacb72799460fdcac75174d69142124c999
1 Basic Installation
2 ==================
4 Stow is a Perl script.  You must have Perl 5.005 or later in order for 
5 it to run.
7 The steps in building stow are:
9 1.  `cd' to the directory containing the source code (and this file)
10     and type `./configure' to configure stow for your system.  This
11     step will attempt to locate your copy of perl and set its location
12     `Makefile.in'.
14 2.  Type `make' to create `stow' and `'stow.info'. If perl could not
15     be found by `./configure', you'll have to edit line 1 of `stow' 
16     from `#!false' to `#!/path/to/perl' (where /path/to/perl is wherever
17     perl will be found when stow runs).
19 3.  Type `make install' to install `stow' and `stow.info'.
21 4.  You can remove the generated files from the source code directory
22     by typing `make clean'.  To also remove the files that `configure'
23     created (so you can compile the package for a different computer),
24     type `make distclean'.  There is also a `make maintainer-clean'
25     target, but that is intended mainly for stow's developers.  If you
26     use it, you may have to get all sorts of other programs in order
27     to regenerate files that came with the distribution.
29 Installation Names
30 ==================
32 By default, `make install' will install the package's files in
33 `/usr/local/bin' and `/usr/local/info'.  You can specify an
34 installation prefix other than `/usr/local' by giving `configure' the
35 option `--prefix=PATH'.
37 If the package supports it, you can cause programs to be installed
38 with an extra prefix or suffix on their names by giving `configure'
39 the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
41 Since `stow' is concerned with separating a package's installation
42 tree from its run-time tree, you might want to install `stow' into a
43 directory such as `/usr/local/stow/stow' but have it run out of
44 `/usr/local'.  Do this by giving the run-time prefix (e.g.,
45 /usr/local) to configure as described above; then run `make'; then run
46 `make install prefix=/usr/local/stow/stow'.  For more information on
47 this technique, see the Stow manual.
49 The configuration system
50 ========================
52 The `configure' shell script attempts to guess correct values for
53 various system-dependent variables used during compilation.  It uses
54 those values to create a `Makefile' and to create the `stow' script
55 itself, using Makefile.in and stow.in as templates.  Finally, it
56 creates a shell script `config.status' that you can run in the future
57 to recreate the current configuration, a file `config.cache' that
58 saves the results of its tests to speed up reconfiguring, and a file
59 `config.log' containing other output.
61 The file `configure.ac' is used to create `configure' by a program
62 called `autoconf'.  You only need `configure.ac' if you want to change
63 it or regenerate `configure' using a newer version of `autoconf'.
65 The file `Makefile.am' is used to create `Makefile.in' by a program
66 called `automake'.  You only need `Makefile.am' if you want to change
67 it or regenerate `Makefile.in' using a newer version of `automake'.
69 Sharing Defaults
70 ================
72 If you want to set default values for `configure' scripts to share,
73 you can create a site shell script called `config.site' that gives
74 default values for variables like `CC', `cache_file', and `prefix'.
75 `configure' looks for `PREFIX/share/config.site' if it exists, then
76 `PREFIX/etc/config.site' if it exists.  Or, you can set the
77 `CONFIG_SITE' environment variable to the location of the site script.
78 A warning: not all `configure' scripts look for a site script.
80 Operation Controls
81 ==================
83    `configure' recognizes the following options to control how it
84 operates.
86 `--cache-file=FILE'
87      Use and save the results of the tests in FILE instead of
88      `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
89      debugging `configure'.
91 `--help'
92      Print a summary of the options to `configure', and exit.
94 `--quiet'
95 `--silent'
96 `-q'
97      Do not print messages saying which checks are being made.
99 `--srcdir=DIR'
100      Look for the package's source code in directory DIR.  Usually
101      `configure' can determine that directory automatically.
103 `--version'
104      Print the version of Autoconf used to generate the `configure'
105      script, and exit.
107 `configure' also accepts some other, not widely useful, options.