From 23da59920c4c911ee08498eb283b69bdef80fd65 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 29 Jul 2019 20:57:48 +0200 Subject: make pulseaudio an optional dependency, follow best practices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For my thoughts about optional dependencies, see https://michael.stapelberg.ch/posts/2019-05-23-optional-dependencies/ This commit follows the best practices outlined in that article: 1. The travis config was modified to verify both code paths build and link/don’t link against pulseaudio. 2. If pulseaudio is missing, the build fails until packagers explicitly pass a --disable flag. In practice, I think the only situation when this flag should be set is in source-based linux distributions where users can express package-level compilation preferences (e.g. Gentoo USE flags). 3. The --version output now reflects the status of the optional dependency. fixes #359 --- i3status.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'i3status.c') diff --git a/i3status.c b/i3status.c index 0898da3..1ab8400 100644 --- a/i3status.c +++ b/i3status.c @@ -565,7 +565,13 @@ int main(int argc, char *argv[]) { return 0; break; case 'v': - printf("i3status " VERSION " © 2008 Michael Stapelberg and contributors\n"); + printf("i3status " VERSION " © 2008 Michael Stapelberg and contributors\n" +#if HAS_PULSEAUDIO + "Built with pulseaudio support\n" +#else + "Built without pulseaudio support\n" +#endif + ); return 0; break; case 0: -- cgit v1.2.3