Closed mwcampbell closed 3 months ago
I haven't looked into the cargo-c part yet. I wonder if Corrosion might be able to help with sonames, I know I read stuff at the time but I can't recall whether it was implemented yet. I'm not a big fan of having a separate path for Linux as CMake should be able to handle this, and we're only making it harder with our deep directory structure. I understand why it is desirable as we frequently push new releases, but this doesn't seem to be a common practice.
I don't think adding cargo-c as a second build option will increase maintenance cost much in the long term. And I'm adding it as an alternative rather than replacing CMake because I don't want to disrupt the solution that's working well enough for the non-distro use case.
Maybe it would be possible to do what I need with CMake, but cargo-c makes it pretty easy. I've already verified that it works in the build system used to build the GNOME OS images and Flatpak runtime.
I backed out the cargo-c part of this PR. I'm not sure yet if cargo-c is what we actually need, particularly for GTK. We might actually need to add Meson instead in order to meet GTK's requirements. But I want to at least get the header file pre-generation merged.
As we get closer to upstreaming the GTK AccessKit integration, there are two issues with the C bindings that we need to fix: