Blame README

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