Edit the build configuration to your needs in `Makefile.conf`, or create a `local.conf` that sets any of the make variables documented in `Makefile.conf`. All the default values for the build configuration variables on each platform are documented in `Makefile.conf`.
Edit the build configuration to your needs in `Makefile.conf`, or create a `local.conf`in your source directory (the same containing `Makefile.conf`) that sets any of the make variables documented in `Makefile.conf`. All the default values for the build configuration variables on each platform are documented in `Makefile.conf`.
If a dependency is not found in your system's default include or library paths, you will have to specify the according paths in a make variable. Typically, this has to be done at least for YML2, libetpan and asn1c.
For a more detailed explanation of the mechanics of these build configuration files, and overriding defaults, see the comments in `Makefile.conf`.
Below is a sample `./local.conf` file, for orientation.
The following `./local.conf` example should work in the configuration described here.
This library is written in Python and does not require any actual build.
We'll deal more with this when preparing to compile the test suite.
@ -133,13 +154,43 @@ are:
* `GTEST_INC_DIR`: This is where the include files for googletest are located
(defaults to `$(GTEST_SRC_DIR)/include`)
* `GTEST_PL`: This is the full path to the *python file* for `gtest_parallel`
* `GTEST_PL`: This is the full path to the *python file* for `gtest_parallel.py`
(default presumes you cloned it under `src` in your home directory, i.e. it is
`$(HOME)/src/gtest-parallel/gtest_parallel.py`)
The sample `local.conf` included in `../doc/build-debian.md` contains correct
definitions for these variables, assuming the user installed from sources under
`~/pep-src` as described here.
### Building
Presuming the above works, then from the top test directory, simply run make.
Presuming the above works and you installed every library, then from the top test
directory, simply run ``make``.
Libraries which have not been installed into the `lib` subdirectory of some
standard prefix will not be found automatically. But this problem is easy to
circumbent by setting environment libraries (on system using the GNU
linked-loader `LD_LIBRARY_PATH` for dynamic libraries, `LIBRARY_PATH` for static
libraries).
For example, this should be sufficient to run the test suite under a debian
system following the instruction at `../doc/build-debian.md`:
```
cd ~/pep-src/pep-engine
LIBRARY_PATH=$LIBRARY_PATH:$HOME/pep-src/googletest/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/pep-src/pep-engine/src:$HOME/pep-src/sequoia/target/release:$HOME/pep-src/libetpan/build/lib make test
```
Such variable definitions may be prepended to the command lines below for running
individual tests or the entire test suite.
In case of test failures remember to build the database, on which the test suite
depends, and to copy it into the system directory:
```
make dbinstall
```
The database does not need to be rebuilt and reinstalled for every test suite
run: running the `dbinstall` target once suffices.