| 
0
 | 
     1 Basic Installation
 | 
| 
 | 
     2 ==================
 | 
| 
 | 
     3 
 | 
| 
 | 
     4 To build and install HTSlib, 'cd' to the htslib-1.x directory containing
 | 
| 
 | 
     5 the package's source and type the following commands:
 | 
| 
 | 
     6 
 | 
| 
 | 
     7     ./configure
 | 
| 
 | 
     8     make
 | 
| 
 | 
     9     make install
 | 
| 
 | 
    10 
 | 
| 
 | 
    11 The './configure' command checks your build environment and allows various
 | 
| 
 | 
    12 optional functionality to be enabled (see Configuration below).  If you
 | 
| 
 | 
    13 don't want to select any optional functionality, you may wish to omit
 | 
| 
 | 
    14 configure and just type 'make; make install' as for previous versions
 | 
| 
 | 
    15 of HTSlib.  However if the build fails you should run './configure' as
 | 
| 
 | 
    16 it can diagnose the common reasons for build failures.
 | 
| 
 | 
    17 
 | 
| 
 | 
    18 The 'make' command builds the HTSlib library and and various useful
 | 
| 
 | 
    19 utilities: bgzip, htsfile, and tabix.  If compilation fails you should
 | 
| 
 | 
    20 run './configure' as it can diagnose problems with your build environment
 | 
| 
 | 
    21 that cause build failures.
 | 
| 
 | 
    22 
 | 
| 
 | 
    23 The 'make install' command installs the libraries, library header files,
 | 
| 
 | 
    24 utilities, several manual pages, and a pkgconfig file to /usr/local.
 | 
| 
 | 
    25 The installation location can be changed by configuring with --prefix=DIR
 | 
| 
 | 
    26 or via 'make prefix=DIR install' (see Installation Locations below).
 | 
| 
 | 
    27 
 | 
| 
 | 
    28 
 | 
| 
 | 
    29 Configuration
 | 
| 
 | 
    30 =============
 | 
| 
 | 
    31 
 | 
| 
 | 
    32 By default, './configure' examines your build environment, checking for
 | 
| 
 | 
    33 requirements such as the zlib development files, and arranges for a plain
 | 
| 
 | 
    34 HTSlib build.  The following configure options can be used to enable
 | 
| 
 | 
    35 various features and specify further optional external requirements:
 | 
| 
 | 
    36 
 | 
| 
 | 
    37 --with-irods[=DIR]
 | 
| 
 | 
    38     Specifies the location of the iRODS client library to use to enable
 | 
| 
 | 
    39     access to data objects stored in iRODS (<http://irods.org/>) via file
 | 
| 
 | 
    40     paths like 'irods:DATAOBJ'.  DIR is the base of an iRODS source tree
 | 
| 
 | 
    41     such that the library is present as DIR/lib/core/obj/libRodsAPI.* and
 | 
| 
 | 
    42     headers are present under DIR/lib/api/include and so on.  If '=DIR' is
 | 
| 
 | 
    43     omitted, $IRODS_HOME will be used as a base directory.
 | 
| 
 | 
    44 
 | 
| 
 | 
    45 The configure script also accepts the usual options and environment variables
 | 
| 
 | 
    46 for tuning installation locations and compilers: type './configure --help'
 | 
| 
 | 
    47 for details.  For example,
 | 
| 
 | 
    48 
 | 
| 
 | 
    49     ./configure CC=icc --prefix=/opt/icc-compiled
 | 
| 
 | 
    50 
 | 
| 
 | 
    51 would specify that HTSlib is to be built with icc and installed into bin,
 | 
| 
 | 
    52 lib, etc subdirectories under /opt/icc-compiled.
 | 
| 
 | 
    53 
 | 
| 
 | 
    54 
 | 
| 
 | 
    55 Installation Locations
 | 
| 
 | 
    56 ======================
 | 
| 
 | 
    57 
 | 
| 
 | 
    58 By default, 'make install' installs HTSlib libraries under /usr/local/lib,
 | 
| 
 | 
    59 HTSlib header files under /usr/local/include, utility programs under
 | 
| 
 | 
    60 /usr/local/bin, etc.  (To be precise, the header files are installed within
 | 
| 
 | 
    61 a fixed 'htslib' subdirectory under the specified .../include location.)
 | 
| 
 | 
    62 
 | 
| 
 | 
    63 You can specify a different location to install HTSlib by configuring
 | 
| 
 | 
    64 with --prefix=DIR or specify locations for particular parts of HTSlib by
 | 
| 
 | 
    65 configuring with --libdir=DIR and so on.  Type './configure --help' for
 | 
| 
 | 
    66 the full list of such install directory options.
 | 
| 
 | 
    67 
 | 
| 
 | 
    68 Alternatively you can specify different locations at install time by
 | 
| 
 | 
    69 typing 'make prefix=DIR install' or 'make libdir=DIR install' and so on.
 | 
| 
 | 
    70 Consult the list of prefix/exec_prefix/etc variables near the top of the
 | 
| 
 | 
    71 Makefile for the full list of such variables that can be overridden.
 | 
| 
 | 
    72 
 | 
| 
 | 
    73 You can also specify a staging area by typing 'make DESTDIR=DIR install',
 | 
| 
 | 
    74 possibly in conjunction with other --prefix or prefix=DIR settings.
 | 
| 
 | 
    75 For example,
 | 
| 
 | 
    76 
 | 
| 
 | 
    77     make DESTDIR=/tmp/staging prefix=/opt
 | 
| 
 | 
    78 
 | 
| 
 | 
    79 would install into bin, lib, etc subdirectories under /tmp/staging/opt.
 |