Skip to content

Add standalone native MSVC DPDK build script for static MTL consumption - #1709

Closed
gkelly1 with Copilot wants to merge 3 commits into
mainfrom
copilot/add-windows-dpdk-build-script
Closed

gkelly1 with Copilot wants to merge 3 commits into
mainfrom
copilot/add-windows-dpdk-build-script

Conversation

Copilot AI commented Sep 7, 2026 •

Copy link
Copy Markdown

This change introduces a native Windows/MSVC DPDK build path that is independent of script/build_dpdk.sh and build.sh, targeting the DPDK 26.03 shared-linking TLS failure seen in MSYS2/UCRT64 workflows. The new flow builds and installs a clean, static, discoverable DPDK prefix suitable for MTL’s dependency('libdpdk', static: true) requirement.

  • Native MSVC standalone workflow

    • Added script/build_dpdk_windows.ps1 for Developer PowerShell / Developer Command Prompt environments.
    • Includes fail-fast prerequisite checks for git, meson, ninja, cl.exe, link.exe, and lib.exe.
    • Supports -Force, -DpdkVersion, -BuildDirectory, -InstallDirectory, -MaxLcores, -WorkingDirectory, and -Help.
  • Deterministic clean-build layout

    • Uses script-owned directories by default:
      • dpdk-<version>-msvc
      • build/dpdk-<version>-msvc
      • .local_install/dpdk-<version>-msvc
    • -Force removes only those owned paths; no unrelated cleanup.
  • Patch handling aligned with existing Windows guide

    • Reads DPDK_VER from versions.env by default.
    • Applies patches in required order:
      1. patches/dpdk/<ver>/*.patch via git am
      2. patches/dpdk/<ver>/windows/*.patch via git apply
    • Handles Windows symlink-text patch cases via controlled conversion in a script-local patch workspace.
  • Static install verification + discovery output

    • Configures Meson with --default-library=static and -Dmax_lcores=<value>.
    • Verifies installed rte_config.h, static libs, and libdpdk.pc.
    • Prints PKG_CONFIG_PATH guidance for downstream native Windows MTL Meson configure.
  • Docs update (minimal integration note)

    • Updated doc/build_WIN.md with a concise “Native MSVC” section describing invocation and output paths, without introducing full MTL Windows build mirroring.
cd C:\path\to\Media-Transport-Library
.\script\build_dpdk_windows.ps1 -Force -DpdkVersion 26.03 -MaxLcores 256
# script prints the libdpdk.pc directory to prepend to PKG_CONFIG_PATH

Copilot AI and others added 2 commits September 7, 2026 18:18
Co-authored-by: gkelly1 <33514119+gkelly1@users.noreply.github.com>
Co-authored-by: gkelly1 <33514119+gkelly1@users.noreply.github.com>
Copilot AI changed the title [WIP] Add standalone Windows DPDK build script for native MSVC Add standalone native MSVC DPDK build script for static MTL consumption Sep 7, 2026
Copilot AI requested a review from gkelly1 September 7, 2026 18:19
@gkelly1 gkelly1 closed this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants