Skip to content

Conversation

@Harishmcw
Copy link

@Harishmcw Harishmcw commented Dec 11, 2025

This PR adds Windows ARM64EC build support to the FFmpeg port.

Summary

  • Adds arm64ec architecture handling in portfile.cmake.
  • Passes /machine:arm64ec to lib.exe, armasm64, and linker flags.
  • Updates gas-preprocessor to latest revision that supports ARM64EC.
  • Extends AR and dumpbin logic to correctly process ARM64EC static libraries.
  • Improves makedef to handle ARM64EC:
    • Uses dumpbin -linkermember:32 (required for ARM64EC archives).
    • Filters out $entry_thunk / $exit_thunk symbols.
    • Normalizes leading # on symbols.

These changes enable FFmpeg to successfully build as ARM64EC while keeping behavior unchanged for all other architectures.

@@ -0,0 +1,77 @@
diff --git a/compat/windows/makedef b/compat/windows/makedef
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are fairly large patches, have you submitted them upstream?

@BillyONeal BillyONeal marked this pull request as draft December 12, 2025 01:32
@BillyONeal
Copy link
Member

Drafted due to CLA.

You should be able to fix the build failures with vcpkg x-add-version ffmpeg

@Harishmcw
Copy link
Author

Hi @BillyONeal,

We have also submitted these patches upstream. However, the FFmpeg maintainers noted that ARM64EC support would require ongoing maintenance, so the ARM64EC-specific changes couldn't be merged at this time.

Therefore, we would like to provide ARM64EC support for FFmpeg through vcpkg, as this would enable several applications such as Jianying Pro and WPS Office to build and run successfully for the ARM64EC target.

I have initiated the CLA approval process within our organization and will respond to the CLA as soon as internal approval is granted.

Thanks.

This update adds ARM64EC support to the FFmpeg vcpkg port.

Key changes:
- Enable ARM64EC architecture handling in portfile.cmake.
- Add /machine:arm64ec flags for lib.exe, armasm64, and linker.
- Update gas-preprocessor to a newer revision required for ARM64EC.
- Extend assembler, AR, and dumpbin logic to correctly process ARM64EC binaries.

This allows FFmpeg to be successfully built for Windows ARM64EC using the vcpkg toolchain.
@Harishmcw
Copy link
Author

@microsoft-github-policy-service agree company="Multicoreware"

@Harishmcw Harishmcw marked this pull request as ready for review January 9, 2026 04:14
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