Previous: Automake requirements, Up: Format of configure.ac [Contents][Index]
Here are the other macros Automake currently recognizes, along with their effects:
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
Automake will ensure that config.guess and config.sub
exist. Also, the Makefile variables build_triplet
,
host_triplet
and target_triplet
are introduced.
See Canonicalizing.
AC_CONFIG_AUX_DIR
Automake will look for various helper scripts, such as install-sh, in the directory named in this macro invocation. (The full list of scripts is: ar-lib, config.guess, config.sub, depcomp, compile, install-sh, ltmain.sh, mdate-sh, missing, mkinstalldirs, py-compile, test-driver, texinfo.tex, ylwrap.) Not all scripts are always searched for; some scripts will only be sought if the generated Makefile.in requires them.
If AC_CONFIG_AUX_DIR
is not given, the scripts are looked for in
their standard locations. For mdate-sh,
texinfo.tex, and ylwrap, the standard location is the
source directory corresponding to the current Makefile.am. For
the rest, the standard location is the first one of ., ..,
or ../.. (relative to the top source directory) that provides any
one of the helper scripts. See Finding configure
Input.
Required files from AC_CONFIG_AUX_DIR
are automatically
distributed, even if there is no Makefile.am in this directory.
AC_CONFIG_LIBOBJ_DIR
Automake will require the sources file declared with
AC_LIBSOURCE
(see below) in the directory specified by this
macro.
AC_CONFIG_HEADERS
Automake will generate rules to rebuild these headers from the
corresponding templates (usually, the template for a foo.h
header being foo.h.in). Older versions of Automake
required the use of AM_CONFIG_HEADER
; this is no longer
the case, and that macro has indeed been removed.
As with AC_CONFIG_FILES
(see Automake requirements), parts of
the
specification using shell variables will be ignored as far as
cleaning, distributing, and rebuilding is concerned.
AC_CONFIG_LINKS
Automake will generate rules to remove configure generated links on ‘make distclean’ and to distribute named source files as part of ‘make dist’.
As for AC_CONFIG_FILES
(see Automake requirements), parts of
the
specification using shell variables will be ignored as far as cleaning
and distributing is concerned. (There are no rebuild rules for links.)
AC_LIBOBJ
AC_LIBSOURCE
AC_LIBSOURCES
Automake will automatically distribute any file listed in
AC_LIBSOURCE
or AC_LIBSOURCES
.
Note that the AC_LIBOBJ
macro calls AC_LIBSOURCE
. So if
an Autoconf macro is documented to call ‘AC_LIBOBJ([file])’, then
file.c will be distributed automatically by Automake. This
encompasses many macros like AC_FUNC_ALLOCA
,
AC_FUNC_MEMCMP
, AC_REPLACE_FUNCS
, and others.
By the way, direct assignments to LIBOBJS
are no longer
supported. You should always use AC_LIBOBJ
for this purpose.
See AC_LIBOBJ
vs. LIBOBJS
in The Autoconf Manual.
AC_PROG_RANLIB
This is required if any libraries are built in the package. See Particular Programs.
AC_PROG_CXX
This is required if any C++ source is included. See Particular Programs.
AC_PROG_OBJC
This is required if any Objective C source is included. See Particular Programs.
AC_PROG_OBJCXX
This is required if any Objective C++ source is included. See Particular Programs.
AC_PROG_F77
This is required if any Fortran 77 source is included. See Particular Programs.
AC_F77_LIBRARY_LDFLAGS
This is required for programs and shared libraries that are a mixture of languages that include Fortran 77 (see Mixing Fortran 77 With C and C++). See Macros supplied with Automake.
AC_FC_SRCEXT
Automake will add the flags computed by AC_FC_SRCEXT
to compilation
of files with the respective source extension (see Fortran Compiler).
AC_PROG_FC
This is required if any Fortran 90/95 source is included. This macro is distributed with Autoconf version 2.58 and later. See Particular Programs.
AC_PROG_LIBTOOL
Automake will turn on processing for libtool
(see Introduction in The Libtool Manual).
AC_PROG_YACC
If a Yacc source file is seen, then you must either use this macro or
define the variable YACC
in configure.ac. The former is
preferred (see Particular Programs).
AC_PROG_LEX
If a Lex source file is seen, then this macro must be used. See Particular Programs.
AC_REQUIRE_AUX_FILE
For each AC_REQUIRE_AUX_FILE([file])
,
automake
will ensure that file exists in the
aux directory, and will complain otherwise. It
will also automatically distribute the file. This macro should be
used by third-party Autoconf macros that require some supporting
files in the aux directory specified with AC_CONFIG_AUX_DIR
above. See Finding configure
Input.
AC_SUBST
The first argument is automatically defined as a variable in each
generated Makefile.in, unless AM_SUBST_NOTMAKE
is also
used for this variable. See Setting Output Variables.
For every substituted variable var, automake
will add
a line var = value
to each Makefile.in file.
Many Autoconf macros invoke AC_SUBST
to set output variables
this way, e.g., AC_PATH_XTRA
defines X_CFLAGS
and
X_LIBS
. Thus, you can access these variables as
$(X_CFLAGS)
and $(X_LIBS)
in any Makefile.am
if AC_PATH_XTRA
is called.
AM_CONDITIONAL
This introduces an Automake conditional (see Conditionals).
AM_COND_IF
This macro allows automake
to detect subsequent access within
configure.ac to a conditional previously introduced with
AM_CONDITIONAL
, thus enabling conditional AC_CONFIG_FILES
(see Conditionals).
AM_GNU_GETTEXT
This macro is required for packages that use GNU gettext It is distributed with gettext. If Automake sees this macro it ensures that the package meets some of gettext’s requirements.
AM_GNU_GETTEXT_INTL_SUBDIR
This macro specifies that the intl/ subdirectory is to be built,
even if the AM_GNU_GETTEXT
macro was invoked with a first argument
of ‘external’.
AM_MAINTAINER_MODE([default-mode])
This macro adds an --enable-maintainer-mode option to
configure
. If this is used, automake
will cause
“maintainer-only” rules to be turned off by default in the
generated Makefile.ins, unless default-mode is
‘enable’. This macro defines the MAINTAINER_MODE
conditional, which you can use in your own Makefile.am.
See maintainer-mode.
AM_SUBST_NOTMAKE(var)
Prevent Automake from defining a variable var, even if it is
substituted by config.status
. Normally, Automake defines a
make
variable for each configure
substitution,
i.e., for each AC_SUBST([var])
. This macro prevents that
definition from Automake. If AC_SUBST
has not been called
for this variable, then AM_SUBST_NOTMAKE
has no effects.
Preventing variable definitions may be useful for substitution of
multi-line values, where var = @value@
might yield
unintended results.
m4_include
Files included by configure.ac using this macro will be detected by Automake and automatically distributed. They will also appear as dependencies in Makefile rules.
m4_include
is seldom used by configure.ac authors, but
can appear in aclocal.m4 when aclocal
detects that
some required macros come from files local to your package (as opposed to
macros installed in a system-wide directory, see aclocal Invocation).
Previous: Automake requirements, Up: Format of configure.ac [Contents][Index]