[v2,6/6] doc: add documention for windows
Checks
Commit Message
Added documentation to build helloworld example
on windows using meson and clang. Updated the
maintainers list to include windows maintainers.
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Signed-off-by: Pallavi Kadam <pallavi.kadam@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 | 67 +++++++++++++++++++++++++++
doc/guides/windows_gsg/index.rst | 14 ++++++
doc/guides/windows_gsg/intro.rst | 20 ++++++++
5 files changed, 110 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
> Added documentation to build helloworld example on windows using meson
> and clang. Updated the maintainers list to include windows maintainers.
>
> Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> Signed-off-by: Pallavi Kadam <pallavi.kadam@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 | 67
> +++++++++++++++++++++++++++
> doc/guides/windows_gsg/index.rst | 14 ++++++
> doc/guides/windows_gsg/intro.rst | 20 ++++++++
> 5 files changed, 110 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
>
Make doc html 50848
sphinx processing guides-html...
dpdk/doc/guides/windows_gsg/build_dpdk.rst:28: WARNING: Unknown target name: "meson's website<http://mesonbuild.com/getting-meson.html>".
dpdk/doc/guides/windows_gsg/build_dpdk.rst:36: WARNING: Unknown target name: "ninja's website<https://ninja-build.org/>".
<...>
> +
> +Install the Build System
> +------------------------
> +
> +Download and install the build system from `Meson's
> website<http://mesonbuild.com/Getting-meson.html>`_.
> +A good option to choose is the MSI installer for both meson and ninja
> together::
> +
Space is needed after website for the link to be properly made.
-Download and install the build system from `Meson's website<http://mesonbuild.com/Getting-meson.html>`_.
+Download and install the build system from `Meson's website <http://mesonbuild.com/Getting-meson.html>`_.
> +
> +http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-
> wit
> +h-the-msi-installer%22
> +
> +Install the Backend
> +-------------------
> +
> +If using Ninja, download and install the backend from `Ninja's
> +website<https://ninja-build.org/>`_ or install along with the meson build
> system.
> +
Also here:
-If using Ninja, download and install the backend from `Ninja's website<https://ninja-build.org/>`_ or
+If using Ninja, download and install the backend from `Ninja's website <https://ninja-build.org/>`_ or
<...>
On 3/7/2019 9:03 AM, Kovacevic, Marko wrote:
>> Added documentation to build helloworld example on windows using meson
>> and clang. Updated the maintainers list to include windows maintainers.
>>
>> Signed-off-by: Anand Rawat <anand.rawat@intel.com>
>> Signed-off-by: Pallavi Kadam <pallavi.kadam@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 | 67
>> +++++++++++++++++++++++++++
>> doc/guides/windows_gsg/index.rst | 14 ++++++
>> doc/guides/windows_gsg/intro.rst | 20 ++++++++
>> 5 files changed, 110 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
>>
>
> Make doc html 50848
> sphinx processing guides-html...
> dpdk/doc/guides/windows_gsg/build_dpdk.rst:28: WARNING: Unknown target name: "meson's website<http://mesonbuild.com/getting-meson.html>".
> dpdk/doc/guides/windows_gsg/build_dpdk.rst:36: WARNING: Unknown target name: "ninja's website<https://ninja-build.org/>".
>
>
> <...>
>
>> +
>> +Install the Build System
>> +------------------------
>> +
>> +Download and install the build system from `Meson's
>> website<http://mesonbuild.com/Getting-meson.html>`_.
>> +A good option to choose is the MSI installer for both meson and ninja
>> together::
>> +
>
> Space is needed after website for the link to be properly made.
>
> -Download and install the build system from `Meson's website<http://mesonbuild.com/Getting-meson.html>`_.
> +Download and install the build system from `Meson's website <http://mesonbuild.com/Getting-meson.html>`_.
>
>> +
>> +http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-
>> wit
>> +h-the-msi-installer%22
>> +
>> +Install the Backend
>> +-------------------
>> +
>> +If using Ninja, download and install the backend from `Ninja's
>> +website<https://ninja-build.org/>`_ or install along with the meson build
>> system.
>> +
>
> Also here:
> -If using Ninja, download and install the backend from `Ninja's website<https://ninja-build.org/>`_ or
> +If using Ninja, download and install the backend from `Ninja's website <https://ninja-build.org/>`_ or
>
> <...>
>
Thank You, will update in v3
On Tue, 2019-03-05 at 20:16 -0800, Anand Rawat wrote:
> Added documentation to build helloworld example
> on windows using meson and clang. Updated the
> maintainers list to include windows maintainers.
>
> Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> ---
> +
> +Using the ninja backend
> +~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +.. code-block:: console
> +
> + cd C:\Users\me\dpdk
> + meson build
I think, there is one more dependency with link.exe or so.
Could you please check the log and update the documentation.
PS C:\Users\jerin\dpdk.org> meson build
The Meson build system
Version: 0.49.2
Source dir: C:\Users\jerin\dpdk.org
Build dir: C:\Users\jerin\dpdk.org\build
Build type: native build
Project name: DPDK
Project version: 19.05.0-rc0
meson.build:4:0: ERROR: Compiler clang can not compile programs.
A full log can be found at C:\Users\jerin\dpdk.org\build\meson-
logs\meson-log.txt
PS C:\Users\jerin\dpdk.org> cat .\build\meson-logs\meson-log.txt
Build started at 2019-03-11T07:52:15.487361
Main binary: C:\Program Files\Meson\meson.exe
Python system: Windows
The Meson build system
Version: 0.49.2
Source dir: C:\Users\jerin\dpdk.org
Build dir: C:\Users\jerin\dpdk.org\build
Build type: native build
Project name: DPDK
Project version: 19.05.0-rc0
Sanity testing C compiler: clang
Is cross compiler: False.
Sanity check compiler command line: clang
C:\Users\jerin\dpdk.org\build\meson-private\sanitycheckc.c -o
C:\Users\jerin\dpdk.org\build\meson-private\sanitycheckc.exe
Sanity check compile stdout:
-----
Sanity check compile stderr:
clang.exe: warning: unable to find a Visual Studio installation; try
running Clang from a developer command prompt [-Wmsvc-not-found]
clang.exe: error: unable to execute command: program not executable
clang.exe: error: linker command failed with exit code 1 (use -v to see
invocation)
-----
meson.build:4:0: ERROR: Compiler clang can not compile programs.
PS C:\Users\jerin\dpdk.org> clang C:\Users\jerin\dpdk.org\build\meson-
private\sanitycheckc.c -o C:\Users\jerin\dpdk.org\build\meson-private\s
anitycheckc.exe
clang.exe: warning: unable to find a Visual Studio installation; try
running Clang from a developer command prompt [-Wmsvc-not-found]
clang.exe: error: unable to execute command: program not executable
clang.exe: error: linker command failed with exit code 1 (use -v to see
invocation)
PS C:\Users\jerin\dpdk.org> clang -v
C:\Users\jerin\dpdk.org\build\meson-private\sanitycheckc.c -o
C:\Users\jerin\dpdk.org\build\meson-private\sanitycheckc.exe
clang version 7.0.1 (tags/RELEASE_701/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
clang.exe: warning: unable to find a Visual Studio installation; try
running Clang from a developer command prompt [-Wmsvc-not-found]
"C:\\Program Files\\LLVM\\bin\\clang.exe" -cc1 -triple x86_64-pc-
windows-msvc19.11.0 -emit-obj -mrelax-all -mincremental-linker-
compatible -disable-free -disable-llvm-verifier -discard-value-names
-main-file-name sanitycheckc.c -mrelocation-model pic -pic-level 2
-mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -dwarf-column-info -debugger-
tuning=gdb -momit-leaf-frame-pointer -v -resource-dir "C:\\Program
Files\\LLVM\\lib\\clang\\7.0.1" -internal-isystem "C:\\Program
Files\\LLVM\\lib\\clang\\7.0.1\\include" -internal-isystem C:/Program
Files/Microsoft Visual Studio 10.0/VC/include -internal-isystem
C:/Program Files/Microsoft Visual Studio 9.0/VC/include -internal-
isystem C:/Program Files/Microsoft Visual Studio
9.0/VC/PlatformSDK/Include -internal-isystem C:/Program Files/Microsoft
Visual Studio 8/VC/include -internal-isystem C:/Program Files/Microsoft
Visual Studio 8/VC/PlatformSDK/Include -fdebug-compilation-dir
"C:\\Users\\jerin\\dpdk.org" -ferror-limit 19 -fmessage-length 168
-fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-
compatibility-version=19.11 -fdelayed-template-parsing -fobjc-
runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o
"C:\\Users\\jerin\\AppData\\Local\\Temp\\sanitycheckc-9dd0a9.o" -x c
"C:\\Users\\jerin\\dpdk.org\\build\\meson-private\\sanitycheckc.c"
clang -cc1 version 7.0.1 based upon LLVM 7.0.1 default target x86_64-
pc-win32
ignoring nonexistent directory "C:/Program Files/Microsoft Visual
Studio 10.0/VC/include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual
Studio 9.0/VC/include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual
Studio 9.0/VC/PlatformSDK/Include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual
Studio 8/VC/include"
ignoring nonexistent directory "C:/Program Files/Microsoft Visual
Studio 8/VC/PlatformSDK/Include"
#include "..." search starts here:
#include <...> search starts here:
C:\Program Files\LLVM\lib\clang\7.0.1\include
End of search list.
"link.exe" "-out:C:\\Users\\jerin\\dpdk.org\\build\\meson-
private\\sanitycheckc.exe" -defaultlib:libcmt "-libpath:lib\\amd64"
-nologo "C:\\Users\\jerin\\AppData\\Local\\Temp\\sanitycheckc-9dd0a9.o"
clang.exe: error: unable to execute command: program not executable
clang.exe: error: linker command failed with exit code 1 (use -v to see
invocation)
PS C:\Users\jerin\dpdk.org> clang.exe
clang.exe: error: no input files
PS C:\Users\jerin\dpdk.org>
> + cd build
> + ninja
>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> Kollanukkaran
> Sent: Monday, March 11, 2019 12:45 PM
> To: Rawat, Anand <anand.rawat@intel.com>; dev@dpdk.org
> Cc: Kadam, Pallavi <pallavi.kadam@intel.com>; thomas@monjalon.net; Menon,
> Ranjit <ranjit.menon@intel.com>; Shaw, Jeffrey B
> <jeffrey.b.shaw@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 6/6] doc: add documention for windows
>
> On Tue, 2019-03-05 at 20:16 -0800, Anand Rawat wrote:
> > Added documentation to build helloworld example on windows using meson
> > and clang. Updated the maintainers list to include windows
> > maintainers.
> >
> > Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> > Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> > Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
> > Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> > ---
> > +
> > +Using the ninja backend
> > +~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +.. code-block:: console
> > +
> > + cd C:\Users\me\dpdk
> > + meson build
>
> I think, there is one more dependency with link.exe or so.
> Could you please check the log and update the documentation.
>
>
Out of interest, can you try with "meson -Dc_link_args=-fuse-lld build"?
Hi,
I've been trying to compile it as well without installing the VS stuff.
But, it's always failing to compile:
Even the sanitycheck.c file is failing with such error:
lld-link.exe: error: could not open libcmt.lib: no such file or directory
Kindest regards,
Raslan Darawsheh
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Richardson, Bruce
> Sent: Monday, March 11, 2019 3:51 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Rawat, Anand
> <anand.rawat@intel.com>; dev@dpdk.org
> Cc: Kadam, Pallavi <pallavi.kadam@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Menon, Ranjit <ranjit.menon@intel.com>; Shaw,
> Jeffrey B <jeffrey.b.shaw@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 6/6] doc: add documention for windows
>
>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > Kollanukkaran
> > Sent: Monday, March 11, 2019 12:45 PM
> > To: Rawat, Anand <anand.rawat@intel.com>; dev@dpdk.org
> > Cc: Kadam, Pallavi <pallavi.kadam@intel.com>; thomas@monjalon.net;
> > Menon, Ranjit <ranjit.menon@intel.com>; Shaw, Jeffrey B
> > <jeffrey.b.shaw@intel.com>
> > Subject: Re: [dpdk-dev] [PATCH v2 6/6] doc: add documention for
> > windows
> >
> > On Tue, 2019-03-05 at 20:16 -0800, Anand Rawat wrote:
> > > Added documentation to build helloworld example on windows using
> > > meson and clang. Updated the maintainers list to include windows
> > > maintainers.
> > >
> > > Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> > > Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> > > Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
> > > Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> > > ---
> > > +
> > > +Using the ninja backend
> > > +~~~~~~~~~~~~~~~~~~~~~~~~
> > > +
> > > +.. code-block:: console
> > > +
> > > + cd C:\Users\me\dpdk
> > > + meson build
> >
> > I think, there is one more dependency with link.exe or so.
> > Could you please check the log and update the documentation.
> >
> >
> Out of interest, can you try with "meson -Dc_link_args=-fuse-lld build"?
On Mon, 2019-03-11 at 13:51 +0000, Richardson, Bruce wrote:
> -------------------------------------------------------------------
> ---
>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > Kollanukkaran
> > Sent: Monday, March 11, 2019 12:45 PM
> > To: Rawat, Anand <anand.rawat@intel.com>; dev@dpdk.org
> > Cc: Kadam, Pallavi <pallavi.kadam@intel.com>; thomas@monjalon.net;
> > Menon,
> > Ranjit <ranjit.menon@intel.com>; Shaw, Jeffrey B
> > <jeffrey.b.shaw@intel.com>
> > Subject: Re: [dpdk-dev] [PATCH v2 6/6] doc: add documention for
> > windows
> >
> > On Tue, 2019-03-05 at 20:16 -0800, Anand Rawat wrote:
> > > Added documentation to build helloworld example on windows using
> > > meson
> > > and clang. Updated the maintainers list to include windows
> > > maintainers.
> > >
> > > Signed-off-by: Anand Rawat <anand.rawat@intel.com>
> > > Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> > > Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
> > > Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> > > ---
> > > +
> > > +Using the ninja backend
> > > +~~~~~~~~~~~~~~~~~~~~~~~~
> > > +
> > > +.. code-block:: console
> > > +
> > > + cd C:\Users\me\dpdk
> > > + meson build
> >
> > I think, there is one more dependency with link.exe or so.
> > Could you please check the log and update the documentation.
> >
> >
> Out of interest, can you try with "meson -Dc_link_args=-fuse-lld
> build"?
Seen the same issue with above command.
On 3/11/2019 5:45 AM, Jerin Jacob Kollanukkaran wrote:
> On Tue, 2019-03-05 at 20:16 -0800, Anand Rawat wrote:
>> Added documentation to build helloworld example
>> on windows using meson and clang. Updated the
>> maintainers list to include windows maintainers.
>>
>> Signed-off-by: Anand Rawat <anand.rawat@intel.com>
>> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
>> Reviewed-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
>> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
>> ---
>> +
>> +Using the ninja backend
>> +~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +.. code-block:: console
>> +
>> + cd C:\Users\me\dpdk
>> + meson build
>
> I think, there is one more dependency with link.exe or so.
> Could you please check the log and update the documentation.
>
This is correct, link.exe is needed by clang on windows.
I will update the document in V3 to reflect that. We
were able to build by using only the buildtools from
vs2017 and not the whole installation.
@@ -272,6 +272,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
--------------
@@ -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
new file mode 100644
@@ -0,0 +1,67 @@
+.. 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 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 Build System
+------------------------
+
+Download and install the build system from `Meson's 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's 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
new file mode 100644
@@ -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
new file mode 100644
@@ -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.