source: trunk/INSTALL @ 171

Last change on this file since 171 was 171, checked in by Jari Häkkinen, 17 years ago

Fixes #72. Introduced libtool to create a static svndigest. Libtool
creates partially static libraries, i.e., links all functions from
static libraries available and performs shared linkage to the rest.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 11.0 KB
Line 
1$Id: INSTALL 171 2006-08-26 21:47:43Z jari $
2
3======================================================================
4Copyright (C) 2006 Jari Häkkinen
5
6Files are copyright by their respective authors. The contributions to
7files where copyright is not explicitly stated can be traced with the
8source code revision system.
9
10This file is part of svndigest, http://lev.thep.lu.se/trac/svndigest
11
12svndigest is free software; you can redistribute it and/or modify it
13under the terms of the GNU General Public License as published by the
14Free Software Foundation; either version 2 of the License, or (at your
15option) any later version.
16
17svndigest is distributed in the hope that it will be useful, but
18WITHOUT ANY WARRANTY; without even the implied warranty of
19MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20General Public License for more details.
21
22You should have received a copy of the GNU General Public License
23along with this program; if not, write to the Free Software
24Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
25USA.
26======================================================================
27
28
29
30Below you'll find the generic FSF install instructions. To compile
31and install svndigest you can follow the usual autoconf path:
32
33# ./configure
34# make
35# make install
36
37With an optional
38
39# make check
40
41The './configure' script accepts a few options of interest for
42svndigest. You can provide './configure' with APR and subversion API
43location information with --with-apr=DIR and --with-svn=DIR,
44respectively. --enable-debug turns on debug options and code, which
45may be useful for developers. --enable-staticbin will create a static
46svndigest binary. (Actually as static as the underlying program
47libraries allows it to be, i.e., some libraries might not have been
48created/installed in static versions.)
49
50If you grabbed the source from the subversion repository you need to
51run './bootstrap' to setup autoconf files.
52
53
54FSF generic install documentation:
55
56Installation Instructions
57*************************
58
59Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free
60Software Foundation, Inc.
61
62This file is free documentation; the Free Software Foundation gives
63unlimited permission to copy, distribute and modify it.
64
65Basic Installation
66==================
67
68These are generic installation instructions.
69
70   The `configure' shell script attempts to guess correct values for
71various system-dependent variables used during compilation.  It uses
72those values to create a `Makefile' in each directory of the package.
73It may also create one or more `.h' files containing system-dependent
74definitions.  Finally, it creates a shell script `config.status' that
75you can run in the future to recreate the current configuration, and a
76file `config.log' containing compiler output (useful mainly for
77debugging `configure').
78
79   It can also use an optional file (typically called `config.cache'
80and enabled with `--cache-file=config.cache' or simply `-C') that saves
81the results of its tests to speed up reconfiguring.  (Caching is
82disabled by default to prevent problems with accidental use of stale
83cache files.)
84
85   If you need to do unusual things to compile the package, please try
86to figure out how `configure' could check whether to do them, and mail
87diffs or instructions to the address given in the `README' so they can
88be considered for the next release.  If you are using the cache, and at
89some point `config.cache' contains results you don't want to keep, you
90may remove or edit it.
91
92   The file `configure.ac' (or `configure.in') is used to create
93`configure' by a program called `autoconf'.  You only need
94`configure.ac' if you want to change it or regenerate `configure' using
95a newer version of `autoconf'.
96
97The simplest way to compile this package is:
98
99  1. `cd' to the directory containing the package's source code and type
100     `./configure' to configure the package for your system.  If you're
101     using `csh' on an old version of System V, you might need to type
102     `sh ./configure' instead to prevent `csh' from trying to execute
103     `configure' itself.
104
105     Running `configure' takes awhile.  While running, it prints some
106     messages telling which features it is checking for.
107
108  2. Type `make' to compile the package.
109
110  3. Optionally, type `make check' to run any self-tests that come with
111     the package.
112
113  4. Type `make install' to install the programs and any data files and
114     documentation.
115
116  5. You can remove the program binaries and object files from the
117     source code directory by typing `make clean'.  To also remove the
118     files that `configure' created (so you can compile the package for
119     a different kind of computer), type `make distclean'.  There is
120     also a `make maintainer-clean' target, but that is intended mainly
121     for the package's developers.  If you use it, you may have to get
122     all sorts of other programs in order to regenerate files that came
123     with the distribution.
124
125Compilers and Options
126=====================
127
128Some systems require unusual options for compilation or linking that the
129`configure' script does not know about.  Run `./configure --help' for
130details on some of the pertinent environment variables.
131
132   You can give `configure' initial values for configuration parameters
133by setting variables in the command line or in the environment.  Here
134is an example:
135
136     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
137
138   *Note Defining Variables::, for more details.
139
140Compiling For Multiple Architectures
141====================================
142
143You can compile the package for more than one kind of computer at the
144same time, by placing the object files for each architecture in their
145own directory.  To do this, you must use a version of `make' that
146supports the `VPATH' variable, such as GNU `make'.  `cd' to the
147directory where you want the object files and executables to go and run
148the `configure' script.  `configure' automatically checks for the
149source code in the directory that `configure' is in and in `..'.
150
151   If you have to use a `make' that does not support the `VPATH'
152variable, you have to compile the package for one architecture at a
153time in the source code directory.  After you have installed the
154package for one architecture, use `make distclean' before reconfiguring
155for another architecture.
156
157Installation Names
158==================
159
160By default, `make install' will install the package's files in
161`/usr/local/bin', `/usr/local/man', etc.  You can specify an
162installation prefix other than `/usr/local' by giving `configure' the
163option `--prefix=PREFIX'.
164
165   You can specify separate installation prefixes for
166architecture-specific files and architecture-independent files.  If you
167give `configure' the option `--exec-prefix=PREFIX', the package will
168use PREFIX as the prefix for installing programs and libraries.
169Documentation and other data files will still use the regular prefix.
170
171   In addition, if you use an unusual directory layout you can give
172options like `--bindir=DIR' to specify different values for particular
173kinds of files.  Run `configure --help' for a list of the directories
174you can set and what kinds of files go in them.
175
176   If the package supports it, you can cause programs to be installed
177with an extra prefix or suffix on their names by giving `configure' the
178option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
179
180Optional Features
181=================
182
183Some packages pay attention to `--enable-FEATURE' options to
184`configure', where FEATURE indicates an optional part of the package.
185They may also pay attention to `--with-PACKAGE' options, where PACKAGE
186is something like `gnu-as' or `x' (for the X Window System).  The
187`README' should mention any `--enable-' and `--with-' options that the
188package recognizes.
189
190   For packages that use the X Window System, `configure' can usually
191find the X include and library files automatically, but if it doesn't,
192you can use the `configure' options `--x-includes=DIR' and
193`--x-libraries=DIR' to specify their locations.
194
195Specifying the System Type
196==========================
197
198There may be some features `configure' cannot figure out automatically,
199but needs to determine by the type of machine the package will run on.
200Usually, assuming the package is built to be run on the _same_
201architectures, `configure' can figure that out, but if it prints a
202message saying it cannot guess the machine type, give it the
203`--build=TYPE' option.  TYPE can either be a short name for the system
204type, such as `sun4', or a canonical name which has the form:
205
206     CPU-COMPANY-SYSTEM
207
208where SYSTEM can have one of these forms:
209
210     OS KERNEL-OS
211
212   See the file `config.sub' for the possible values of each field.  If
213`config.sub' isn't included in this package, then this package doesn't
214need to know the machine type.
215
216   If you are _building_ compiler tools for cross-compiling, you should
217use the `--target=TYPE' option to select the type of system they will
218produce code for.
219
220   If you want to _use_ a cross compiler, that generates code for a
221platform different from the build platform, you should specify the
222"host" platform (i.e., that on which the generated programs will
223eventually be run) with `--host=TYPE'.
224
225Sharing Defaults
226================
227
228If you want to set default values for `configure' scripts to share, you
229can create a site shell script called `config.site' that gives default
230values for variables like `CC', `cache_file', and `prefix'.
231`configure' looks for `PREFIX/share/config.site' if it exists, then
232`PREFIX/etc/config.site' if it exists.  Or, you can set the
233`CONFIG_SITE' environment variable to the location of the site script.
234A warning: not all `configure' scripts look for a site script.
235
236Defining Variables
237==================
238
239Variables not defined in a site shell script can be set in the
240environment passed to `configure'.  However, some packages may run
241configure again during the build, and the customized values of these
242variables may be lost.  In order to avoid this problem, you should set
243them in the `configure' command line, using `VAR=value'.  For example:
244
245     ./configure CC=/usr/local2/bin/gcc
246
247will cause the specified gcc to be used as the C compiler (unless it is
248overridden in the site shell script).
249
250`configure' Invocation
251======================
252
253`configure' recognizes the following options to control how it operates.
254
255`--help'
256`-h'
257     Print a summary of the options to `configure', and exit.
258
259`--version'
260`-V'
261     Print the version of Autoconf used to generate the `configure'
262     script, and exit.
263
264`--cache-file=FILE'
265     Enable the cache: use and save the results of the tests in FILE,
266     traditionally `config.cache'.  FILE defaults to `/dev/null' to
267     disable caching.
268
269`--config-cache'
270`-C'
271     Alias for `--cache-file=config.cache'.
272
273`--quiet'
274`--silent'
275`-q'
276     Do not print messages saying which checks are being made.  To
277     suppress all normal output, redirect it to `/dev/null' (any error
278     messages will still be shown).
279
280`--srcdir=DIR'
281     Look for the package's source code in directory DIR.  Usually
282     `configure' can determine that directory automatically.
283
284`configure' also accepts some other, not widely useful, options.  Run
285`configure --help' for more details.
286
Note: See TracBrowser for help on using the repository browser.