home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / info / autoconf.info-2 (.txt) < prev    next >
GNU Info File  |  1994-12-22  |  50KB  |  949 lines

  1. This is Info file /gnu/src/amiga/autoconf-2.1/autoconf.info, produced
  2. by Makeinfo-1.55 from the input file
  3. /gnu/src/amiga/autoconf-2.1/autoconf.texi.
  4. START-INFO-DIR-ENTRY
  5. * Autoconf: (autoconf).         Create source code configuration scripts.
  6. END-INFO-DIR-ENTRY
  7.    This file documents the GNU Autoconf package for creating scripts to
  8. configure source code packages using templates and an `m4' macro
  9. package.
  10.    Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  11.    Permission is granted to make and distribute verbatim copies of this
  12. manual provided the copyright notice and this permission notice are
  13. preserved on all copies.
  14.    Permission is granted to copy and distribute modified versions of
  15. this manual under the conditions for verbatim copying, provided that
  16. the entire resulting derived work is distributed under the terms of a
  17. permission notice identical to this one.
  18.    Permission is granted to copy and distribute translations of this
  19. manual into another language, under the above conditions for modified
  20. versions, except that this permission notice may be stated in a
  21. translation approved by the Foundation.
  22. File: autoconf.info,  Node: Versions,  Prev: Default Prefix,  Up: Setup
  23. Version Numbers in `configure'
  24. ==============================
  25.    The following macros manage version numbers for `configure' scripts.
  26. Using them is optional.
  27.  - Macro: AC_PREREQ (VERSION)
  28.      Ensure that a recent enough version of Autoconf is being used.  If
  29.      the version of Autoconf being used to create `configure' is earlier
  30.      than VERSION, print an error message on the standard error output
  31.      and do not create `configure'.  For example:
  32.           AC_PREREQ(1.8)
  33.      This macro is useful if your `configure.in' relies on non-obvious
  34.      behavior that changed between Autoconf releases.  If it merely
  35.      needs recently added macros, then `AC_PREREQ' is less useful,
  36.      because the `autoconf' program already tells the user which macros
  37.      are not found.  The same thing happens if `configure.in' is
  38.      processed by a version of Autoconf older than when `AC_PREREQ' was
  39.      added.
  40.  - Macro: AC_REVISION (REVISION-INFO)
  41.      Copy revision stamp REVISION-INFO into the `configure' script,
  42.      with any dollar signs or double-quotes removed.  This macro lets
  43.      you put a revision stamp from `configure.in' into `configure'
  44.      without RCS or CVS changing it when you check in `configure'.  That
  45.      way, you can determine easily which revision of `configure.in' a
  46.      particular `configure' corresponds to.
  47.      It is a good idea to call this macro before `AC_INIT' so that the
  48.      revision number is near the top of both `configure.in' and
  49.      `configure'.  To support doing that, the `AC_REVISION' output
  50.      begins with `#!/bin/sh', like the normal start of a `configure'
  51.      script does.
  52.      For example, this line in `configure.in':
  53.           AC_REVISION($Revision: 1.30 $)dnl
  54.      produces this in `configure':
  55.           #!/bin/sh
  56.           # From configure.in Revision: 1.30
  57. File: autoconf.info,  Node: Existing Tests,  Next: Writing Tests,  Prev: Setup,  Up: Top
  58. Existing Tests
  59. **************
  60.    These macros test for particular system features that packages might
  61. need or want to use.  If you need to test for a kind of feature that
  62. none of these macros check for, you can probably do it by calling
  63. primitive test macros with appropriate arguments (*note Writing
  64. Tests::.).
  65.    These tests print messages telling the user which feature they're
  66. checking for, and what they find.  They cache their results for future
  67. `configure' runs (*note Caching Results::.).
  68.    Some of these macros set output variables.  *Note Makefile
  69. Substitutions::, for how to get their values.  The phrase "define NAME"
  70. is used below as a shorthand to mean "define C preprocessor symbol NAME
  71. to the value 1".  *Note Defining Symbols::, for how to get those symbol
  72. definitions into your program.
  73. * Menu:
  74. * Alternative Programs::    Selecting between alternative programs.
  75. * Libraries::                   Library archives that might be missing.
  76. * Library Functions::        C library functions that might be missing.
  77. * Header Files::        Header files that might be missing.
  78. * Structures::            Structures or members that might be missing.
  79. * Typedefs::            `typedef's that might be missing.
  80. * Compiler Characteristics::    C compiler or machine architecture features.
  81. * System Services::        Operating system services.
  82. * UNIX Variants::        Special kludges for specific UNIX variants.
  83. File: autoconf.info,  Node: Alternative Programs,  Next: Libraries,  Up: Existing Tests
  84. Alternative Programs
  85. ====================
  86.    These macros check for the presence or behavior of particular
  87. programs.  They are used to choose between several alternative programs
  88. and to decide what to do once one has been chosen.  If there is no
  89. macro specifically defined to check for a program you need, and you
  90. don't need to check for any special properties of it, then you can use
  91. one of the general program check macros.
  92. * Menu:
  93. * Particular Programs::         Special handling to find certain programs.
  94. * Generic Programs::            How to find other programs.
  95. File: autoconf.info,  Node: Particular Programs,  Next: Generic Programs,  Up: Alternative Programs
  96. Particular Program Checks
  97. -------------------------
  98.    These macros check for particular programs--whether they exist, and
  99. in some cases whether they support certain features.
  100.  - Macro: AC_DECL_YYTEXT
  101.      Define `YYTEXT_POINTER' if `yytext' is a `char *' instead of a
  102.      `char []'.  Also set output variable `LEX_OUTPUT_ROOT' to the base
  103.      of the file name that the lexer generates; usually `lex.yy', but
  104.      sometimes something else.  These results vary according to whether
  105.      `lex' or `flex' is being used.
  106.  - Macro: AC_PROG_AWK
  107.      Check for `mawk', `gawk', `nawk', and `awk', in that order, and
  108.      set output variable `AWK' to the first one that it finds.  It
  109.      tries `mawk' first because that is reported to be the fastest
  110.      implementation.
  111.  - Macro: AC_PROG_CC
  112.      Determine a C compiler to use.  If `CC' is not already set in the
  113.      environment, check for `gcc', and use `cc' if it's not found.  Set
  114.      output variable `CC' to the name of the compiler found.
  115.      If using the GNU C compiler, set shell variable `GCC' to `yes',
  116.      empty otherwise.  If output variable `CFLAGS' was not already set,
  117.      set it to `-g -O' for the GNU C compiler (`-O' on systems where
  118.      GCC does not accept `-g'), or `-g' for other compilers.
  119.  - Macro: AC_PROG_CC_C_O
  120.      If the C compiler does not accept the `-c' and `-o' options
  121.      simultaneously, define `NO_MINUS_C_MINUS_O'.
  122.  - Macro: AC_PROG_CPP
  123.      Set output variable `CPP' to a command that runs the C
  124.      preprocessor.  If `$CC -E' doesn't work, it uses `/lib/cpp'.  It
  125.      is only portable to run `CPP' on files with a `.c' extension.
  126.      If the current language is C (*note Language Choice::.), many of
  127.      the specific test macros use the value of `CPP' indirectly by
  128.      calling `AC_TRY_CPP', `AC_CHECK_HEADER', `AC_EGREP_HEADER', or
  129.      `AC_EGREP_CPP'.
  130.  - Macro: AC_PROG_CXX
  131.      Determine a C++ compiler to use.  Check if the environment variable
  132.      `CXX' or `CCC' (in that order) is set; if so, set output variable
  133.      `CXX' to its value.  Otherwise search for a C++ compiler under
  134.      likely names (`c++', `g++', `gcc', `CC', and `cxx').  If none of
  135.      those checks succeed, as a last resort set `CXX' to `gcc'.
  136.      If using the GNU C++ compiler, set shell variable `GXX' to `yes',
  137.      empty otherwise.  If output variable `CXXFLAGS' was not already
  138.      set, set it to `-g -O' for the GNU C++ compiler (`-O' on systems
  139.      where G++ does not accept `-g'), or `-g' for other compilers.
  140.  - Macro: AC_PROG_CXXCPP
  141.      Set output variable `CXXCPP' to a command that runs the C++
  142.      preprocessor.  If `$CXX -E' doesn't work, it uses `/lib/cpp'.  It
  143.      is only portable to run `CXXCPP' on files with a `.c', `.C', or
  144.      `.cc' extension.
  145.      If the current language is C++ (*note Language Choice::.), many of
  146.      the specific test macros use the value of `CXXCPP' indirectly by
  147.      calling `AC_TRY_CPP', `AC_CHECK_HEADER', `AC_EGREP_HEADER', or
  148.      `