|
Packit |
34410b |
BlueZ - Bluetooth protocol stack for Linux
|
|
Packit |
34410b |
******************************************
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Copyright (C) 2000-2001 Qualcomm Incorporated
|
|
Packit |
34410b |
Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com>
|
|
Packit |
34410b |
Copyright (C) 2002-2010 Marcel Holtmann <marcel@holtmann.org>
|
|
Packit |
34410b |
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Compilation and installation
|
|
Packit |
34410b |
============================
|
|
Packit |
34410b |
|
|
Packit |
34410b |
In order to compile Bluetooth utilities you need following software packages:
|
|
Packit |
34410b |
- GCC compiler
|
|
Packit |
34410b |
- GLib library
|
|
Packit |
34410b |
- D-Bus library
|
|
Packit |
34410b |
- udev library (optional)
|
|
Packit |
34410b |
- readline (command line clients)
|
|
Packit |
34410b |
|
|
Packit |
34410b |
To configure run:
|
|
Packit |
34410b |
./configure --prefix=/usr --mandir=/usr/share/man \
|
|
Packit |
34410b |
--sysconfdir=/etc --localstatedir=/var
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Configure automatically searches for all required components and packages.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
To compile and install run:
|
|
Packit |
34410b |
make && make install
|
|
Packit |
34410b |
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Embedded Linux library
|
|
Packit |
34410b |
======================
|
|
Packit |
34410b |
|
|
Packit |
34410b |
In order to compile mesh support and test client utility the development
|
|
Packit |
34410b |
version of Embedded Linux library is required to be present. The development
|
|
Packit |
34410b |
repositories can be found here:
|
|
Packit |
34410b |
|
|
Packit |
34410b |
git://git.kernel.org/pub/scm/libs/ell/ell.git
|
|
Packit |
34410b |
https://kernel.googlesource.com/pub/scm/libs/ell/ell.git
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The build systems requires that the Embedded Linux library source code
|
|
Packit |
34410b |
is available on the same top level directory as the source code:
|
|
Packit |
34410b |
|
|
Packit |
34410b |
.
|
|
Packit |
34410b |
|--- ell
|
|
Packit |
34410b |
| |--- ell
|
|
Packit |
34410b |
| `--- unit
|
|
Packit |
34410b |
`--- bluez
|
|
Packit |
34410b |
|--- src
|
|
Packit |
34410b |
`--- tools
|
|
Packit |
34410b |
|
|
Packit |
34410b |
It is not required to build or install Embedded Linux library. The build
|
|
Packit |
34410b |
will happen when building the binaries and it will then be linked internally.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
When using --enable-external-ell build option, it is not required that the
|
|
Packit |
34410b |
Embedded Linux library source code is available in the top level directory.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
When neither --enable-mesh nor --enable-btpclient is specified, then this
|
|
Packit |
34410b |
part is irrelevant and Embedded Linux library is not required.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Configuration and options
|
|
Packit |
34410b |
=========================
|
|
Packit |
34410b |
|
|
Packit |
34410b |
For a working system, certain configuration options need to be enabled:
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-library
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Enable installation of Bluetooth library
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the Bluetooth library is no longer installed.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The user interfaces or command line utilities do not
|
|
Packit |
34410b |
require an installed Bluetooth library anymore. This
|
|
Packit |
34410b |
option is provided for legacy third party applications
|
|
Packit |
34410b |
that still depend on the library.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
When the library installation is enabled, it is a good
|
|
Packit |
34410b |
idea to use a separate bluez-library or libbluetooth
|
|
Packit |
34410b |
package for it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-tools
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable support for Bluetooth utilities
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the Bluetooth utilities are built and also
|
|
Packit |
34410b |
installed. For production systems the tools are not
|
|
Packit |
34410b |
needed and this option allows to disable them to save
|
|
Packit |
34410b |
build time and disk space.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
When the tools are selected, it is a good idea to
|
|
Packit |
34410b |
use a separate bluez-tools package for them.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-cups
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable support for CUPS printer backend
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the printer backend for CUPS is build and
|
|
Packit |
34410b |
also installed. For systems that do not require printing
|
|
Packit |
34410b |
over Bluetooth, this options allows to disable it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
When the CUPS backend is selected, it is a good idea to
|
|
Packit |
34410b |
use a separate bluez-cups package for it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-monitor
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable support for the Bluetooth monitor utility
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the monitor utility is enabled. It provides
|
|
Packit |
34410b |
support for HCI level tracing and debugging. For systems
|
|
Packit |
34410b |
that don't require any kind of tracing or debugging
|
|
Packit |
34410b |
capabilities, this options allows to disable it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The monitor utility should be placed in the main package
|
|
Packit |
34410b |
along with the daemons. It is universally useful.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-client
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable support for the command line client
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the command line client is enabled and uses the
|
|
Packit |
34410b |
readline library. For specific systems where BlueZ is
|
|
Packit |
34410b |
configured by other means, the command line client can be
|
|
Packit |
34410b |
disabled and the dependency on readline is removed.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The client should be placed in the main package along
|
|
Packit |
34410b |
with the daemons. It is universally useful.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-systemd
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable integration with systemd
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the integration with systemd is enabled and
|
|
Packit |
34410b |
installed. This gives the best integration into all
|
|
Packit |
34410b |
distributions based on systemd.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not
|
|
Packit |
34410b |
support systemd. In that case all integration with the
|
|
Packit |
34410b |
init system is up to the package.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-a2dp
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable A2DP profile
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default bluetoothd supports A2DP profile using a built-in
|
|
Packit |
34410b |
plugin, this option disables it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not have any
|
|
Packit |
34410b |
audio capabilities.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-avrcp
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable AVRCP profile
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default bluetoothd supports AVRCP profile using a built-in
|
|
Packit |
34410b |
plugin, this option disables it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not have any
|
|
Packit |
34410b |
audio capabilities.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-network
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable PANU, NAP, GN profiles
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default bluetoothd supports PANU, NAP and GN profile using a
|
|
Packit |
34410b |
built-in plugin, this option disables it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not have any
|
|
Packit |
34410b |
network capabilities.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-hid
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable HID profile
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default bluetoothd supports HID profile using a built-in
|
|
Packit |
34410b |
plugin, this option disables it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not have any
|
|
Packit |
34410b |
input capabilities.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--disable-hog
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Disable HoG profile
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default bluetoothd supports HoG profile using a built-in
|
|
Packit |
34410b |
plugin, this option disables it.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option is provided for distributions that do not have any
|
|
Packit |
34410b |
input capabilities.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-testing
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Enable testing tools
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default tools used only for testing emulation are disabled.
|
|
Packit |
34410b |
This option can be used to enable them.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
It is not recommended to enable this option for production
|
|
Packit |
34410b |
systems. These tools may contain tests that depend on specific
|
|
Packit |
34410b |
environment or kernel features in development.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-experimental
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Enable experimental tools
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default all tools that are still in development
|
|
Packit |
34410b |
are disabled. This option can be used to enable them.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
It is not recommended to enable this option for production
|
|
Packit |
34410b |
systems. The behavior of the experimental tools is unstable
|
|
Packit |
34410b |
and might still change.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-deprecated
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Enable deprecated tools
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By defauld all tools that are no longer maintained are
|
|
Packit |
34410b |
disabled. This option can be used to enable them.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
It is not recommended to enable this option for production
|
|
Packit |
34410b |
systems. The behavior of the deprecated tools may be unstable
|
|
Packit |
34410b |
or simply don't work anymore.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-nfc
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option enable NFC pairing support.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default the integration with neard is disabled, this gives
|
|
Packit |
34410b |
the option to enable it in system where neard is supported.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The plugin is built into bluetoothd therefore it does not need
|
|
Packit |
34410b |
to be package separately.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-sap
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option enable SAP profile using sap plugin.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default sap plugin is disabled since it requires tight
|
|
Packit |
34410b |
integration with systems and is very rarely required.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The plugin is built into bluetoothd therefore it does not need
|
|
Packit |
34410b |
to be package separately.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-health
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option enable health profiles.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default health plugin is disabled since its profiles are
|
|
Packit |
34410b |
target for the health industry.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The plugin is built into bluetoothd therefore it does not need
|
|
Packit |
34410b |
to be package separately.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
--enable-midi
|
|
Packit |
34410b |
|
|
Packit |
34410b |
This option enable MIDI support via ALSA Sequencer.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
By default midi plugin is disabled since it still considered
|
|
Packit |
34410b |
experimental. When bluetoothd will create a new ALSA Sequencer
|
|
Packit |
34410b |
client and port for each device connected that supports the
|
|
Packit |
34410b |
MIDI GATT primary service.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
The plugin is built into bluetoothd therefore it does not need
|
|
Packit |
34410b |
to be package separately.
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Information
|
|
Packit |
34410b |
===========
|
|
Packit |
34410b |
|
|
Packit |
34410b |
Mailing lists:
|
|
Packit |
34410b |
linux-bluetooth@vger.kernel.org
|
|
Packit |
34410b |
|
|
Packit |
34410b |
For additional information about the project visit BlueZ web site:
|
|
Packit |
34410b |
http://www.bluez.org
|