Given its aim of small size and minimum redundancy, BlueALSA makes many of its features optional and only includes them when explicitly requested when configuring the build. The number of options is therefore large, too large to be covered fully here. For a comprehensive installation guide, please look at the Installation from source project wiki page. If you've found something missing or incorrect, feel free to make a wiki contribution.
Firstly, create the configure
script. Run, in the top level project
directory:
autoreconf --install
then, to see a complete list of all options:
./configure --help
Dependencies:
- alsa-lib
- bluez >= 5.0
- glib with GIO support
- sbc
- docutils (when man pages build is enabled
with
--enable-manpages
) - fdk-aac (when AAC support is enabled
with
--enable-aac
) - lc3plus
(when LC3plus support is enabled with
--enable-lc3plus
) - libldac (when LDAC support is enabled
with
--enable-ldac
) - libopenaptx (when apt-X support is
enabled and
--with-libopenaptx
is used) - mp3lame (when MP3 support is enabled with
--enable-mp3lame
) - mpg123 (when MPEG decoding support is enabled with
--enable-mpg123
) - openaptx (when apt-X support is enabled
with
--enable-aptx
and/or--enable-aptx-hd
) - spandsp (when mSBC support is enabled with
--enable-msbc
)
Dependencies for client applications (e.g. bluealsa-aplay
or bluealsa-cli
):
Dependencies for bluealsa-rfcomm
(when --enable-rfcomm
is specified during
configuration):
Dependencies for hcitop
(when --enable-hcitop
is specified during
configuration):
Once the desired options have been chosen, run:
mkdir build && cd build
../configure [ OPTION ... ]
When the project is configured, compile and install it by running:
make
sudo make install
When building from the git sources, if git pull
is used to update the source
tree, then it is recommended to refresh the build in order to update the
version identifier embedded in the configure files. In the top-level directory
run:
autoreconf --install --force
then in the build directory run make clean
before running make
.