+Fri Nov 4 09:08:33 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
+
+ * Version 2.1.
+
+ * autoreconf.sh: Add -f --force option.
+ From "Theodore Ts'o" <tytso@MIT.EDU>.
+
+Thu Nov 3 10:24:08 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
+
+ * acgeneral.m4 (AC_TRY_RUN): Reword warning.
+
+ * acspecific.m4 (AC_PROG_CXX): Notify the user of the check for
+ GNU C++.
+ (AC_PROG_CXX, AC_PROG_CXXCPP): Use g++, not gcc, as default C++
+ compiler.
+ * acgeneral.m4 (AC_LANG_CPLUSPLUS): Ditto.
+
+ * acgeneral.m4 (AC_INIT_PARSE_ARGS): Move ac_usage string directly
+ into the here document to work around A/UX shell limitation.
+
+ * acgeneral.m4 (AC_COMPILE_CHECK): Mention the MSG macros in the
+ obsolete warning.
+
+ * autoscan.pl (output_programs): Use AC_CHECK_LIB, not
+ AC_HAVE_LIBRARY.
+
+ * acgeneral.m4 (AC_CHECK_FUNC): Move prototype outside of function
+ so it works with C++. From ejb@era.COM (E. Jay Berkenbilt).
+
+Fri Oct 28 11:23:30 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
+
+ * acspecific.m4 (AC_CHECK_HEADERS_DIRENT): Use define, not
+ AC_DEFUN, so the testsuite doesn't call it with no arguments,
+ leading to a syntax error in the real Bourne shell.
+
Wed Oct 26 18:40:41 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
* Version 2.0.
+Major changes in release 2.1:
+
+* Fix C++ problems.
+* More explanations in the manual.
+* Fix a spurious failure in the testsuite.
+* Clarify some warning messages.
+* autoreconf by default only rebuilds configure and config.h.in files
+ that are older than any of their particular input files; there is a
+ --force option to use after installing a new version of Autoconf.
+\f
Thanks to everybody who's submitted changes and additions to Autoconf!
I've incorporated many of them, and am still considering others for
future releases -- but I didn't want to postpone this release indefinitely.
divert(-1)dnl Throw away output until AC_INIT is called.
changequote([, ])
-define(AC_ACVERSION, 2.0)
+define(AC_ACVERSION, 2.1)
dnl Some old m4's don't support m4exit. But they provide
dnl equivalent functionality by core dumping because of the
dnl AC_INIT_PARSE_ARGS()
AC_DEFUN(AC_INIT_PARSE_ARGS,
[
-# Omit some internal or obsolete options to make the list less imposing.
-changequote(, )dnl
-ac_usage="Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
- [same as prefix]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help"
-changequote([, ])dnl
-
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
with_gas=yes ;;
-help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
-$ac_usage
+changequote(, )dnl
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ [same as prefix]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+--enable and --with options recognized:$ac_help
+changequote([, ])dnl
EOF
exit 0 ;;
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-gcc} $CXXFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&AC_FD_CC 2>&AC_FD_CC'
-ac_link='${CXX-gcc} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC'
+ac_compile='${CXX-g++} $CXXFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&AC_FD_CC 2>&AC_FD_CC'
+ac_link='${CXX-g++} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC'
])
dnl Push the current language on a stack.
dnl AC_COMPILE_CHECK(ECHO-TEXT, INCLUDES, FUNCTION-BODY,
dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
AC_DEFUN(AC_COMPILE_CHECK,
-[AC_OBSOLETE([$0], [; instead use AC_TRY_COMPILE or AC_TRY_LINK])dnl
+[AC_OBSOLETE([$0], [; instead use AC_TRY_COMPILE or AC_TRY_LINK, and AC_MSG_CHECKING and AC_MSG_RESULT])dnl
ifelse([$1], , , [AC_CHECKING([for $1])
])dnl
AC_TRY_LINK([$2], [$3], [$4], [$5])dnl
[AC_REQUIRE([AC_C_CROSS])dnl
if test "$cross_compiling" = yes; then
ifelse([$4], ,
- [errprint(__file__:__line__: warning: test program without default to allow cross compiling
+ [errprint(__file__:__line__: warning: [AC_TRY_RUN] called without default to allow cross compiling
)dnl
AC_MSG_ERROR(can not run test program while cross compiling)],
[$4])
[AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(ac_cv_func_$1,
[AC_TRY_LINK(
-[#include <ctype.h> /* Arbitrary system header to define __stub macros. */], [
+[#include <ctype.h> /* Arbitrary system header to define __stub macros. */
+/* Override any gcc2 internal prototype to avoid an error. */
+]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
+extern "C"
+#endif
+])dnl
+[char $1();
+], [
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_$1) || defined (__stub___$1)
choke me
#else
-/* Override any gcc2 internal prototype to avoid an error. */
-]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
-extern "C"
-#endif
-])dnl
-[char $1(); $1();
+$1();
#endif
], eval "ac_cv_func_$1=yes", eval "ac_cv_func_$1=no")])dnl
if eval "test \"`echo '$ac_cv_func_'$1`\" = yes"; then
[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx, gcc)
-# Find out if we are using GNU C++, under whatever name.
+AC_MSG_CHECKING(whether we are using GNU C++)
AC_CACHE_VAL(ac_cv_prog_gxx,
-[cat > conftest.C <<EOF
+[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
+cat > conftest.C <<EOF
#ifdef __GNUC__
- yes
+ yes;
#endif
EOF
-if ${CXX-gcc} -E conftest.C 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then
+if ${CXX-g++} -E conftest.C 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gxx=yes
else
ac_cv_prog_gxx=no
fi])dnl
+AC_MSG_RESULT($ac_cv_prog_gxx)
if test $ac_cv_prog_gxx = yes; then
GXX=yes
if test "${CXXFLAGS+set}" != set; then
- AC_MSG_CHECKING(whether ${CXX-gcc} accepts -g)
+ AC_MSG_CHECKING(whether ${CXX-g++} accepts -g)
AC_CACHE_VAL(ac_cv_prog_gxx_g,
[echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-gcc} -g -c conftest.cc 2>&1`"; then
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
ac_cv_prog_gxx_g=yes
else
ac_cv_prog_gxx_g=no
AC_CACHE_VAL(ac_cv_prog_CXXCPP,
[AC_LANG_SAVE[]dnl
AC_LANG_CPLUSPLUS[]dnl
- CXXCPP="${CXX-gcc} -E"
+ CXXCPP="${CXX-g++} -E"
AC_TRY_CPP([#include <stdlib.h>], , CXXCPP=/lib/cpp)
ac_cv_prog_CXXCPP="$CXXCPP"
AC_LANG_RESTORE[]dnl
dnl Like AC_CHECK_HEADERS, except succeed only for a HEADER-FILE that
dnl defines `DIR'.
dnl AC_CHECK_HEADERS_DIRENT(HEADER-FILE... [, ACTION])
-AC_DEFUN(AC_CHECK_HEADERS_DIRENT,
+define(AC_CHECK_HEADERS_DIRENT,
[for ac_hdr in $1
do
AC_CHECK_HEADER_DIRENT($ac_hdr,
\1f
Indirect:
autoconf.info-1: 1085
-autoconf.info-2: 49802
-autoconf.info-3: 99382
-autoconf.info-4: 148397
-autoconf.info-5: 196506
+autoconf.info-2: 51012
+autoconf.info-3: 100216
+autoconf.info-4: 150192
+autoconf.info-5: 198408
\1f
Tag Table:
(Indirect)
Node: Introduction\7f9210
Node: Making configure Scripts\7f13050
Node: Writing configure.in\7f16115
-Node: Invoking autoscan\7f19362
-Node: Invoking ifnames\7f21667
-Node: Invoking autoconf\7f23157
-Node: Invoking autoreconf\7f24995
-Node: Setup\7f26558
-Node: Input\7f27444
-Node: Output\7f29060
-Node: Makefile Substitutions\7f31810
-Node: Preset Output Variables\7f33392
-Node: Build Directories\7f36630
-Node: Automatic Remaking\7f38356
-Node: Configuration Headers\7f40422
-Node: Header Templates\7f42789
-Node: Invoking autoheader\7f43968
-Node: Subdirectories\7f47055
-Node: Default Prefix\7f48398
-Node: Versions\7f49802
-Node: Existing Tests\7f51704
-Node: Alternative Programs\7f53169
-Node: Particular Programs\7f53833
-Node: Generic Programs\7f59143
-Node: Libraries\7f60820
-Node: Library Functions\7f62649
-Node: Particular Functions\7f63207
-Node: Generic Functions\7f68954
-Node: Header Files\7f70795
-Node: Particular Headers\7f71354
-Node: Generic Headers\7f78325
-Node: Structures\7f79625
-Node: Typedefs\7f81862
-Node: Particular Typedefs\7f82366
-Node: Generic Typedefs\7f83624
-Node: Compiler Characteristics\7f84073
-Node: System Services\7f86529
-Node: UNIX Variants\7f88850
-Node: Writing Tests\7f90869
-Node: Examining Declarations\7f92641
-Node: Examining Syntax\7f95107
-Node: Examining Libraries\7f96162
-Node: Run Time\7f98421
-Node: Test Programs\7f99382
-Node: Guidelines\7f101917
-Node: Test Functions\7f103106
-Node: Portable Shell\7f104649
-Node: Testing Values and Files\7f106301
-Node: Multiple Cases\7f107956
-Node: Language Choice\7f109154
-Node: Results\7f110712
-Node: Defining Symbols\7f111471
-Node: Setting Output Variables\7f114480
-Node: Caching Results\7f116326
-Node: Cache Variable Names\7f118228
-Node: Cache Files\7f119777
-Node: Printing Messages\7f121562
-Node: Writing Macros\7f124849
-Node: Macro Definitions\7f125468
-Node: Macro Names\7f126573
-Node: Quoting\7f129024
-Node: Dependencies Between Macros\7f130926
-Node: Prerequisite Macros\7f131558
-Node: Suggested Ordering\7f133013
-Node: Obsolete Macros\7f134543
-Node: Manual Configuration\7f135767
-Node: Specifying Names\7f136676
-Node: Canonicalizing\7f138548
-Node: System Type Variables\7f139862
-Node: Using System Type\7f140609
-Node: Site Configuration\7f141889
-Node: External Software\7f142662
-Node: Package Options\7f145127
-Node: Site Details\7f147183
-Node: Transforming Names\7f148397
-Node: Transformation Options\7f149576
-Node: Transformation Examples\7f150042
-Node: Transformation Rules\7f151610
-Node: Site Defaults\7f153019
-Node: Invoking configure\7f156181
-Node: Basic Installation\7f157048
-Node: Compilers and Options\7f159370
-Node: Build Directory\7f160012
-Node: Installation Names\7f160713
-Node: Optional Features\7f161631
-Node: System Type\7f162401
-Node: Sharing Defaults\7f163423
-Node: Operation Controls\7f164047
-Node: Invoking config.status\7f164911
-Node: Questions\7f168299
-Node: Distributing\7f168831
-Node: Why GNU m4\7f169957
-Node: Bootstrapping\7f170770
-Node: Why Not Imake\7f171386
-Node: Upgrading\7f175967
-Node: Changed File Names\7f177488
-Node: Changed Makefiles\7f178224
-Node: Changed Macros\7f179304
-Node: Invoking autoupdate\7f180518
-Node: Changed Results\7f182109
-Node: Changed Macro Writing\7f184211
-Node: History\7f185474
-Node: Genesis\7f186181
-Node: Exodus\7f187354
-Node: Leviticus\7f190403
-Node: Numbers\7f191926
-Node: Deuteronomy\7f193842
-Node: Old Macro Names\7f196506
-Node: Environment Variable Index\7f199555
-Node: Output Variable Index\7f200557
-Node: Preprocessor Symbol Index\7f204638
-Node: Macro Index\7f209446
+Node: Invoking autoscan\7f19815
+Node: Invoking ifnames\7f22120
+Node: Invoking autoconf\7f23610
+Node: Invoking autoreconf\7f25448
+Node: Setup\7f27768
+Node: Input\7f28654
+Node: Output\7f30270
+Node: Makefile Substitutions\7f33020
+Node: Preset Output Variables\7f34602
+Node: Build Directories\7f37840
+Node: Automatic Remaking\7f39566
+Node: Configuration Headers\7f41632
+Node: Header Templates\7f43999
+Node: Invoking autoheader\7f45178
+Node: Subdirectories\7f48265
+Node: Default Prefix\7f49608
+Node: Versions\7f51012
+Node: Existing Tests\7f52914
+Node: Alternative Programs\7f54379
+Node: Particular Programs\7f55043
+Node: Generic Programs\7f60893
+Node: Libraries\7f62570
+Node: Library Functions\7f64399
+Node: Particular Functions\7f64957
+Node: Generic Functions\7f70704
+Node: Header Files\7f72545
+Node: Particular Headers\7f73104
+Node: Generic Headers\7f80075
+Node: Structures\7f81375
+Node: Typedefs\7f83612
+Node: Particular Typedefs\7f84116
+Node: Generic Typedefs\7f85316
+Node: Compiler Characteristics\7f85759
+Node: System Services\7f88215
+Node: UNIX Variants\7f90536
+Node: Writing Tests\7f92555
+Node: Examining Declarations\7f94327
+Node: Examining Syntax\7f96793
+Node: Examining Libraries\7f97848
+Node: Run Time\7f100216
+Node: Test Programs\7f101177
+Node: Guidelines\7f103712
+Node: Test Functions\7f104901
+Node: Portable Shell\7f106444
+Node: Testing Values and Files\7f108096
+Node: Multiple Cases\7f109751
+Node: Language Choice\7f110949
+Node: Results\7f112507
+Node: Defining Symbols\7f113266
+Node: Setting Output Variables\7f116275
+Node: Caching Results\7f118121
+Node: Cache Variable Names\7f120023
+Node: Cache Files\7f121572
+Node: Printing Messages\7f123357
+Node: Writing Macros\7f126644
+Node: Macro Definitions\7f127263
+Node: Macro Names\7f128368
+Node: Quoting\7f130819
+Node: Dependencies Between Macros\7f132721
+Node: Prerequisite Macros\7f133353
+Node: Suggested Ordering\7f134808
+Node: Obsolete Macros\7f136338
+Node: Manual Configuration\7f137562
+Node: Specifying Names\7f138471
+Node: Canonicalizing\7f140343
+Node: System Type Variables\7f141657
+Node: Using System Type\7f142404
+Node: Site Configuration\7f143684
+Node: External Software\7f144457
+Node: Package Options\7f146922
+Node: Site Details\7f148978
+Node: Transforming Names\7f150192
+Node: Transformation Options\7f151371
+Node: Transformation Examples\7f151837
+Node: Transformation Rules\7f153405
+Node: Site Defaults\7f154814
+Node: Invoking configure\7f157976
+Node: Basic Installation\7f158917
+Node: Compilers and Options\7f161239
+Node: Build Directory\7f161881
+Node: Installation Names\7f162582
+Node: Optional Features\7f163500
+Node: System Type\7f164270
+Node: Sharing Defaults\7f165292
+Node: Operation Controls\7f165916
+Node: Invoking config.status\7f166780
+Node: Questions\7f170168
+Node: Distributing\7f170700
+Node: Why GNU m4\7f171826
+Node: Bootstrapping\7f172639
+Node: Why Not Imake\7f173255
+Node: Upgrading\7f177836
+Node: Changed File Names\7f179357
+Node: Changed Makefiles\7f180093
+Node: Changed Macros\7f181173
+Node: Invoking autoupdate\7f182420
+Node: Changed Results\7f184011
+Node: Changed Macro Writing\7f186113
+Node: History\7f187376
+Node: Genesis\7f188083
+Node: Exodus\7f189256
+Node: Leviticus\7f192305
+Node: Numbers\7f193828
+Node: Deuteronomy\7f195744
+Node: Old Macro Names\7f198408
+Node: Environment Variable Index\7f201457
+Node: Output Variable Index\7f202459
+Node: Preprocessor Symbol Index\7f206540
+Node: Macro Index\7f211348
\1f
End Tag Table
This file documents the GNU Autoconf package for creating scripts to
configure source code packages using templates and an `m4' macro
-package. This is edition 2.0, for Autoconf version 2.0.
+package. This is edition 2.1, for Autoconf version 2.1.
* Menu:
checks for system services
`AC_OUTPUT([FILE...])'
+ It is best to put each macro call on its own line in `configure.in'.
+Most of the macros don't add extra newlines; they rely on the newline
+after the macro call to terminate the commands. This approach makes
+the generated `configure' script a little easier to read by not
+inserting lots of blank lines. It is generally safe to set shell
+variables on the same line as a macro call, because the shell allows
+assignments without intervening newlines.
+
When calling macros that take arguments, there must not be any blank
space between the macro name and the open parenthesis. Arguments can be
more than one line long if they are enclosed within the `m4' quote
Using `autoreconf' to Update `configure' Scripts
================================================
- If you have a lot of Autoconf-generated `configure' scripts and you
-get a new version of Autoconf, the `autoreconf' program can be handy.
-It runs `autoconf' (and `autoheader', where appropriate) repeatedly to
-remake all of the Autoconf `configure' scripts in the directory tree
-rooted at the current directory. If you give the `--macrodir=DIR' or
-`--localdir=DIR' options, it passes them down (with relative paths
-adjusted properly).
-
- *Note Automatic Remaking::, for information about automatic remaking
-of `configure' scripts when their source files change.
+ If you have a lot of Autoconf-generated `configure' scripts, the
+`autoreconf' program can save you some work. It runs `autoconf' (and
+`autoheader', where appropriate) repeatedly to remake the Autoconf
+`configure' scripts and configuration header templates in the directory
+tree rooted at the current directory. By default, it only remakes
+those files that are older than their `configure.in' or (if present)
+`aclocal.m4'. Since `autoheader' does not change the timestamp of its
+output file if the file wouldn't be changing, this is not necessarily
+the minimum amount of work. If you install a new version of Autoconf,
+you can make `autoreconf' remake *all* of the files by giving it the
+`--force' option.
+
+ If you give `autoreconf' the `--macrodir=DIR' or `--localdir=DIR'
+options, it passes them down to `autoconf' and `autoheader' (with
+relative paths adjusted properly).
+
+ *Note Automatic Remaking::, for `Makefile' rules to automatically
+remake `configure' scripts when their source files change. That method
+handles the timestamps of configuration header templates properly, but
+does not pass `--macrodir=DIR' or `--localdir=DIR'.
`autoreconf' accepts the following options:
`-h'
Print a summary of the command line options and exit.
+`--force'
+`-f'
+ Remake even `configure' scripts and configuration headers that are
+ newer than their input files (`configure.in' and, if present,
+ `aclocal.m4').
+
`--localdir=DIR'
`-l DIR'
Look for the package files `aclocal.m4' and `acconfig.h' (but not
but that name is obsolete because some `make' programs have a rule
that creates `install' from it if there is no `Makefile'.
+ A copy of `install-sh' which you may use comes with Autoconf. If
+ you use `AC_PROG_INSTALL', you must include either `install-sh' or
+ `install.sh' in your distribution, or `configure' will produce an
+ error message saying it can't find them--even if the system you're
+ on has a good `install' program. This check is a safety measure
+ to prevent you from accidentally leaving that file out, which
+ would prevent your package from installing on systems that don't
+ have a BSD-compatible `install' program.
+
If you need to use your own installation program because it has
features not found in standard `install' programs, there is no
reason to use `AC_PROG_INSTALL'; just put the pathname of your
Particular Typedef Checks
-------------------------
- These macros check for particular C typedefs.
+ These macros check for particular C typedefs in `sys/types.h' and
+`stdlib.h' (if it exists).
- Macro: AC_TYPE_GETGROUPS
Define `GETGROUPS_T' to be whichever of `gid_t' or `int' is the
base type of the array argument to `getgroups'.
- Macro: AC_TYPE_MODE_T
- If `mode_t' is not defined in `sys/types.h', define `mode_t' to be
- `int'.
+ If `mode_t' is not defined, define `mode_t' to be `int'.
- Macro: AC_TYPE_OFF_T
- If `off_t' is not defined in `sys/types.h', define `off_t' to be
- `long'.
+ If `off_t' is not defined, define `off_t' to be `long'.
- Macro: AC_TYPE_PID_T
- If `pid_t' is not defined in `sys/types.h', define `pid_t' to be
- `int'.
+ If `pid_t' is not defined, define `pid_t' to be `int'.
- Macro: AC_TYPE_SIGNAL
If `signal.h' declares `signal' as returning a pointer to a
}
- Macro: AC_TYPE_SIZE_T
- If `size_t' is not defined in `sys/types.h', define `size_t' to be
- `unsigned'.
+ If `size_t' is not defined, define `size_t' to be `unsigned'.
- Macro: AC_TYPE_UID_T
- If `uid_t' is not defined in `sys/types.h', define `uid_t' to be
- `int' and `gid_t' to be `int'.
+ If `uid_t' is not defined, define `uid_t' to be `int' and `gid_t'
+ to be `int'.
\1f
File: autoconf.info, Node: Generic Typedefs, Prev: Particular Typedefs, Up: Typedefs
- Macro: AC_CHECK_TYPE (TYPE, DEFAULT)
If the type TYPE is not defined in `sys/types.h' or `stdlib.h' (if
- that is present), define it to be the C (or C++) builtin type
- DEFAULT; e.g., `short' or `unsigned'.
+ it exists), define it to be the C (or C++) builtin type DEFAULT;
+ e.g., `short' or `unsigned'.
\1f
File: autoconf.info, Node: Compiler Characteristics, Next: System Services, Prev: Typedefs, Up: Existing Tests
ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
This is an obsolete version of `AC_TRY_LINK', with the addition
that it prints `checking for ECHO-TEXT' to the standard output
- first, if ECHO-TEXT is non-empty.
-
-\1f
-File: autoconf.info, Node: Run Time, Next: Portable Shell, Prev: Examining Libraries, Up: Writing Tests
-
-Checking Run Time Behavior
-==========================
-
- Sometimes you need to find out how a system performs at run time,
-such as whether a given function has a certain capability or bug. If
-you can, make such checks when your program runs instead of when it is
-configured. You can check for things like the machine's endianness when
-your program initializes itself.
-
- If you really need to test for a run-time behavior while configuring,
-you can write a test program to determine the result, and compile and
-run it using `AC_TRY_RUN'. Avoid running test programs if possible,
-because using them prevents people from configuring your package for
-cross-compiling.
-
-* Menu:
-
-* Test Programs:: Running test programs.
-* Guidelines:: General rules for writing test programs.
-* Test Functions:: Avoiding pitfalls in test programs.
+ first, if ECHO-TEXT is non-empty. Use `AC_MSG_CHECKING' and
+ `AC_MSG_RESULT' instead to print messages (*note Printing
+ Messages::.).
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: autoconf.info, Node: Run Time, Next: Portable Shell, Prev: Examining Libraries, Up: Writing Tests
+
+Checking Run Time Behavior
+==========================
+
+ Sometimes you need to find out how a system performs at run time,
+such as whether a given function has a certain capability or bug. If
+you can, make such checks when your program runs instead of when it is
+configured. You can check for things like the machine's endianness when
+your program initializes itself.
+
+ If you really need to test for a run-time behavior while configuring,
+you can write a test program to determine the result, and compile and
+run it using `AC_TRY_RUN'. Avoid running test programs if possible,
+because using them prevents people from configuring your package for
+cross-compiling.
+
+* Menu:
+
+* Test Programs:: Running test programs.
+* Guidelines:: General rules for writing test programs.
+* Test Functions:: Avoiding pitfalls in test programs.
+
\1f
File: autoconf.info, Node: Test Programs, Next: Guidelines, Up: Run Time
Below are instructions on how to configure a package that uses a
`configure' script, suitable for inclusion as an `INSTALL' file in the
-package.
+package. A plain-text version of `INSTALL' which you may use comes
+with Autoconf.
* Menu:
Some macros have been superseded by similar ones that do the job
better, but are not call-compatible. If you get warnings about calling
obsolete macros while running `autoconf', you may safely ignore them,
-but your `configure' script will generally work better if you follow the
-advice it prints about what to replace the obsolete macros with. In
+but your `configure' script will generally work better if you follow
+the advice it prints about what to replace the obsolete macros with. In
particular, the mechanism for reporting the results of tests has
-changed. If you were using `echo' or `AC_VERBOSE', your `configure'
-script's output will look better if you switch to `AC_MSG_CHECKING' and
-`AC_MSG_RESULT'. *Note Printing Messages::. Those macros work best in
-conjunction with cache variables. *Note Caching Results::.
+changed. If you were using `echo' or `AC_VERBOSE' (perhaps via
+`AC_COMPILE_CHECK'), your `configure' script's output will look better
+if you switch to `AC_MSG_CHECKING' and `AC_MSG_RESULT'. *Note Printing
+Messages::. Those macros work best in conjunction with cache
+variables. *Note Caching Results::.
\1f
File: autoconf.info, Node: Invoking autoupdate, Next: Changed Results, Prev: Changed Macros, Up: Upgrading
@c @setchapternewpage odd
@c %**end of header
-@set EDITION 2.0
-@set VERSION 2.0
-@set UPDATED October 1994
+@set EDITION 2.1
+@set VERSION 2.1
+@set UPDATED November 1994
@iftex
@finalout
@end group
@end display
+It is best to put each macro call on its own line in
+@file{configure.in}. Most of the macros don't add extra newlines; they
+rely on the newline after the macro call to terminate the commands.
+This approach makes the generated @code{configure} script a little
+easier to read by not inserting lots of blank lines. It is generally
+safe to set shell variables on the same line as a macro call, because
+the shell allows assignments without intervening newlines.
+
When calling macros that take arguments, there must not be any blank
space between the macro name and the open parenthesis. Arguments can be
more than one line long if they are enclosed within the @code{m4} quote
@node Invoking autoreconf, , Invoking autoconf, Making configure Scripts
@section Using @code{autoreconf} to Update @code{configure} Scripts
-If you have a lot of Autoconf-generated @code{configure} scripts and you
-get a new version of Autoconf, the @code{autoreconf} program can be
-handy. It runs @code{autoconf} (and @code{autoheader}, where
-appropriate) repeatedly to remake all of the Autoconf @code{configure}
-scripts in the directory tree rooted at the current directory. If you
-give the @samp{--macrodir=@var{dir}} or @samp{--localdir=@var{dir}}
-options, it passes them down (with relative paths adjusted properly).
-
-@xref{Automatic Remaking}, for information about automatic remaking of
-@code{configure} scripts when their source files change.
+If you have a lot of Autoconf-generated @code{configure} scripts, the
+@code{autoreconf} program can save you some work. It runs
+@code{autoconf} (and @code{autoheader}, where appropriate) repeatedly to
+remake the Autoconf @code{configure} scripts and configuration header
+templates in the directory tree rooted at the current directory. By
+default, it only remakes those files that are older than their
+@file{configure.in} or (if present) @file{aclocal.m4}. Since
+@code{autoheader} does not change the timestamp of its output file if
+the file wouldn't be changing, this is not necessarily the minimum
+amount of work. If you install a new version of Autoconf, you can make
+@code{autoreconf} remake @emph{all} of the files by giving it the
+@samp{--force} option.
+
+If you give @code{autoreconf} the @samp{--macrodir=@var{dir}} or
+@samp{--localdir=@var{dir}} options, it passes them down to
+@code{autoconf} and @code{autoheader} (with relative paths adjusted
+properly).
+
+@xref{Automatic Remaking}, for @file{Makefile} rules to automatically
+remake @code{configure} scripts when their source files change. That
+method handles the timestamps of configuration header templates
+properly, but does not pass @samp{--macrodir=@var{dir}} or
+@samp{--localdir=@var{dir}}.
@noindent
@code{autoreconf} accepts the following options:
@itemx -h
Print a summary of the command line options and exit.
+@item --force
+@itemx -f
+Remake even @file{configure} scripts and configuration headers that are
+newer than their input files (@file{configure.in} and, if present,
+@file{aclocal.m4}).
+
@item --localdir=@var{dir}
@itemx -l @var{dir}
Look for the package files @file{aclocal.m4} and @file{acconfig.h} (but
but that name is obsolete because some @code{make} programs have a rule
that creates @file{install} from it if there is no @file{Makefile}.
+A copy of @file{install-sh} which you may use comes with Autoconf. If
+you use @code{AC_PROG_INSTALL}, you must include either
+@file{install-sh} or @file{install.sh} in your distribution, or
+@code{configure} will produce an error message saying it can't find
+them---even if the system you're on has a good @code{install} program.
+This check is a safety measure to prevent you from accidentally leaving
+that file out, which would prevent your package from installing on
+systems that don't have a BSD-compatible @code{install} program.
+
If you need to use your own installation program because it has
features not found in standard @code{install} programs, there is no
reason to use @code{AC_PROG_INSTALL}; just put the pathname of your
@node Particular Typedefs, Generic Typedefs, , Typedefs
@subsection Particular Typedef Checks
-These macros check for particular C typedefs.
+These macros check for particular C typedefs in @file{sys/types.h} and
+@file{stdlib.h} (if it exists).
@defmac AC_TYPE_GETGROUPS
@maindex TYPE_GETGROUPS
@defmac AC_TYPE_MODE_T
@maindex TYPE_MODE_T
@cvindex mode_t
-If @code{mode_t} is not defined in @file{sys/types.h}, define
-@code{mode_t} to be @code{int}.
+If @code{mode_t} is not defined, define @code{mode_t} to be @code{int}.
@end defmac
@defmac AC_TYPE_OFF_T
@maindex TYPE_OFF_T
@cvindex off_t
-If @code{off_t} is not defined in @file{sys/types.h}, define
-@code{off_t} to be @code{long}.
+If @code{off_t} is not defined, define @code{off_t} to be @code{long}.
@end defmac
@defmac AC_TYPE_PID_T
@maindex TYPE_PID_T
@cvindex pid_t
-If @code{pid_t} is not defined in @file{sys/types.h}, define
-@code{pid_t} to be @code{int}.
+If @code{pid_t} is not defined, define @code{pid_t} to be @code{int}.
@end defmac
@defmac AC_TYPE_SIGNAL
@defmac AC_TYPE_SIZE_T
@maindex TYPE_SIZE_T
@cvindex size_t
-If @code{size_t} is not defined in @file{sys/types.h}, define
-@code{size_t} to be @code{unsigned}.
+If @code{size_t} is not defined, define @code{size_t} to be
+@code{unsigned}.
@end defmac
@defmac AC_TYPE_UID_T
@maindex TYPE_UID_T
@cvindex uid_t
@cvindex gid_t
-If @code{uid_t} is not defined in @file{sys/types.h}, define
-@code{uid_t} to be @code{int} and @code{gid_t} to be @code{int}.
+If @code{uid_t} is not defined, define @code{uid_t} to be @code{int} and
+@code{gid_t} to be @code{int}.
@end defmac
@node Generic Typedefs, , Particular Typedefs, Typedefs
@defmac AC_CHECK_TYPE (@var{type}, @var{default})
@maindex CHECK_TYPE
If the type @var{type} is not defined in @file{sys/types.h} or
-@file{stdlib.h} (if that is present), define it to be the C (or C++)
+@file{stdlib.h} (if it exists), define it to be the C (or C++)
builtin type @var{default}; e.g., @samp{short} or @samp{unsigned}.
@end defmac
@maindex COMPILE_CHECK
This is an obsolete version of @code{AC_TRY_LINK}, with the addition that it
prints @samp{checking for @var{echo-text}} to the standard output first,
-if @var{echo-text} is non-empty.
+if @var{echo-text} is non-empty. Use @code{AC_MSG_CHECKING} and
+@code{AC_MSG_RESULT} instead to print messages (@pxref{Printing Messages}).
@end defmac
@node Run Time, Portable Shell, Examining Libraries, Writing Tests
Below are instructions on how to configure a package that uses a
@code{configure} script, suitable for inclusion as an @file{INSTALL}
-file in the package.
+file in the package. A plain-text version of @file{INSTALL} which you
+may use comes with Autoconf.
@menu
* Basic Installation:: Instructions for typical cases.
Some macros have been superseded by similar ones that do the job better,
but are not call-compatible. If you get warnings about calling obsolete
-macros while running @code{autoconf}, you may safely ignore them, but your
-@code{configure} script will generally work better if you follow the
-advice it prints about what to replace the obsolete macros with. In
+macros while running @code{autoconf}, you may safely ignore them, but
+your @code{configure} script will generally work better if you follow
+the advice it prints about what to replace the obsolete macros with. In
particular, the mechanism for reporting the results of tests has
-changed. If you were using @code{echo} or @code{AC_VERBOSE}, your
-@code{configure} script's output will look better if you switch to
-@code{AC_MSG_CHECKING} and @code{AC_MSG_RESULT}. @xref{Printing
-Messages}. Those macros work best in conjunction with cache variables.
-@xref{Caching Results}.
+changed. If you were using @code{echo} or @code{AC_VERBOSE} (perhaps
+via @code{AC_COMPILE_CHECK}), your @code{configure} script's output will
+look better if you switch to @code{AC_MSG_CHECKING} and
+@code{AC_MSG_RESULT}. @xref{Printing Messages}. Those macros work best
+in conjunction with cache variables. @xref{Caching Results}.
@node Invoking autoupdate, Changed Results, Changed Macros, Upgrading
@section Using @code{autoupdate} to Modernize @code{configure}
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
usage="\
-Usage: autoreconf [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--verbose] [--version]"
+Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
+ [-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
localdir=
verbose=no
show_version=no
+force=no
test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
case "$1" in
-h | --help | --h*)
echo "$usage"; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
+ --localdir=* | --l*=* )
+ localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+ shift ;;
+ -l | --localdir | --l*)
+ shift
+ test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
+ localdir="${1}"
+ shift ;;
--macrodir=* | --m*=* )
AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
shift ;;
shift ;;
--verbose | --verb*)
verbose=yes; shift ;;
+ -f | --force)
+ force=yes; shift ;;
--version | --vers*)
show_version=yes; shift ;;
--) # Stop option processing.
esac
case "$localdir" in
- "") localdir_opt= ;;
- /*) localdir_opt="--localdir=$localdir" ;;
- *) localdir_opt="--localdir=$dots$localdir" ;;
+ "") localdir_opt=
+ aclocal=aclocal.m4 ;;
+ /*) localdir_opt="--localdir=$localdir"
+ aclocal=$localdir/aclocal.m4 ;;
+ *) localdir_opt="--localdir=$dots$localdir"
+ aclocal=$dots$localdir/aclocal.m4 ;;
esac
- test $verbose = yes && echo running autoconf in $dir
- $autoconf $macrodir_opt $localdir_opt
+ test ! -f $aclocal && aclocal=
+
+ if test $force = no && test -f configure &&
+ ls -lt configure configure.in $aclocal | sed 1q |
+ grep 'configure$' > /dev/null
+ then
+ :
+ else
+ test $verbose = yes && echo running autoconf in $dir
+ $autoconf $macrodir_opt $localdir_opt
+ fi
if grep AC_CONFIG_HEADER configure.in >/dev/null; then
template=`sed -n '/AC_CONFIG_HEADER/{
q
}' configure.in`
if test ! -f $template || grep autoheader $template >/dev/null; then
- test $verbose = yes && echo running autoheader in $dir
- $autoheader $macrodir_opt $localdir_opt
+ if test $force = no && test -f $template &&
+ ls -lt $template configure.in $aclocal | sed 1q |
+ grep "$template$" > /dev/null
+ then
+ :
+ else
+ test $verbose = yes && echo running autoheader in $dir
+ $autoheader $macrodir_opt $localdir_opt
+ fi
fi
fi
)
}
print CONF "\ndnl Checks for libraries.\n";
foreach $word (sort keys %libraries) {
- print CONF "AC_HAVE_LIBRARY($word)\n";
+ print CONF "dnl Replace `\main\' with a function in -l$word:\n";
+ print CONF "AC_CHECK_LIB($word, main)\n";
}
}
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/(.*//'`
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
#!/bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.0
+# Generated automatically using autoconf version 2.1
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
ac_default_prefix=/usr/local
# Any additions from configure.in:
-# Omit some internal or obsolete options to make the list less imposing.
-ac_usage="Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
- [same as prefix]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help"
-
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
with_gas=yes ;;
-help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
-$ac_usage
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ [same as prefix]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+--enable and --with options recognized:$ac_help
EOF
exit 0 ;;
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.0"
+ echo "configure generated by autoconf version 2.1"
exit 0 ;;
-with-* | --with-*)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.0"
+ echo "$CONFIG_STATUS generated by autoconf version 2.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
+++ /dev/null
-#!/bin/sh
-
-#
-# install - install a program, script, or datafile
-# This comes from X11R5; it is not part of GNU.
-#
-# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-
-instcmd="$mvprog"
-chmodcmd=""
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-fi
-
-if [ x"$dst" = x ]
-then
- echo "install: no destination specified"
- exit 1
-fi
-
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-if [ -d $dst ]
-then
- dst="$dst"/`basename $src`
-fi
-
-# Make a temp file name in the proper directory.
-
-dstdir=`dirname $dst`
-dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-$doit $instcmd $src $dsttmp
-
-# and set any options; do chmod last to preserve setuid bits
-
-if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
-if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
-if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
-if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
-
-# Now rename the file to the real destination.
-
-$doit $rmcmd $dst
-$doit $mvcmd $dsttmp $dst
-
-
-exit 0
%% Try out Computer Modern fonts at \magstephalf
\let\mainmagstep=\magstephalf
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-\def\fontprefix{cm}
-\def\setfont#1#2{\font#1=\fontprefix#2}
-
-% Enter `@setfontprefix dc' to use the dc fonts instead of the cm fonts.
-\def\setfontprefix{\parsearg\\setfontprefixzzz}
-\def\setfontprefixzzz#1{\gdef\fontprefix{#1}}
-
\ifx\bigger\relax
\let\mainmagstep=\magstep1
-\setfont\textrm{r12}
-\setfont\texttt{tt12}
+\font\textrm=cmr12
+\font\texttt=cmtt12
\else
-\setfont\textrm{r10 scaled \mainmagstep}
-\setfont\texttt{tt10 scaled \mainmagstep}
+\font\textrm=cmr10 scaled \mainmagstep
+\font\texttt=cmtt10 scaled \mainmagstep
\fi
% Instead of cmb10, you many want to use cmbx10.
% cmbx10 is a prettier font on its own, but cmb10
% looks better when embedded in a line with cmr10.
-\setfont\textbf{b10 scaled \mainmagstep}
-\setfont\textit{ti10 scaled \mainmagstep}
-\setfont\textsl{sl10 scaled \mainmagstep}
-\setfont\textsf{ss10 scaled \mainmagstep}
-\setfont\textsc{csc10 scaled \mainmagstep}
-\setfont\texti{mi10 scaled \mainmagstep}
-\setfont\textsy{sy10 scaled \mainmagstep}
+\font\textbf=cmb10 scaled \mainmagstep
+\font\textit=cmti10 scaled \mainmagstep
+\font\textsl=cmsl10 scaled \mainmagstep
+\font\textsf=cmss10 scaled \mainmagstep
+\font\textsc=cmcsc10 scaled \mainmagstep
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
% A few fonts for @defun, etc.
-\setfont\defbf{bx10 scaled \magstep1 %was 1314}
-\setfont\deftt{tt10 scaled \magstep1}
+\font\defbf=cmbx10 scaled \magstep1 %was 1314
+\font\deftt=cmtt10 scaled \magstep1
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
% Fonts for indices and small examples.
% because texinfo normally uses the slanted fonts for that.
% Do not make many font distinctions in general in the index, since they
% aren't very useful.
-\setfont\ninett{tt9}
-\setfont\indrm{r9}
-\setfont\indit{sl9}
+\font\ninett=cmtt9
+\font\indrm=cmr9
+\font\indit=cmsl9
\let\indsl=\indit
\let\indtt=\ninett
\let\indsf=\indrm
\let\indbf=\indrm
\let\indsc=\indrm
-\setfont\indi{mi9}
-\setfont\indsy{sy9}
+\font\indi=cmmi9
+\font\indsy=cmsy9
% Fonts for headings
-\setfont\chaprm{bx12 scaled \magstep2}
-\setfont\chapit{ti12 scaled \magstep2}
-\setfont\chapsl{sl12 scaled \magstep2}
-\setfont\chaptt{tt12 scaled \magstep2}
-\setfont\chapsf{ss12 scaled \magstep2}
+\font\chaprm=cmbx12 scaled \magstep2
+\font\chapit=cmti12 scaled \magstep2
+\font\chapsl=cmsl12 scaled \magstep2
+\font\chaptt=cmtt12 scaled \magstep2
+\font\chapsf=cmss12 scaled \magstep2
\let\chapbf=\chaprm
-\setfont\chapsc{csc10 scaled\magstep3}
-\setfont\chapi{mi12 scaled \magstep2}
-\setfont\chapsy{sy10 scaled \magstep3}
-
-\setfont\secrm{bx12 scaled \magstep1}
-\setfont\secit{ti12 scaled \magstep1}
-\setfont\secsl{sl12 scaled \magstep1}
-\setfont\sectt{tt12 scaled \magstep1}
-\setfont\secsf{ss12 scaled \magstep1}
-\setfont\secbf{bx12 scaled \magstep1}
-\setfont\secsc{csc10 scaled\magstep2}
-\setfont\seci{mi12 scaled \magstep1}
-\setfont\secsy{sy10 scaled \magstep2}
-
-% \setfont\ssecrm{bx10 scaled \magstep1} % This size an font looked bad.
-% \setfont\ssecit{cmti10 scaled \magstep1} % The letters were too crowded.
-% \setfont\ssecsl{sl10 scaled \magstep1}
-% \setfont\ssectt{tt10 scaled \magstep1}
-% \setfont\ssecsf{ss10 scaled \magstep1}
-
-%\setfont\ssecrm{b10 scaled 1315} % Note the use of cmb rather than cmbx.
-%\setfont\ssecit{ti10 scaled 1315} % Also, the size is a little larger than
-%\setfont\ssecsl{sl10 scaled 1315} % being scaled magstep1.
-%\setfont\ssectt{tt10 scaled 1315}
-%\setfont\ssecsf{ss10 scaled 1315}
+\font\chapsc=cmcsc10 scaled\magstep3
+\font\chapi=cmmi12 scaled \magstep2
+\font\chapsy=cmsy10 scaled \magstep3
+
+\font\secrm=cmbx12 scaled \magstep1
+\font\secit=cmti12 scaled \magstep1
+\font\secsl=cmsl12 scaled \magstep1
+\font\sectt=cmtt12 scaled \magstep1
+\font\secsf=cmss12 scaled \magstep1
+\font\secbf=cmbx12 scaled \magstep1
+\font\secsc=cmcsc10 scaled\magstep2
+\font\seci=cmmi12 scaled \magstep1
+\font\secsy=cmsy10 scaled \magstep2
+
+% \font\ssecrm=cmbx10 scaled \magstep1 % This size an font looked bad.
+% \font\ssecit=cmti10 scaled \magstep1 % The letters were too crowded.
+% \font\ssecsl=cmsl10 scaled \magstep1
+% \font\ssectt=cmtt10 scaled \magstep1
+% \font\ssecsf=cmss10 scaled \magstep1
+
+%\font\ssecrm=cmb10 scaled 1315 % Note the use of cmb rather than cmbx.
+%\font\ssecit=cmti10 scaled 1315 % Also, the size is a little larger than
+%\font\ssecsl=cmsl10 scaled 1315 % being scaled magstep1.
+%\font\ssectt=cmtt10 scaled 1315
+%\font\ssecsf=cmss10 scaled 1315
%\let\ssecbf=\ssecrm
-\setfont\ssecrm{bx12 scaled \magstephalf}
-\setfont\ssecit{ti12 scaled \magstephalf}
-\setfont\ssecsl{sl12 scaled \magstephalf}
-\setfont\ssectt{tt12 scaled \magstephalf}
-\setfont\ssecsf{ss12 scaled \magstephalf}
-\setfont\ssecbf{bx12 scaled \magstephalf}
-\setfont\ssecsc{csc10 scaled \magstep1}
-\setfont\sseci{mi12 scaled \magstephalf}
-\setfont\ssecsy{sy10 scaled \magstep1}
+\font\ssecrm=cmbx12 scaled \magstephalf
+\font\ssecit=cmti12 scaled \magstephalf
+\font\ssecsl=cmsl12 scaled \magstephalf
+\font\ssectt=cmtt12 scaled \magstephalf
+\font\ssecsf=cmss12 scaled \magstephalf
+\font\ssecbf=cmbx12 scaled \magstephalf
+\font\ssecsc=cmcsc10 scaled \magstep1
+\font\sseci=cmmi12 scaled \magstephalf
+\font\ssecsy=cmsy10 scaled \magstep1
% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
% but that is not a standard magnification.
% Fonts for title page:
-\setfont\titlerm ={bx12 scaled \magstep3}
+\font\titlerm = cmbx12 scaled \magstep3
\let\authorrm = \secrm
% In order for the font changes to affect most math symbols and letters,
\newcount\fontdepth \fontdepth=0
% Fonts for short table of contents.
-\setfont\shortcontrm{r12}
-\setfont\shortcontbf{bx12}
-\setfont\shortcontsl{sl12}
+\font\shortcontrm=cmr12
+\font\shortcontbf=cmbx12
+\font\shortcontsl=cmsl12
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
%% serif) and @ii for TeX italic
\unnumbchapmacro{#1}\def\thischapter{}%
\begingroup % Set up to handle contents files properly.
\catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
- \catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
\raggedbottom % Worry more about breakpoints than the bottom.
\advance\hsize by -\contentsrightmargin % Don't use the full line length.
}