Node: Public macros, Next: , Previous: Macros, Up: Macros



Public macros

AM_CONFIG_HEADER
Automake will generate rules to automatically regenerate the config header. This obsolete macro is a synonym of AC_CONFIG_HEADERS today (see Optional).
AM_ENABLE_MULTILIB
This is used when a "multilib" library is being built. The first optional argument is the name of the Makefile being generated; it defaults to Makefile. The second option argument is used to find the top source directory; it defaults to the empty string (generally this should not be used unless you are familiar with the internals). See Multilibs.
AM_C_PROTOTYPES
Check to see if function prototypes are understood by the compiler. If so, define PROTOTYPES and set the output variables U and ANSI2KNR to the empty string. Otherwise, set U to _ and ANSI2KNR to ./ansi2knr. Automake uses these values to implement automatic de-ANSI-fication.
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
If the use of TIOCGWINSZ requires <sys/ioctl.h>, then define GWINSZ_IN_SYS_IOCTL. Otherwise TIOCGWINSZ can be found in <termios.h>.
AM_INIT_AUTOMAKE([OPTIONS])
AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
Runs many macros required for proper operation of the generated Makefiles.

This macro has two forms, the first of which is preferred. In this form, AM_INIT_AUTOMAKE is called with a single argument -- a space-separated list of Automake options which should be applied to every Makefile.am in the tree. The effect is as if each option were listed in AUTOMAKE_OPTIONS.

The second, deprecated, form of AM_INIT_AUTOMAKE has two required arguments: the package and the version number. This form is obsolete because the package and version can be obtained from Autoconf's AC_INIT macro (which itself has an old and a new form).

If your configure.in has:

          AC_INIT(src/foo.c)
          AM_INIT_AUTOMAKE(mumble, 1.5)
          
you can modernize it as follows:
          AC_INIT(mumble, 1.5)
          AC_CONFIG_SRCDIR(src/foo.c)
          AM_INIT_AUTOMAKE
          

Note that if you're upgrading your configure.in from an earlier version of Automake, it is not always correct to simply move the package and version arguments from AM_INIT_AUTOMAKE directly to AC_INIT, as in the example above. The first argument to AC_INIT should be the name of your package (e.g. GNU Automake), not the tarball name (e.g. automake) that you used to pass to AM_INIT_AUTOMAKE. Autoconf tries to derive a tarball name from the package name, which should work for most but not all package names. (If it doesn't work for yours, you can use the four-argument form of AC_INIT -- supported in Autoconf versions greater than 2.52g -- to provide the tarball name explicitly).

By default this macro AC_DEFINE's PACKAGE and VERSION. This can be avoided by passing the no-define option, as in:

          AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
          
or by passing a third non-empty argument to the obsolete form.
AM_PATH_LISPDIR
Searches for the program emacs, and, if found, sets the output variable lispdir to the full path to Emacs' site-lisp directory.

Note that this test assumes the emacs found to be a version that supports Emacs Lisp (such as GNU Emacs or XEmacs). Other emacsen can cause this test to hang (some, like old versions of MicroEmacs, start up in interactive mode, requiring C-x C-c to exit, which is hardly obvious for a non-emacs user). In most cases, however, you should be able to use C-c to kill the test. In order to avoid problems, you can set EMACS to "no" in the environment, or use the --with-lispdir option to configure to explicitly set the correct path (if you're sure you have an emacs that supports Emacs Lisp.

AM_PROG_AS
Use this macro when you have assembly code in your project. This will choose the assembler for you (by default the C compiler) and set CCAS, and will also set CCASFLAGS if required.
AM_PROG_CC_C_O
This is like AC_PROG_CC_C_O, but it generates its results in the manner required by automake. You must use this instead of AC_PROG_CC_C_O when you need this functionality.
AM_PROG_CC_STDC
If the C compiler is not in ANSI C mode by default, try to add an option to output variable CC to make it so. This macro tries various options that select ANSI C on some system or another. It considers the compiler to be in ANSI C mode if it handles function prototypes correctly.

If you use this macro, you should check after calling it whether the C compiler has been set to accept ANSI C; if not, the shell variable am_cv_prog_cc_stdc is set to no. If you wrote your source code in ANSI C, you can make an un-ANSIfied copy of it by using the ansi2knr option (see ANSI).

This macro is a relic from the time Autoconf didn't offer such a feature. AM_PROG_CC_STDC's logic has now been merged into Autoconf's AC_PROG_CC macro, therefore you should use the latter instead. Chances are you are already using AC_PROG_CC, so you can simply remove the AM_PROG_CC_STDC call and turn all occurrences of $am_cv_prog_cc_stdc into $ac_cv_prog_cc_stdc. AM_PROG_CC_STDC will be marked as obsolete (in the Autoconf sense) in Automake 1.8.

AM_PROG_LEX
Like AC_PROG_LEX (see Particular Program Checks), but uses the missing script on systems that do not have lex. HP-UX 10 is one such system.
AM_PROG_GCJ
This macro finds the gcj program or causes an error. It sets GCJ and GCJFLAGS. gcj is the Java front-end to the GNU Compiler Collection.
AM_SYS_POSIX_TERMIOS
Check to see if POSIX termios headers and functions are available on the system. If so, set the shell variable am_cv_sys_posix_termios to yes. If not, set the variable to no.
AM_WITH_DMALLOC
Add support for the dmalloc package. If the user configures with --with-dmalloc, then define WITH_DMALLOC and add -ldmalloc to LIBS.
AM_WITH_REGEX
Adds --with-regex to the configure command line. If specified (the default), then the regex regular expression library is used, regex.o is put into LIBOBJS, and WITH_REGEX is defined. If --without-regex is given, then the rx regular expression library is used, and rx.o is put into LIBOBJS.