GNU Info

Info Node: (autoconf.info)Particular Programs

(autoconf.info)Particular Programs


Next: Generic Programs Up: Alternative Programs
Enter node , (file) or (file)node

Particular Program Checks
-------------------------

   These macros check for particular programs--whether they exist, and
in some cases whether they support certain features.

 - Macro: AC_PROG_AWK
     Check for `gawk', `mawk', `nawk', and `awk', in that order, and
     set output variable `AWK' to the first one that is found.  It
     tries `gawk' first because that is reported to be the best
     implementation.

 - Macro: AC_PROG_INSTALL
     Set output variable `INSTALL' to the path of a BSD compatible
     `install' program, if one is found in the current `PATH'.
     Otherwise, set `INSTALL' to `DIR/install-sh -c', checking the
     directories specified to `AC_CONFIG_AUX_DIR' (or its default
     directories) to determine DIR (Note: Output).  Also set the
     variables `INSTALL_PROGRAM' and `INSTALL_SCRIPT' to `${INSTALL}'
     and `INSTALL_DATA' to `${INSTALL} -m 644'.

     This macro screens out various instances of `install' known not to
     work.  It prefers to find a C program rather than a shell script,
     for speed.  Instead of `install-sh', it can also use `install.sh',
     but that name is obsolete because some `make' programs have a rule
     that creates `install' from it if there is no `Makefile'.

     Autoconf comes with a copy of `install-sh' that you can use.  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 file name of your
     program into your `Makefile.in' files.

 - Macro: AC_PROG_LEX
     If `flex' is found, set output variable `LEX' to `flex' and
     `LEXLIB' to `-lfl', if that library is in a standard place.
     Otherwise set `LEX' to `lex' and `LEXLIB' to `-ll'.

     Define `YYTEXT_POINTER' if `yytext' is a `char *' instead of a
     `char []'.  Also set output variable `LEX_OUTPUT_ROOT' to the base
     of the file name that the lexer generates; usually `lex.yy', but
     sometimes something else.  These results vary according to whether
     `lex' or `flex' is being used.

     You are encouraged to use Flex in your sources, since it is both
     more pleasant to use than plain Lex and the C source it produces
     is portable.  In order to ensure portability, however, you must
     either provide a function `yywrap' or, if you don't use it (e.g.,
     your scanner has no `#include'-like feature), simply include a
     `%noyywrap' statement in the scanner's source.  Once this done,
     the scanner is portable (unless _you_ felt free to use nonportable
     constructs) and does not depend on any library.  In this case, and
     in this case only, it is suggested that you use this Autoconf
     snippet:

          AC_PROG_LEX
          if test "$LEX" != flex; then
            LEX="$SHELL $missing_dir/missing flex"
            AC_SUBST(LEX_OUTPUT_ROOT, lex.yy)
            AC_SUBST(LEXLIB, '')
          fi

     The shell script `missing' can be found in the Automake
     distribution.

     To ensure backward compatibility, Automake's `AM_PROG_LEX' invokes
     (indirectly) this macro twice, which will cause an annoying but
     benign "`AC_PROG_LEX' invoked multiple times" warning.  Future
     versions of Automake will fix this issue, meanwhile, just ignore
     this message.

 - Macro: AC_PROG_LN_S
     If `ln -s' works on the current file system (the operating system
     and file system support symbolic links), set the output variable
     `LN_S' to `ln -s'; otherwise, if `ln' works, set `LN_S' to `ln'
     and otherwise set it to `cp -p'.

     If you make a link a directory other than the current directory,
     its meaning depends on whether `ln' or `ln -s' is used.  To safely
     create links using `$(LN_S)', either find out which form is used
     and adjust the arguments, or always invoke `ln' in the directory
     where the link is to be created.

     In other words, it does not work to do:
          $(LN_S) foo /x/bar

     Instead, do:

          (cd /x && $(LN_S) foo bar)

 - Macro: AC_PROG_RANLIB
     Set output variable `RANLIB' to `ranlib' if `ranlib' is found, and
     otherwise to `:' (do nothing).

 - Macro: AC_PROG_YACC
     If `bison' is found, set output variable `YACC' to `bison -y'.
     Otherwise, if `byacc' is found, set `YACC' to `byacc'.  Otherwise
     set `YACC' to `yacc'.


automatically generated by info2www version 1.2.2.9