aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-21 16:19:24 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-21 16:19:24 +0100
commit417b09d31c5a19642c5c879fbce55528a675ca1a (patch)
tree045c4e299ed2aa0adafb7d4d47218cd7c0e3b46c
parent08397f89fd6fdefed67533bf9403bde07f1ee40e (diff)
parent93f8deb0f69d2545e23814dd27f4489fdd3740f2 (diff)
downloadmum-417b09d31c5a19642c5c879fbce55528a675ca1a.tar.gz
Merge branch 'readme-features' into main
-rw-r--r--README.org31
1 files changed, 31 insertions, 0 deletions
diff --git a/README.org b/README.org
index 8dcebee..81d8652 100644
--- a/README.org
+++ b/README.org
@@ -13,6 +13,8 @@ and operating systems, or they might be named something different.
- `alsa-lib`
- `openssl`
- `opus`
+- `libnotify` (optional)
+- `libsamplerate` (optional)
Windows is not currently supported but could be in the future. macOS should work.
Other operating systems haven't been tested. The limiting factor on Windows
@@ -29,6 +31,35 @@ $ ln -s $PWD/target/release/mumctl $HOME/.local/bin/
$ ln -s $PWD/target/release/mumd $HOME/.local/bin/
#+END_SRC
+*** Optional features
+`mum` contains optional features that are enabled by default. To compile without
+them, build with `--no-default-features`. Features can then be enabled with
+`--features "FEATURES"`.
+
+The following features can be specified:
+
+| Name | Needed for | Additional crates |
+|--------------------+---------------+-------------------|
+| mumd/notifications | Notifications | 20 |
+| mumd/sound-effects | Sound effects | 54 |
+
+Note that the "additional crates" isn't continually updated and might change.
+Features might also have overlapping dependencies.
+
+Awaiting `-Z package-features`, changing which features are compiled requires
+you to compile `mumd/` separately by entering its directory and specifying
+its features.
+
+To summarize with an example, the following compiles with only the
+notifications-feature enabled.
+
+#+BEGIN_SRC sh
+$ cd mumd
+$ cargo build --release --no-default-features --features "notifications"
+$ cd ../mumctl
+$ cargo build --release
+#+END_SRC
+
** Usage
This describes how to connect to a server and join different channels.
See usage.org or `$ mumctl --help` for more information.