home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
gnu
/
libg++-2.6.2.lha
/
libg++-2.6.2
/
etc
/
configure.info-1
(
.txt
)
< prev
next >
Wrap
GNU Info File
|
1994-12-15
|
50KB
|
906 lines
This is Info file configure.info, produced by Makeinfo-1.55 from the
input file ./configure.texi.
START-INFO-DIR-ENTRY
* configure: (configure). Cygnus configure.
END-INFO-DIR-ENTRY
This document describes the Cygnus Support version of `configure'.
Copyright (C) 1991, 1992, 1993 Cygnus Support Permission is granted
to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by Cygnus Support.
File: configure.info, Node: Top, Next: What configure does, Prev: (DIR), Up: (DIR)
Cygnus configure
****************
This file documents the configuration system used and distributed by
Cygnus Support.
* Menu:
* What configure does:: What configure does
* Invoking configure:: Invoking configure--basic usage
* Using configure:: More than you ever wanted to know
* Porting:: How to use configure with new programs
* Variables Index::
* Concept Index::
File: configure.info, Node: What configure does, Next: Invoking configure, Prev: Top, Up: Top
What `configure' does
*********************
This manual documents Cygnus `configure', a program which helps to
automate much of the setup activity associated with building large
suites of programs, such the Cygnus Support Developer's Kit. This
manual is therefore geared toward readers who are likely to face the
problem of configuring software in source form before compiling and
installing it. We assume you are an experienced programmer or system
administrator. For further background on this topic, see *Note
Apologia Configure: (cfg-paper)Some Basic Terms, by K. Richard Pixley.
When `configure' runs, it does the following things:
** creates build directories*
When you run `configure' with the `--srcdir' option, it uses the
current directory as the "build directory", creating under it a
directory tree that parallels the directory structure of the
source directory. If you don't specify a `srcdir', `configure'
first assumes that the source code you wish to configure is in
your current directory; if it finds no `configure.in' input file
there, it searches in the directory `configure' itself lies in.
(For details, see *Note Build directories: Build directories.)
** generates `Makefile'*
A `Makefile' template from the source directory, usually called
`Makefile.in', is copied to an output file in the build directory
which is most often named `Makefile'. `configure' places
definitions for a number of standard `Makefile' macros at the
beginning of the output file. If `--prefix=DIR' or
`--exec_prefix=DIR' are specified on the `configure' command line,
corresponding `Makefile' variables are set accordingly. If host,
target, or site-specific `Makefile' fragments exist, these are
inserted into the output file. (For details, see *Note `Makefile'
generation: Makefile generation.)
** generates `.gdbinit'*
If the source directory contains a `.gdbinit' file and the build
directory is not the same as the source directory, a `.gdbinit'
file is created in the build directory. This `.gdbinit' file
contains commands which allow the source directory to be read when
debugging with the GNU debugger, `gdb'. (*Note Command Files:
(gdb)Command Files.)
** makes symbolic links*
Most build directories require that some symbolic links with
generic names are built pointing to specific files in the source
directory. If the system where `configure' runs cannot support
symbolic links, hard links are used instead. (For details, see
*Note The `configure.in' input file: configure.in.)
** generates `config.status'*
`configure' creates a shell script named `config.status' in the
build directory. This shell script, when run from the build
directory (usually from within a `Makefile'), will reconfigure the
build directory (but not its subdirectories). This is most often
used to have a `Makefile' update itself automatically if a new
source directory is available.
** calls itself recursively*
If the source directory has subdirectories that should also be
configured, `configure' is called for each.
File: configure.info, Node: Invoking configure, Next: Using configure, Prev: What configure does, Up: Top
Invoking `configure'
********************
Cygnus `configure' is a shell script which resides in a source tree.
The usual way to invoke `configure' is from the shell, as follows:
eg$ ./configure HOSTTYPE
This prepares the source in the current directory (`.') to be compiled
for a HOSTTYPE environment. It assumes that you wish to build programs
and files in the default "build directory" (also the current directory,
`.'). If you do not specify a value for HOSTTYPE, Cygnus `configure'
will attempt to discover this information by itself (*note Determining
system information: config.guess.). For information on HOSTTYPE
environments, *Note Host: Host.
All GNU software is packaged with one or more `configure' script(s)
(*note How Configuration Should Work: (standards)Configuration.). By
using `configure' you prepare the source for your specific environment
by selecting and using `Makefile' fragments and fragments of shell
scripts, which are prepared in advance and stored with the source.
`configure''s command-line options also allow you to specify other
aspects of the source configuration:
configure HOSTTYPE [--target=TARGET] [--srcdir=DIR] [--rm]
[--site=SITE] [--prefix=DIR] [--exec-prefix=DIR]
[--program-prefix=STRING] [--tmpdir=DIR]
[--with-PACKAGE[=YES/NO]] [--without-PACKAGE]
[--enable-FEATURE[=YES/NO]] [--disable-FEATURE]
[--norecursion] [--nfp] [-s] [-v] [-V | --version] [--help]
`--target=TARGET'
Requests that the sources be configured to target the TARGET
machine. If no target is specified explicitly, the target is
assumed to be the same as the host (i.e., a "native"
configuration). *Note Host: Host, and *Note Target: Target, for
discussions of each.
`--srcdir=DIR'
Direct each generated `Makefile' to use the sources located in
directory DIR. Use this option whenever you wish the object code
to reside in a different place from the source code. The "build
directory" is always assumed to be the directory you call
`configure' from. See *Note Build directories: Build directories,
for an example. If the source directory is not specified,
`configure' assumes that the source is in your current directory.
If `configure' finds no `configure.in' there, it searches in the
same directory that the `configure' script itself lies in.
Pathnames specified (Values for DIR) can be either absolute
relative to the *build* directory.
`--rm'
*Remove* the configuration specified by HOSTTYPE and the other
command-line options, rather than create it.
*Note:* We recommend that you use `make distclean' rather than
use this option; see *Note Invoking `make': (make)Invoking
make, for details on `make distclean'.
`--site=SITE'
Generate the `Makefile' using site-specific `Makefile' fragments
for SITE. *Note Adding information about local conventions:
Makefile fragments.
`--prefix=DIR'
Configure the source to install programs and files under directory
DIR.
This option sets the variable `prefix'. Each generated `Makefile'
will have its `prefix' variables set to this value. (*Note What
`configure' really does: What configur