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] Add support for C3 to bindgen #1148

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

radekm
Copy link

@radekm radekm commented Nov 12, 2024

I thought bindgen support for C3 language could be useful, so I created this PR.

Unfortunately I haven't yet ported examples to C3 and have tested it only on macOS arm64.

Generated code can be browsed in my repository https://github.com/radekm/sokol-c3/

@floooh
Copy link
Owner

floooh commented Nov 12, 2024

@radekm
Copy link
Author

radekm commented Nov 12, 2024

Oh my, you're right, I somehow managed to use Python 3.12 feature which doesn't work in older Pythons (specifically using single quotes inside single-quoted f-string).

@radekm
Copy link
Author

radekm commented Nov 13, 2024

I have fixed CI (at least in my repo) by adding checkout of radekm/sokol-c3 into .github/workflows/gen_bindings.yml.

@floooh
Copy link
Owner

floooh commented Nov 13, 2024

Oki, before merging C3 support, I'd like to get to a similar state as https://github.com/floooh/sokol-zig, e.g. a repository for the bindings, at least a handful examples ported, and an easy way to build the examples.

Should I create a repo under floooh/sokol-c3, and you could populate that?

@radekm
Copy link
Author

radekm commented Nov 14, 2024

Should I create a repo under floooh/sokol-c3, and you could populate that?

Sounds great! Yes, please create the repo.

@floooh
Copy link
Owner

floooh commented Nov 14, 2024

Ok see: https://github.com/floooh/sokol-c3

I added you as collaborator so you can push directly (I think Github will send you an invite email). Later we should probably both work through PRs instead of committing directly to main.

I also added your name to the LICENSE file.

Once everything is setup I will add the code to the sokol CI pipeline to automatically update and push changes.

@floooh
Copy link
Owner

floooh commented Nov 30, 2024

Hi @radekm what's the state of the PR, is it ready to merge or should I wait a bit more?

There's a curious CI error in the sokol-c3 repo:

https://github.com/floooh/sokol-c3/actions/runs/12096168226/job/33730154985

...any ideas what this is about? If it is some sort of Mac-specific C3 compiler error or regression we can out-comment the Mac build from the CI build matrix for now (I've seen similar stuff in the past in other languages when ARM Macs were new-ish).

@@ -66,6 +66,10 @@ jobs:
with:
repository: colinbellino/sokol-jai
path: bindgen/sokol-jai
- uses: actions/checkout@main
with:
repository: radekm/sokol-c3
Copy link
Owner

Choose a reason for hiding this comment

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

This needs to be changed to floooh/sokol-c3.

And we also should have a build step test-c3 further down which depends on the gen-bindings job. The test job should basically be a copy of the CI job in the sokol-c3 repo. It's just there to prevent pushing to sokol-c3 if test compilation fails.

(...I can take care of the final deploy-job, since this involves creating an SSH key and some Github shenanigans to allow pushing to the sokol-c3 repo)

@@ -28,6 +28,7 @@ To update the Zig bindings:
> git clone https://github.com/floooh/sokol-rust
> git clone https://github.com/floooh/sokol-d
> git clone https://github.com/colinbellino/sokol-jai
> git clone https://github.com/radekm/sokol-c3
Copy link
Owner

Choose a reason for hiding this comment

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

....also needs to be changed to floooh/sokol-c3

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.

2 participants