Info Catalog ( Support for Other Languages ( Programs ( Dependencies
 7.10 Automatic de-ANSI-fication
 Although the GNU standards allow the use of ANSI C, this can have the
 effect of limiting portability of a package to some older compilers
 (notably SunOS).
    Automake allows you to work around this problem on such machines by
 "de-ANSI-fying" each source file before the actual compilation takes
    If the `' variable `AUTOMAKE_OPTIONS' ( Options)
 contains the option `ansi2knr' then code to handle de-ANSI-fication is
 inserted into the generated `'.
    This causes each C source file in the directory to be treated as
 ANSI C.  If an ANSI C compiler is available, it is used.  If no ANSI C
 compiler is available, the `ansi2knr' program is used to convert the
 source files into K&R C, which is then compiled.
    The `ansi2knr' program is simple-minded.  It assumes the source code
 will be formatted in a particular way; see the `ansi2knr' man page for
    Support for de-ANSI-fication requires the source files `ansi2knr.c'
 and `ansi2knr.1' to be in the same package as the ANSI C source; these
 files are distributed with Automake.  Also, the package `'
 must call the macro `AM_C_PROTOTYPES' ( Macros).  
    Automake also handles finding the `ansi2knr' support files in some
 other directory in the current package.  This is done by prepending the
 relative path to the appropriate directory to the `ansi2knr' option.
 For instance, suppose the package has ANSI C code in the `src' and
 `lib' subdirs.  The files `ansi2knr.c' and `ansi2knr.1' appear in
 `lib'.  Then this could appear in `src/':
      AUTOMAKE_OPTIONS = ../lib/ansi2knr
    If no directory prefix is given, the files are assumed to be in the
 current directory.
    Files mentioned in `LIBOBJS' which need de-ANSI-fication will not be
 automatically handled.  That's because `configure' will generate an
 object name like `regex.o', while `make' will be looking for `regex_.o'
 (when de-ANSI-fying).  Eventually this problem will be fixed via
 `autoconf' magic, but for now you must put this code into your
 `', just before the `AC_OUTPUT' call:
      # This is necessary so that .o files in LIBOBJS are also built via
      # the ANSI2KNR-filtering rules.
      LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
Info Catalog ( Support for Other Languages ( Programs ( Dependencies
automatically generated byinfo2html