Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Crosscompile for Windows arm64 #22612

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

WIP: Crosscompile for Windows arm64 #22612

wants to merge 3 commits into from

Conversation

trufae
Copy link
Collaborator

@trufae trufae commented Feb 17, 2024

Looks like the final executable generated by the CI is for x86-64

Observations:

  • x64 as host builds faster than x86_64

@trufae trufae changed the title Crosscompile for Windows arm64 WIP: Crosscompile for Windows arm64 Feb 18, 2024
@@ -49,7 +49,7 @@ REM: Targets: x86 amd64 x64 arm arm64
IF "%*" == "x86" (
set VSARCH=x86
) ELSE IF "%*" == "arm64" (
set VSARCH=x86_arm64
set VSARCH=x64_arm64
Copy link
Contributor

Choose a reason for hiding this comment

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

And here also amd64_arm64 for crosscompile?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this is from visual studio, the naming convention is different between the action and the compiler. i think this is fine

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

oh just checked the vs batch script and seems to handle also amd64_arm64 which is the same as x64_arm64, so both options are valid 👍

@prodrigestivill
Copy link
Contributor

Also using meson cross-compile feature will be required to avoid a sanity check error.

.github/workflows/build.yml Outdated Show resolved Hide resolved
@trufae
Copy link
Collaborator Author

trufae commented Mar 13, 2024

Also using meson cross-compile feature will be required to avoid a sanity check error.

never used that before. did you?

meson.build:1:0: ERROR: Could not invoke sanity test executable: [WinError 216] This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

@prodrigestivill
Copy link
Contributor

prodrigestivill commented Mar 13, 2024

yes, I arrived at the same point in my fork.

this is because meson is checking as if you are building for native environment.
To avoid it it is requiered to use the crosscompile functionality of meson, just like it is done for android builds (using a configuration file per env).

I tried in my fork but it would be easier to implement it having a local windows build environment.

@trufae trufae added this to the 5.9.2 - codename neatrunner milestone Apr 5, 2024
@trufae trufae added the Windows Microsoft Windows platform support issues label Apr 16, 2024
@trufae trufae mentioned this pull request Apr 16, 2024
3 tasks
@trufae trufae modified the milestones: 5.9.6 - corteza, 6.0.0 Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Windows Microsoft Windows platform support issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants