summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2016-03-27 04:34:51 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2016-03-27 04:34:51 +0200
commite9ccb06be40f54c82320af67359445b9dd574b84 (patch)
tree3724228b3402c02cfb6b35ded1d4f2d025e72889
parent56551b42d30b78c2968daaea631bfdce1b6d66d0 (diff)
downloadfastd-e9ccb06be40f54c82320af67359445b9dd574b84.tar
fastd-e9ccb06be40f54c82320af67359445b9dd574b84.zip
doc: update build instructions
-rw-r--r--doc/source/devel/building.rst17
1 files changed, 8 insertions, 9 deletions
diff --git a/doc/source/devel/building.rst b/doc/source/devel/building.rst
index 90cac39..de63e05 100644
--- a/doc/source/devel/building.rst
+++ b/doc/source/devel/building.rst
@@ -4,16 +4,16 @@ Building fastd
Dependencies
~~~~~~~~~~~~
-* libuecc (developed together with fastd)
+* libuecc (>= v6; >= v7 recommended; developed together with fastd)
* libsodium or NaCl (for most crypto methods)
-* libcap (Linux only; can be disabled if you don't need POSIX capability support)
* bison (>= 2.5)
* pkg-config
Optional:
-* libssl (if WITH_CIPHER_AES128_CTR_OPENSSL is enabled; provides fast AES implementations)
+* libcap (if WITH_CAPABILITIES is enabled; Linux only; can be disabled if you don't need POSIX capability support)
* libjson-c (if WITH_STATUS_SOCKET is enabled)
+* libssl (if ENABLE_OPENSSL is enabled; provides fast AES implementations)
Building
~~~~~~~~
@@ -43,13 +43,12 @@ CMake variables
~~~~~~~~~~~~~~~
There are a few more options besides ``CMAKE_BUILD_TYPE`` that can be given to cmake with ``-DVARIABLE=VALUE``:
-* If you have a recent enough toolchain (GCC 4.8 or higher recommended), you can enable link-time optimization with ENABLE_LTO=ON to get slightly better optimized binaries
* By default, fastd will try to build against libsodium. If you want to use NaCl instead, set ENABLE_LIBSODIUM=OFF
-* Use ENABLE_OPENSSL=ON/OFF to enable or disable compiling against OpenSSL
-* If you have a toolchain without binutils plugin support (e.g. on Debian Wheezy), it is not enough to keep ENABLE_LTO disabled, in addition CMake must be told to use the standard `ar`, `ranlib` and `nm` implementation instead of the GCC-provided versions::
+* If you have a recent enough toolchain (GCC 4.8 or higher recommended), you can enable link-time optimization with ENABLE_LTO=ON to get slightly better optimized binaries
+* If you want to use LTO with a binutils version without linker plugin support, you need to use the GCC versions of ar, nm and ranlib by setting the following variables::
- CMAKE_AR=/usr/bin/ar
- CMAKE_RANLIB=/usr/bin/ranlib
- CMAKE_NM=/usr/bin/nm
+ CMAKE_AR=/usr/bin/gcc-ar
+ CMAKE_NM=/usr/bin/gcc-nm
+ CMAKE_RANLIB=/usr/bin/gcc-ranlib
* You can see all CMake options by calling ``ccmake .`` in the build directory after running cmake. Use the `t` key to toggle display between simple and advanced view and use `c` and then `g` to update the configuration after making changes in ccmake.