From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id E21B6A0679 for ; Tue, 2 Apr 2019 05:55:02 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D9ADE5592; Tue, 2 Apr 2019 05:55:01 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C45F254AE for ; Tue, 2 Apr 2019 05:55:00 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Apr 2019 20:55:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,298,1549958400"; d="scan'208";a="287910246" Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57]) by orsmga004.jf.intel.com with ESMTP; 01 Apr 2019 20:54:59 -0700 From: Anand Rawat To: dev@dpdk.org Cc: anand.rawat@intel.com, pallavi.kadam@intel.com, ranjit.menon@intel.com, jeffrey.b.shaw@intel.com, bruce.richardson@intel.com, thomas@monjalon.net Date: Mon, 1 Apr 2019 20:54:48 -0700 Message-Id: <20190402035458.14664-1-anand.rawat@intel.com> X-Mailer: git-send-email 2.17.1.windows.2 In-Reply-To: <20190306041634.12976-1-anand.rawat@intel.com> References: <20190306041634.12976-1-anand.rawat@intel.com> Subject: [dpdk-dev] [PATCH v8 00/10] HelloWorld example for Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Content-Type: text/plain; charset="UTF-8" Message-ID: <20190402035448.POLawf_8c4UdAQEyw2u71T0HCBBtjBE0xBobIiK26HI@z> Includes Windows-specific EAL changes and meson changes to build the code on Windows. v8 Changes: 1. Fixed rte_os.h not found issue on linux and freebsd. 2. Updated make build system to include path for rte_os.h. 3. Fixed math lib error on linux. 4. Separated eal logic and build changes. v7 Changes: 1. Fixed missing def issues on linux and freebsd. 2. Updated comments in header files to be more descriptive v6 Changes: 1. Introduced rte_os.h for esstential os specific macros and typedefs. 2. Fixed commit typos and 'new line required at eof' issues. v5 Changes: 1. Reduced meson workrounds for Windows. 2. Updated documention to include details about buildtool options v4 Changes: 1. Exposed more functions for eal DLL in the module definition file 2. Moved disabling meson logic to sub directories v3 Changes: 1. Separated meson workarounds from the essential code changes 2. Added support for kvargs 3. Updated meson for building DLL on Windows using DEF files 4. Fixed documentation for html links and linker dependency 5. Added comments for Windows header and source files v2 Changes: 1. Incorporated reviews from v1. 2. Fixed license period for updated files. 3. Renamed 'winapp' folder to 'Windows'. 4. Cleaned unneeded meson changes. 5. Fixed code style warnings. 6. Added maintainers information for Windows branch notes: *This patch is based on https://patches.dpdk.org/patch/52031/ and it is required to cleanly apply patch 3/10 *patch 5/10 contains module definition files and meson changes required to build shared libraries on windows. These may be removed in the future releases to be generated from the existing .map files. *patch 10/10 contains meson workarounds to build helloworld on windows, which will later be a part of the draft repository *command-line parsing is not a part of this version as a result lcore mask is currently not supported. *kernel modules and documentation can not be built on windows currently and should not be enabled. Anand Rawat (10): eal: eal stub to add windows support meson: required changes for windows eal: add new rte_os.h header to build system eal: update common headers to use rte_os.h build: add module definition file for windows eal: sys/queue.h implementation for windows eal: add headers for compatibility with windows eal: add minimum viable code for eal on windows doc: add documentation for windows build: meson changes to build on windows MAINTAINERS | 8 + app/meson.build | 6 +- buildtools/meson.build | 6 +- config/meson.build | 23 +- config/x86/meson.build | 14 +- doc/guides/index.rst | 3 +- doc/guides/windows_gsg/build_dpdk.rst | 81 +++++ doc/guides/windows_gsg/index.rst | 14 + doc/guides/windows_gsg/intro.rst | 20 ++ drivers/meson.build | 6 +- examples/meson.build | 6 +- kernel/windows/meson.build | 4 + lib/librte_eal/common/include/rte_common.h | 5 +- .../common/include/rte_string_fns.h | 4 +- lib/librte_eal/freebsd/eal/Makefile | 4 +- lib/librte_eal/freebsd/eal/include/rte_os.h | 14 + lib/librte_eal/linux/eal/Makefile | 3 +- lib/librte_eal/linux/eal/include/rte_os.h | 14 + lib/librte_eal/meson.build | 6 +- lib/librte_eal/rte_eal_exports.def | 9 + lib/librte_eal/windows/eal/eal.c | 84 +++++ lib/librte_eal/windows/eal/eal_debug.c | 19 ++ lib/librte_eal/windows/eal/eal_lcore.c | 100 ++++++ lib/librte_eal/windows/eal/eal_thread.c | 153 +++++++++ lib/librte_eal/windows/eal/include/fnmatch.h | 48 +++ lib/librte_eal/windows/eal/include/pthread.h | 27 ++ lib/librte_eal/windows/eal/include/regex.h | 90 +++++ lib/librte_eal/windows/eal/include/rte_os.h | 53 +++ lib/librte_eal/windows/eal/include/sched.h | 46 +++ .../windows/eal/include/sys/queue.h | 320 ++++++++++++++++++ lib/librte_eal/windows/eal/include/unistd.h | 12 + lib/librte_eal/windows/eal/meson.build | 18 + lib/librte_kvargs/rte_kvargs_exports.def | 7 + lib/meson.build | 19 +- meson.build | 6 +- mk/exec-env/freebsd/rte.vars.mk | 5 +- mk/exec-env/linux/rte.vars.mk | 5 +- 37 files changed, 1230 insertions(+), 32 deletions(-) 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 create mode 100644 kernel/windows/meson.build create mode 100644 lib/librte_eal/freebsd/eal/include/rte_os.h create mode 100644 lib/librte_eal/linux/eal/include/rte_os.h create mode 100644 lib/librte_eal/rte_eal_exports.def create mode 100644 lib/librte_eal/windows/eal/eal.c create mode 100644 lib/librte_eal/windows/eal/eal_debug.c create mode 100644 lib/librte_eal/windows/eal/eal_lcore.c create mode 100644 lib/librte_eal/windows/eal/eal_thread.c create mode 100644 lib/librte_eal/windows/eal/include/fnmatch.h create mode 100644 lib/librte_eal/windows/eal/include/pthread.h create mode 100644 lib/librte_eal/windows/eal/include/regex.h create mode 100644 lib/librte_eal/windows/eal/include/rte_os.h create mode 100644 lib/librte_eal/windows/eal/include/sched.h create mode 100644 lib/librte_eal/windows/eal/include/sys/queue.h create mode 100644 lib/librte_eal/windows/eal/include/unistd.h create mode 100644 lib/librte_eal/windows/eal/meson.build create mode 100644 lib/librte_kvargs/rte_kvargs_exports.def -- 2.17.1.windows.2