DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,
	david.marchand@redhat.com, thomas@monjalon.net,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v4 0/4] enable use of the MSVC compiler
Date: Fri, 11 Aug 2023 11:24:43 -0700	[thread overview]
Message-ID: <1691778287-15746-1-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1674674707-3094-1-git-send-email-roretzla@linux.microsoft.com>

Introduce minimum changes to the build system to allow use of the MSVC
compiler.

This change is intended to enable a phased approach to allowing DPDK to
built with MSVC. Building with MSVC removes barriers to enterprise
customers use of DPDK who have constraints around security policy,
compliance and functional requirements.

v4:
  * Remove conditional if cc.get_id() != 'msvc' for assignment of
    objdump and binutils_avx512_check in anticipation of merge of
    patch from David Marchand
    https://patchwork.dpdk.org/project/dpdk/patch/20230811131024.2285366-1-david.marchand@redhat.com
    Note:
      I'm aware that none of the shell scripts here are usable on the
      windows build, it's a gap we hope to fill in the future for now
      we hap hazardly rely on the linux builds.
  * Remove enabled_apps = [] apps when skipping apps/meson.build for
    is_ms_compiler in anticipation of merge of patch from David Marchand
    https://patchwork.dpdk.org/project/dpdk/patch/20230811132805.2434448-1-david.marchand@redhat.com
  * Rebase series and include 'log' library as it is now required by
    kvargs and telemetry libs
  * Move 2 comments into block scope ehre they apply
    Note:
      There are no requirements specifically for msvc compiler
      beyond those that would cause build to fail when the
      currently experimental options are used. when i know the
      final version of the compiler needed it will be documented
      in the windows quick start guide.

v3:
  * enable compilation with C11 optional atomics
  * enable compilation with C23 typeof operator
  * disable microsoft secure crt checks (dpdk code fails)
  * force use of intrinsics

v2:
  * moved checks to skip drivers, apps, usertools directories
    in to <dir>/meson.build file and removed conditional
    check from root meson.build (patch 3/3)

Tyler Retzlaff (4):
  build: unblock the use of the MSVC compiler
  build: determine execution environment at config time
  build: limit what is built when using MSVC compiler
  build: enable MSVC specific compiler options

 app/meson.build        |  6 ++++--
 config/meson.build     | 39 +++++++++++++++++++++++++++++++--------
 config/x86/meson.build | 10 ++++++----
 drivers/meson.build    |  4 ++++
 lib/eal/meson.build    |  8 --------
 lib/meson.build        | 21 ++++++++++++++++++---
 usertools/meson.build  |  4 ++++
 7 files changed, 67 insertions(+), 25 deletions(-)

-- 
1.8.3.1


  parent reply	other threads:[~2023-08-11 18:24 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 19:25 [PATCH 0/3] unblock the " Tyler Retzlaff
2023-01-25 19:25 ` [PATCH 1/3] build: " Tyler Retzlaff
2023-01-26 10:07   ` Bruce Richardson
2023-01-25 19:25 ` [PATCH 2/3] build: determine execution environment at config time Tyler Retzlaff
2023-01-26 10:09   ` Bruce Richardson
2023-01-25 19:25 ` [PATCH 3/3] build: limit what is built when using MSVC compiler Tyler Retzlaff
2023-01-26 11:10   ` Bruce Richardson
2023-01-26 17:28     ` Tyler Retzlaff
2023-01-26 17:34       ` Bruce Richardson
2023-01-26 17:36         ` Tyler Retzlaff
2023-01-26 18:03 ` [PATCH v2 0/3] unblock the use of the " Tyler Retzlaff
2023-01-26 18:03   ` [PATCH v2 1/3] build: " Tyler Retzlaff
2023-01-26 18:03   ` [PATCH v2 2/3] build: determine execution environment at config time Tyler Retzlaff
2023-01-26 18:03   ` [PATCH v2 3/3] build: limit what is built when using MSVC compiler Tyler Retzlaff
2023-01-26 18:18     ` Bruce Richardson
2023-01-26 18:05   ` [PATCH v2 0/3] unblock the use of the " Tyler Retzlaff
2023-04-25 20:08 ` [PATCH v3 0/4] enable " Tyler Retzlaff
2023-04-25 20:08   ` [PATCH v3 1/4] build: unblock the " Tyler Retzlaff
2023-08-11 13:31     ` David Marchand
2023-04-25 20:08   ` [PATCH v3 2/4] build: determine execution environment at config time Tyler Retzlaff
2023-04-25 20:08   ` [PATCH v3 3/4] build: limit what is built when using MSVC compiler Tyler Retzlaff
2023-08-11 13:31     ` David Marchand
2023-04-25 20:08   ` [PATCH v3 4/4] build: enable MSVC specific compiler options Tyler Retzlaff
2023-08-11 18:24 ` Tyler Retzlaff [this message]
2023-08-11 18:24   ` [PATCH v4 1/4] build: unblock the use of the MSVC compiler Tyler Retzlaff
2023-08-14  8:27     ` Bruce Richardson
2023-08-14  9:07       ` Dmitry Kozlyuk
2023-08-14  9:12         ` Bruce Richardson
2023-08-11 18:24   ` [PATCH v4 2/4] build: determine execution environment at config time Tyler Retzlaff
2023-08-11 18:24   ` [PATCH v4 3/4] build: limit what is built when using MSVC compiler Tyler Retzlaff
2023-08-11 18:26     ` Tyler Retzlaff
2023-08-11 18:24   ` [PATCH v4 4/4] build: enable MSVC specific compiler options Tyler Retzlaff
2023-08-14  8:30     ` Bruce Richardson
2023-08-14 16:10       ` Tyler Retzlaff
2023-08-14 16:46         ` Bruce Richardson
2023-08-14 18:28           ` Morten Brørup
2023-08-15 13:21     ` David Marchand
2023-08-16 21:56 ` [PATCH v5 0/4] enable use of the MSVC compiler Tyler Retzlaff
2023-08-16 21:56   ` [PATCH v5 1/4] build: unblock the " Tyler Retzlaff
2023-08-16 21:56   ` [PATCH v5 2/4] build: determine execution environment at config time Tyler Retzlaff
2023-08-16 21:56   ` [PATCH v5 3/4] build: limit what is built when using MSVC compiler Tyler Retzlaff
2023-08-16 21:56   ` [PATCH v5 4/4] build: enable MSVC specific compiler options Tyler Retzlaff
2023-08-17  8:33     ` Bruce Richardson
2023-08-25  8:43   ` [PATCH v5 0/4] enable use of the MSVC compiler David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1691778287-15746-1-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).