source: branches/0.6-stable/INSTALL

Last change on this file was 731, checked in by Peter Johansson, 13 years ago

update copyright statements

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