Sphereserver / Source-X

Ultima Online server emulator
Apache License 2.0
55 stars 44 forks source link

Add workflow for ARM64 build generation #1275

Open raydienull opened 3 weeks ago

Otacon commented 3 weeks ago

Specifically for RaspberryPI (ARM64) I've noticed that there are few compilation warning

CPointBase.h:73:22: warning: comparison is always true due to limited range of data type [-Wtype-limits]
   73 |         return ((m_z > -127 /* -UO_SIZE_Z */) && (m_z < 127 /* UO_SIZE_Z */));

Those needs to be addressed appropriately, by adding the compilation flag

-fsigned-char

to the makefile

cbnolok commented 2 weeks ago

Added AArch64 CMake toolchain. Afaik GH ARM image is not easily/freeily available to open source projects, as it's in beta and not provided officially by GH but it's built by ARM. Should we wait instead of using qemu to emulate that arch on an x86_64 image?

Otacon commented 2 weeks ago

Should we wait instead of using qemu to emulate that arch on an x86_64 image? I guess so: I don't think there's any rush to support ARM as most of the hosting providers are using x86/64 or ARM on MACS, which has already been covered.

However, If you've completed the toolchain, I think it would be good to add the toolchain and the Github Actions script to the codebase to have them as a reference for someone that is willing to build it locally.

Once the Linux/Arm machine will be publicly available, we just need to enable it.