mirror of
git://git.sv.gnu.org/autoconf
synced 2024-12-09 02:10:22 +08:00
* doc/autoconf.texi (pr): New index.
(prindex, findex): Use, merge, and output them. (Environment Variable Index, Output Variable Index) (Preprocessor Symbol Index, Autoconf Macro Index, M4 Macro Index) (Autotest Macro Index): Rename as... (Environment Variables, Output Variables,Preprocessor Symbols) (Autoconf Macros, M4 Macros, Autotest Macros): these. * doc/install.texi: Use @command. (Environment Variables): Rename as... (Defining Variables): this.
This commit is contained in:
parent
dc9d3f61b4
commit
ab19ca36ae
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2001-08-15 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* doc/autoconf.texi (pr): New index.
|
||||
(prindex, findex): Use, merge, and output them.
|
||||
(Environment Variable Index, Output Variable Index)
|
||||
(Preprocessor Symbol Index, Autoconf Macro Index, M4 Macro Index)
|
||||
(Autotest Macro Index): Rename as...
|
||||
(Environment Variables, Output Variables,Preprocessor Symbols)
|
||||
(Autoconf Macros, M4 Macros, Autotest Macros): these.
|
||||
* doc/install.texi: Use @command.
|
||||
(Environment Variables): Rename as...
|
||||
(Defining Variables): this.
|
||||
|
||||
2001-08-15 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* doc/autoconf.texi (Function Portability): sprintf's return
|
||||
|
@ -31,7 +31,7 @@ standards_TEXINFOS = make-stds.texi
|
||||
CLEANFILES = autoconf.cvs \
|
||||
autoconf.ev autoconf.evs autoconf.ac autoconf.acs \
|
||||
autoconf.ov autoconf.ovs autoconf.ms autoconf.mss \
|
||||
autoconf.at autoconf.ats \
|
||||
autoconf.at autoconf.ats autoconf.pr autoconf.prs \
|
||||
autoconf.tmp \
|
||||
autoconf*.html standards*.html \
|
||||
autoconf*.pdf standards*.pdf
|
||||
|
@ -76,7 +76,7 @@ standards_TEXINFOS = make-stds.texi
|
||||
|
||||
# Files from texi2dvi that should be removed, but which Automake does
|
||||
# not know.
|
||||
CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ac autoconf.acs autoconf.ov autoconf.ovs autoconf.ms autoconf.mss autoconf.at autoconf.ats autoconf.tmp autoconf*.html standards*.html autoconf*.pdf standards*.pdf
|
||||
CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ac autoconf.acs autoconf.ov autoconf.ovs autoconf.ms autoconf.mss autoconf.at autoconf.ats autoconf.pr autoconf.prs autoconf.tmp autoconf*.html standards*.html autoconf*.pdf standards*.pdf
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
|
@ -103,6 +103,13 @@ Free Documentation License''.
|
||||
@defcodeindex at
|
||||
@c Define an M4sugar macro index that @defmac doesn't write to.
|
||||
@defcodeindex ms
|
||||
@c Define an index for *foreign* programs: `mv' etc. Used for the
|
||||
@c portability sections and so on.
|
||||
@defindex pr
|
||||
|
||||
@c Put the programs and funcions into their own index.
|
||||
@syncodeindex fn pr
|
||||
|
||||
|
||||
@node Top, Introduction, (dir), (dir)
|
||||
@comment node-name, next, previous, up
|
||||
@ -137,12 +144,13 @@ package. This is edition @value{EDITION}, for Autoconf version
|
||||
* Questions:: Questions about Autoconf, with answers
|
||||
* History:: History of Autoconf
|
||||
* Copying This Manual:: How to make copies of this manual
|
||||
* Environment Variable Index:: Index of environment variables used
|
||||
* Output Variable Index:: Index of variables set in output files
|
||||
* Preprocessor Symbol Index:: Index of C preprocessor symbols defined
|
||||
* Autoconf Macro Index:: Index of Autoconf macros
|
||||
* M4 Macro Index:: Index of M4, M4sugar, and M4sh macros
|
||||
* Autotest Macro Index:: Index of Autotest macros
|
||||
* Environment Variables:: Index of environment variables used
|
||||
* Output Variables:: Index of variables set in output files
|
||||
* Preprocessor Symbols:: Index of C preprocessor symbols defined
|
||||
* Autoconf Macros:: Index of Autoconf macros
|
||||
* M4 Macros:: Index of M4, M4sugar, and M4sh macros
|
||||
* Autotest Macros:: Index of Autotest macros
|
||||
* Programs and Functions:: Index of those with portability problems
|
||||
* Concept Index:: General index
|
||||
|
||||
@detailmenu --- The Detailed Node Listing ---
|
||||
@ -356,7 +364,7 @@ Running @code{configure} Scripts
|
||||
* Optional Features:: Selecting optional features
|
||||
* System Type:: Specifying the system type
|
||||
* Sharing Defaults:: Setting site-wide defaults for @code{configure}
|
||||
* Environment Variables:: Defining environment variables.
|
||||
* Defining Variables:: Specifying the compiler etc.
|
||||
* configure Invocation:: Changing how @code{configure} runs
|
||||
* INSTALL Copyright Notice:: Copyright notice for the @file{INSTALL} file
|
||||
|
||||
@ -472,7 +480,7 @@ with all of the standard targets, linking of shared libraries, and so
|
||||
on. @xref{The GNU build system}, for more information.
|
||||
|
||||
Autoconf imposes some restrictions on the names of macros used with
|
||||
@code{#if} in C programs (@pxref{Preprocessor Symbol Index}).
|
||||
@code{#if} in C programs (@pxref{Preprocessor Symbols}).
|
||||
|
||||
Autoconf requires @sc{gnu} M4 in order to generate the scripts. It uses
|
||||
features that some @sc{unix} versions of M4, including @sc{gnu} M4 1.3,
|
||||
@ -1849,7 +1857,7 @@ GNU Coding Standards}, for more information on what to put in
|
||||
|
||||
Some output variables are preset by the Autoconf macros. Some of the
|
||||
Autoconf macros set additional output variables, which are mentioned in
|
||||
the descriptions for those macros. @xref{Output Variable Index}, for a
|
||||
the descriptions for those macros. @xref{Output Variables}, for a
|
||||
complete list of output variables. @xref{Installation Directory
|
||||
Variables}, for the list of the preset ones related to installation
|
||||
directories. Below are listed the other preset ones. They all are
|
||||
@ -3229,13 +3237,14 @@ portability issues. By definition, this list will always require
|
||||
additions, please help us keeping it as complete as possible
|
||||
|
||||
@table @asis
|
||||
|
||||
@item @code{sprintf}
|
||||
@findex sprintf
|
||||
The ISO C standard says @code{sprintf} and @code{vsprintf} return the
|
||||
number of characters written, but on some old systems (SunOS for
|
||||
instance) they return the buffer pointer instead.
|
||||
|
||||
@item @code{unlink}
|
||||
@findex unlink
|
||||
The @sc{posix} spec says that @code{unlink} causes the given files to be
|
||||
removed only after there are no more open file handles for it. Not all
|
||||
OS's support this behaviour though. So even on systems that provide
|
||||
@ -7231,7 +7240,7 @@ Mode,, Bash @sc{posix} Mode, bash, The GNU Bash Reference Manual}, for
|
||||
details.
|
||||
|
||||
@item @command{/usr/xpg4/bin/sh} on Solaris
|
||||
@cindex @command{/usr/xpg4/bin/sh} on Solaris
|
||||
@prindex @command{/usr/xpg4/bin/sh} on Solaris
|
||||
The @sc{posix}-compliant Bourne shell on a Solaris system is
|
||||
@command{/usr/xpg4/bin/sh} and is part of an extra optional package.
|
||||
There is no extra charge for this package, but it is also not part of a
|
||||
@ -7942,7 +7951,7 @@ the @samp{x} into account later in the pipe.
|
||||
|
||||
@table @asis
|
||||
@item @command{.}
|
||||
@cindex @command{.}
|
||||
@prindex @command{.}
|
||||
Use @command{.} only with regular files (use @samp{test -f}). Bash
|
||||
2.03, for instance, chokes on @samp{. /dev/null}. Also, remember that
|
||||
@command{.} is not expected to look in the current directory, hence you
|
||||
@ -7967,19 +7976,19 @@ directory with @command{source}. Bash makes no difference between
|
||||
the file was not found in the @code{$PATH}.
|
||||
|
||||
@item @command{!}
|
||||
@cindex @command{!}
|
||||
@prindex @command{!}
|
||||
You can't use @command{!}, you'll have to rewrite your code.
|
||||
|
||||
|
||||
@item @command{break}
|
||||
@c ------------------
|
||||
@cindex @command{break}
|
||||
@prindex @command{break}
|
||||
The use of @samp{break 2}, etcetera, is safe.
|
||||
|
||||
|
||||
@item @command{case}
|
||||
@c -----------------
|
||||
@cindex @command{case}
|
||||
@prindex @command{case}
|
||||
You don't need to quote the argument; no splitting is performed.
|
||||
|
||||
You don't need the final @samp{;;}, but you should use it.
|
||||
@ -8007,7 +8016,7 @@ OK
|
||||
|
||||
@item @command{echo}
|
||||
@c -----------------
|
||||
@cindex @command{echo}
|
||||
@prindex @command{echo}
|
||||
The simple @code{echo} is probably the most surprising source of
|
||||
portability troubles. It is not possible to use @samp{echo} portably
|
||||
unless both options and escape sequences are omitted. New applications
|
||||
@ -8040,7 +8049,7 @@ EOF
|
||||
|
||||
@item @command{exit}
|
||||
@c -----------------
|
||||
@cindex @command{exit}
|
||||
@prindex @command{exit}
|
||||
The default value of @command{exit} is supposed to be @code{$?};
|
||||
unfortunately, some shells, such as the DJGPP port of Bash 2.04, just
|
||||
perform @samp{exit 0}.
|
||||
@ -8070,7 +8079,7 @@ cannot determine whether it was invoked by plain @code{exit} or by
|
||||
|
||||
@item @command{export}
|
||||
@c -------------------
|
||||
@cindex @command{export}
|
||||
@prindex @command{export}
|
||||
The builtin @command{export} dubs @dfn{environment variable} a shell
|
||||
variable. Each update of exported variables corresponds to an update of
|
||||
the environment variables. Conversely, each environment variable
|
||||
@ -8102,14 +8111,14 @@ that you update.
|
||||
|
||||
@item @command{false}
|
||||
@c ------------------
|
||||
@cindex @command{false}
|
||||
@prindex @command{false}
|
||||
Don't expect @command{false} to exit with status 1: in the native Bourne
|
||||
shell of Solaris 8, it exits with status 255.
|
||||
|
||||
|
||||
@item @command{for}
|
||||
@c ----------------
|
||||
@cindex @command{for}
|
||||
@prindex @command{for}
|
||||
To loop over positional arguments, use:
|
||||
|
||||
@example
|
||||
@ -8140,7 +8149,7 @@ done
|
||||
|
||||
@item @command{if}
|
||||
@c ---------------
|
||||
@cindex @command{if}
|
||||
@prindex @command{if}
|
||||
Using @samp{!} is not portable. Instead of:
|
||||
|
||||
@example
|
||||
@ -8181,7 +8190,7 @@ fi
|
||||
|
||||
@item @command{set}
|
||||
@c ----------------
|
||||
@cindex @command{set}
|
||||
@prindex @command{set}
|
||||
This builtin faces the usual problem with arguments starting with a
|
||||
dash. Modern shells such as Bash or Zsh understand @option{--} to specify
|
||||
the end of the options (any argument after @option{--} is a parameters,
|
||||
@ -8196,14 +8205,14 @@ set x $my_list; shift
|
||||
|
||||
@item @command{shift}
|
||||
@c ------------------
|
||||
@cindex @command{shift}
|
||||
@prindex @command{shift}
|
||||
Not only is @command{shift}ing a bad idea when there is nothing left to
|
||||
shift, but in addition it is not portable: the shell of @sc{mips
|
||||
risc/os} 4.52 refuses to do it.
|
||||
|
||||
@item @command{test}
|
||||
@c -----------------
|
||||
@cindex @command{test}
|
||||
@prindex @command{test}
|
||||
The @code{test} program is the way to perform many file and string
|
||||
tests. It is often invoked by the alternate name @samp{[}, but using
|
||||
that name in Autoconf code is asking for trouble since it is an M4 quote
|
||||
@ -8305,7 +8314,7 @@ expr "x$ac_feature" : '.*[^-a-zA-Z0-9_]' >/dev/null &&
|
||||
|
||||
@item @command{trap}
|
||||
@c -----------------
|
||||
@cindex @command{trap}
|
||||
@prindex @command{trap}
|
||||
It is safe to trap at least the signals 1, 2, 13 and 15. You can also
|
||||
trap 0, i.e., have the @command{trap} run when the script ends (either via an
|
||||
explicit @command{exit}, or the end of the script).
|
||||
@ -8353,8 +8362,8 @@ Fortunately, this bug only affects @command{trap}.
|
||||
|
||||
@item @command{true}
|
||||
@c -----------------
|
||||
@cindex @command{true}
|
||||
@cindex @command{:}
|
||||
@prindex @command{true}
|
||||
@prindex @command{:}
|
||||
Don't worry: as far as we know @command{true} is portable.
|
||||
Nevertheless, it's not always a builtin (e.g., Bash 1.x), and the
|
||||
portable shell community tends to prefer using @command{:}. This has a
|
||||
@ -8370,7 +8379,7 @@ for @command{true}.
|
||||
|
||||
@item @command{unset}
|
||||
@c ------------------
|
||||
@cindex @command{unset}
|
||||
@prindex @command{unset}
|
||||
You cannot assume the support of @command{unset}, nevertheless, because
|
||||
it is extremely useful to disable embarrassing variables such as
|
||||
@code{CDPATH} or @code{LANG}, you can test for its existence and use
|
||||
@ -8400,7 +8409,7 @@ include some limitations you should be aware of.
|
||||
@table @asis
|
||||
@item @command{awk}
|
||||
@c ----------------
|
||||
@cindex @command{awk}
|
||||
@prindex @command{awk}
|
||||
Don't leave white spaces before the parentheses in user functions calls,
|
||||
@sc{gnu} awk will reject it:
|
||||
|
||||
@ -8453,7 +8462,7 @@ or use a simple test to reject such AWK.
|
||||
|
||||
@item @command{cat}
|
||||
@c ----------------
|
||||
@cindex @command{cat}
|
||||
@prindex @command{cat}
|
||||
Don't rely on any option. The option @option{-v}, which displays
|
||||
non-printing characters, @emph{seems} portable, though.
|
||||
|
||||
@ -8466,7 +8475,7 @@ When a compilation such as @samp{cc foo.c -o foo} fails, some compilers
|
||||
|
||||
@item @command{cmp}
|
||||
@c ----------------
|
||||
@cindex @command{cmp}
|
||||
@prindex @command{cmp}
|
||||
@command{cmp} performs a raw data comparison of two files, while
|
||||
@command{diff} compares two text files. Therefore, if you might compare
|
||||
DOS files, even if only checking whether two files are different, use
|
||||
@ -8476,7 +8485,7 @@ newline encoding.
|
||||
|
||||
@item @command{cp}
|
||||
@c ---------------
|
||||
@cindex @command{cp}
|
||||
@prindex @command{cp}
|
||||
@c This is thanks to Ian.
|
||||
SunOS @command{cp} does not support @option{-f}, although its
|
||||
@command{mv} does. It's possible to deduce why @command{mv} and
|
||||
@ -8495,7 +8504,7 @@ newer systems, @code{rename}).
|
||||
|
||||
@item @command{diff}
|
||||
@c -----------------
|
||||
@cindex @command{diff}
|
||||
@prindex @command{diff}
|
||||
Option @option{-u} is nonportable.
|
||||
|
||||
Some implementations, such as Tru64's, fail when comparing to
|
||||
@ -8503,7 +8512,7 @@ Some implementations, such as Tru64's, fail when comparing to
|
||||
|
||||
@item @command{dirname}
|
||||
@c --------------------
|
||||
@cindex @command{dirname}
|
||||
@prindex @command{dirname}
|
||||
Not all hosts have @command{dirname}, but it is reasonably easy to
|
||||
emulate, e.g.:
|
||||
|
||||
@ -8538,7 +8547,7 @@ standard.
|
||||
|
||||
@item @command{egrep}
|
||||
@c ------------------
|
||||
@cindex @command{egrep}
|
||||
@prindex @command{egrep}
|
||||
The empty alternative is not portable, use @samp{?} instead. For
|
||||
instance with Digital Unix v5.0:
|
||||
|
||||
@ -8557,7 +8566,7 @@ foo
|
||||
|
||||
@item @command{expr}
|
||||
@c -----------------
|
||||
@cindex @command{expr}
|
||||
@prindex @command{expr}
|
||||
No @command{expr} keyword starts with @samp{x}, so use @samp{expr
|
||||
x"@var{word}" : 'x@var{regex}'} to keep @command{expr} from
|
||||
misinterpreting @var{word}.
|
||||
@ -8565,7 +8574,7 @@ misinterpreting @var{word}.
|
||||
Don't use @code{length}, @code{substr}, @code{match} and @code{index}.
|
||||
|
||||
@item @command{expr} (@samp{|})
|
||||
@cindex @command{expr} (@samp{|})
|
||||
@prindex @command{expr} (@samp{|})
|
||||
You can use @samp{|}. Although @sc{posix} does require that @samp{expr
|
||||
''} return the empty string, it does not specify the result when you
|
||||
@samp{|} together the empty string (or zero) with the empty string. For
|
||||
@ -8592,7 +8601,7 @@ Avoid this portability problem by avoiding the empty string.
|
||||
|
||||
@item @command{expr} (@samp{:})
|
||||
@c ----------------------------
|
||||
@cindex @command{expr}
|
||||
@prindex @command{expr}
|
||||
Don't use @samp{\?}, @samp{\+} and @samp{\|} in patterns, they are
|
||||
not supported on Solaris.
|
||||
|
||||
@ -8660,7 +8669,7 @@ NetBSD 1.5 and Solaris 2.5 @command{find} commands do not understand it.
|
||||
|
||||
@item @command{grep}
|
||||
@c -----------------
|
||||
@cindex @command{grep}
|
||||
@prindex @command{grep}
|
||||
Don't use @samp{grep -s} to suppress output, because @samp{grep -s} on
|
||||
System V does not suppress output, only error messages. Instead,
|
||||
redirect the standard output and standard error (in case the file
|
||||
@ -8675,7 +8684,7 @@ alternation and @code{egrep}.
|
||||
|
||||
@item @command{ln}
|
||||
@c ---------------
|
||||
@cindex @command{ln}
|
||||
@prindex @command{ln}
|
||||
@cindex Symbolic links
|
||||
Don't rely on @command{ln} having a @option{-f} option. Symbolic links
|
||||
are not available on old systems, use @samp{ln} as a fall back.
|
||||
@ -8691,7 +8700,7 @@ systems. DJGPP versions 2.04 and later have full symlink support.
|
||||
|
||||
@item @command{mv}
|
||||
@c ---------------
|
||||
@cindex @command{mv}
|
||||
@prindex @command{mv}
|
||||
@cindex Moving open files
|
||||
The only portable options are @option{-f} and @option{-i}.
|
||||
|
||||
@ -8721,7 +8730,7 @@ rm -f foo
|
||||
|
||||
@item @command{sed}
|
||||
@c ----------------
|
||||
@cindex @command{sed}
|
||||
@prindex @command{sed}
|
||||
Patterns should not include the separator (unless escaped), even as part
|
||||
of a character class. In conformance with @sc{posix}, the Cray
|
||||
@command{sed} will reject @samp{s/[^/]*$//}: use @samp{s,[^/]*$,,}.
|
||||
@ -8777,7 +8786,7 @@ supported it.
|
||||
|
||||
@item @command{sed} (@samp{t})
|
||||
@c ---------------------------
|
||||
@cindex @command{sed} (@samp{t})
|
||||
@prindex @command{sed} (@samp{t})
|
||||
Some old systems have @command{sed} that ``forget'' to reset their
|
||||
@samp{t} flag when starting a new cycle. For instance on @sc{mips
|
||||
risc/os}, and on @sc{irix} 5.3, if you run the following @command{sed}
|
||||
@ -8851,7 +8860,7 @@ s/.*/deleted/g
|
||||
|
||||
@item @command{touch}
|
||||
@c ------------------
|
||||
@cindex @command{touch}
|
||||
@prindex @command{touch}
|
||||
On some old @sc{bsd} systems, @command{touch} or any command that
|
||||
results in an empty file does not update the timestamps, so use a
|
||||
command like @code{echo} as a workaround.
|
||||
@ -9585,7 +9594,7 @@ may use comes with Autoconf.
|
||||
* Optional Features:: Selecting optional features
|
||||
* System Type:: Specifying the system type
|
||||
* Sharing Defaults:: Setting site-wide defaults for @code{configure}
|
||||
* Environment Variables:: Defining environment variables.
|
||||
* Defining Variables:: Specifying the compiler etc.
|
||||
* configure Invocation:: Changing how @code{configure} runs
|
||||
* INSTALL Copyright Notice:: Copyright notice for the @file{INSTALL} file
|
||||
@end menu
|
||||
@ -11733,7 +11742,7 @@ have free time again. I think. Yeah, right.)
|
||||
|
||||
@c ========================================================== Appendices
|
||||
|
||||
@node Copying This Manual, Environment Variable Index, History, Top
|
||||
@node Copying This Manual, Environment Variables, History, Top
|
||||
@appendix Copying This Manual
|
||||
|
||||
@menu
|
||||
@ -11742,7 +11751,7 @@ have free time again. I think. Yeah, right.)
|
||||
|
||||
@include fdl.texi
|
||||
|
||||
@node Environment Variable Index, Output Variable Index, Copying This Manual, Top
|
||||
@node Environment Variables, Output Variables, Copying This Manual, Top
|
||||
@unnumbered Environment Variable Index
|
||||
|
||||
This is an alphabetical list of the environment variables that Autoconf
|
||||
@ -11750,7 +11759,7 @@ checks.
|
||||
|
||||
@printindex ev
|
||||
|
||||
@node Output Variable Index, Preprocessor Symbol Index, Environment Variable Index, Top
|
||||
@node Output Variables, Preprocessor Symbols, Environment Variables, Top
|
||||
@unnumbered Output Variable Index
|
||||
|
||||
This is an alphabetical list of the variables that Autoconf can
|
||||
@ -11760,7 +11769,7 @@ on how this is done.
|
||||
|
||||
@printindex ov
|
||||
|
||||
@node Preprocessor Symbol Index, Autoconf Macro Index, Output Variable Index, Top
|
||||
@node Preprocessor Symbols, Autoconf Macros, Output Variables, Top
|
||||
@unnumbered Preprocessor Symbol Index
|
||||
|
||||
This is an alphabetical list of the C preprocessor symbols that the
|
||||
@ -11769,7 +11778,7 @@ use these names in @code{#if} directives.
|
||||
|
||||
@printindex cv
|
||||
|
||||
@node Autoconf Macro Index, M4 Macro Index, Preprocessor Symbol Index, Top
|
||||
@node Autoconf Macros, M4 Macros, Preprocessor Symbols, Top
|
||||
@unnumbered Autoconf Macro Index
|
||||
|
||||
This is an alphabetical list of the Autoconf macros. To make the list
|
||||
@ -11777,7 +11786,7 @@ easier to use, the macros are listed without their preceding @samp{AC_}.
|
||||
|
||||
@printindex ac
|
||||
|
||||
@node M4 Macro Index, Autotest Macro Index, Autoconf Macro Index, Top
|
||||
@node M4 Macros, Autotest Macros, Autoconf Macros, Top
|
||||
@unnumbered M4 Macro Index
|
||||
|
||||
This is an alphabetical list of the M4, M4sugar, and M4sh macros. To
|
||||
@ -11786,7 +11795,7 @@ preceding @samp{m4_} or @samp{AS_}.
|
||||
|
||||
@printindex ms
|
||||
|
||||
@node Autotest Macro Index, Concept Index, M4 Macro Index, Top
|
||||
@node Autotest Macros, Programs and Functions, M4 Macros, Top
|
||||
@unnumbered Autotest Macro Index
|
||||
|
||||
This is an alphabetical list of the Autotest macros. To make the list
|
||||
@ -11794,7 +11803,15 @@ easier to use, the macros are listed without their preceding @samp{AT_}.
|
||||
|
||||
@printindex at
|
||||
|
||||
@node Concept Index, , Autotest Macro Index, Top
|
||||
@node Programs and Functions, Concept Index, Autotest Macros, Top
|
||||
@unnumbered Programs and Functions Index
|
||||
|
||||
This is an alphabetical list of the programs and functions which
|
||||
portability is discussed in this document.
|
||||
|
||||
@printindex pr
|
||||
|
||||
@node Concept Index, , Programs and Functions, Top
|
||||
@unnumbered Concept Index
|
||||
|
||||
This is an alphabetical list of the files, tools, and concepts
|
||||
|
141
doc/install.texi
141
doc/install.texi
@ -6,14 +6,14 @@
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The @code{configure} shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
The @command{configure} shell script attempts to guess correct values
|
||||
for various system-dependent variables used during compilation. It uses
|
||||
those values to create a @file{Makefile} in each directory of the
|
||||
package. It may also create one or more @file{.h} files containing
|
||||
system-dependent definitions. Finally, it creates a shell script
|
||||
@file{config.status} that you can run in the future to recreate the
|
||||
current configuration, and a file @file{config.log} containing compiler
|
||||
output (useful mainly for debugging @code{configure}).
|
||||
output (useful mainly for debugging @command{configure}).
|
||||
|
||||
It can also use an optional file (typically called @file{config.cache}
|
||||
and enabled with @option{--cache-file=config.cache} or simply
|
||||
@ -22,11 +22,11 @@ reconfiguring. (Caching is disabled by default to prevent problems with
|
||||
accidental use of stale cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try to
|
||||
figure out how @code{configure} could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the @file{README} so they
|
||||
can be considered for the next release. If you are using the cache, and
|
||||
at some point @file{config.cache} contains results you don't want to
|
||||
keep, you may remove or edit it.
|
||||
figure out how @command{configure} could check whether to do them, and
|
||||
mail diffs or instructions to the address given in the @file{README} so
|
||||
they can be considered for the next release. If you are using the
|
||||
cache, and at some point @file{config.cache} contains results you don't
|
||||
want to keep, you may remove or edit it.
|
||||
|
||||
The file @file{configure.ac} (or @file{configure.in}) is used to create
|
||||
@file{configure} by a program called @code{autoconf}. You only need
|
||||
@ -42,9 +42,9 @@ The simplest way to compile this package is:
|
||||
@samp{./configure} to configure the package for your system. If you're
|
||||
using @code{csh} on an old version of System V, you might need to type
|
||||
@samp{sh ./configure} instead to prevent @code{csh} from trying to
|
||||
execute @code{configure} itself.
|
||||
execute @command{configure} itself.
|
||||
|
||||
Running @code{configure} takes awhile. While running, it prints some
|
||||
Running @command{configure} takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
@item
|
||||
@ -59,30 +59,31 @@ Type @samp{make install} to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
@item
|
||||
You can remove the program binaries and object files from the source code
|
||||
directory by typing @samp{make clean}. To also remove the files that
|
||||
@code{configure} created (so you can compile the package for a different
|
||||
kind of computer), type @samp{make distclean}. There is also a
|
||||
@samp{make maintainer-clean} target, but that is intended mainly for the
|
||||
package's developers. If you use it, you may have to get all sorts of
|
||||
other programs in order to regenerate files that came with the distribution.
|
||||
You can remove the program binaries and object files from the source
|
||||
code directory by typing @samp{make clean}. To also remove the files
|
||||
that @command{configure} created (so you can compile the package for a
|
||||
different kind of computer), type @samp{make distclean}. There is also
|
||||
a @samp{make maintainer-clean} target, but that is intended mainly for
|
||||
the package's developers. If you use it, you may have to get all sorts
|
||||
of other programs in order to regenerate files that came with the
|
||||
distribution.
|
||||
@end enumerate
|
||||
|
||||
@node Compilers and Options
|
||||
@section Compilers and Options
|
||||
|
||||
Some systems require unusual options for compilation or linking that the
|
||||
@code{configure} script does not know about. Run @samp{./configure
|
||||
@command{configure} script does not know about. Run @samp{./configure
|
||||
--help} for details on some of the pertinent environment variables.
|
||||
|
||||
You can give @code{configure} initial values for variables by setting
|
||||
You can give @command{configure} initial values for variables by setting
|
||||
them in the environment. You can do that on the command line like this:
|
||||
|
||||
@example
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
@end example
|
||||
|
||||
@xref{Environment Variables}, for more details.
|
||||
@xref{Defining Variables}, for more details.
|
||||
|
||||
|
||||
@node Multiple Architectures
|
||||
@ -90,18 +91,18 @@ them in the environment. You can do that on the command line like this:
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of @code{make} that
|
||||
supports the @code{VPATH} variable, such as GNU @code{make}. @code{cd}
|
||||
to the directory where you want the object files and executables to go
|
||||
and run the @code{configure} script. @code{configure} automatically
|
||||
checks for the source code in the directory that @code{configure} is in
|
||||
and in @file{..}.
|
||||
own directory. To do this, you must use a version of @command{make}
|
||||
that supports the @code{VPATH} variable, such as GNU @command{make}.
|
||||
@command{cd} to the directory where you want the object files and
|
||||
executables to go and run the @command{configure} script.
|
||||
@command{configure} automatically checks for the source code in the
|
||||
directory that @command{configure} is in and in @file{..}.
|
||||
|
||||
If you have to use a @code{make} that does not support the @code{VPATH}
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use @samp{make distclean} before reconfiguring for
|
||||
another architecture.
|
||||
If you have to use a @command{make} that does not support the
|
||||
@code{VPATH} variable, you have to compile the package for one
|
||||
architecture at a time in the source code directory. After you have
|
||||
installed the package for one architecture, use @samp{make distclean}
|
||||
before reconfiguring for another architecture.
|
||||
|
||||
@node Installation Names
|
||||
@section Installation Names
|
||||
@ -109,13 +110,14 @@ another architecture.
|
||||
By default, @samp{make install} will install the package's files in
|
||||
@file{/usr/local/bin}, @file{/usr/local/man}, etc. You can specify an
|
||||
installation prefix other than @file{/usr/local} by giving
|
||||
@code{configure} the option @option{--prefix=@var{path}}.
|
||||
@command{configure} the option @option{--prefix=@var{path}}.
|
||||
|
||||
You can specify separate installation prefixes for architecture-specific
|
||||
files and architecture-independent files. If you give @code{configure}
|
||||
the option @option{--exec-prefix=@var{path}}, the package will use
|
||||
@var{path} as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
files and architecture-independent files. If you give
|
||||
@command{configure} the option @option{--exec-prefix=@var{path}}, the
|
||||
package will use @var{path} as the prefix for installing programs and
|
||||
libraries. Documentation and other data files will still use the
|
||||
regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give options
|
||||
like @option{--bindir=@var{path}} to specify different values for
|
||||
@ -123,32 +125,33 @@ particular kinds of files. Run @samp{configure --help} for a list of
|
||||
the directories you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed with
|
||||
an extra prefix or suffix on their names by giving @code{configure} the
|
||||
option @option{--program-prefix=@var{PREFIX}} or
|
||||
an extra prefix or suffix on their names by giving @command{configure}
|
||||
the option @option{--program-prefix=@var{PREFIX}} or
|
||||
@option{--program-suffix=@var{SUFFIX}}.
|
||||
|
||||
@node Optional Features
|
||||
@section Optional Features
|
||||
|
||||
Some packages pay attention to @option{--enable-@var{feature}} options
|
||||
to @code{configure}, where @var{feature} indicates an optional part of
|
||||
the package. They may also pay attention to
|
||||
to @command{configure}, where @var{feature} indicates an optional part
|
||||
of the package. They may also pay attention to
|
||||
@option{--with-@var{package}} options, where @var{package} is something
|
||||
like @samp{gnu-as} or @samp{x} (for the X Window System). The
|
||||
@file{README} should mention any @option{--enable-} and @option{--with-}
|
||||
options that the package recognizes.
|
||||
|
||||
For packages that use the X Window System, @code{configure} can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the @code{configure} options @option{--x-includes=@var{dir}}
|
||||
and @option{--x-libraries=@var{dir}} to specify their locations.
|
||||
For packages that use the X Window System, @command{configure} can
|
||||
usually find the X include and library files automatically, but if it
|
||||
doesn't, you can use the @command{configure} options
|
||||
@option{--x-includes=@var{dir}} and @option{--x-libraries=@var{dir}} to
|
||||
specify their locations.
|
||||
|
||||
@node System Type
|
||||
@section Specifying the System Type
|
||||
|
||||
There may be some features @code{configure} cannot figure out
|
||||
There may be some features @command{configure} cannot figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually @code{configure} can figure that out, but if it
|
||||
will run on. Usually @command{configure} can figure that out, but if it
|
||||
prints a message saying it cannot guess the host type, give it the
|
||||
@option{--build=@var{type}} option. @var{type} can either be a short
|
||||
name for the system type, such as @samp{sun4}, or a canonical name which
|
||||
@ -162,17 +165,16 @@ has the form:
|
||||
where @var{system} can have one of these forms:
|
||||
|
||||
@example
|
||||
@var{os}
|
||||
@var{kernel}-@var{os}
|
||||
@var{os} @var{kernel}-@var{os}
|
||||
@end example
|
||||
|
||||
See the file @file{config.sub} for the possible values of each field.
|
||||
If @file{config.sub} isn't included in this package, then this package
|
||||
doesn't need to know the host type.
|
||||
|
||||
If you are @emph{building} compiler tools for cross-compiling, you should
|
||||
use the @option{--target=@var{type}} option to select the type of system
|
||||
they will produce code for.
|
||||
If you are @emph{building} compiler tools for cross-compiling, you
|
||||
should use the @option{--target=@var{type}} option to select the type of
|
||||
system they will produce code for.
|
||||
|
||||
If you want to @emph{use} a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the host
|
||||
@ -186,25 +188,25 @@ can't be done if the compiler is a cross compiler).
|
||||
@node Sharing Defaults
|
||||
@section Sharing Defaults
|
||||
|
||||
If you want to set default values for @code{configure} scripts to share,
|
||||
you can create a site shell script called @file{config.site} that gives
|
||||
default values for variables like @code{CC}, @code{cache_file}, and
|
||||
@code{prefix}. @code{configure} looks for
|
||||
If you want to set default values for @command{configure} scripts to
|
||||
share, you can create a site shell script called @file{config.site} that
|
||||
gives default values for variables like @code{CC}, @code{cache_file},
|
||||
and @code{prefix}. @command{configure} looks for
|
||||
@file{@var{prefix}/share/config.site} if it exists, then
|
||||
@file{@var{prefix}/etc/config.site} if it exists. Or, you can set the
|
||||
@code{CONFIG_SITE} environment variable to the location of the site
|
||||
script. A warning: not all @code{configure} scripts look for a site
|
||||
script. A warning: not all @command{configure} scripts look for a site
|
||||
script.
|
||||
|
||||
@node Environment Variables
|
||||
@section Environment Variables
|
||||
@node Defining Variables
|
||||
@section Defining Variables
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to configure. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
environment passed to @command{configure}. However, some packages may
|
||||
run configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the @code{configure} command line, using @samp{VAR=value}. For
|
||||
example:
|
||||
them in the @command{configure} command line, using @samp{VAR=value}.
|
||||
For example:
|
||||
|
||||
@example
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
@ -216,19 +218,19 @@ overridden in the site shell script).
|
||||
|
||||
|
||||
@node configure Invocation
|
||||
@section @code{configure} Invocation
|
||||
@section @command{configure} Invocation
|
||||
|
||||
@code{configure} recognizes the following options to control how it
|
||||
@command{configure} recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
@table @option
|
||||
@item --help
|
||||
@itemx -h
|
||||
Print a summary of the options to @code{configure}, and exit.
|
||||
Print a summary of the options to @command{configure}, and exit.
|
||||
|
||||
@item --version
|
||||
@itemx -V
|
||||
Print the version of Autoconf used to generate the @code{configure}
|
||||
Print the version of Autoconf used to generate the @command{configure}
|
||||
script, and exit.
|
||||
|
||||
@item --cache-file=@var{file}
|
||||
@ -250,17 +252,18 @@ will still be shown).
|
||||
|
||||
@item --srcdir=@var{dir}
|
||||
Look for the package's source code in directory @var{dir}. Usually
|
||||
@code{configure} can determine that directory automatically.
|
||||
@command{configure} can determine that directory automatically.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
@code{configure} also accepts some other, not widely useful, options.
|
||||
@command{configure} also accepts some other, not widely useful, options.
|
||||
Run @samp{configure --help} for more details.
|
||||
|
||||
@node INSTALL Copyright Notice
|
||||
@section Copyright Notice for the @file{INSTALL} File
|
||||
|
||||
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
The @file{INSTALL} file is free documentation; the Free Software
|
||||
Foundation gives unlimited permission to copy, distribute and modify it.
|
||||
|
Loading…
Reference in New Issue
Block a user