(gettext.info)configure.ac


Next: config.guess Prev: po/Rules-* Up: Adjusting Files
Enter node , (file) or (file)node

13.4.5 ‘configure.ac’ at top level
----------------------------------

   ‘configure.ac’ or ‘configure.in’ - this is the source from which
‘autoconf’ generates the ‘configure’ script.

  1. Declare the package and version.

     This is done by a set of lines like these:

          PACKAGE=gettext
          VERSION=0.19.8.1
          AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
          AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
          AC_SUBST(PACKAGE)
          AC_SUBST(VERSION)

     or, if you are using GNU ‘automake’, by a line like this:

          AM_INIT_AUTOMAKE(gettext, 0.19.8.1)

     Of course, you replace ‘gettext’ with the name of your package, and
     ‘0.19.8.1’ by its version numbers, exactly as they should appear in
     the packaged ‘tar’ file name of your distribution
     (‘gettext-0.19.8.1.tar.gz’, here).

  2. Check for internationalization support.

     Here is the main ‘m4’ macro for triggering internationalization
     support.  Just add this line to ‘configure.ac’:

          AM_GNU_GETTEXT

     This call is purposely simple, even if it generates a lot of
     configure time checking and actions.

     If you have suppressed the ‘intl/’ subdirectory by calling
     ‘gettextize’ without ‘--intl’ option, this call should read

          AM_GNU_GETTEXT([external])

  3. Have output files created.

     The ‘AC_OUTPUT’ directive, at the end of your ‘configure.ac’ file,
     needs to be modified in two ways:

          AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
          [EXISTING ADDITIONAL ACTIONS])

     The modification to the first argument to ‘AC_OUTPUT’ asks for
     substitution in the ‘intl/’ and ‘po/’ directories.  Note the ‘.in’
     suffix used for ‘po/’ only.  This is because the distributed file
     is really ‘po/Makefile.in.in’.

     If you have suppressed the ‘intl/’ subdirectory by calling
     ‘gettextize’ without ‘--intl’ option, then you don’t need to add
     ‘intl/Makefile’ to the ‘AC_OUTPUT’ line.

   If, after doing the recommended modifications, a command like
‘aclocal -I m4’ or ‘autoconf’ or ‘autoreconf’ fails with a trace similar
to this:

     configure.ac:44: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE
     ../../lib/autoconf/specific.m4:335: AC_GNU_SOURCE is expanded from...
     m4/lock.m4:224: gl_LOCK is expanded from...
     m4/gettext.m4:571: gt_INTL_SUBDIR_CORE is expanded from...
     m4/gettext.m4:472: AM_INTL_SUBDIR is expanded from...
     m4/gettext.m4:347: AM_GNU_GETTEXT is expanded from...
     configure.ac:44: the top level
     configure.ac:44: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE

you need to add an explicit invocation of ‘AC_GNU_SOURCE’ in the
‘configure.ac’ file - after ‘AC_PROG_CC’ but before ‘AM_GNU_GETTEXT’,
most likely very close to the ‘AC_PROG_CC’ invocation.  This is
necessary because of ordering restrictions imposed by GNU autoconf.


automatically generated by info2www version 1.2.2.9