Skip to content

Add support for windows arm64 architecture for prunsrv.exe#311

Open
wglas85 wants to merge 2 commits intoapache:masterfrom
iteggmbh:feature/DAEMON-462_prunsrv_arm64
Open

Add support for windows arm64 architecture for prunsrv.exe#311
wglas85 wants to merge 2 commits intoapache:masterfrom
iteggmbh:feature/DAEMON-462_prunsrv_arm64

Conversation

@wglas85
Copy link
Copy Markdown

@wglas85 wglas85 commented Apr 7, 2026

This adds ARM64 support for Windows binaries as discussed in https://issues.apache.org/jira/browse/DAEMON-462

Based on this PR I kindly request to include an ARM64 binary of prunsrv.exe in future commons-daemon releases.

@wglas85
Copy link
Copy Markdown
Author

wglas85 commented Apr 7, 2026

You need to install MSCV Build Tools for ARM64/ARM64EC in order to be able to compile for arm64 using a cmdline set up via vcvarsall.bat arm64.

Copy link
Copy Markdown
Member

@garydgregory garydgregory left a comment

Choose a reason for hiding this comment

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

You need to install MSCV Build Tools for ARM64/ARM64EC in order to be able to compile for arm64 using a cmdline set up via vcvarsall.bat arm64.

Hi @wglas85

Thank you for your PR.

I think you'll want to update https://github.com/apache/commons-daemon/blob/master/src/native/windows/README.txt

@wglas85
Copy link
Copy Markdown
Author

wglas85 commented Apr 7, 2026

I've added build notes, adding arm64 to the github workflows is left to the maintainers.

@garydgregory
Copy link
Copy Markdown
Member

I've added build notes, adding arm64 to the github workflows is left to the maintainers.

I think this already happens with macos-latest in

os: [ubuntu-latest, windows-latest, macos-latest]

@garydgregory
Copy link
Copy Markdown
Member

Hi @markt-asf

Are you OK with this PR?

@wglas85
Copy link
Copy Markdown
Author

wglas85 commented Apr 8, 2026

Thanks for your review, I think the new architecture needs to be added in .github/workflows/windows.yml.
However, I'm not acquainted to github workflows, so please add it there and check, whether the CI generates the new binaries.
TIA Wolfgang

@jajik
Copy link
Copy Markdown
Contributor

jajik commented Apr 8, 2026

To generate the arm64 artifact, the Windows job needs to be updated. The best way to me seems to run it on an arm runner (this needs to be extended with windows-11-arm) and then the upload artifact step must be tweaked so that there are no conflicts between the x86 and arm artifact names.

I can create a PR with the necessary changes once this gets merged, if you want.

@wglas85
Copy link
Copy Markdown
Author

wglas85 commented Apr 8, 2026

@jajik thanks for your offer, adding the necessary bits to the workflow is the best option for getting a signed windows binary for extensive testing.

I think, it would be best to provide all binaries for all three architectures, x86, x64 as well as arm64.

I know, Windows can always emulate x86, but for the most part, installations are 64 bit (x64 or arm64) these days.

@markt-asf
Copy link
Copy Markdown
Contributor

Are you OK with this PR?

Broadly, yes. I am in favour of adding arm64 support.

Some addition docs changes are also required (change log, HOWTO-RELEASE.txt) but those are all minor issues.

I would like to see some confirmation that the resulting binary works on arm64 before we start including it in a release.

@wglas85
Copy link
Copy Markdown
Author

wglas85 commented Apr 8, 2026

The resulting binaries work in my Test environment: Win11 under VMWare Fusion on MacOS with openjdk-21.0.10.7-aarch64

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.

4 participants