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 C5E26A05D3 for ; Thu, 28 Mar 2019 03:21:42 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CC1C05F19; Thu, 28 Mar 2019 03:21:37 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 4F3005F0D for ; Thu, 28 Mar 2019 03:21:18 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Mar 2019 19:21:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,278,1549958400"; d="scan'208";a="331369603" Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57]) by fmsmga006.fm.intel.com with ESMTP; 27 Mar 2019 19:21:15 -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: Wed, 27 Mar 2019 19:21:07 -0700 Message-Id: <20190328022115.4660-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 v6 0/8] 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: <20190328022107.CZ3c3g96pwkxSiKV_mvAsQw56WoLbLvLNeQ8wzEe7ms@z> Includes Windows-specific EAL changes and meson changes to build the code on windows. 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: *patch 3/8 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 8/8 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 (8): eal: eal stub to add windows support eal: add header files to support os specifics 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 | 7 + 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 | 73 ++++ 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/common/meson.build | 14 +- .../freebsd/eal/include/exec-env/rte_os.h | 10 + .../linux/eal/include/exec-env/rte_os.h | 8 + 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 +++++++++ .../windows/eal/include/exec-env/fnmatch.h | 43 +++ .../windows/eal/include/exec-env/pthread.h | 22 ++ .../windows/eal/include/exec-env/regex.h | 85 +++++ .../windows/eal/include/exec-env/rte_os.h | 50 +++ .../windows/eal/include/exec-env/sched.h | 41 +++ .../windows/eal/include/exec-env/unistd.h | 8 + .../windows/eal/include/sys/queue.h | 320 ++++++++++++++++++ lib/librte_eal/windows/eal/meson.build | 12 + lib/librte_kvargs/rte_kvargs_exports.def | 7 + lib/meson.build | 23 +- 33 files changed, 1176 insertions(+), 29 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/exec-env/rte_os.h create mode 100644 lib/librte_eal/linux/eal/include/exec-env/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/exec-env/fnmatch.h create mode 100644 lib/librte_eal/windows/eal/include/exec-env/pthread.h create mode 100644 lib/librte_eal/windows/eal/include/exec-env/regex.h create mode 100644 lib/librte_eal/windows/eal/include/exec-env/rte_os.h create mode 100644 lib/librte_eal/windows/eal/include/exec-env/sched.h create mode 100644 lib/librte_eal/windows/eal/include/exec-env/unistd.h create mode 100644 lib/librte_eal/windows/eal/include/sys/queue.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