Skip to content

Instantly share code, notes, and snippets.

@kripton
Created December 13, 2012 10:11
Show Gist options
  • Save kripton/4275466 to your computer and use it in GitHub Desktop.
Save kripton/4275466 to your computer and use it in GitHub Desktop.
Thoughts about dependencies
All functionlities of krad are enabled by default
Some of them (GUI (station manager), xmms2, jack, wayland, x11, some codecs) can be disabled during
configuration
To disable, we use either "--without-FUNCTION" or "--disable-FUNCTION" (I don't care which :)
The build system will fail if a function has not been disabled but the dependency is missing
(just like today). There shall be no automagic like "If dependency is found on the system,
feature "xyz" will be silently enabled, otherwise it will be silently disabled"
Instead of having to install the dep, there's another option now: Disable the functionality
So there's no change in the current behavior: You run "./waf configure" w/o options: you get
everything compiled in or an error if a dependency is missing
The user will be notified (entry in logfile) if a needed functionality was disabled at build-time
Example: "krad_radio sysname input something" w/o jack-support will print "Feature jack was
disabled at build time. Please rebuild without disabling support for jack" (or s.th. like that)
the current options "--x11" and "--wayland" will have to be changed to "--without-x11" and
"--without-wayland" and their logic inverted (they activate a default-disabled functionality)
My priority of things to be made optional (will be different to oneman's view ;):
- gtk+:3 DONE: https://github.com/krad-radio/krad_radio/pull/10
- the mentioned wayland/x11-thingy (the are optional now) DONE: https://github.com/krad-radio/krad_radio/pull/11
- xmms2
- jack
- codecs like opus, vorbis, theora, vp8, flac and such (though personally I wouldn't ever disable
one of these)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment