Skip to content

Add native Windows ARM64 (WoA) build support to mediapipe#6284

Open
tsomanna wants to merge 1 commit into
google-ai-edge:masterfrom
tsomanna:win-arm64
Open

Add native Windows ARM64 (WoA) build support to mediapipe#6284
tsomanna wants to merge 1 commit into
google-ai-edge:masterfrom
tsomanna:win-arm64

Conversation

@tsomanna
Copy link
Copy Markdown

@tsomanna tsomanna commented May 4, 2026

PR Summary:
This PR enables native Windows ARM64 (WoA) support in MediaPipe using MSVC.

Changes:

  1. Build and platform:

    • New windows_arm64 Bazel config and platform
    • Updated platform_mappings for windows arm64
    • .bazelrc configuration with ARM64‑specific and MSVC flags
  2. Third party dependency changes:

    • ARM64 support/fixes for gflags, XNNPACK, cpuinfo, pthreadpool, pffft, ICU
    • Added opencv_windows_arm64 BUILD and repo for prebuilt OpenCV ARM64
  3. Test fixes:

    • Guarded tests relying on pthreads or unsupported MSVC ARM64 behavior
  4. Packaging:

    • setup.py auto‑enables --config=windows_arm64 on native WoA
    • GPU and ODML converter disabled on Windows ARM64
  5. Error Fixing:
    Error: C2475: 'mediapipe::kGpuService': redefinition; 'constinit' specifier mismatch
    Fix: Added ABSL_CONST_INIT to kGpuService in mediapipe/gpu/gpu_service.cc to ensure the declaration and definition match, satisfying the MSVC compiler strictness.

@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 4, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@tsomanna tsomanna marked this pull request as ready for review May 4, 2026 05:02
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.

1 participant