Blame INSTALL

Packit dd8086
Installation Instructions
Packit dd8086
*************************
Packit dd8086
Packit dd8086
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
Packit dd8086
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Packit dd8086
Packit dd8086
   Copying and distribution of this file, with or without modification,
Packit dd8086
are permitted in any medium without royalty provided the copyright
Packit dd8086
notice and this notice are preserved.  This file is offered as-is,
Packit dd8086
without warranty of any kind.
Packit dd8086
Packit dd8086
Basic Installation
Packit dd8086
==================
Packit dd8086
Packit dd8086
   If you are compiling from git sources, see README.develop.
Packit dd8086
Packit dd8086
   Briefly, the shell command:
Packit dd8086
   ./configure && make && sudo make install
Packit dd8086
Packit dd8086
should configure, build, and install this package. "sudo" may not be
Packit dd8086
in situations where "root" access is not needed to install software.
Packit dd8086
Packit dd8086
   The `configure' shell script attempts to guess correct values for
Packit dd8086
various system-dependent variables used during compilation.  It uses
Packit dd8086
those values to create a `Makefile' in each directory of the package.
Packit dd8086
It may also create one or more `.h' files containing system-dependent
Packit dd8086
definitions.  Finally, it creates a shell script `config.status' that
Packit dd8086
you can run in the future to recreate the current configuration, and a
Packit dd8086
file `config.log' containing compiler output (useful mainly for
Packit dd8086
debugging `configure').
Packit dd8086
Packit dd8086
   If you need to do unusual things to compile the package, please try
Packit dd8086
to figure out how `configure' could check whether to do them, and send
Packit dd8086
patches to https://savannah.gnu.org/patch/?group=libcdio
Packit dd8086
Packit dd8086
   The file `configure.ac' is used to create `configure' by a program
Packit dd8086
called `autoconf'.  You need `configure.ac' if you want to change it
Packit dd8086
or regenerate `configure' using a newer version of `autoconf'.
Packit dd8086
Packit dd8086
   The simplest way to compile this package is:
Packit dd8086
Packit dd8086
  1. `cd' to the directory containing the package's source code and type
Packit dd8086
     `./configure' to configure the package for your system.
Packit dd8086
Packit dd8086
     Running `configure' might take a while.  While running, it prints
Packit dd8086
     some messages telling which features it is checking for.
Packit dd8086
Packit dd8086
  2. Type `make' or `remake' (GNU make with better error reporting,
Packit dd8086
     tracing and a debugger) to compile the package.
Packit dd8086
Packit dd8086
  3. Optionally, type `make check' to run any self-tests that come with
Packit dd8086
     the package, generally using the just-built uninstalled binaries.
Packit dd8086
Packit dd8086
  4. Type `make install' to install the programs and any data files and
Packit dd8086
     documentation.  When installing into a prefix owned by root, it is
Packit dd8086
     recommended that the package be configured and built as a regular
Packit dd8086
     user, and only the `make install' phase executed with root
Packit dd8086
     privileges.
Packit dd8086
Packit dd8086
  5. Optionally, type `make installcheck' to repeat any self-tests, but
Packit dd8086
     this time using the binaries in their final installed location.
Packit dd8086
     This target does not install anything.  Running this target as a
Packit dd8086
     regular user, particularly if the prior `make install' required
Packit dd8086
     root privileges, verifies that the installation completed
Packit dd8086
     correctly.
Packit dd8086
Packit dd8086
  6. You can remove the program binaries and object files from the
Packit dd8086
     source code directory by typing `make clean'.  To also remove the
Packit dd8086
     files that `configure' created (so you can compile the package
Packit dd8086
     for a different kind of computer), type `make distclean'.  There
Packit dd8086
     is also a `make maintainer-clean' target, but that is intended
Packit dd8086
     mainly for the package's developers.  If you use it, you may have
Packit dd8086
     to get all sorts of other programs listed in README.develop in
Packit dd8086
     order to regenerate files that came with the distribution.
Packit dd8086
Packit dd8086
  7. You can also type `make uninstall' to remove the installed
Packit dd8086
     files again.  
Packit dd8086
Packit dd8086
  8. `make distcheck', which can by used by developers to test that
Packit dd8086
     all other targets like `make install' and `make uninstall' work
Packit dd8086
     correctly.  This target is generally not run by end users.
Packit dd8086
Packit dd8086
  9. For a list of all targets if you have remake installed, `remake
Packit dd8086
  --tasks' will give a list.
Packit dd8086
     
Packit dd8086
Packit dd8086
Compilers and Options
Packit dd8086
=====================
Packit dd8086
Packit dd8086
   Some systems require unusual options for compilation or linking that
Packit dd8086
the `configure' script does not know about.  Run `./configure --help'
Packit dd8086
for details on some of the pertinent environment variables.
Packit dd8086
Packit dd8086
   You can give `configure' initial values for configuration parameters
Packit dd8086
by setting variables in the command line or in the environment.  Here
Packit dd8086
is an example:
Packit dd8086
Packit dd8086
     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
Packit dd8086
Packit dd8086
   *Note Defining Variables::, for more details.
Packit dd8086
Packit dd8086
Installation Names
Packit dd8086
==================
Packit dd8086
Packit dd8086
   By default, `make install' installs the package's commands under
Packit dd8086
`/usr/local/bin', include files under `/usr/local/include', etc.  You
Packit dd8086
can specify an installation prefix other than `/usr/local' by giving
Packit dd8086
`configure' the option `--prefix=PREFIX', where PREFIX must be an
Packit dd8086
absolute file name.
Packit dd8086
Packit dd8086
   You can specify separate installation prefixes for
Packit dd8086
architecture-specific files and architecture-independent files.  If you
Packit dd8086
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
Packit dd8086
PREFIX as the prefix for installing programs and libraries.
Packit dd8086
Documentation and other data files still use the regular prefix.
Packit dd8086
Packit dd8086
   In addition, if you use an unusual directory layout you can give
Packit dd8086
options like `--bindir=DIR' to specify different values for particular
Packit dd8086
kinds of files.  Run `configure --help' for a list of the directories
Packit dd8086
you can set and what kinds of files go in them.  In general, the
Packit dd8086
default for these options is expressed in terms of `${prefix}', so that
Packit dd8086
specifying just `--prefix' will affect all of the other directory
Packit dd8086
specifications that were not explicitly provided.
Packit dd8086
Packit dd8086
   The most portable way to affect installation locations is to pass the
Packit dd8086
correct locations to `configure'; however, many packages provide one or
Packit dd8086
both of the following shortcuts of passing variable assignments to the
Packit dd8086
`make install' command line to change installation locations without
Packit dd8086
having to reconfigure or recompile.
Packit dd8086
Packit dd8086
   The first method involves providing an override variable for each
Packit dd8086
affected directory.  For example, `make install
Packit dd8086
prefix=/alternate/directory' will choose an alternate location for all
Packit dd8086
directory configuration variables that were expressed in terms of
Packit dd8086
`${prefix}'.  Any directories that were specified during `configure',
Packit dd8086
but not in terms of `${prefix}', must each be overridden at install
Packit dd8086
time for the entire installation to be relocated.  The approach of
Packit dd8086
makefile variable overrides for each directory variable is required by
Packit dd8086
the GNU Coding Standards, and ideally causes no recompilation.
Packit dd8086
However, some platforms have known limitations with the semantics of
Packit dd8086
shared libraries that end up requiring recompilation when using this
Packit dd8086
method, particularly noticeable in packages that use GNU Libtool.
Packit dd8086
Packit dd8086
   The second method involves providing the `DESTDIR' variable.  For
Packit dd8086
example, `make install DESTDIR=/alternate/directory' will prepend
Packit dd8086
`/alternate/directory' before all installation names.  The approach of
Packit dd8086
`DESTDIR' overrides is not required by the GNU Coding Standards, and
Packit dd8086
does not work on platforms that have drive letters.  On the other hand,
Packit dd8086
it does better at avoiding recompilation issues, and works well even
Packit dd8086
when some directory options were not specified in terms of `${prefix}'
Packit dd8086
at `configure' time.
Packit dd8086
Packit dd8086
Optional Features
Packit dd8086
=================
Packit dd8086
Packit dd8086
   If the package supports it, you can cause programs to be installed
Packit dd8086
with an extra prefix or suffix on their names by giving `configure' the
Packit dd8086
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Packit dd8086
Packit dd8086
   Pay attention to `--enable-FEATURE' options to `configure', where
Packit dd8086
FEATURE indicates an optional part of the package.  Also pay attention
Packit dd8086
to `--with-PACKAGE' options, where PACKAGE is something like `cddb'
Packit dd8086
(CDDB lookup support) or `vcd-info' (for enabling VCD support).  The
Packit dd8086
botom of file `README.libcdio' has a list of `--enable-' and `--with-'
Packit dd8086
options recognized.
Packit dd8086
Packit dd8086
   Some packages offer the ability to configure how verbose the
Packit dd8086
execution of `make' will be.  For these packages, running `./configure
Packit dd8086
--enable-silent-rules' sets the default to minimal output, which can be
Packit dd8086
overridden with `make V=1'; while running `./configure
Packit dd8086
--disable-silent-rules' sets the default to verbose, which can be
Packit dd8086
overridden with `make V=0'.
Packit dd8086
Packit dd8086
Particular systems
Packit dd8086
==================
Packit dd8086
Packit dd8086
   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
Packit dd8086
CC is not installed, it is recommended to use the following options in
Packit dd8086
order to use an ANSI C compiler:
Packit dd8086
Packit dd8086
     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
Packit dd8086
Packit dd8086
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
Packit dd8086
Packit dd8086
   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
Packit dd8086
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
Packit dd8086
a workaround.  If GNU CC is not installed, it is therefore recommended
Packit dd8086
to try
Packit dd8086
Packit dd8086
     ./configure CC="cc"
Packit dd8086
Packit dd8086
and if that doesn't work, try
Packit dd8086
Packit dd8086
     ./configure CC="cc -nodtk"
Packit dd8086
Packit dd8086
   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
Packit dd8086
directory contains several dysfunctional programs; working variants of
Packit dd8086
these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
Packit dd8086
in your `PATH', put it _after_ `/usr/bin'.
Packit dd8086
Packit dd8086
   On Haiku, software installed for all users goes in `/boot/common',
Packit dd8086
not `/usr/local'.  It is recommended to use the following options:
Packit dd8086
Packit dd8086
     ./configure --prefix=/boot/common
Packit dd8086
Packit dd8086
Specifying the System Type
Packit dd8086
==========================
Packit dd8086
Packit dd8086
   There may be some features `configure' cannot figure out
Packit dd8086
automatically, but needs to determine by the type of machine the package
Packit dd8086
will run on.  Usually, assuming the package is built to be run on the
Packit dd8086
_same_ architectures, `configure' can figure that out, but if it prints
Packit dd8086
a message saying it cannot guess the machine type, give it the
Packit dd8086
`--build=TYPE' option.  TYPE can either be a short name for the system
Packit dd8086
type, such as `sun4', or a canonical name which has the form:
Packit dd8086
Packit dd8086
     CPU-COMPANY-SYSTEM
Packit dd8086
Packit dd8086
where SYSTEM can have one of these forms:
Packit dd8086
Packit dd8086
     OS
Packit dd8086
     KERNEL-OS
Packit dd8086
Packit dd8086
   See the file `config.sub' for the possible values of each field.  If
Packit dd8086
`config.sub' isn't included in this package, then this package doesn't
Packit dd8086
need to know the machine type.
Packit dd8086
Packit dd8086
   If you are _building_ compiler tools for cross-compiling, you should
Packit dd8086
use the option `--target=TYPE' to select the type of system they will
Packit dd8086
produce code for.
Packit dd8086
Packit dd8086
   If you want to _use_ a cross compiler, that generates code for a
Packit dd8086
platform different from the build platform, you should specify the
Packit dd8086
"host" platform (i.e., that on which the generated programs will
Packit dd8086
eventually be run) with `--host=TYPE'.
Packit dd8086
Packit dd8086
Sharing Defaults
Packit dd8086
================
Packit dd8086
Packit dd8086
   If you want to set default values for `configure' scripts to share,
Packit dd8086
you can create a site shell script called `config.site' that gives
Packit dd8086
default values for variables like `CC', `cache_file', and `prefix'.
Packit dd8086
`configure' looks for `PREFIX/share/config.site' if it exists, then
Packit dd8086
`PREFIX/etc/config.site' if it exists.  Or, you can set the
Packit dd8086
`CONFIG_SITE' environment variable to the location of the site script.
Packit dd8086
A warning: not all `configure' scripts look for a site script.
Packit dd8086
Packit dd8086
Defining Variables
Packit dd8086
==================
Packit dd8086
Packit dd8086
   Variables not defined in a site shell script can be set in the
Packit dd8086
environment passed to `configure'.  However, some packages may run
Packit dd8086
configure again during the build, and the customized values of these
Packit dd8086
variables may be lost.  In order to avoid this problem, you should set
Packit dd8086
them in the `configure' command line, using `VAR=value'.  For example:
Packit dd8086
Packit dd8086
     ./configure CC=/usr/local2/bin/gcc
Packit dd8086
Packit dd8086
causes the specified `gcc' to be used as the C compiler (unless it is
Packit dd8086
overridden in the site shell script).
Packit dd8086
Packit dd8086
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
Packit dd8086
an Autoconf bug.  Until the bug is fixed you can use this workaround:
Packit dd8086
Packit dd8086
     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
Packit dd8086
Packit dd8086
`configure' Invocation
Packit dd8086
======================
Packit dd8086
Packit dd8086
   `configure' recognizes the following options to control how it
Packit dd8086
operates.
Packit dd8086
Packit dd8086
`--help'
Packit dd8086
`-h'
Packit dd8086
     Print a summary of all of the options to `configure', and exit.
Packit dd8086
Packit dd8086
`--help=short'
Packit dd8086
`--help=recursive'
Packit dd8086
     Print a summary of the options unique to this package's
Packit dd8086
     `configure', and exit.  The `short' variant lists options used
Packit dd8086
     only in the top level, while the `recursive' variant lists options
Packit dd8086
     also present in any nested packages.
Packit dd8086
Packit dd8086
`--version'
Packit dd8086
`-V'
Packit dd8086
     Print the version of Autoconf used to generate the `configure'
Packit dd8086
     script, and exit.
Packit dd8086
Packit dd8086
`--cache-file=FILE'
Packit dd8086
     Enable the cache: use and save the results of the tests in FILE,
Packit dd8086
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
Packit dd8086
     disable caching.
Packit dd8086
Packit dd8086
`--config-cache'
Packit dd8086
`-C'
Packit dd8086
     Alias for `--cache-file=config.cache'.
Packit dd8086
Packit dd8086
`--quiet'
Packit dd8086
`--silent'
Packit dd8086
`-q'
Packit dd8086
     Do not print messages saying which checks are being made.  To
Packit dd8086
     suppress all normal output, redirect it to `/dev/null' (any error
Packit dd8086
     messages will still be shown).
Packit dd8086
Packit dd8086
`--srcdir=DIR'
Packit dd8086
     Look for the package's source code in directory DIR.  Usually
Packit dd8086
     `configure' can determine that directory automatically.
Packit dd8086
Packit dd8086
`--prefix=DIR'
Packit dd8086
     Use DIR as the installation prefix.  *note Installation Names::
Packit dd8086
     for more details, including other options available for fine-tuning
Packit dd8086
     the installation locations.
Packit dd8086
Packit dd8086
`--no-create'
Packit dd8086
`-n'
Packit dd8086
     Run the configure checks, but stop before creating any output
Packit dd8086
     files.
Packit dd8086
Packit dd8086
`configure' also accepts some other, not widely useful, options.  Run
Packit dd8086
`configure --help' for more details.
Packit dd8086