build+docs: align minimum requirements with ndn-cxx/NFD
* Recommend boost >= 1.65.1 and gcc >= 7.4.0
* Require clang >= 4.0, or Xcode >= 9.0 on macOS
* Silence an ABI-related diagnostic message from gcc on armv7
* Update waf to version 2.0.21
* Make graphviz optional for building documentation
* Sync sphinx configuration
Change-Id: Ib271da841cd12e7595ae83d75bd0fc681f8c231f
diff --git a/docs/RELEASE-NOTES.rst b/docs/RELEASE-NOTES.rst
index 2a63dae..04e2f84 100644
--- a/docs/RELEASE-NOTES.rst
+++ b/docs/RELEASE-NOTES.rst
@@ -1,4 +1,4 @@
-NLSR Release Notes
-==================
+Release Notes
+=============
-.. include:: release-notes-latest.rst
\ No newline at end of file
+.. include:: release-notes-latest.rst
diff --git a/docs/_static/.gitignore b/docs/_static/.gitignore
deleted file mode 100644
index e69de29..0000000
--- a/docs/_static/.gitignore
+++ /dev/null
diff --git a/docs/conf.py b/docs/conf.py
index 050d44c..526b37f 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,10 +1,8 @@
-# -*- coding: utf-8 -*-
-#
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
-# http://www.sphinx-doc.org/en/master/config
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
@@ -20,13 +18,13 @@
# -- Project information -----------------------------------------------------
project = u'Named Data Link State Routing Protocol (NLSR)'
-copyright = u'Copyright © 2014-2020 Named Data Networking Project.'
+copyright = u'Copyright © 2014-2021 Named Data Networking Project.'
author = u'Named Data Networking Project'
-# The short X.Y version
+# The short X.Y version.
#version = ''
-# The full version, including alpha/beta/rc tags
+# The full version, including alpha/beta/rc tags.
#release = ''
# There are two options for replacing |today|: either, you set today to some
@@ -40,7 +38,7 @@
# If your documentation needs a minimal Sphinx version, state it here.
#
-needs_sphinx = '1.1'
+needs_sphinx = '1.3'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
@@ -87,6 +85,12 @@
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
+html_copy_source = False
+html_show_sourcelink = False
+
+# Disable syntax highlighting of code blocks by default.
+highlight_language = 'none'
+
# -- Options for LaTeX output ------------------------------------------------
diff --git a/docs/doxygen.conf.in b/docs/doxygen.conf.in
index 5f041ce..66161f9 100644
--- a/docs/doxygen.conf.in
+++ b/docs/doxygen.conf.in
@@ -220,12 +220,6 @@
ALIASES =
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST =
-
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
@@ -968,13 +962,6 @@
ALPHABETICAL_INDEX = YES
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX = 5
-
# In case all classes in a project start with a common prefix, all classes will
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
# can be used to specify a prefix (or a list of prefixes) that should be ignored
@@ -1989,12 +1976,6 @@
EXTERNAL_PAGES = YES
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH = /usr/bin/perl
-
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
@@ -2008,15 +1989,6 @@
CLASS_DIAGRAMS = YES
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
# If set to YES, the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
@@ -2030,7 +2002,7 @@
# set to NO
# The default value is: NO.
-HAVE_DOT = YES
+HAVE_DOT = @HAVE_DOT@
# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
# to run in parallel. When set to 0 doxygen will base this on the number of
@@ -2146,7 +2118,7 @@
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALL_GRAPH = YES
+CALL_GRAPH = NO
# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
# dependency graph for every global function or class method.
@@ -2157,7 +2129,7 @@
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALLER_GRAPH = YES
+CALLER_GRAPH = NO
# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
# hierarchy of all classes instead of a textual one.
diff --git a/docs/index.rst b/docs/index.rst
index aa2102d..6e2a4b4 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -3,7 +3,7 @@
NLSR is a routing protocol in NDN that populates NDN's Routing Information Base. NLSR will
continue to evolve alongside the Named Data Networking `protocol
-<https://named-data.net/doc/ndn-tlv/>`_.
+<https://named-data.net/doc/NDN-packet-spec/current/>`_.
NLSR is an open and free software package licensed under the GPL 3.0 license and free to
all Internet users and developers. For more information about the licensing details and
@@ -23,11 +23,11 @@
the `NLSR Paper`_.
NLSR Documentation
--------------------
+------------------
.. toctree::
:hidden:
- :maxdepth: 3
+ :maxdepth: 2
GETTING-STARTED
INSTALL
diff --git a/docs/manpages.rst b/docs/manpages.rst
index e2e1582..ac08dce 100644
--- a/docs/manpages.rst
+++ b/docs/manpages.rst
@@ -1,10 +1,8 @@
-.. _Manpages:
-
-Manpages
-========
+Man pages
+=========
.. toctree::
- manpages/nlsr
- manpages/nlsr.conf
- manpages/nlsrc
+ :glob:
:maxdepth: 1
+
+ manpages/*
diff --git a/docs/releases.rst b/docs/releases.rst
index 716d7c9..39b1403 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -2,24 +2,12 @@
+++++++++++++
.. toctree::
+ :glob:
:hidden:
:maxdepth: 1
+ :reversed:
- release-notes/release-notes-0.6.0
- release-notes/release-notes-0.5.2
- release-notes/release-notes-0.5.1
- release-notes/release-notes-0.5.0
- release-notes/release-notes-0.4.3
- release-notes/release-notes-0.4.2
- release-notes/release-notes-0.4.1
- release-notes/release-notes-0.4.0
- release-notes/release-notes-0.3.2
- release-notes/release-notes-0.3.1
- release-notes/release-notes-0.3.0
- release-notes/release-notes-0.2.2
- release-notes/release-notes-0.2.1
- release-notes/release-notes-0.2.0
- release-notes/release-notes-0.1.0
+ release-notes/*
* **NLSR version 0.6.0**
(:doc:`Release Notes <release-notes/release-notes-0.6.0>`, `Documentation <https://named-data.net/doc/NLSR/0.6.0/>`__)