btrfs-progs: docs: add section about filesystem limits to btrfs(5)
[platform/upstream/btrfs-progs.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index cc48217..24d6e24 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -7,43 +7,80 @@ The Btrfs utility programs require the following libraries/tools to build:
 - libblkid - block device id library
 - liblzo2 - LZO data compression library
 - zlib - ZLIB data compression library
+- libzstd - ZSTD data compression library version >= 1.0.0
 
 For the btrfs-convert utility:
 
 - e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
+- libreiserfscore - reiserfs file system library version >= 3.6.27
 
 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
+XATTR library 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
+Building from sources
+---------------------
+
+To build from git sources you need to generate the configure script using the
+autotools:
+
+    $ ./autogen.sh
 
 To build from the released tarballs:
 
- $ ./configure
- $ make
- $ make install
+    $ ./configure
+    $ make
+    $ make install
+
+To install the libbtrfsutil Python bindings:
+
+    $ make install_python
 
 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
+    $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
+
+and not as arguments to make. You can specify additional flags to build via
+variables EXTRA_CFLAGS and EXTRA_LDFLAGS that get appended to the predefined
+values of the respective variables. There are further build tuning options
+documented in the Makefile.
+
+    $ make EXTRA_CFLAGS=-ggdb3
+
+The build utilizes autotools, dependencies for generating the configure
+scripts are:
+
+* autconf, autoheader
+* automake, aclocal
+* pkg-config
+
+
+Statically built binaries
+-------------------------
+
+The makefiles are ready to let you build static binaries of the utilities. This
+may be handy in rescue environments. Your system has to provide static version
+of the libraries.
+
+    $ make static
+    $ make btrfs.static
+    $ make btrfs-convert.static
+
+The resulting binaries have the '.static' suffix, the intermediate object
+files do not conflict with the normal (dynamic) build.
 
-and not as arguments to make.
 
 References:
 * https://btrfs.wiki.kernel.org