1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
# Installation instructions
## Introduction
ATF uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as its
build system. These are used only when compiling the application from the
source code package. If you want to install ATF from a binary package, you
do not need to read this document.
For the impatient:
$ ./configure
$ make
Gain root privileges
# make install
Drop root privileges
$ make installcheck
Or alternatively, install as a regular user into your home directory:
$ ./configure --prefix ~/local
$ make
$ make install
$ make installcheck
## Dependencies
To build and use ATF successfully you need:
- A standards-compliant C/C++ complier. For example, GNU GCC 2.95 will not
work.
- A POSIX shell interpreter.
- A make(1) utility.
If you are building ATF from the code on the repository, you will also need
to have GNU autoconf, automake and libtool installed.
## Regenerating the build system
If you are building ATF from code extracted from the repository, you must
first regenerate the files used by the build system. You will also need to
do this if you modify `configure.ac`, `Makefile.am` or any of the other build
system files. To do this, simply run:
$ autoreconf -i -s
For release builds, no extra steps are needed.
## General build procedure
To build and install the source package, you must follow these steps:
1. Configure the sources to adapt to your operating system. This is done
using the `configure` script located on the sources' top directory,
and it is usually invoked without arguments unless you want to change
the installation prefix. More details on this procedure are given on a
later section.
2. Build the sources to generate the binaries and scripts. Simply run
`make` on the sources' top directory after configuring them. No
problems should arise.
3. Install the program by running `make install`. You may need to become
root to issue this step.
4. Issue any manual installation steps that may be required. These are
described later in their own section.
5. Check that the installed programs work by running `make installcheck`.
You do not need to be root to do this, even though some checks will not
be run otherwise.
## Configuration flags
The most common, standard flags given to `configure` are:
- `--prefix=directory`:
**Possible values:** Any path
**Default:** `/usr/local`
Specifies where the program (binaries and all associated files) will
be installed.
- `--help`:
Shows information about all available flags and exits immediately,
without running any configuration tasks.
The following environment variables are specific to ATF's `configure`
script:
- `ATF_BUILD_CC`:
**Possible values:** empty, an absolute or relative path to a C compiler.
**Default:** the value of CC as detected by the configure script.
Specifies the C compiler that ATF will use at run time whenever the
build-time-specific checks are used.
- `ATF_BUILD_CFLAGS`:
**Possible values:** empty, a list of valid C compiler flags.
**Default:** the value of CFLAGS as detected by the configure script.
Specifies the C compiler flags that ATF will use at run time whenever the
build-time-specific checks are used.
- `ATF_BUILD_CPP`:
**Possible values:** empty, an absolute or relative path to a C/C++
preprocessor.
**Default:** the value of CPP as detected by `configure` script.
Specifies the C/C++ preprocessor that ATF will use at run time whenever
the build-time-specific checks are used.
- `ATF_BUILD_CPPFLAGS`:
**Possible values:** empty, a list of valid C/C++ preprocessor flags.
**Default:** the value of `CPPFLAGS` as detected by the configure script.
Specifies the C/C++ preprocessor flags that ATF will use at run time
whenever the build-time-specific checks are used.
- `ATF_BUILD_CXX`:
**Possible values:** empty, an absolute or relative path to a C++ compiler.
**Default:** the value of `CXX` as detected by the configure script.
Specifies the C++ compiler that ATF will use at run time whenever the
build-time-specific checks are used.
- `ATF_BUILD_CXXFLAGS`:
**Possible values:** empty, a list of valid C++ compiler flags.
**Default:** the value of `CXXFLAGS` as detected by `configure` script.
Specifies the C++ compiler flags that ATF will use at run time whenever
the build-time-specific checks are used.
- `ATF_SHELL`:
**Possible values:** empty, an absolute path to a POSIX shell interpreter.
**Default:** empty.
Specifies the POSIX shell interpreter that ATF will use at run time to
execute its scripts and the test programs written using the atf-sh
library. If empty, the configure script will try to find a suitable
interpreter for you.
The following flags are specific to ATF's `configure` script:
- `--enable-developer`:
**Possible values:** `yes`, `no`
**Default:** `yes` in HEAD builds; `no` in release builds.
Enables several features useful for development, such as the inclusion
of debugging symbols in all objects or the enforcement of compilation
warnings.
The compiler will be executed with an exhaustive collection of warning
detection features regardless of the value of this flag. However, such
warnings are only fatal when `--enable-developer` is `yes`.
|