readme: organize deps into table

This commit is contained in:
redfish 2016-08-29 19:19:49 -04:00
parent e0d78858e4
commit fbfdf59a10

View file

@ -74,21 +74,34 @@ Packaging for your favorite distribution would be a welcome contribution!
### Dependencies ### Dependencies
* GCC `>=4.7.3` The following table summarizes the tools and libraries required to build. A
* CMake `>=3.0.0` few of the libraries are also included in this repository (marked as
* pkg-config "Vendored"). By default, the build uses the library installed on the system,
* libunbound `>=1.4.16` (note: Unbound is not a dependency, libunbound is) and ignores the vendored sources. However, if no library is found installed on
* libevent `>=2.0` the system, then the vendored source will be built and used. The vendored
* Boost `>=1.58` sources are also used for statically-linked builds because distribution
* BerkeleyDB `>=4.8` (note: on Ubuntu this means installing libdb-dev and libdb++-dev) packages often include only shared library binaries (`.so`) but not static
* libunwind (optional, for stack trace on exception) library archives (`.a`).
* miniupnpc (optional, for NAT punching)
* ldns `>=1.6.17` (optional, for statically-linked binaries) | Dep | Min. Version | Vendored | Debian/Ubuntu Pkg | Arch Pkg | Optional | Purpose |
* expat `>=1.1` (optional, for statically-linked binaries) | -------------- | ------------- | ---------| ------------------ | -------------- | -------- | -------------- |
* bison or yacc (optional, for statically-linked binaries) | GCC | 4.7.3 | NO | `build-essential` | `base-devel` | NO | |
* GTest `>=1.5` (optional, for running test suite) (NOTE: `libgtest-dev` package in Ubuntu ships without binaries and requires a manual build; `gtest` on Arch includes binaries) | CMake | 3.0.0 | NO | `cmake` | `cmake` | NO | |
* Doxygen (optional, for generating documentation) | pkg-config | any | NO | `pkg-config` | `base-devel` | NO | |
* graphviz (optional, for generating documentation) | Boost | 1.58 | NO | `libboost-all-dev` | `boost` | NO | |
| BerkeleyDB | 4.8 | NO | `libdb{,++}-dev` | `db` | NO | |
| libevent | 2.0 | NO | `libevent-dev` | `libevent` | NO | |
| libunbound | 1.4.16 | YES | `libunbound-dev` | `unbound` | NO | |
| libminiupnpc | 2.0 | YES | `libminiupnpc-dev` | `miniupnpc` | YES | NAT punching |
| libunwind | any | NO | `libunwind-dev` | `libunwind` | YES | stack traces |
| ldns | 1.6.17 | NO | `libldns-dev` | `ldns` | YES | ? |
| expat | 1.1 | NO | `libexpat1-dev` | `expat` | YES | ? |
| GTest | 1.5 | YES | `libgtest-dev`^ | `gtest` | YES | test suite |
| Doxygen | any | NO | `doxygen` | `doxygen` | YES | documentation |
| Graphviz | any | NO | `graphviz` | `graphviz` | YES | documentation |
[^] On Debian/Ubuntu `libgtest-dev` only includes sources and headers. You must
build the library binary manually.
### Build instructions ### Build instructions