diff options
| author | Michael Stapelberg <michael@stapelberg.de> | 2019-07-29 20:57:48 +0200 | 
|---|---|---|
| committer | Michael Stapelberg <michael@stapelberg.de> | 2019-07-29 21:07:40 +0200 | 
| commit | 23da59920c4c911ee08498eb283b69bdef80fd65 (patch) | |
| tree | 59a9a8bac909e243eabdb2c58e48ec8e5c79f566 /i3status.c | |
| parent | 40aeb7bc44aa0fc8373acb8b57debb1c285e7009 (diff) | |
make pulseaudio an optional dependency, follow best practices
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
Diffstat (limited to 'i3status.c')
| -rw-r--r-- | i3status.c | 8 | 
1 files changed, 7 insertions, 1 deletions
@@ -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:  | 
