Skip to content

Add windows/arm64 toolchain as an emulated x86_64 stopgap (#116) - #125

Open
skeletonkey wants to merge 1 commit into
bazel-contrib:mainfrom
skeletonkey:windows-arm64-emulated-toolchain
Open

Add windows/arm64 toolchain as an emulated x86_64 stopgap (#116)#125
skeletonkey wants to merge 1 commit into
bazel-contrib:mainfrom
skeletonkey:windows-arm64-emulated-toolchain

Conversation

@skeletonkey

Copy link
Copy Markdown
Collaborator

Strawberry Perl has no native Windows arm64 build
(StrawberryPerl/Perl-Dist-Strawberry#218), so building for a windows/arm64 target platform fails toolchain resolution entirely:

ERROR: ... No matching toolchains found for types:
  @@rules_perl+//perl:toolchain_type

Add a windows/arm64 entry to PLATFORMS that reuses the existing windows/x86_64 Strawberry Perl archive but declares itself compatible with windows/arm64. Windows on Arm ships with built-in x86_64 emulation, and Perl is a plain interpreter with no CPU-specific codegen, so the x86_64 binary runs fine under that emulation layer. This is a stopgap: drop the entry (or point it at a native archive) once Strawberry Perl ships an arm64 build.

Wire the new platform through the same places the other platforms are registered (MODULE.bazel's use_repo/register_toolchains lists and the root BUILD.bazel toolchain aliases), add a regression test mirroring the existing perl-less-platform toolchain resolution test, and note the stopgap in the README's Windows Support section.

…rib#116)

Strawberry Perl has no native Windows arm64 build
(StrawberryPerl/Perl-Dist-Strawberry#218), so building for a windows/arm64
target platform fails toolchain resolution entirely:

    ERROR: ... No matching toolchains found for types:
      @@rules_perl+//perl:toolchain_type

Add a windows/arm64 entry to PLATFORMS that reuses the existing
windows/x86_64 Strawberry Perl archive but declares itself compatible with
windows/arm64. Windows on Arm ships with built-in x86_64 emulation, and Perl
is a plain interpreter with no CPU-specific codegen, so the x86_64 binary
runs fine under that emulation layer. This is a stopgap: drop the entry (or
point it at a native archive) once Strawberry Perl ships an arm64 build.

Wire the new platform through the same places the other platforms are
registered (MODULE.bazel's use_repo/register_toolchains lists and the
root BUILD.bazel toolchain aliases), add a regression test mirroring the
existing perl-less-platform toolchain resolution test, and note the
stopgap in the README's Windows Support section.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@skeletonkey skeletonkey linked an issue Aug 24, 2026 that may be closed by this pull request
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.

Windows ARM64 support

1 participant