build: align minimum build dependencies with ndn-cxx
* 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
* Fix redundant-tags warning with gcc 10
* Add CentOS-specific instructions to docs/INSTALL.rst
* Add Xcode 11.5 to Travis CI
Refs: #5087, #5106
Change-Id: I70746729a132ecb07d4788934385bb403039dba9
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 4ee93c6..18b4e26 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -1,4 +1,4 @@
-Getting Started with NFD
+Getting started with NFD
========================
Supported platforms
@@ -7,19 +7,20 @@
NFD is built against a continuous integration system and has been tested on the
following platforms:
-- Ubuntu 16.04 (amd64)
- Ubuntu 18.04 (amd64, armhf, i386)
-- Ubuntu 19.10 (amd64)
+- Ubuntu 20.04 (amd64)
- macOS 10.13
- macOS 10.14
- macOS 10.15
+- CentOS 8
NFD is known to work on the following platforms, although they are not officially
supported:
-- Debian >= 9
+- Debian 10 (Buster)
+- Fedora >= 29
- Gentoo Linux
-- Raspbian >= 2017-08-16
+- Raspbian >= 2019-06-20 (Buster)
.. _Install NFD on Ubuntu Linux using the NDN PPA repository:
@@ -98,14 +99,19 @@
- On Ubuntu::
- sudo apt install libpcap-dev libsystemd-dev
+ sudo apt install libpcap-dev libsystemd-dev
+
+- On CentOS and Fedora::
+
+ sudo dnf config-manager --enable PowerTools # on CentOS only
+ sudo dnf install libpcap-devel systemd-devel
Build
~~~~~
The following commands can be used to build and install NFD from source::
- ./waf configure
+ ./waf configure # on CentOS, add --without-pch
./waf
sudo ./waf install
@@ -128,12 +134,12 @@
Debug symbols
~~~~~~~~~~~~~
-The default compiler flags enable debug symbols to be included in binaries. This should
-provide more meaningful debugging information if NFD or other tools happen to crash.
+The default compiler flags include debug symbols in binaries. This should provide
+more meaningful debugging information if NFD or other tools happen to crash.
-If this is undesirable, the default flags can be overridden to disable debug symbols.
-The following example shows how to completely disable debug symbols and configure NFD
-to be installed into ``/usr`` with configuration in the ``/etc`` directory.
+If this is not desired, the default flags can be overridden to disable debug symbols.
+The following example shows how to completely disable debug symbols and configure
+NFD to be installed into ``/usr`` with configuration in the ``/etc`` directory.
::
@@ -155,7 +161,7 @@
Building the documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~
-NFD tutorials and API documentation can be built using the following commands::
+Tutorials and API documentation can be built using the following commands::
# Full set of documentation (tutorials + API) in build/docs
./waf docs
@@ -166,13 +172,14 @@
# Only API docs in build/docs/doxygen
./waf doxygen
-If ``sphinx-build`` is detected during ``./waf configure``, manpages are automatically
-built and installed during the normal build process (i.e., during ``./waf`` and ``./waf
-install``). By default, manpages are installed into ``${PREFIX}/share/man`` (the default
-value for ``PREFIX`` is ``/usr/local``). This location can be changed during the ``./waf
-configure`` stage using the ``--prefix``, ``--datarootdir``, or ``--mandir`` options.
+If ``sphinx-build`` is detected during ``./waf configure``, manpages will automatically
+be built and installed during the normal build process (i.e., during ``./waf`` and
+``./waf install``). By default, manpages will be installed into ``${PREFIX}/share/man``
+(the default value for ``PREFIX`` is ``/usr/local``). This location can be changed
+during the ``./waf configure`` stage using the ``--prefix``, ``--datarootdir``, or
+``--mandir`` options.
-For more details, please refer to ``./waf --help``.
+For further details, please refer to ``./waf --help``.
Initial configuration
---------------------
@@ -261,14 +268,13 @@
Sample applications:
- + `Simple examples using the ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`_
+ + `Simple examples using the ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`__
+ `Introductory examples of NDN-CCL
- <https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`_
+ <https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`__
Real applications and libraries:
- + `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`_
- + `ndn-traffic-generator - Traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`_
- + `repo-ng - Next generation NDN repository <https://github.com/named-data/repo-ng>`_
- + `ChronoSync - Sync library for multi-user real-time applications <https://github.com/named-data/ChronoSync>`_
- + `PSync - Partial and full synchronization library <https://github.com/named-data/PSync>`_
+ + `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`__
+ + `ndn-traffic-generator - Traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`__
+ + `ChronoSync - Sync library for multi-user real-time applications <https://github.com/named-data/ChronoSync>`__
+ + `PSync - Partial and full synchronization library <https://github.com/named-data/PSync>`__
diff --git a/docs/index.rst b/docs/index.rst
index 0c5094e..2b6b093 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -40,24 +40,23 @@
**Additional documentation**
-* `NFD Developer's Guide <https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf>`_
+* `NFD Developer's Guide <https://named-data.net/publications/techreports/ndn-0021-10-nfd-developer-guide/>`__
A comprehensive guide to the design and implementation of NFD. The developer's guide also contains
suggestions and hints for anyone wanting to modify or extend NFD.
-* `NDN Software Contributor's Guide
- <https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md>`__
+* `NDN Software Contributor's Guide <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`__
(guide for newcomers to the NDN community of software)
-* `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`_
+* `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`__
- + `NFD Management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`_
- + `NFD Configuration file format <https://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`_
+ + `NFD Management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`__
+ + `NFD Configuration file format <https://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`__
The NFD Wiki contains detailed protocol specifications and
information for building on unsupported platforms.
-* `API Documentation (doxygen) <doxygen/annotated.html>`_
+* `API Documentation (doxygen) <doxygen/annotated.html>`__
* :doc:`RELEASE_NOTES`
@@ -66,7 +65,7 @@
License
-------
-NFD is an open and free software package licensed under GPL 3.0 license and is the
-centerpiece of our committement to making NDN's core technology open and free to all
-Internet users and developers. For more information about the licensing details and
-limitation, refer to `COPYING.md <https://github.com/named-data/NFD/blob/master/COPYING.md>`_.
+NFD is a free and open-source software package licensed under the GPL version 3 and
+is the centerpiece of our committement to making NDN's core technology free and open
+to all Internet users and developers. For more information about licensing, refer to
+`COPYING.md <https://github.com/named-data/NFD/blob/master/COPYING.md>`__.
diff --git a/docs/named_data_theme/layout.html b/docs/named_data_theme/layout.html
index 937f8e2..c9fb5c1 100644
--- a/docs/named_data_theme/layout.html
+++ b/docs/named_data_theme/layout.html
@@ -38,7 +38,7 @@
<h3>{{ _('Table Of Contents') }}</h3>
{{ toctree(includehidden=True) }}
- <h3>{{ _('Additional documenation') }}</h3>
+ <h3>{{ _('Additional documentation') }}</h3>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://redmine.named-data.net/projects/nfd/wiki">NFD Wiki</a></li>
<li class="toctree-l1"><a class="reference internal" href="doxygen/annotated.html">API documentation (doxygen)</a></li>