DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(autoconf.info.gz) Particular Programs

Info Catalog (autoconf.info.gz) Alternative Programs (autoconf.info.gz) Generic Programs
 
 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_EGREP
      Check for `grep -E' and `egrep', in that order, and set output
      variable `EGREP' to the first one that is found.
 
  - Macro: AC_PROG_FGREP
      Check for `grep -F' and `fgrep', in that order, and set output
      variable `FGREP' to the first one that is found.
 
  - 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 ( 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 in 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'.
 
Info Catalog (autoconf.info.gz) Alternative Programs (autoconf.info.gz) Generic Programs
automatically generated byinfo2html