Node:Pretty Help Strings, Next:, Previous:Package Options, Up:Site Configuration



Making Your Help Strings Look Pretty

Properly formatting the help strings which are used in AC_ARG_WITH (see External Software) and AC_ARG_ENABLE (see Package Options) can be challenging. Specifically, you want your own help strings to line up in the appropriate columns of configure --help just like the standard Autoconf help strings do. This is the purpose of the AC_HELP_STRING macro.

AC_HELP_STRING (left-hand-side, right-hand-side) Macro

Expands into an help string that looks pretty when the user executes configure --help. It is typically used in AC_ARG_WITH (see External Software) or AC_ARG_ENABLE (see Package Options). The following example will make this clearer.

AC_DEFUN(TEST_MACRO,
[AC_ARG_WITH(foo,
             AC_HELP_STRING([--with-foo],
                            [use foo (default is NO)]),
             ac_cv_use_foo=$withval, ac_cv_use_foo=no),
AC_CACHE_CHECK(whether to use foo,
               ac_cv_use_foo, ac_cv_use_foo=no)])

Please note that the call to AC_HELP_STRING is unquoted. Then the last few lines of configure --help will appear like this:

--enable and --with options recognized:
  --with-foo              use foo (default is NO)

The AC_HELP_STRING macro is particularly helpful when the left-hand-side and/or right-hand-side are composed of macro arguments, as shown in the following example.

AC_DEFUN(MY_ARG_WITH,
[AC_ARG_WITH([$1],
             AC_HELP_STRING([--with-$1], [use $1 (default is $2)]),
             ac_cv_use_$1=$withval, ac_cv_use_$1=no),
AC_CACHE_CHECK(whether to use $1, ac_cv_use_$1, ac_cv_use_$1=$2)])