1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
dnl @synopsis AX_CONFIG_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, DEFINE, DEFINE-DESCRIPTION, [ACTION-IF-ENABLED [, ACTION-IF-NOT-ENABLED]])
dnl
dnl AX_CONFIG_FEATURE is a simple wrapper for AC_ARG_ENABLE, it enables
dnl the feature FEATURE-NAME and AC_DEFINEs the passed DEFINE,
dnl depending on the user choice. DESCRIPTION will be used for
dnl AC_DEFINEs. ACTION-IF-ENABLED and ACTION-IF-NOT-ENABLED are the
dnl actions that will be run. A feature is enabled by default, in order
dnl to change this behaviour use the AX_CONFIG_FEATURE_DEFAULT_ENABLED
dnl and AX_CONFIG_FEATURE_DEFAULT_DISABLED macros.
dnl
dnl A simple example:
dnl
dnl AX_CONFIG_FEATURE_DEFAULT_ENABLED
dnl AX_CONFIG_FEATURE(feature_xxxxx, [turns on/off XXXXX support],
dnl HAVE_XXXXX, [Define if you want XXXXX support])
dnl
dnl ...
dnl
dnl AX_CONFIG_FEATURE_DEFAULT_DISABLED
dnl AX_CONFIG_FEATURE(feature_yyyyy, [turns on/off YYYYY support],
dnl HAVE_YYYYY, [Define if you want YYYYY support],
dnl [enable_yyyyy="yes"], [enable_yyyyy="no"])
dnl AM_CONDITIONAL(YYYYY, [test "$enable_yyyyy" = "yes"])
dnl
dnl AX_CONFIG_FEATURE_DEFAULT_ENABLED
dnl AX_CONFIG_FEATURE(...)
dnl
dnl ...
dnl
dnl If you have lot of features and you want a verbose dumping of each
dnl user selection use AX_CONFIG_FEATURE_VERBOSE. Use
dnl AX_CONFIG_FEATURE_SILENT in order to remove a previously
dnl AX_CONFIG_FEATURE_VERBOSE. By default features are silent.
dnl
dnl Use AX_CONFIG_FEATURE_ENABLE or AX_CONFIG_FEATURE_DISABLE in order
dnl to enable or disable a specific feature.
dnl
dnl Another simple example:
dnl
dnl AS_IF([some_test_here],[AX_CONFIG_FEATURE_ENABLE(feature_xxxxx)],[])
dnl
dnl AX_CONFIG_FEATURE(feature_xxxxx, [turns on/off XXXXX support],
dnl HAVE_XXXXX, [Define if you want XXXXX support])
dnl AX_CONFIG_FEATURE(feature_yyyyy, [turns on/off YYYYY support],
dnl HAVE_YYYYY, [Define if you want YYYYY support],
dnl [enable_yyyyy="yes"], [enable_yyyyy="no"])
dnl
dnl ...
dnl
dnl NOTE: AX_CONFIG_FEATURE_ENABLE() must be placed first of the
dnl relative AX_CONFIG_FEATURE() macro ...
dnl
dnl @category Misc
dnl @author Francesco Salvestrini <salvestrini@users.sourceforge.net>
dnl @version 2005-01-22
dnl @license GPLWithACException
AC_DEFUN([AX_CONFIG_FEATURE],[ dnl
m4_pushdef([FEATURE], patsubst([$1], -, _))dnl
AC_ARG_ENABLE([$1],AC_HELP_STRING([--enable-$1],[$2]),[
case "${enableval}" in
yes)
ax_config_feature_[]FEATURE[]="yes"
;;
no)
ax_config_feature_[]FEATURE[]="no"
;;
*)
AC_MSG_ERROR([bad value ${enableval} for feature --$1])
;;
esac
])
AS_IF([test "$ax_config_feature_[]FEATURE[]" = yes],[ dnl
AC_DEFINE([$3])
$5
AS_IF([test "$ax_config_feature_verbose" = yes],[ dnl
AC_MSG_NOTICE([Feature $1 is enabled])
])
],[ dnl
$6
AS_IF([test "$ax_config_feature_verbose" = yes],[ dnl
AC_MSG_NOTICE([Feature $1 is disabled])
])
])
AH_TEMPLATE([$3],[$4])
m4_popdef([FEATURE])dnl
])
dnl Feature global
AC_DEFUN([AX_CONFIG_FEATURE_VERBOSE],[ dnl
ax_config_feature_verbose=yes
])
dnl Feature global
AC_DEFUN([AX_CONFIG_FEATURE_SILENT],[ dnl
ax_config_feature_verbose=no
])
dnl Feature specific
AC_DEFUN([AX_CONFIG_FEATURE_DEFAULT_ENABLED], [
ax_config_feature_[]FEATURE[]_default=yes
])
dnl Feature specific
AC_DEFUN([AX_CONFIG_FEATURE_DEFAULT_DISABLED], [
ax_config_feature_[]FEATURE[]_default=no
])
dnl Feature specific
AC_DEFUN([AX_CONFIG_FEATURE_ENABLE],[ dnl
ax_config_feature_[]patsubst([$1], -, _)[]=yes
])
dnl Feature specific
AC_DEFUN([AX_CONFIG_FEATURE_DISABLE],[ dnl
ax_config_feature_[]patsubst([$1], -, _)[]=yes
])
|