Commit 7acc7cb6 authored by Marek Vavruša's avatar Marek Vavruša

doc: updated build and index hierarchy

parent 249fa602
......@@ -49,8 +49,8 @@ There are also *optional* packages that enable specific functionality in Knot DN
.. [#] Requires C99, ``__attribute__((cleanup))`` and ``-MMD -MP`` for dependency file generation. GCC, Clang and ICC are supported.
.. [#] You can use variables ``<dependency>_CFLAGS`` and ``<dependency>_LIBS`` to configure dependencies manually (i.e. ``libknot_CFLAGS`` and ``libknot_LIBS``).
Docker image
~~~~~~~~~~~~
Getting Docker image
--------------------
Docker images require only either Linux or a Linux VM (see boot2docker_ on OS X).
......@@ -65,8 +65,10 @@ You can hack on the container by changing the container entrypoint to shell like
$ docker run -it --entrypoint=/bin/bash cznic/knot-resolver
.. tip:: You can build the Docker image yourself with ``docker build -t knot-resolver scripts``.
Building from sources
~~~~~~~~~~~~~~~~~~~~~
---------------------
The Knot DNS Resolver depends on the development version of the Knot DNS library, and a reasonably recent version of `libuv`.
Several dependencies may not be in the packages yet, the script pulls and installs all dependencies in a chroot.
......@@ -93,18 +95,20 @@ Usually you only really need to rebuild `libknot`.
$ make check libknot_CFLAGS="-I/opt/include" libknot_LIBS="-L/opt/lib -lknot -lknot-int -ldnssec"
.. note:: If the dependencies lie outside of library search path, you need to add them somehow.
Try ``LD_LIBRARY_PATH`` on Linux/BSD, and ``DYLD_FALLBACK_LIBRARY_PATH`` on OS X. Otherwise you might
need to add the locations to the linker search path.
.. warning:: If the dependencies lie outside of library search path, you need to add them somehow.
Try ``LD_LIBRARY_PATH`` on Linux/BSD, and ``DYLD_FALLBACK_LIBRARY_PATH`` on OS X.
Otherwise you need to add the locations to linker search path.
When you have all the dependencies ready, you can build, test and install.
.. code-block:: bash
$ make
$ make PREFIX="/usr/local"
$ make check
$ make install
.. note:: Always build with ``PREFIX`` if you want to install, as it is hardcoded in the executable for module search path.
Alternatively you can build only specific parts of the project, i.e. ``library``.
.. code-block:: bash
......
#################
Knot DNS Resolver
=================
#################
The Knot DNS Resolver is a minimalistic caching resolver implementation.
The project provides both a resolver library and a small daemon.
Modular architecture of the library keeps the core tiny and efficient, and provides a state-machine like API for extensions.
.. toctree::
:maxdepth: 2
:maxdepth: 4
build
lib
daemon
config
modules
......
*************************
Knot DNS Resolver library
=========================
*************************
Requirements
------------
......
****************************
Knot DNS Resolver extensions
============================
****************************
The resolver :ref:`library <lib_index>` leverages the `processing API`_ from the libknot to separate packet processing code
into layers. In order to keep the core library sane and coverable, there are only two built-in layers:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment