-
Notifications
You must be signed in to change notification settings - Fork 30
Add ARM64 platform support and define RAPIDJSON_ENDIAN for Windows ARM64 #1276
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
Conversation
|
The build is successful and executes correctly when applying my changes to the source tree, when building my fork the build is 1 kb smaller and doesn't have proper versioning info so builds successfully but fails to execute. |
Jamiras
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the goal state for this? Are you planning to make an ARM64 build of RALibretro or another emulator to consume it?
| <ConfigurationType>StaticLibrary</ConfigurationType> | ||
| <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||
| <PlatformToolset>v143</PlatformToolset> | ||
| <PlatformToolset>v145</PlatformToolset> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VS2026 has only been out for a couple weeks and I haven't upgraded yet. I don't know if the CI builds will support it either. Please leave these as v143.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update the logic in RA_Version.rc so the properties dialog will properly report the DLL as ARM64.
RAIntegration/src/RA_Version.rc
Lines 11 to 17 in 02dd50e
| #ifdef _WIN64 | |
| #define RA_INTEGRATION_VERSION_PRODUCT_ARCH RA_INTEGRATION_VERSION_PRODUCT " (x64)" | |
| #define RA_INTEGRATION_ORIGINAL_FILENAME "RA_Integration-x64.dll" | |
| #else | |
| #define RA_INTEGRATION_VERSION_PRODUCT_ARCH RA_INTEGRATION_VERSION_PRODUCT " (x86)" | |
| #define RA_INTEGRATION_ORIGINAL_FILENAME "RA_Integration.dll" | |
| #endif |
| <ConfigurationType>DynamicLibrary</ConfigurationType> | ||
| <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||
| <PlatformToolset>v143</PlatformToolset> | ||
| <PlatformToolset>v145</PlatformToolset> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few lines up from here, please update the logic to set the TargetName to RA_Integration-ARM64.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will check these changes out when I next get a chance to, I can also revert to v143 that was simply as that was the toolset I had installed I will reupload and yes I have working builds of rasnes9x and rapplewin and am working at porting more over as well, just submitting so you can add a working architecture to your codebase if you so wish to but I will clean it up accordingly. Thank you for your feedback.
|
So I am going to start with apologising as I am going to close this PR, this was my first PR and I can't figure how to update my changes that you requested, I will list them here so if you wish to use them though again it won't build properly in my fork but applied to the master tree this will add a clean labelled arm64 build using v143 of msvc, I am not sure if you are one of the maintainers of other RA trees I do have a working RAsnes9x and RAppleWin build for arm64 as well and am working on RAnes and RAProject64 but I am wasiting time wrestling with github and it is just leaving me not even wanting to contribute for the sln if you just never change the versioning at the beginning it stays at v143, for the adding the arm64 string #if defined(_M_ARM64) || defined(ARM64) I also added the macro of _M_ARM64 to the preprocessor flags RA_INTEGRATION exports under Resources => General and the build name was hardcoded in the ARM64 to RA_Integration-x64 under the Configuration Properties => General tab so I changed that for the ARM64 build(I copied the x64 build for the ARM64 version) those changes accomplish the changes you requested and will successfully build win32 x64 and ARM64 named all appropriately, I am sorry I will have to work on learning the github workflow better if i am to try to use this tool again though I likely will not be using github again. |
This PR adds ARM64 platform support for RAIntegration.
Changes included:
Note: This PR does not modify Win32 or x64 configurations. All changes are isolated to the new ARM64 platform.