-
Notifications
You must be signed in to change notification settings - Fork 13
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
Add libs for linux-arm64 and linux-arm #55
Conversation
The bindings don't yet compile. There are errors in SDL_pixels.g.cs, SDL_stdinc.g.cs and SDL_thread.g.cs, a bunch of warnings about "Function like macro definition records are not supported", and a few "Info: Potential missing remapping". Built on SDL commit: libsdl-org/SDL@6ad390f
Probably needs similar undefines on Linux and macOS. Notice that the signatures of `SDL_CreateThread` and `SDL_CreateThreadWithStackSize` have changed.
There are warnings for platform-specific functions.
Doesn't compile because of duplicate `_XEvent` definitions. Linux fails crossgen on Windows due to missing `endian.h`
This works because SDL checks <endian.h> iff SDL_BYTEORDER isn't defined. https://github.com/libsdl-org/SDL/blob/6ad390fc5093bcbf785b7ad103484501d11d8c2a/include/SDL3/SDL_endian.h#L58-L60
The win32 types are kinda cursed, but it makes it easy to copy&paste and check.
These map to 16-bit `ushort` on windows, but are 32-bit on Unix.
This matches .NET's UTF-8 `ReadOnlySpan<byte>` (see `SDL_hints.g.cs`).
Produces a lot of noise about unused remappings (as we're processing a header at a time). All remappings (except `SDL_JoystickGUID`) have been added. `SDL_JoystickGUID` is a remapping of a struct, so it's harded to do programatically.
This doesn't compile as ClangSharp fails to emit `unchecked` in `SDL_pen.g.cs` and `SDL_touch.g.cs`. And `(SDL_bool)` casts in `SDL_rect.g.cs`.
This doesn't compile because of duplicate `SDL_Keycode` definition
All of these get "Function like macro definition records are not supported: [...] Generated bindings may be incomplete." warnings when running ClangSharp.
Useful as any pointer type can implicitly covert to void *.
`string[]` marshalling is horrible to implement manually, so I'm using `LibraryImport`.
…ta-overload Add string-friendly overload for `SDL_SetClipboardData`
Update `SDL_WINDOWPOS_*` macro types to SDL_DisplayID
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.
Thanks for this, just a few nits.
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.
Any reason to separate this into a new workflow rather than bundling into build.yml
? Means we have to manually run two workflows for every update.
The ideal solution would be to have a sh
script that runs the build commands that can be shared between the docker/non-docker variants, but I think I'd be fine to just bundle it into build.yml
as is for now if that's too complicated for whatever reason.
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 wanted to avoid having to tinker with the already working build.yml
, but having them together is the cleaner solution. The build script is now in build.sh
.
87b6676
to
ce228d6
Compare
ac95bf5
to
d692bb5
Compare
This PR adds the linux-arm64 and linux-arm libraries as part of ppy/osu-deploy#170.