-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Fail configuration if X11 dependency packages aren't available #14389
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
|
I'm sure we've discussed this in the past, but I'm not sure on what issue or PR. What we probably ideally want is the CMake equivalent of Meson's https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies#CMake describes how to make the boolean argument a toggle between the equivalent of Meson's If I understand correctly, having features be |
See also Autotools |
51c2eee to
173c77f
Compare
I see you're doing this for the X11 stuff. One important cost of this is that it makes X11 inconsistent with e.g. Wayland, PulseAudio, Pipewire where I agree that in an ideal world, we probably want all the X11 libraries to be mandatory-unless-explicitly-disabled on OSs where X11 is expected to be used (Linux, *BSD, and basically any other Unix system, except for special cases that have their own UI framework, like the Darwin family, Android and maybe Haiku) - but is this inconsistency an acceptable price to pay for that? (And the fact that this is OS-dependent means we need OS-dependent behaviour, which is more complicated.) On Linux in the 2020s, we probably also want Pulseaudio and Wayland to be mandatory-unless-explicitly-disabled? (We can disable Wayland for retrocomputing platforms like Steam Runtime 1 'scout'.) And perhaps also Pipewire and ALSA? If Wayland is enabled, perhaps libdecor should also be mandatory-unless-explicitly-disabled? But that's getting into dependencies that are conditional on other dependencies which is pretty complicated. |
Yeah, I'm not 100% sure we want this change, but we're relying on X11 extensions more and I want to make sure people don't accidentally have broken builds. It comes up pretty regularly that we get a bug report and someone forgot to install one of the development packages. Maybe we should just treat the X11 extension libraries as required if X11 is enabled and found? |
|
I've re-scoped this just to X11 libraries, for clarity. |
It happens fairly often that people enable X11 support but don't install the extension libraries that SDL depends on. This makes those required if not explicitly disabled, which should help prevent accidentally broken builds.
…sn't available Fixes libsdl-org#14388
This prevents people from accidentally creating builds that are missing expected functionality.