Blame iscsiuio/INSTALL

Packit eace71
Installation Instructions
Packit eace71
*************************
Packit eace71
Packit eace71
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
Packit eace71
2006, 2007, 2008 Free Software Foundation, Inc.
Packit eace71
Packit eace71
   This file is free documentation; the Free Software Foundation gives
Packit eace71
unlimited permission to copy, distribute and modify it.
Packit eace71
Packit eace71
Basic Installation
Packit eace71
==================
Packit eace71
Packit eace71
   Briefly, the shell commands `./configure; make; make install' should
Packit eace71
configure, build, and install this package.  The following
Packit eace71
more-detailed instructions are generic; see the `README' file for
Packit eace71
instructions specific to this package.
Packit eace71
Packit eace71
   The `configure' shell script attempts to guess correct values for
Packit eace71
various system-dependent variables used during compilation.  It uses
Packit eace71
those values to create a `Makefile' in each directory of the package.
Packit eace71
It may also create one or more `.h' files containing system-dependent
Packit eace71
definitions.  Finally, it creates a shell script `config.status' that
Packit eace71
you can run in the future to recreate the current configuration, and a
Packit eace71
file `config.log' containing compiler output (useful mainly for
Packit eace71
debugging `configure').
Packit eace71
Packit eace71
   It can also use an optional file (typically called `config.cache'
Packit eace71
and enabled with `--cache-file=config.cache' or simply `-C') that saves
Packit eace71
the results of its tests to speed up reconfiguring.  Caching is
Packit eace71
disabled by default to prevent problems with accidental use of stale
Packit eace71
cache files.
Packit eace71
Packit eace71
   If you need to do unusual things to compile the package, please try
Packit eace71
to figure out how `configure' could check whether to do them, and mail
Packit eace71
diffs or instructions to the address given in the `README' so they can
Packit eace71
be considered for the next release.  If you are using the cache, and at
Packit eace71
some point `config.cache' contains results you don't want to keep, you
Packit eace71
may remove or edit it.
Packit eace71
Packit eace71
   The file `configure.ac' (or `configure.in') is used to create
Packit eace71
`configure' by a program called `autoconf'.  You need `configure.ac' if
Packit eace71
you want to change it or regenerate `configure' using a newer version
Packit eace71
of `autoconf'.
Packit eace71
Packit eace71
The simplest way to compile this package is:
Packit eace71
Packit eace71
  1. `cd' to the directory containing the package's source code and type
Packit eace71
     `./configure' to configure the package for your system.
Packit eace71
Packit eace71
     Running `configure' might take a while.  While running, it prints
Packit eace71
     some messages telling which features it is checking for.
Packit eace71
Packit eace71
  2. Type `make' to compile the package.
Packit eace71
Packit eace71
  3. Optionally, type `make check' to run any self-tests that come with
Packit eace71
     the package.
Packit eace71
Packit eace71
  4. Type `make install' to install the programs and any data files and
Packit eace71
     documentation.
Packit eace71
Packit eace71
  5. You can remove the program binaries and object files from the
Packit eace71
     source code directory by typing `make clean'.  To also remove the
Packit eace71
     files that `configure' created (so you can compile the package for
Packit eace71
     a different kind of computer), type `make distclean'.  There is
Packit eace71
     also a `make maintainer-clean' target, but that is intended mainly
Packit eace71
     for the package's developers.  If you use it, you may have to get
Packit eace71
     all sorts of other programs in order to regenerate files that came
Packit eace71
     with the distribution.
Packit eace71
Packit eace71
  6. Often, you can also type `make uninstall' to remove the installed
Packit eace71
     files again.
Packit eace71
Packit eace71
Compilers and Options
Packit eace71
=====================
Packit eace71
Packit eace71
   Some systems require unusual options for compilation or linking that
Packit eace71
the `configure' script does not know about.  Run `./configure --help'
Packit eace71
for details on some of the pertinent environment variables.
Packit eace71
Packit eace71
   You can give `configure' initial values for configuration parameters
Packit eace71
by setting variables in the command line or in the environment.  Here
Packit eace71
is an example:
Packit eace71
Packit eace71
     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
Packit eace71
Packit eace71
   *Note Defining Variables::, for more details.
Packit eace71
Packit eace71
Compiling For Multiple Architectures
Packit eace71
====================================
Packit eace71
Packit eace71
   You can compile the package for more than one kind of computer at the
Packit eace71
same time, by placing the object files for each architecture in their
Packit eace71
own directory.  To do this, you can use GNU `make'.  `cd' to the
Packit eace71
directory where you want the object files and executables to go and run
Packit eace71
the `configure' script.  `configure' automatically checks for the
Packit eace71
source code in the directory that `configure' is in and in `..'.
Packit eace71
Packit eace71
   With a non-GNU `make', it is safer to compile the package for one
Packit eace71
architecture at a time in the source code directory.  After you have
Packit eace71
installed the package for one architecture, use `make distclean' before
Packit eace71
reconfiguring for another architecture.
Packit eace71
Packit eace71
   On MacOS X 10.5 and later systems, you can create libraries and
Packit eace71
executables that work on multiple system types--known as "fat" or
Packit eace71
"universal" binaries--by specifying multiple `-arch' options to the
Packit eace71
compiler but only a single `-arch' option to the preprocessor.  Like
Packit eace71
this:
Packit eace71
Packit eace71
     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
Packit eace71
                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
Packit eace71
                 CPP="gcc -E" CXXCPP="g++ -E"
Packit eace71
Packit eace71
   This is not guaranteed to produce working output in all cases, you
Packit eace71
may have to build one architecture at a time and combine the results
Packit eace71
using the `lipo' tool if you have problems.
Packit eace71
Packit eace71
Installation Names
Packit eace71
==================
Packit eace71
Packit eace71
   By default, `make install' installs the package's commands under
Packit eace71
`/usr/local/bin', include files under `/usr/local/include', etc.  You
Packit eace71
can specify an installation prefix other than `/usr/local' by giving
Packit eace71
`configure' the option `--prefix=PREFIX'.
Packit eace71
Packit eace71
   You can specify separate installation prefixes for
Packit eace71
architecture-specific files and architecture-independent files.  If you
Packit eace71
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
Packit eace71
PREFIX as the prefix for installing programs and libraries.
Packit eace71
Documentation and other data files still use the regular prefix.
Packit eace71
Packit eace71
   In addition, if you use an unusual directory layout you can give
Packit eace71
options like `--bindir=DIR' to specify different values for particular
Packit eace71
kinds of files.  Run `configure --help' for a list of the directories
Packit eace71
you can set and what kinds of files go in them.
Packit eace71
Packit eace71
   If the package supports it, you can cause programs to be installed
Packit eace71
with an extra prefix or suffix on their names by giving `configure' the
Packit eace71
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Packit eace71
Packit eace71
Optional Features
Packit eace71
=================
Packit eace71
Packit eace71
   Some packages pay attention to `--enable-FEATURE' options to
Packit eace71
`configure', where FEATURE indicates an optional part of the package.
Packit eace71
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
Packit eace71
is something like `gnu-as' or `x' (for the X Window System).  The
Packit eace71
`README' should mention any `--enable-' and `--with-' options that the
Packit eace71
package recognizes.
Packit eace71
Packit eace71
   For packages that use the X Window System, `configure' can usually
Packit eace71
find the X include and library files automatically, but if it doesn't,
Packit eace71
you can use the `configure' options `--x-includes=DIR' and
Packit eace71
`--x-libraries=DIR' to specify their locations.
Packit eace71
Packit eace71
Particular systems
Packit eace71
==================
Packit eace71
Packit eace71
   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
Packit eace71
CC is not installed, it is recommended to use the following options in
Packit eace71
order to use an ANSI C compiler:
Packit eace71
Packit eace71
     ./configure CC="cc -Ae"
Packit eace71
Packit eace71
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
Packit eace71
Packit eace71
   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
Packit eace71
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
Packit eace71
a workaround.  If GNU CC is not installed, it is therefore recommended
Packit eace71
to try
Packit eace71
Packit eace71
     ./configure CC="cc"
Packit eace71
Packit eace71
and if that doesn't work, try
Packit eace71
Packit eace71
     ./configure CC="cc -nodtk"
Packit eace71
Packit eace71
Specifying the System Type
Packit eace71
==========================
Packit eace71
Packit eace71
   There may be some features `configure' cannot figure out
Packit eace71
automatically, but needs to determine by the type of machine the package
Packit eace71
will run on.  Usually, assuming the package is built to be run on the
Packit eace71
_same_ architectures, `configure' can figure that out, but if it prints
Packit eace71
a message saying it cannot guess the machine type, give it the
Packit eace71
`--build=TYPE' option.  TYPE can either be a short name for the system
Packit eace71
type, such as `sun4', or a canonical name which has the form:
Packit eace71
Packit eace71
     CPU-COMPANY-SYSTEM
Packit eace71
Packit eace71
where SYSTEM can have one of these forms:
Packit eace71
Packit eace71
     OS KERNEL-OS
Packit eace71
Packit eace71
   See the file `config.sub' for the possible values of each field.  If
Packit eace71
`config.sub' isn't included in this package, then this package doesn't
Packit eace71
need to know the machine type.
Packit eace71
Packit eace71
   If you are _building_ compiler tools for cross-compiling, you should
Packit eace71
use the option `--target=TYPE' to select the type of system they will
Packit eace71
produce code for.
Packit eace71
Packit eace71
   If you want to _use_ a cross compiler, that generates code for a
Packit eace71
platform different from the build platform, you should specify the
Packit eace71
"host" platform (i.e., that on which the generated programs will
Packit eace71
eventually be run) with `--host=TYPE'.
Packit eace71
Packit eace71
Sharing Defaults
Packit eace71
================
Packit eace71
Packit eace71
   If you want to set default values for `configure' scripts to share,
Packit eace71
you can create a site shell script called `config.site' that gives
Packit eace71
default values for variables like `CC', `cache_file', and `prefix'.
Packit eace71
`configure' looks for `PREFIX/share/config.site' if it exists, then
Packit eace71
`PREFIX/etc/config.site' if it exists.  Or, you can set the
Packit eace71
`CONFIG_SITE' environment variable to the location of the site script.
Packit eace71
A warning: not all `configure' scripts look for a site script.
Packit eace71
Packit eace71
Defining Variables
Packit eace71
==================
Packit eace71
Packit eace71
   Variables not defined in a site shell script can be set in the
Packit eace71
environment passed to `configure'.  However, some packages may run
Packit eace71
configure again during the build, and the customized values of these
Packit eace71
variables may be lost.  In order to avoid this problem, you should set
Packit eace71
them in the `configure' command line, using `VAR=value'.  For example:
Packit eace71
Packit eace71
     ./configure CC=/usr/local2/bin/gcc
Packit eace71
Packit eace71
causes the specified `gcc' to be used as the C compiler (unless it is
Packit eace71
overridden in the site shell script).
Packit eace71
Packit eace71
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
Packit eace71
an Autoconf bug.  Until the bug is fixed you can use this workaround:
Packit eace71
Packit eace71
     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
Packit eace71
Packit eace71
`configure' Invocation
Packit eace71
======================
Packit eace71
Packit eace71
   `configure' recognizes the following options to control how it
Packit eace71
operates.
Packit eace71
Packit eace71
`--help'
Packit eace71
`-h'
Packit eace71
     Print a summary of all of the options to `configure', and exit.
Packit eace71
Packit eace71
`--help=short'
Packit eace71
`--help=recursive'
Packit eace71
     Print a summary of the options unique to this package's
Packit eace71
     `configure', and exit.  The `short' variant lists options used
Packit eace71
     only in the top level, while the `recursive' variant lists options
Packit eace71
     also present in any nested packages.
Packit eace71
Packit eace71
`--version'
Packit eace71
`-V'
Packit eace71
     Print the version of Autoconf used to generate the `configure'
Packit eace71
     script, and exit.
Packit eace71
Packit eace71
`--cache-file=FILE'
Packit eace71
     Enable the cache: use and save the results of the tests in FILE,
Packit eace71
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
Packit eace71
     disable caching.
Packit eace71
Packit eace71
`--config-cache'
Packit eace71
`-C'
Packit eace71
     Alias for `--cache-file=config.cache'.
Packit eace71
Packit eace71
`--quiet'
Packit eace71
`--silent'
Packit eace71
`-q'
Packit eace71
     Do not print messages saying which checks are being made.  To
Packit eace71
     suppress all normal output, redirect it to `/dev/null' (any error
Packit eace71
     messages will still be shown).
Packit eace71
Packit eace71
`--srcdir=DIR'
Packit eace71
     Look for the package's source code in directory DIR.  Usually
Packit eace71
     `configure' can determine that directory automatically.
Packit eace71
Packit eace71
`--prefix=DIR'
Packit eace71
     Use DIR as the installation prefix.  *Note Installation Names::
Packit eace71
     for more details, including other options available for fine-tuning
Packit eace71
     the installation locations.
Packit eace71
Packit eace71
`--no-create'
Packit eace71
`-n'
Packit eace71
     Run the configure checks, but stop before creating any output
Packit eace71
     files.
Packit eace71
Packit eace71
`configure' also accepts some other, not widely useful, options.  Run
Packit eace71
`configure --help' for more details.