[v7,7/8] doc: add documentation for windows

Message ID 20190328232451.16988-8-anand.rawat@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series HelloWorld example for windows |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Anand Rawat March 28, 2019, 11:24 p.m. UTC
  Added documentation to build helloworld example
on windows using meson and clang. Updated the
maintainers list to include windows maintainers.

Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
 MAINTAINERS                           |  7 +++
 doc/guides/index.rst                  |  3 +-
 doc/guides/windows_gsg/build_dpdk.rst | 73 +++++++++++++++++++++++++++
 doc/guides/windows_gsg/index.rst      | 14 +++++
 doc/guides/windows_gsg/intro.rst      | 20 ++++++++
 5 files changed, 116 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/windows_gsg/build_dpdk.rst
 create mode 100644 doc/guides/windows_gsg/index.rst
 create mode 100644 doc/guides/windows_gsg/intro.rst
  

Comments

Harini Ramakrishnan March 29, 2019, 12:06 a.m. UTC | #1
Added documentation to build helloworld example on windows using meson and clang. Updated the maintainers list to include windows maintainers.

Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>

Verified build on Windows 
Tested-by: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
  
Thomas Monjalon April 1, 2019, 11:22 p.m. UTC | #2
29/03/2019 00:24, Anand Rawat:
> Added documentation to build helloworld example
> on windows using meson and clang. Updated the
> maintainers list to include windows maintainers.
[...]
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> +Windows support
> +M: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
> +M: Omar Cardona <ocardona@microsoft.com>
> +M: Anand Rawat <anand.rawat@intel.com>
> +M: Ranjit Menon <ranjit.menon@intel.com>
> +F: lib/librte_eal/windows/

This change should be in the first patch (when introducing eal/windows).
In this doc patch, you should add
	F: doc/guides/windows_gsg/

[...]
> +The DPDK and its applications require the Clang-LLVM* C compiler and MSVC* linker.
> +The Meson* Build system is used to prepare the sources for compilation with the Ninja backend.
> +
> +\*Other names and brands may be claimed as the property of others.

This sentence looks weird. What does it mean?

[...]
> +Download and install the clang compiler from `LLVM* website <http://releases.llvm.org/download.html>`_.

Why is there an asterisk after LLVM?

[...]
> +Download and install the Build Tools for Visual Studio to link and build the files on windows, from `Microsoft* website <https://visualstudio.microsoft.com/downloads>`_.
> +When installing build tools, select the "Visual C++ build tools" option and ensure the Windows SDK is selected.

Please try to limit the line length.
We are supposed to not exceed 80-chars if possible.
The best is to wrap lines logically (as in code)
after a comma or a point, etc.

[...]
> +    cd C:\Users\me\dpdk\build
> +    helloworld.exe
> +    hello from core 1
> +    hello from core 3
> +    hello from core 0
> +    hello from core 2

That's definitely a good goal for release 19.05!

> +Limitations
> +===========
> +
> +DPDK for Windows is currently a work in progress. Not all DPDK source files
> +compile. Support is being added in pieces so as to limit the overall scope
> +of any individual patch series. The goal is to be able to run any DPDK
> +application natively on Windows.

Yes
  
Kadam, Pallavi April 2, 2019, 1:01 a.m. UTC | #3
On 4/1/2019 4:22 PM, Thomas Monjalon wrote:
> 29/03/2019 00:24, Anand Rawat:
>> Added documentation to build helloworld example
>> on windows using meson and clang. Updated the
>> maintainers list to include windows maintainers.
> [...]
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> +Windows support
>> +M: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
>> +M: Omar Cardona <ocardona@microsoft.com>
>> +M: Anand Rawat <anand.rawat@intel.com>
>> +M: Ranjit Menon <ranjit.menon@intel.com>
>> +F: lib/librte_eal/windows/
> This change should be in the first patch (when introducing eal/windows).
> In this doc patch, you should add
> 	F: doc/guides/windows_gsg/
Ok, will be done in the coming patch v8.
>
> [...]
>> +The DPDK and its applications require the Clang-LLVM* C compiler and MSVC* linker.
>> +The Meson* Build system is used to prepare the sources for compilation with the Ninja backend.
>> +
>> +\*Other names and brands may be claimed as the property of others.
> This sentence looks weird. What does it mean?

Thought of adding asterisk in front of names and brands

those are claimed from other websites/ organizations

for instance, MSFT, LLVM.

Can be removed, if not required.

>
> [...]
>> +Download and install the clang compiler from `LLVM* website <http://releases.llvm.org/download.html>`_.
> Why is there an asterisk after LLVM?

As the link has been copied from LLVM website (other property).

Can be removed, if not required.

>
> [...]
>> +Download and install the Build Tools for Visual Studio to link and build the files on windows, from `Microsoft* website <https://visualstudio.microsoft.com/downloads>`_.
>> +When installing build tools, select the "Visual C++ build tools" option and ensure the Windows SDK is selected.
> Please try to limit the line length.
> We are supposed to not exceed 80-chars if possible.
> The best is to wrap lines logically (as in code)
> after a comma or a point, etc.

Will limit the line length in v8.

>
> [...]
>> +    cd C:\Users\me\dpdk\build
>> +    helloworld.exe
>> +    hello from core 1
>> +    hello from core 3
>> +    hello from core 0
>> +    hello from core 2
> That's definitely a good goal for release 19.05!
>
>> +Limitations
>> +===========
>> +
>> +DPDK for Windows is currently a work in progress. Not all DPDK source files
>> +compile. Support is being added in pieces so as to limit the overall scope
>> +of any individual patch series. The goal is to be able to run any DPDK
>> +application natively on Windows.
> Yes
>
>
  
Thomas Monjalon April 2, 2019, 7:15 a.m. UTC | #4
02/04/2019 03:01, Pallavi Kadam:
> 
> On 4/1/2019 4:22 PM, Thomas Monjalon wrote:
> > 29/03/2019 00:24, Anand Rawat:
> >> +The DPDK and its applications require the Clang-LLVM* C compiler and MSVC* linker.
> >> +The Meson* Build system is used to prepare the sources for compilation with the Ninja backend.
> >> +
> >> +\*Other names and brands may be claimed as the property of others.
> > This sentence looks weird. What does it mean?
> 
> Thought of adding asterisk in front of names and brands
> 
> those are claimed from other websites/ organizations
> 
> for instance, MSFT, LLVM.
> 
> Can be removed, if not required.
> 
> >
> > [...]
> >> +Download and install the clang compiler from `LLVM* website <http://releases.llvm.org/download.html>`_.
> > Why is there an asterisk after LLVM?
> 
> As the link has been copied from LLVM website (other property).
> 
> Can be removed, if not required.

Usually, we do not consider such "legal text". It looks weird.
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index e9ff2b4c2..ab00771d2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -283,6 +283,13 @@  FreeBSD UIO
 M: Bruce Richardson <bruce.richardson@intel.com>
 F: kernel/freebsd/nic_uio/
 
+Windows support
+M: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
+M: Omar Cardona <ocardona@microsoft.com>
+M: Anand Rawat <anand.rawat@intel.com>
+M: Ranjit Menon <ranjit.menon@intel.com>
+F: lib/librte_eal/windows/
+
 
 Core Libraries
 --------------
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 8a9ed65c8..8a1601b27 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -1,5 +1,5 @@ 
 ..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
+    Copyright(c) 2010-2019 Intel Corporation.
 
 DPDK documentation
 ==================
@@ -9,6 +9,7 @@  DPDK documentation
 
    linux_gsg/index
    freebsd_gsg/index
+   windows_gsg/index
    sample_app_ug/index
    prog_guide/index
    howto/index
diff --git a/doc/guides/windows_gsg/build_dpdk.rst b/doc/guides/windows_gsg/build_dpdk.rst
new file mode 100644
index 000000000..b88eb76c9
--- /dev/null
+++ b/doc/guides/windows_gsg/build_dpdk.rst
@@ -0,0 +1,73 @@ 
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2019 Intel Corporation.
+
+Compiling the DPDK Target from Source
+=====================================
+
+System Requirements
+-------------------
+
+The DPDK and its applications require the Clang-LLVM* C compiler and MSVC* linker.
+The Meson* Build system is used to prepare the sources for compilation with the Ninja backend.
+
+\*Other names and brands may be claimed as the property of others.
+
+Install the Compiler
+--------------------
+
+Download and install the clang compiler from `LLVM* website <http://releases.llvm.org/download.html>`_.
+For example, Clang-LLVM direct download link::
+
+	http://releases.llvm.org/7.0.1/LLVM-7.0.1-win64.exe
+
+
+Install the Linker
+------------------
+
+Download and install the Build Tools for Visual Studio to link and build the files on windows, from `Microsoft* website <https://visualstudio.microsoft.com/downloads>`_.
+When installing build tools, select the "Visual C++ build tools" option and ensure the Windows SDK is selected.
+
+
+Install the Build System
+------------------------
+
+Download and install the build system from `Meson* website <http://mesonbuild.com/Getting-meson.html>`_.
+A good option to choose is the MSI installer for both meson and ninja together::
+
+	http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer%22
+
+Install the Backend
+-------------------
+
+If using Ninja, download and install the backend from `Ninja* website <https://ninja-build.org/>`_ or
+install along with the meson build system.
+
+Build the code
+--------------
+
+The build environment is setup to build the EAL and the helloworld example by
+default.
+
+Using the ninja backend
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    cd C:\Users\me\dpdk
+    meson build
+    cd build
+    ninja
+
+Run the helloworld example
+==========================
+
+Navigate to the build directory and run `dpdk-helloworld.exe`.
+
+.. code-block:: console
+
+    cd C:\Users\me\dpdk\build
+    helloworld.exe
+    hello from core 1
+    hello from core 3
+    hello from core 0
+    hello from core 2
diff --git a/doc/guides/windows_gsg/index.rst b/doc/guides/windows_gsg/index.rst
new file mode 100644
index 000000000..d9b7990a8
--- /dev/null
+++ b/doc/guides/windows_gsg/index.rst
@@ -0,0 +1,14 @@ 
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2019 Intel Corporation.
+
+.. _windows_gsg:
+
+Getting Started Guide for Windows
+=================================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered:
+
+    intro
+    build_dpdk
diff --git a/doc/guides/windows_gsg/intro.rst b/doc/guides/windows_gsg/intro.rst
new file mode 100644
index 000000000..a0285732d
--- /dev/null
+++ b/doc/guides/windows_gsg/intro.rst
@@ -0,0 +1,20 @@ 
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2019 Intel Corporation.
+
+Introduction
+============
+
+This document contains instructions for installing and configuring the Data
+Plane Development Kit (DPDK) software. The document describes how to compile
+and run a DPDK application in a Windows* OS application environment, without
+going deeply into detail.
+
+\*Other names and brands may be claimed as the property of others.
+
+Limitations
+===========
+
+DPDK for Windows is currently a work in progress. Not all DPDK source files
+compile. Support is being added in pieces so as to limit the overall scope
+of any individual patch series. The goal is to be able to run any DPDK
+application natively on Windows.