Installation instructions
=========================

The Btrfs utility programs require the following libraries/tools to build:

- libuuid - provided by util-linux, e2fsprogs/e2fslibs or libuuid
- libblkid - block device id library
- liblzo2 - LZO data compression library
- zlib - ZLIB data compression library

For the btrfs-convert utility:

- e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs

Generating documentation:

- asciidoc - text document format tool
- xmlto - text document format tool

XATTR and ACL libraries should be provided by the standard C library or by

- libattr - extended attribute library
- libacl - access control list library

Please note that the package names may differ according to the distribution.
See https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories#Dependencies .

To build from git sources you need to generate the confiture script using the
autools:

 $ ./autogen.sh

To build from the released tarballs:

 $ ./configure
 $ make
 $ make install

You may disable building some parts like documentation, btrfs-convert or
backtrace support. See ./configure --help for more.

Specific CFLAGS or LDFLAGS should be set like

 $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr

and not as arguments to make.

References:
* https://btrfs.wiki.kernel.org
