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

6.4.1 Public macros


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


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 that should be applied to every 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 has:

AM_INIT_AUTOMAKE([mumble], [1.5])

you can modernize it as follows:

AC_INIT([mumble], [1.5])

Note that if you’re upgrading your 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 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.


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


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.


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, that is, when using per-target flags or subdir-objects with C sources.


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.


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.


Find a compiler for Unified Parallel C and define the UPC variable. The default compiler-search-list is ‘upcc upc’. This macro will abort configure if no Unified Parallel C compiler is found.


Add support for the Dmalloc package. If the user runs configure with --with-dmalloc, then define WITH_DMALLOC and add -ldmalloc to LIBS.


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: Obsolete macros, Up: Autoconf macros supplied with Automake   [Contents][Index]