Properly formatting the help strings which are used in AC_ARG_WITH (the section called “Working With External Software”) and AC_ARG_ENABLE (the section called “Choosing 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.
function>AC_HELP_STRING/function> (left-hand-side, right-hand-side) Expands into an help string that looks pretty when the user executes configure -help. It is typically used in AC_ARG_WITH (the section called “Working With External Software”) or AC_ARG_ENABLE (the section called “Choosing 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)])