lac : 2099840756e6302d837dcd51b5dcd6262f7adb16

     1: Installation Instructions
     2: *************************
     4: Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
     5: Inc.
     7:    Copying and distribution of this file, with or without modification,
     8: are permitted in any medium without royalty provided the copyright
     9: notice and this notice are preserved.  This file is offered as-is,
    10: without warranty of any kind.
    12: Basic Installation
    13: ==================
    15:    Briefly, the shell command `./configure && make && make install'
    16: should configure, build, and install this package.  The following
    17: more-detailed instructions are generic; see the `README' file for
    18: instructions specific to this package.  Some packages provide this
    19: `INSTALL' file but do not implement all of the features documented
    20: below.  The lack of an optional feature in a given package is not
    21: necessarily a bug.  More recommendations for GNU packages can be found
    22: in *note Makefile Conventions: (standards)Makefile Conventions.
    24:    The `configure' shell script attempts to guess correct values for
    25: various system-dependent variables used during compilation.  It uses
    26: those values to create a `Makefile' in each directory of the package.
    27: It may also create one or more `.h' files containing system-dependent
    28: definitions.  Finally, it creates a shell script `config.status' that
    29: you can run in the future to recreate the current configuration, and a
    30: file `config.log' containing compiler output (useful mainly for
    31: debugging `configure').
    33:    It can also use an optional file (typically called `config.cache'
    34: and enabled with `--cache-file=config.cache' or simply `-C') that saves
    35: the results of its tests to speed up reconfiguring.  Caching is
    36: disabled by default to prevent problems with accidental use of stale
    37: cache files.
    39:    If you need to do unusual things to compile the package, please try
    40: to figure out how `configure' could check whether to do them, and mail
    41: diffs or instructions to the address given in the `README' so they can
    42: be considered for the next release.  If you are using the cache, and at
    43: some point `config.cache' contains results you don't want to keep, you
    44: may remove or edit it.
    46:    The file `' (or `') is used to create
    47: `configure' by a program called `autoconf'.  You need `' if
    48: you want to change it or regenerate `configure' using a newer version
    49: of `autoconf'.
    51:    The simplest way to compile this package is:
    53:   1. `cd' to the directory containing the package's source code and type
    54:      `./configure' to configure the package for your system.
    56:      Running `configure' might take a while.  While running, it prints
    57:      some messages telling which features it is checking for.
    59:   2. Type `make' to compile the package.
    61:   3. Optionally, type `make check' to run any self-tests that come with
    62:      the package, generally using the just-built uninstalled binaries.
    64:   4. Type `make install' to install the programs and any data files and
    65:      documentation.  When installing into a prefix owned by root, it is
    66:      recommended that the package be configured and built as a regular
    67:      user, and only the `make install' phase executed with root
    68:      privileges.
    70:   5. Optionally, type `make installcheck' to repeat any self-tests, but
    71:      this time using the binaries in their final installed location.
    72:      This target does not install anything.  Running this target as a
    73:      regular user, particularly if the prior `make install' required
    74:      root privileges, verifies that the installation completed
    75:      correctly.
    77:   6. You can remove the program binaries and object files from the
    78:      source code directory by typing `make clean'.  To also remove the
    79:      files that `configure' created (so you can compile the package for
    80:      a different kind of computer), type `make distclean'.  There is
    81:      also a `make maintainer-clean' target, but that is intended mainly
    82:      for the package's developers.  If you use it, you may have to get
    83:      all sorts of other programs in order to regenerate files that came
    84:      with the distribution.
    86:   7. Often, you can also type `make uninstall' to remove the installed
    87:      files again.  In practice, not all packages have tested that
    88:      uninstallation works correctly, even though it is required by the
    89:      GNU Coding Standards.
    91:   8. Some packages, particularly those that use Automake, provide `make
    92:      distcheck', which can by used by developers to test that all other
    93:      targets like `make install' and `make uninstall' work correctly.
    94:      This target is generally not run by end users.
    96: Compilers and Options
    97: =====================
    99:    Some systems require unusual options for compilation or linking that
   100: the `configure' script does not know about.  Run `./configure --help'
   101: for details on some of the pertinent environment variables.
   103:    You can give `configure' initial values for configuration parameters
   104: by setting variables in the command line or in the environment.  Here
   105: is an example:
   107:      ./configure CC=c99 CFLAGS=-g LIBS=-lposix
   109:    *Note Defining Variables::, for more details.
   111: Compiling For Multiple Architectures
   112: ====================================
   114:    You can compile the package for more than one kind of computer at the
   115: same time, by placing the object files for each architecture in their
   116: own directory.  To do this, you can use GNU `make'.  `cd' to the
   117: directory where you want the object files and executables to go and run
   118: the `configure' script.  `configure' automatically checks for the
   119: source code in the directory that `configure' is in and in `..'.  This
   120: is known as a "VPATH" build.
   122:    With a non-GNU `make', it is safer to compile the package for one
   123: architecture at a time in the source code directory.  After you have
   124: installed the package for one architecture, use `make distclean' before
   125: reconfiguring for another architecture.
   127:    On MacOS X 10.5 and later systems, you can create libraries and
   128: executables that work on multiple system types--known as "fat" or
   129: "universal" binaries--by specifying multiple `-arch' options to the
   130: compiler but only a single `-arch' option to the preprocessor.  Like
   131: this:
   133:      ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
   134:                  CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
   135:                  CPP="gcc -E" CXXCPP="g++ -E"
   137:    This is not guaranteed to produce working output in all cases, you
   138: may have to build one architecture at a time and combine the results
   139: using the `lipo' tool if you have problems.
   141: Installation Names
   142: ==================
   144:    By default, `make install' installs the package's commands under
   145: `/usr/local/bin', include files under `/usr/local/include', etc.  You
   146: can specify an installation prefix other than `/usr/local' by giving
   147: `configure' the option `--prefix=PREFIX', where PREFIX must be an
   148: absolute file name.
   150:    You can specify separate installation prefixes for
   151: architecture-specific files and architecture-independent files.  If you
   152: pass the option `--exec-prefix=PREFIX' to `configure', the package uses
   153: PREFIX as the prefix for installing programs and libraries.
   154: Documentation and other data files still use the regular prefix.
   156:    In addition, if you use an unusual directory layout you can give
   157: options like `--bindir=DIR' to specify different values for particular
   158: kinds of files.  Run `configure --help' for a list of the directories
   159: you can set and what kinds of files go in them.  In general, the
   160: default for these options is expressed in terms of `${prefix}', so that
   161: specifying just `--prefix' will affect all of the other directory
   162: specifications that were not explicitly provided.
   164:    The most portable way to affect installation locations is to pass the
   165: correct locations to `configure'; however, many packages provide one or
   166: both of the following shortcuts of passing variable assignments to the
   167: `make install' command line to change installation locations without
   168: having to reconfigure or recompile.
   170:    The first method involves providing an override variable for each
   171: affected directory.  For example, `make install
   172: prefix=/alternate/directory' will choose an alternate location for all
   173: directory configuration variables that were expressed in terms of
   174: `${prefix}'.  Any directories that were specified during `configure',
   175: but not in terms of `${prefix}', must each be overridden at install
   176: time for the entire installation to be relocated.  The approach of
   177: makefile variable overrides for each directory variable is required by
   178: the GNU Coding Standards, and ideally causes no recompilation.
   179: However, some platforms have known limitations with the semantics of
   180: shared libraries that end up requiring recompilation when using this
   181: method, particularly noticeable in packages that use GNU Libtool.
   183:    The second method involves providing the `DESTDIR' variable.  For
   184: example, `make install DESTDIR=/alternate/directory' will prepend
   185: `/alternate/directory' before all installation names.  The approach of
   186: `DESTDIR' overrides is not required by the GNU Coding Standards, and
   187: does not work on platforms that have drive letters.  On the other hand,
   188: it does better at avoiding recompilation issues, and works well even
   189: when some directory options were not specified in terms of `${prefix}'
   190: at `configure' time.
   192: Optional Features
   193: =================
   195:    If the package supports it, you can cause programs to be installed
   196: with an extra prefix or suffix on their names by giving `configure' the
   197: option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
   199:    Some packages pay attention to `--enable-FEATURE' options to
   200: `configure', where FEATURE indicates an optional part of the package.
   201: They may also pay attention to `--with-PACKAGE' options, where PACKAGE
   202: is something like `gnu-as' or `x' (for the X Window System).  The
   203: `README' should mention any `--enable-' and `--with-' options that the
   204: package recognizes.
   206:    For packages that use the X Window System, `configure' can usually
   207: find the X include and library files automatically, but if it doesn't,
   208: you can use the `configure' options `--x-includes=DIR' and
   209: `--x-libraries=DIR' to specify their locations.
   211:    Some packages offer the ability to configure how verbose the
   212: execution of `make' will be.  For these packages, running `./configure
   213: --enable-silent-rules' sets the default to minimal output, which can be
   214: overridden with `make V=1'; while running `./configure
   215: --disable-silent-rules' sets the default to verbose, which can be
   216: overridden with `make V=0'.
   218: Particular systems
   219: ==================
   221:    On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
   222: CC is not installed, it is recommended to use the following options in
   223: order to use an ANSI C compiler:
   225:      ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
   227: and if that doesn't work, install pre-built binaries of GCC for HP-UX.
   229:    HP-UX `make' updates targets which have the same time stamps as
   230: their prerequisites, which makes it generally unusable when shipped
   231: generated files such as `configure' are involved.  Use GNU `make'
   232: instead.
   234:    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
   235: parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
   236: a workaround.  If GNU CC is not installed, it is therefore recommended
   237: to try
   239:      ./configure CC="cc"
   241: and if that doesn't work, try
   243:      ./configure CC="cc -nodtk"
   245:    On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
   246: directory contains several dysfunctional programs; working variants of
   247: these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
   248: in your `PATH', put it _after_ `/usr/bin'.
   250:    On Haiku, software installed for all users goes in `/boot/common',
   251: not `/usr/local'.  It is recommended to use the following options:
   253:      ./configure --prefix=/boot/common
   255: Specifying the System Type
   256: ==========================
   258:    There may be some features `configure' cannot figure out
   259: automatically, but needs to determine by the type of machine the package
   260: will run on.  Usually, assuming the package is built to be run on the
   261: _same_ architectures, `configure' can figure that out, but if it prints
   262: a message saying it cannot guess the machine type, give it the
   263: `--build=TYPE' option.  TYPE can either be a short name for the system
   264: type, such as `sun4', or a canonical name which has the form:
   268: where SYSTEM can have one of these forms:
   270:      OS
   271:      KERNEL-OS
   273:    See the file `config.sub' for the possible values of each field.  If
   274: `config.sub' isn't included in this package, then this package doesn't
   275: need to know the machine type.
   277:    If you are _building_ compiler tools for cross-compiling, you should
   278: use the option `--target=TYPE' to select the type of system they will
   279: produce code for.
   281:    If you want to _use_ a cross compiler, that generates code for a
   282: platform different from the build platform, you should specify the
   283: "host" platform (i.e., that on which the generated programs will
   284: eventually be run) with `--host=TYPE'.
   286: Sharing Defaults
   287: ================
   289:    If you want to set default values for `configure' scripts to share,
   290: you can create a site shell script called `' that gives
   291: default values for variables like `CC', `cache_file', and `prefix'.
   292: `configure' looks for `PREFIX/share/' if it exists, then
   293: `PREFIX/etc/' if it exists.  Or, you can set the
   294: `CONFIG_SITE' environment variable to the location of the site script.
   295: A warning: not all `configure' scripts look for a site script.
   297: Defining Variables
   298: ==================
   300:    Variables not defined in a site shell script can be set in the
   301: environment passed to `configure'.  However, some packages may run
   302: configure again during the build, and the customized values of these
   303: variables may be lost.  In order to avoid this problem, you should set
   304: them in the `configure' command line, using `VAR=value'.  For example:
   306:      ./configure CC=/usr/local2/bin/gcc
   308: causes the specified `gcc' to be used as the C compiler (unless it is
   309: overridden in the site shell script).
   311: Unfortunately, this technique does not work for `CONFIG_SHELL' due to
   312: an Autoconf limitation.  Until the limitation is lifted, you can use
   313: this workaround:
   315:      CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
   317: `configure' Invocation
   318: ======================
   320:    `configure' recognizes the following options to control how it
   321: operates.
   323: `--help'
   324: `-h'
   325:      Print a summary of all of the options to `configure', and exit.
   327: `--help=short'
   328: `--help=recursive'
   329:      Print a summary of the options unique to this package's
   330:      `configure', and exit.  The `short' variant lists options used
   331:      only in the top level, while the `recursive' variant lists options
   332:      also present in any nested packages.
   334: `--version'
   335: `-V'
   336:      Print the version of Autoconf used to generate the `configure'
   337:      script, and exit.
   339: `--cache-file=FILE'
   340:      Enable the cache: use and save the results of the tests in FILE,
   341:      traditionally `config.cache'.  FILE defaults to `/dev/null' to
   342:      disable caching.
   344: `--config-cache'
   345: `-C'
   346:      Alias for `--cache-file=config.cache'.
   348: `--quiet'
   349: `--silent'
   350: `-q'
   351:      Do not print messages saying which checks are being made.  To
   352:      suppress all normal output, redirect it to `/dev/null' (any error
   353:      messages will still be shown).
   355: `--srcdir=DIR'
   356:      Look for the package's source code in directory DIR.  Usually
   357:      `configure' can determine that directory automatically.
   359: `--prefix=DIR'
   360:      Use DIR as the installation prefix.  *note Installation Names::
   361:      for more details, including other options available for fine-tuning
   362:      the installation locations.
   364: `--no-create'
   365: `-n'
   366:      Run the configure checks, but stop before creating any output
   367:      files.
   369: `configure' also accepts some other, not widely useful, options.  Run
   370: `configure --help' for more details.

Generated by git2html.