Next: , Up: Autoconf macros supplied with Automake   [Contents][Index]


5.6.1 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 Other things Automake recognizes).

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 Support for 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>. This macro is obsolete, you should use Autoconf’s AC_HEADER_TIOCGWINSZ instead.

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 (see Changing Automake’s Behavior).

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.ac 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.ac 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_LEX

Like AC_PROG_LEX (see Particular Program Checks in The Autoconf Manual), 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’. This macro is obsolete, you should use Autoconf’s AC_SYS_POSIX_TERMIOS instead.

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’.


Next: Private macros, Up: Autoconf macros supplied with Automake   [Contents][Index]