# [dpdk-dev,1/2] doc: Add 'make pdf' target to convert guide docs to pdf.

Message ID 1421255657-19521-2-git-send-email-john.mcnamara@intel.com (mailing list archive) Superseded, archived show

## Commit Message

Mcnamara, John Jan. 14, 2015, 5:14 p.m. UTC
This patch adds a high level 'make pdf' target to generate
pdf documents from the sphinx/rst user guides.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
---
doc/api/sphinx-latex-update.pl              |   71 ++++++++++++++++++++++
doc/guides/freebsd_gsg/conf.py              |   86 +++++++++++++++++++++++++++
doc/guides/linux_gsg/conf.py                |   86 +++++++++++++++++++++++++++
doc/guides/prog_guide/conf.py               |   86 +++++++++++++++++++++++++++
doc/guides/rel_notes/conf.py                |   85 ++++++++++++++++++++++++++
doc/guides/rel_notes/supported_features.rst |    2 +-
doc/guides/sample_app_ug/conf.py            |   86 +++++++++++++++++++++++++++
doc/guides/sample_app_ug/test_pipeline.rst  |    6 +-
doc/guides/testpmd_app_ug/conf.py           |   85 ++++++++++++++++++++++++++
mk/rte.sdkdoc.mk                            |   28 +++++++--
mk/rte.sdkroot.mk                           |    3 +-
11 files changed, 614 insertions(+), 10 deletions(-)
create mode 100644 doc/api/sphinx-latex-update.pl
create mode 100644 doc/guides/freebsd_gsg/conf.py
create mode 100644 doc/guides/linux_gsg/conf.py
create mode 100644 doc/guides/prog_guide/conf.py
create mode 100644 doc/guides/rel_notes/conf.py
create mode 100644 doc/guides/sample_app_ug/conf.py
create mode 100644 doc/guides/testpmd_app_ug/conf.py


## Patch

diff --git a/doc/api/sphinx-latex-update.pl b/doc/api/sphinx-latex-update.pl
new file mode 100644
index 0000000..d41c695
--- /dev/null
+++ b/doc/api/sphinx-latex-update.pl
@@ -0,0 +1,71 @@
+#!/usr/bin/perl -i
+
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# Utility program to post-process the Sphinx LaTex docs prior to
+# generating the latexpdf output.
+
+use strict;
+use warnings;
+
+
+while (<>) {
+
+    # Convert escaped single quotes back to real single quote so that
+    # the Latex upquote package has an effect.
+    s/\\PYGZsq{}/'/g;
+
+    # Remove italic form the Pygments formatting.
+    s/\\let\\PYG\@it=\\textit//g;
+
+    # Change the comments color in the Pygments formatting.
+    s/0\.25,0\.50,0\.56/0.40,0.69,0.33/;
+
+    # Use PNG instead of SVG (which isn't well supported by LaTeX).
+    if ( /\\includegraphics/ ) {
+        s/\.svg/.png/;
+    }
+
+    # Center the images.
+    if ( /^\\includegraphics/ ) {
+        print "\\begin{center}\n";
+        print;
+        print "\\end{center}\n";
+
+        next;
+    }
+
+    print;
+}
+
+
+__END__
diff --git a/doc/guides/freebsd_gsg/conf.py b/doc/guides/freebsd_gsg/conf.py
new file mode 100644
index 0000000..65a7ede
--- /dev/null
+++ b/doc/guides/freebsd_gsg/conf.py
@@ -0,0 +1,86 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK FreeBSD Getting Started Guide'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK FreeBSD Getting Started Guide Documentation'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKFreeBSDGettingStartedGuide'
+
+latex_preamble = """
+\\usepackage{upquote}
+\usepackage[utf8]{inputenc}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_freebsd_getting_started_guide.tex',
+   'The DPDK FreeBSD Getting Started Guide',
+   'Intel',
+   'manual')
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK FreeBSD Getting Started Guide',
+   'DPDK FreeBSD Getting Started Guide Documentation',
+   'Intel',
+   'DPDK FreeBSD Getting Started Guide',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/doc/guides/linux_gsg/conf.py b/doc/guides/linux_gsg/conf.py
new file mode 100644
index 0000000..355b8bb
--- /dev/null
+++ b/doc/guides/linux_gsg/conf.py
@@ -0,0 +1,86 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK Linux Getting Started Guide'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK Linux Getting Started Guide Documentation'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKLinuxGettingStartedGuide'
+
+latex_preamble = """
+\\usepackage{upquote}
+\usepackage[utf8]{inputenc}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_linux_getting_started_guide.tex',
+   'The DPDK Linux Getting Started Guide',
+   'Intel',
+   'manual')
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK Linux Getting Started Guide',
+   'DPDK Linux Getting Started Guide Documentation',
+   'Intel',
+   'DPDK Linux Getting Started Guide',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/doc/guides/prog_guide/conf.py b/doc/guides/prog_guide/conf.py
new file mode 100644
index 0000000..d884dac
--- /dev/null
+++ b/doc/guides/prog_guide/conf.py
@@ -0,0 +1,86 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK Programmers Guide'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK Programmers Guide Documentation'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKProgrammersGuide'
+
+latex_preamble = """
+\\usepackage{upquote}
+\usepackage[utf8]{inputenc}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_programmers_guide.tex',
+   "The DPDK Programmer's Guide",
+   'Intel',
+   'manual')
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK Programmers Guide',
+   'DPDK Programmers Guide Documentation',
+   'Intel',
+   'DPDK Programmers Guide',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/doc/guides/rel_notes/conf.py b/doc/guides/rel_notes/conf.py
new file mode 100644
index 0000000..6f4cc70
--- /dev/null
+++ b/doc/guides/rel_notes/conf.py
@@ -0,0 +1,85 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK Release Notes'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK Release Notes'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKReleaseNotes'
+
+latex_preamble = """
+\\usepackage{upquote}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_release_notes.tex',
+   'The DPDK Rlease Notes',
+   'Intel',
+   'manual')
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK Release Notes',
+   'DPDK Release Notes',
+   'Intel',
+   'DPDK Release Notes',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/doc/guides/rel_notes/supported_features.rst b/doc/guides/rel_notes/supported_features.rst
index 7936e93..d87fcaa 100644
--- a/doc/guides/rel_notes/supported_features.rst
+++ b/doc/guides/rel_notes/supported_features.rst
@@ -51,7 +51,7 @@  Supported Features

*   Intel® X710 40 Gigabit Ethernet Controller

-*   Support NIC filters in addition to flow director for Intel� 1GbE and 10GbE Controllers
+*   Support NIC filters in addition to flow director for Intel® 1GbE and 10GbE Controllers

*   Virtualization (KVM)

diff --git a/doc/guides/sample_app_ug/conf.py b/doc/guides/sample_app_ug/conf.py
new file mode 100644
index 0000000..e7d7d13
--- /dev/null
+++ b/doc/guides/sample_app_ug/conf.py
@@ -0,0 +1,86 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK Sample Applications Guide'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK Sample Applications Guide Documentation'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKSample ApplicationsGuide'
+
+latex_preamble = """
+\\usepackage{upquote}
+\usepackage[utf8]{inputenc}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_sample_applications_guide.tex',
+   'The DPDK Sample Applications Guide',
+   'Intel',
+   'manual')
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK Sample Applications Guide',
+   'DPDK Sample Applications Guide Documentation',
+   'Intel',
+   'DPDK Sample Applications Guide',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index 867a7a7..07eb3bf 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -137,7 +137,7 @@  For hash tables, the following parameters can be selected:
|       |                        | entries.                                                 | hash table with the following key format:             |
|       |                        |                                                          |                                                       |
|       |                        |                                                          | [4-byte index, 4 bytes of 0]                          |
-+-------+------------------------+----------------------------------------------------------+                                                       |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 4     | hash-[spec]-8-ext      |  Extendible bucket hash table with 8-byte key size       | The action configured for all table entries is        |
|       |                        |  and 16 million entries.                                 | "Sendto output port", with the output port index      |
|       |                        |                                                          | uniformly distributed for the range of output ports.  |
@@ -156,7 +156,7 @@  For hash tables, the following parameters can be selected:
|       |                        | entries.                                                 | table with the following key format:                  |
|       |                        |                                                          |                                                       |
|       |                        |                                                          | [4-byte index, 12 bytes of 0]                         |
-+-------+------------------------+----------------------------------------------------------+                                                       |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 6     | hash-[spec]-ash-16-ext | Extendible bucket hash table with 16-byte key size       | The action configured for all table entries is        |
|       |                        | and 16 million entries.                                  | "Send to output port", with the output port index     |
|       |                        |                                                          | uniformly distributed for the range of output ports.  |
@@ -175,7 +175,7 @@  For hash tables, the following parameters can be selected:
|       |                        | entries.                                                 |  table with the following key format:                 |
|       |                        |                                                          |                                                       |
|       |                        |                                                          | [4-byte index, 28 bytes of 0].                        |
-+-------+------------------------+----------------------------------------------------------+                                                       |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 8     | hash-[spec]-32-ext     | Extendible bucket hash table with 32-byte key size       | The action configured for all table entries is        |
|       |                        | and 16 million entries.                                  | "Send to output port", with the output port index     |
|       |                        |                                                          | uniformly distributed for the range of output ports.  |
diff --git a/doc/guides/testpmd_app_ug/conf.py b/doc/guides/testpmd_app_ug/conf.py
new file mode 100644
index 0000000..194571c
--- /dev/null
+++ b/doc/guides/testpmd_app_ug/conf.py
@@ -0,0 +1,85 @@
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#   * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#   * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#   * Neither the name of Intel Corporation nor the names of its
+#   contributors may be used to endorse or promote products derived
+#   from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'DPDK Testpmd Application'
+
+version = '2.0.0'
+release = version
+pygments_style = 'sphinx'
+
+html_theme = 'default'
+html_title = 'DPDK Testpmd Application Documentation'
+html_show_sphinx = True
+htmlhelp_basename = 'DPDKTestpmdApplication'
+
+latex_preamble = """
+\\usepackage{upquote}
+\\usepackage{DejaVuSansMono}
+\\usepackage[T1]{fontenc}
+\\usepackage{helvet}
+\\renewcommand{\\familydefault}{\\sfdefault}
+
+\\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+"""
+
+latex_elements = {
+    'papersize': 'a4paper',
+    'pointsize': '11pt',
+    'preamble': latex_preamble,
+}
+
+latex_documents = [
+  ('index',
+   'dpdk_testpmd_guide.tex',
+   'The DPDK Testpmd Application Guide',
+   'Intel',
+   'manual'),
+]
+
+latex_logo = 'img/Intel-logo.png'
+
+texinfo_documents = [
+  ('index',
+   'DPDK Testpmd Application',
+   'DPDK Testpmd Application Documentation',
+   'Intel',
+   'DPDK Testpmd Application',
+   'One line description of project.',
+   'Miscellaneous'),
+]
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
index dabc0d6..1c4dc67 100644
--- a/mk/rte.sdkdoc.mk
+++ b/mk/rte.sdkdoc.mk
@@ -38,10 +38,12 @@  endif

RTE_SPHINX_BUILD = sphinx-build
ifndef V
-RTE_SPHINX_VERBOSE := -q
+RTE_SPHINX_VERBOSE   := -q
+RTE_PDFLATEX_VERBOSE := > /dev/null 2>&1
endif
ifeq '$V' '0' -RTE_SPHINX_VERBOSE := -q +RTE_SPHINX_VERBOSE := -q +RTE_PDFLATEX_VERBOSE := > /dev/null 2>&1 endif .PHONY: help @@ -49,11 +51,11 @@ help: @cat$(RTE_SDK)/doc/build-sdk-quick.txt
@$(MAKE) -rR showconfigs | sed 's,^,\t\t\t\t,' -.PHONY: all +.PHONY: all pdf all: api-html guides-html .PHONY: clean -clean: api-html-clean guides-html-clean +clean: api-html-clean guides-html-clean guides-latex-clean .PHONY: api-html api-html: api-html-clean @@ -82,4 +84,20 @@ guides-%-clean: guides-%: @echo 'sphinx for guides...'$(Q)$(RTE_SPHINX_BUILD) -b$* $(RTE_SPHINX_VERBOSE) \ - -c$(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides$(RTE_OUTPUT)/doc/$*/guides + -c$(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides \ +$(RTE_OUTPUT)/doc/$*/guides + +pdf: pdf-rel_notes pdf-linux_gsg pdf-freebsd_gsg pdf-prog_guide \ + pdf-sample_app_ug pdf-testpmd_app_ug + +pdf-%: + @echo 'creating'$* 'pdf ...'
+	$(Q)$(RTE_SPHINX_BUILD) -b latex $(RTE_SPHINX_VERBOSE) \ + -c$(RTE_SDK)/doc/guides/$*$(RTE_SDK)/doc/guides/$* \ +$(RTE_OUTPUT)/doc/latex/guides/$* +$(Q)cp $(RTE_SDK)/doc/guides/$*/img/*.png \
+	    $(RTE_OUTPUT)/doc/latex/guides/$*
+	$(Q)perl$(RTE_SDK)/doc/api/sphinx-latex-update.pl \
+	    $(RTE_OUTPUT)/doc/latex/guides/$*/*.tex
+	$(Q)$(MAKE) -C $(RTE_OUTPUT)/doc/latex/guides/$* \
+	    all-pdf $(RTE_PDFLATEX_VERBOSE) diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index e8423b0..68931bb 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -101,9 +101,10 @@ testall: install uninstall:$(Q)$(MAKE) -f$(RTE_SDK)/mk/rte.sdkinstall.mk $@ -.PHONY: doc help +.PHONY: doc help pdf doc: doc-all help: doc-help +pdf: doc-pdf doc-%:$(Q)$(MAKE) -f$(RTE_SDK)/mk/rte.sdkdoc.mk \$*