Installation
============

1) Generate custom makefiles.

   Run the 'configure' script from the top directory.

   If you don't want to include the LVM1 backwards-compatibility code use:
     ./configure --with-lvm1=none 

   To separate the LVM1 support into a shared library loaded by lvm.conf use:
     ./configure --with-lvm1=shared

   Use ./configure --help to see other options.

2) Build and install.

   Run 'make' from the top directory to build everything you configured.
   Run 'make install' to build and install everything you configured.

   If you only want the device-mapper libraries and tools use
   'make device-mapper' or 'make install_device-mapper'.

3) If using LVM2, create a configuration file.

   The tools will work fine without a configuration file being
   present, but you ought to review the example file in doc/example.conf.

Please also refer to the WHATS_NEW file and the manual pages for the 
individual commands.

