]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Initial revision
authorDavid MacKenzie <djm@djmnet.org>
Tue, 19 Jul 1994 14:37:37 +0000 (14:37 +0000)
committerDavid MacKenzie <djm@djmnet.org>
Tue, 19 Jul 1994 14:37:37 +0000 (14:37 +0000)
bin/ifnames.in [new file with mode: 0644]
doc/install.texi [new file with mode: 0644]
ifnames.in [new file with mode: 0644]
ifnames.sh [new file with mode: 0644]
install.texi [new file with mode: 0644]

diff --git a/bin/ifnames.in b/bin/ifnames.in
new file mode 100644 (file)
index 0000000..da66197
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh
+# ifnames - print the identifiers used in C preprocessor conditionals
+# Copyright (C) 1994 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]
+# Reads from stdin if no files are given.
+# Writes to stdout.
+
+# Written by David MacKenzie <djm@gnu.ai.mit.edu>
+
+usage="Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]"
+show_version=no
+
+test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
+
+while test $# -gt 0; do
+  case "$1" in 
+  --help | --hel | --he | --h)
+    echo "$usage"; exit 0 ;;
+  --macrodir=* | --m*=* )
+    AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
+    shift ;;
+  -m | --macrodir | --m*)
+    shift
+    test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+    AC_MACRODIR="$1"
+    shift ;;
+  --version | --versio | --versi | --vers)
+    show_version=yes; shift ;;
+  --)     # Stop option processing.
+    shift; break ;;
+  -*) echo "$usage" 1>&2; exit 1 ;;
+  *) break ;;
+  esac
+done
+
+if test $show_version = yes; then
+  version=`sed -n 's/define.AC_ACVERSION.[     ]*\([0-9.]*\).*/\1/p' \
+    $AC_MACRODIR/acgeneral.m4`
+  echo "Autoconf version $version"
+  exit 0
+fi
+
+if test $# -eq 0; then
+       cat > stdin
+       set stdin
+       trap 'rm -f stdin' 0
+       trap 'rm -f stdin; exit 1' 1 3 15
+fi
+
+for arg
+do
+sed -n '
+# Remove comments.  Not perfect, but close enough.
+s,/\*[^/]*\*/,,g
+# Comments that end on a later line.
+s,/\*[^/]*,,g
+/^[    ]*#[    ]*ifn*def[      ][      ]*\([A-Za-z0-9_]*\).*/s//\1/p
+/^[    ]*#[    ]*e*l*if[       ]/{
+       s///
+       s/@//g
+       # Enclose identifiers in @ and a space.
+       s/\([A-Za-z_][A-Za-z_0-9]*\)/@\1 /g
+       # Handle "#if 0" -- there are no @s to trigger removal.
+       s/$/@ /
+       # Remove non-identifiers.
+       s/@defined //g
+       s/[^@]*@\([^ ]* \)[^@]*/\1/g
+       # Remove any spaces at the end.
+       s/ *$//
+       # Translate any other spaces to newlines.
+       s/ /\
+/g
+       p
+}
+' $arg | sort -u | sed 's,$, '$arg','
+done | awk '
+{ files[$1] = files[$1] " " $2 }
+END { for (n in files) print n files[n] }' | sort
diff --git a/doc/install.texi b/doc/install.texi
new file mode 100644 (file)
index 0000000..212bb8e
--- /dev/null
@@ -0,0 +1,189 @@
+@c This file is included by autoconf.texi and is used to produce
+@c the INSTALL file.
+
+@node Basic Installation
+@section Basic Installation
+
+These are generic installation instructions.  If this package does not
+come with, e.g., self-tests, installable documentation, or data files,
+please ignore the references to them below.
+
+The @code{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 C 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}).
+
+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.
+
+The file @file{configure.in} is used to create @file{configure} by a
+program called @code{autoconf}.  You only need it if you want to change
+@file{configure.in}, or regenerate @file{configure} using a newer
+version of @code{autoconf}.
+
+@noindent
+The simplest way to compile this package is:
+
+@enumerate
+@item
+@code{cd} to the directory containing the package's source code and type
+@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.
+
+Running @code{configure} takes awhile.  While running, it prints some
+messages telling which features it is checking for.
+
+@item
+Type @samp{make} to compile the package.
+
+@item
+Optionally, type @samp{make check} to run any self-tests that come with
+the package.
+
+@item
+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
+directory by typing @samp{make clean}.  To also remove the files that
+@code{configure} created, type @samp{make distclean}.
+@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.  You can give
+@code{configure} initial values for variables by setting them in the
+environment.  Using a Bourne-compatible shell, you can do that on the
+command line like this:
+@example
+CC=c89 LIBS=-lposix ./configure
+@end example
+
+@noindent
+Or on systems that have the @code{env} program, you can do it like this:
+@example
+env CC=c89 LIBS=-lposix ./configure
+@end example
+
+@noindent
+To select different optimizing or debugging options, you can override
+the @samp{make} variables @code{CFLAGS} and @code{LDFLAGS}:
+@example
+make CFLAGS=-O2 LDFLAGS=-s
+@end example
+
+@node Build Directory
+@section Using a Different Build Directory
+
+To compile the package in a different directory from the one containing
+the source code, 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{..}.
+
+@node Installation Directories
+@section Installation Directories
+
+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 @samp{--prefix=@var{path}}.  Alternately,
+you can do so by consistently giving a value for the @samp{prefix}
+variable when you run @code{make}, e.g.,
+@example
+make prefix=/usr/gnu
+make prefix=/usr/gnu install
+@end example
+
+You can specify separate installation prefixes for architecture-specific
+files and architecture-independent files.  If you give @code{configure}
+the option @samp{--exec-prefix=@var{path}} or set the @code{make}
+variable @samp{exec_prefix} to @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.
+
+If you use an unusual directory layout in which some of the installation
+directory names are not based on the prefix or exec prefix, you can set
+the individual variables @code{bindir}, @code{libdir}, etc. on the
+@code{make} command line:
+@example
+make bindir=/bin libdir=/usr/lib
+@end example
+@noindent
+Check the @file{Makefile.in} files to see which variables each package uses.
+
+@node System Type
+@section Specifying the System Type
+
+There may be some features @code{configure} can not 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
+prints a message saying it can not guess the host type, give it the
+@samp{--host=@var{type}} option.  @var{type} can either be a short name
+for the system type, such as @samp{sun4}, or a canonical name with three
+fields:
+@example
+@var{cpu}-@var{company}-@var{system}
+@end example
+@noindent
+See the file @file{config.sub} for the possible values of each field.
+
+If you are building compiler tools for cross-compiling, you can also use
+the @samp{--target=@var{type}} option to select the type of system
+they will produce code for and the @samp{--build=@var{type}} option
+to select the type of system on which you are compiling the package.
+
+@node Optional Features
+@section Optional Features
+
+Some packages pay attention to @samp{--with-@var{package}} options to
+@code{configure}, where @var{package} is something like @samp{gnu-as} or
+@samp{x} (for the X Window System).  They may also pay attention to
+@samp{--enable-@var{feature}} options, where @var{feature} indicates an
+optional part of the package.  The README should mention any
+@samp{--with-} and @samp{--enable-} options that the package recognizes.
+
+@noindent
+@code{configure} also recognizes the following options:
+
+@table @code
+@item --help
+Print a summary of the options to @code{configure}, and exit.
+
+@itemx --quiet
+@item --silent
+Do not print messages saying which checks are being made.
+
+@item --srcdir=@var{dir}
+Look for the package's source code in directory @var{dir}.  Usually
+@code{configure} can determine that directory automatically.
+
+@item --verbose
+Print the results of the checks.
+
+@item --version
+Print the version of Autoconf used to generate the @code{configure}
+script, and exit.
+
+@item --x-includes=@var{dir}
+X include files are in directory @var{dir}.
+
+@item --x-libraries=@var{dir}
+X library files are in directory @var{dir}.
+@end table
+
+@noindent
+@code{configure} also accepts and ignores some other options.
diff --git a/ifnames.in b/ifnames.in
new file mode 100644 (file)
index 0000000..da66197
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh
+# ifnames - print the identifiers used in C preprocessor conditionals
+# Copyright (C) 1994 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]
+# Reads from stdin if no files are given.
+# Writes to stdout.
+
+# Written by David MacKenzie <djm@gnu.ai.mit.edu>
+
+usage="Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]"
+show_version=no
+
+test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
+
+while test $# -gt 0; do
+  case "$1" in 
+  --help | --hel | --he | --h)
+    echo "$usage"; exit 0 ;;
+  --macrodir=* | --m*=* )
+    AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
+    shift ;;
+  -m | --macrodir | --m*)
+    shift
+    test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+    AC_MACRODIR="$1"
+    shift ;;
+  --version | --versio | --versi | --vers)
+    show_version=yes; shift ;;
+  --)     # Stop option processing.
+    shift; break ;;
+  -*) echo "$usage" 1>&2; exit 1 ;;
+  *) break ;;
+  esac
+done
+
+if test $show_version = yes; then
+  version=`sed -n 's/define.AC_ACVERSION.[     ]*\([0-9.]*\).*/\1/p' \
+    $AC_MACRODIR/acgeneral.m4`
+  echo "Autoconf version $version"
+  exit 0
+fi
+
+if test $# -eq 0; then
+       cat > stdin
+       set stdin
+       trap 'rm -f stdin' 0
+       trap 'rm -f stdin; exit 1' 1 3 15
+fi
+
+for arg
+do
+sed -n '
+# Remove comments.  Not perfect, but close enough.
+s,/\*[^/]*\*/,,g
+# Comments that end on a later line.
+s,/\*[^/]*,,g
+/^[    ]*#[    ]*ifn*def[      ][      ]*\([A-Za-z0-9_]*\).*/s//\1/p
+/^[    ]*#[    ]*e*l*if[       ]/{
+       s///
+       s/@//g
+       # Enclose identifiers in @ and a space.
+       s/\([A-Za-z_][A-Za-z_0-9]*\)/@\1 /g
+       # Handle "#if 0" -- there are no @s to trigger removal.
+       s/$/@ /
+       # Remove non-identifiers.
+       s/@defined //g
+       s/[^@]*@\([^ ]* \)[^@]*/\1/g
+       # Remove any spaces at the end.
+       s/ *$//
+       # Translate any other spaces to newlines.
+       s/ /\
+/g
+       p
+}
+' $arg | sort -u | sed 's,$, '$arg','
+done | awk '
+{ files[$1] = files[$1] " " $2 }
+END { for (n in files) print n files[n] }' | sort
diff --git a/ifnames.sh b/ifnames.sh
new file mode 100644 (file)
index 0000000..da66197
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh
+# ifnames - print the identifiers used in C preprocessor conditionals
+# Copyright (C) 1994 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]
+# Reads from stdin if no files are given.
+# Writes to stdout.
+
+# Written by David MacKenzie <djm@gnu.ai.mit.edu>
+
+usage="Usage: ifnames [--macrodir=dir] [--help] [--version] [file...]"
+show_version=no
+
+test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
+
+while test $# -gt 0; do
+  case "$1" in 
+  --help | --hel | --he | --h)
+    echo "$usage"; exit 0 ;;
+  --macrodir=* | --m*=* )
+    AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
+    shift ;;
+  -m | --macrodir | --m*)
+    shift
+    test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+    AC_MACRODIR="$1"
+    shift ;;
+  --version | --versio | --versi | --vers)
+    show_version=yes; shift ;;
+  --)     # Stop option processing.
+    shift; break ;;
+  -*) echo "$usage" 1>&2; exit 1 ;;
+  *) break ;;
+  esac
+done
+
+if test $show_version = yes; then
+  version=`sed -n 's/define.AC_ACVERSION.[     ]*\([0-9.]*\).*/\1/p' \
+    $AC_MACRODIR/acgeneral.m4`
+  echo "Autoconf version $version"
+  exit 0
+fi
+
+if test $# -eq 0; then
+       cat > stdin
+       set stdin
+       trap 'rm -f stdin' 0
+       trap 'rm -f stdin; exit 1' 1 3 15
+fi
+
+for arg
+do
+sed -n '
+# Remove comments.  Not perfect, but close enough.
+s,/\*[^/]*\*/,,g
+# Comments that end on a later line.
+s,/\*[^/]*,,g
+/^[    ]*#[    ]*ifn*def[      ][      ]*\([A-Za-z0-9_]*\).*/s//\1/p
+/^[    ]*#[    ]*e*l*if[       ]/{
+       s///
+       s/@//g
+       # Enclose identifiers in @ and a space.
+       s/\([A-Za-z_][A-Za-z_0-9]*\)/@\1 /g
+       # Handle "#if 0" -- there are no @s to trigger removal.
+       s/$/@ /
+       # Remove non-identifiers.
+       s/@defined //g
+       s/[^@]*@\([^ ]* \)[^@]*/\1/g
+       # Remove any spaces at the end.
+       s/ *$//
+       # Translate any other spaces to newlines.
+       s/ /\
+/g
+       p
+}
+' $arg | sort -u | sed 's,$, '$arg','
+done | awk '
+{ files[$1] = files[$1] " " $2 }
+END { for (n in files) print n files[n] }' | sort
diff --git a/install.texi b/install.texi
new file mode 100644 (file)
index 0000000..212bb8e
--- /dev/null
@@ -0,0 +1,189 @@
+@c This file is included by autoconf.texi and is used to produce
+@c the INSTALL file.
+
+@node Basic Installation
+@section Basic Installation
+
+These are generic installation instructions.  If this package does not
+come with, e.g., self-tests, installable documentation, or data files,
+please ignore the references to them below.
+
+The @code{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 C 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}).
+
+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.
+
+The file @file{configure.in} is used to create @file{configure} by a
+program called @code{autoconf}.  You only need it if you want to change
+@file{configure.in}, or regenerate @file{configure} using a newer
+version of @code{autoconf}.
+
+@noindent
+The simplest way to compile this package is:
+
+@enumerate
+@item
+@code{cd} to the directory containing the package's source code and type
+@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.
+
+Running @code{configure} takes awhile.  While running, it prints some
+messages telling which features it is checking for.
+
+@item
+Type @samp{make} to compile the package.
+
+@item
+Optionally, type @samp{make check} to run any self-tests that come with
+the package.
+
+@item
+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
+directory by typing @samp{make clean}.  To also remove the files that
+@code{configure} created, type @samp{make distclean}.
+@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.  You can give
+@code{configure} initial values for variables by setting them in the
+environment.  Using a Bourne-compatible shell, you can do that on the
+command line like this:
+@example
+CC=c89 LIBS=-lposix ./configure
+@end example
+
+@noindent
+Or on systems that have the @code{env} program, you can do it like this:
+@example
+env CC=c89 LIBS=-lposix ./configure
+@end example
+
+@noindent
+To select different optimizing or debugging options, you can override
+the @samp{make} variables @code{CFLAGS} and @code{LDFLAGS}:
+@example
+make CFLAGS=-O2 LDFLAGS=-s
+@end example
+
+@node Build Directory
+@section Using a Different Build Directory
+
+To compile the package in a different directory from the one containing
+the source code, 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{..}.
+
+@node Installation Directories
+@section Installation Directories
+
+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 @samp{--prefix=@var{path}}.  Alternately,
+you can do so by consistently giving a value for the @samp{prefix}
+variable when you run @code{make}, e.g.,
+@example
+make prefix=/usr/gnu
+make prefix=/usr/gnu install
+@end example
+
+You can specify separate installation prefixes for architecture-specific
+files and architecture-independent files.  If you give @code{configure}
+the option @samp{--exec-prefix=@var{path}} or set the @code{make}
+variable @samp{exec_prefix} to @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.
+
+If you use an unusual directory layout in which some of the installation
+directory names are not based on the prefix or exec prefix, you can set
+the individual variables @code{bindir}, @code{libdir}, etc. on the
+@code{make} command line:
+@example
+make bindir=/bin libdir=/usr/lib
+@end example
+@noindent
+Check the @file{Makefile.in} files to see which variables each package uses.
+
+@node System Type
+@section Specifying the System Type
+
+There may be some features @code{configure} can not 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
+prints a message saying it can not guess the host type, give it the
+@samp{--host=@var{type}} option.  @var{type} can either be a short name
+for the system type, such as @samp{sun4}, or a canonical name with three
+fields:
+@example
+@var{cpu}-@var{company}-@var{system}
+@end example
+@noindent
+See the file @file{config.sub} for the possible values of each field.
+
+If you are building compiler tools for cross-compiling, you can also use
+the @samp{--target=@var{type}} option to select the type of system
+they will produce code for and the @samp{--build=@var{type}} option
+to select the type of system on which you are compiling the package.
+
+@node Optional Features
+@section Optional Features
+
+Some packages pay attention to @samp{--with-@var{package}} options to
+@code{configure}, where @var{package} is something like @samp{gnu-as} or
+@samp{x} (for the X Window System).  They may also pay attention to
+@samp{--enable-@var{feature}} options, where @var{feature} indicates an
+optional part of the package.  The README should mention any
+@samp{--with-} and @samp{--enable-} options that the package recognizes.
+
+@noindent
+@code{configure} also recognizes the following options:
+
+@table @code
+@item --help
+Print a summary of the options to @code{configure}, and exit.
+
+@itemx --quiet
+@item --silent
+Do not print messages saying which checks are being made.
+
+@item --srcdir=@var{dir}
+Look for the package's source code in directory @var{dir}.  Usually
+@code{configure} can determine that directory automatically.
+
+@item --verbose
+Print the results of the checks.
+
+@item --version
+Print the version of Autoconf used to generate the @code{configure}
+script, and exit.
+
+@item --x-includes=@var{dir}
+X include files are in directory @var{dir}.
+
+@item --x-libraries=@var{dir}
+X library files are in directory @var{dir}.
+@end table
+
+@noindent
+@code{configure} also accepts and ignores some other options.