automake-1.16: Public Macros

 
 6.4.1 Public Macros
 -------------------
 
 ‘AM_INIT_AUTOMAKE([OPTIONS])’
      Runs many macros required for proper operation of the generated
      Makefiles.
 
      Today, ‘AM_INIT_AUTOMAKE’ is called with a single argument: a
      space-separated list of Automake options that should be applied to
      every ‘Makefile.am’ in the tree.  The effect is as if each option
      were listed in ‘AUTOMAKE_OPTIONS’ (⇒Options).
 
      This macro can also be called in another, _deprecated_ form:
      ‘AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])’.  In this form,
      there are two required arguments: the package and the version
      number.  This usage is mostly obsolete because the PACKAGE and
      VERSION can be obtained from Autoconf’s ‘AC_INIT’ macro.  However,
      differently from what happens for ‘AC_INIT’ invocations, this
      ‘AM_INIT_AUTOMAKE’ invocation supports shell variables’ expansions
      in the ‘PACKAGE’ and ‘VERSION’ arguments (which otherwise defaults,
      respectively, to the ‘PACKAGE_TARNAME’ and ‘PACKAGE_VERSION’
      defined via the ‘AC_INIT’ invocation; ⇒The ‘AC_INIT’ macro
      (autoconf)AC_INIT.); and this can still be useful in some selected
      situations.  Our hope is that future Autoconf versions will improve
      their support for package versions defined dynamically at configure
      runtime; when (and if) this happens, support for the two-args
      ‘AM_INIT_AUTOMAKE’ invocation will likely be removed from Automake.
 
      If your ‘configure.ac’ has:
 
           AC_INIT([src/foo.c])
           AM_INIT_AUTOMAKE([mumble], [1.5])
 
      you should 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’ to provide the tarball name
      explicitly).
 
      By default this macro ‘AC_DEFINE’’s ‘PACKAGE’ and ‘VERSION’.  This
      Automake options::):
           AM_INIT_AUTOMAKE([no-define ...])
 
 ‘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_AR([ACT-IF-FAIL])’
      You must use this macro when you use the archiver in your project,
      if you want support for unusual archivers such as Microsoft ‘lib’.
      The content of the optional argument is executed if the archiver
      interface is not recognized; the default action is to abort
      configure with an error message.
 
 ‘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 an obsolescent macro that checks that the C compiler
      supports the ‘-c’ and ‘-o’ options together.  Note that, since
      Automake 1.14, the ‘AC_PROG_CC’ is rewritten to implement such
      checks itself, and thus the explicit use of ‘AM_PROG_CC_C_O’ should
      no longer be required.
 
 ‘AM_PROG_LEX’
      Like ‘AC_PROG_LEX’ (⇒Particular Program Checks
      (autoconf)Particular Programs.), 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_PROG_UPC([COMPILER-SEARCH-LIST])’
      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.
 
 ‘AM_MISSING_PROG(NAME, PROGRAM)’
      Find a maintainer tool PROGRAM and define the NAME environment
      variable with its location.  If PROGRAM is not detected, then NAME
      will instead invoke the ‘missing’ script, in order to give useful
      advice to the user about the missing maintainer tool.  ⇒
      maintainer-mode, for more information on when the ‘missing’
      script is appropriate.
 
 ‘AM_SILENT_RULES’
      Control the machinery for less verbose build output (⇒Automake
      Silent Rules).
 
 ‘AM_WITH_DMALLOC’
      Add support for the Dmalloc package (https://dmalloc.com/).  If the
      user runs ‘configure’ with ‘--with-dmalloc’, then define
      ‘WITH_DMALLOC’ and add ‘-ldmalloc’ to ‘LIBS’.