BlueZ - Bluetooth protocol stack for Linux
******************************************

Copyright (C) 2000-2001  Qualcomm Incorporated
Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com>
Copyright (C) 2002-2006  Marcel Holtmann <marcel@holtmann.org>

Bluetooth utilities


Compilation and installation
============================

In order to compile Bluetooth utilities you need following software packages:
	- Linux Bluetooth protocol stack (BlueZ)
	- GCC compiler
	- D-Bus library
	- USB library
	- Lexical Analyzer (flex, lex)
	- YACC (yacc, bison, byacc)

To configure run:
	./configure --prefix=/usr --mandir=/usr/share/man \
				--sysconfdir=/etc --localstatedir=/var
 
Configure automatically searches for all required components and packages. 

To compile and install run:
	make && make install


Information
===========

Mailing lists:
	bluez-users@lists.sf.net - BlueZ general questions and discussions
	bluez-devel@lists.sf.net - BlueZ development 

For additional information about the project visit BlueZ web site:
	http://www.bluez.org
