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 122 123
|
dnl This file is part of GNU mailutils.
dnl Copyright (C) 2002-2025 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl GNU Mailutils is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
dnl MU_ENABLE_SUPPORT(feature, [action-if-true], [action-if-false],
dnl [additional-cond], [default-value])
AC_DEFUN([MU_ENABLE_SUPPORT], [
m4_pushdef([mu_upcase],m4_translit($1,[a-z+-],[A-ZX_]))
m4_pushdef([mu_cache_var],[mu_cv_enable_]m4_translit($1,[+-],[x_]))
m4_pushdef([mu_cond],[MU_COND_SUPPORT_]mu_upcase)
m4_if([$4],,,[if test $4; then])
AC_ARG_ENABLE($1,
AS_HELP_STRING([--disable-]$1,
[disable ]$1[ support]),
[
case "${enableval}" in
yes) mu_cache_var=yes;;
no) mu_cache_var=no;;
*) AC_MSG_ERROR([bad value ${enableval} for --disable-$1]) ;;
esac],
[mu_cache_var=m4_if([$5],,yes,[$5])])
if test "[$]mu_cache_var" = "yes"; then
m4_if([$2],,:,[$2])
m4_if([$3],,,else
[$3])
fi
m4_if([$4],,,[else
mu_cache_var=no
fi])
if test "[$]mu_cache_var" = "yes"; then
AC_DEFINE([ENABLE_]mu_upcase,1,[Define this if you enable $1 support])
fi
AM_CONDITIONAL(mu_cond, [test "[$]mu_cache_var" = "yes"])
m4_popdef([mu_cond])
m4_popdef([mu_cache_var])
m4_popdef([mu_upcase])
])
dnl MU_ENABLE_BUILD(feature, [action-if-true], [action-if-false],
dnl [additional-cond], [default-value], [listvar])
AC_DEFUN([MU_ENABLE_BUILD], [
m4_pushdef([mu_upcase],m4_translit($1,[a-z+-],[A-ZX_]))
m4_pushdef([mu_cache_var],[mu_cv_enable_build_]m4_translit($1,[+-],[x_]))
m4_pushdef([mu_cond],[MU_COND_]mu_upcase)
AC_ARG_ENABLE(build-$1,
AS_HELP_STRING([--disable-build-]$1,
[do not build ]$1),
[
case "${enableval}" in
yes) mu_cache_var=yes;;
no) mu_cache_var=no;;
*) AC_MSG_ERROR([bad value ${enableval} for --disable-$1]) ;;
esac],
[m4_if([$4],,[mu_cache_var=m4_if([$5],,yes,[$5])],
[if test $4; then
mu_cache_var=yes
else
mu_cache_var=no
fi])])
if test "[$]mu_cache_var" = "yes"; then
m4_if([$2],,:,[$2])
m4_if([$6],,,[$6="$[]$6 $1"])
m4_if([$3],,,else
[$3])
fi
if test "[$]mu_cache_var" = "yes"; then
AC_DEFINE([MU_BUILD_]mu_upcase,1,[Define this if you build $1])
fi
AM_CONDITIONAL(mu_cond,
[test "[$]mu_cache_var" = "yes"])
m4_popdef([mu_upcase])
m4_popdef([mu_cache_var])
m4_popdef([mu_cond])
])
AC_CONFIG_COMMANDS_PRE([
AC_SUBST([MU_LIB_LOCAL_MAILBOX])
AC_SUBST([MU_LIB_REMOTE_MAILBOX])
AC_SUBST([MU_LIB_MAILBOX],['$(MU_LIB_LOCAL_MAILBOX) $(MU_LIB_REMOTE_MAILBOX)'])
])
dnl MU_ENABLE_MAILBOX_FORMAT([CATEGORY], [SCHEME],
dnl [action-if-true], [action-if-false],
dnl [additional-cond], [default-value])
AC_DEFUN([MU_ENABLE_MAILBOX_FORMAT], [
m4_pushdef([LIBNAME],[[MU_LIB_]translit($2,[a-z+-],[A-ZX_])])
AC_SUBST(LIBNAME)
MU_ENABLE_SUPPORT([$2],
[LIBNAME='${top_builddir}/libproto/$2/libmu_$2.la'
$3],
m4_shift(m4_shift(m4_shift($@))))
AC_CONFIG_FILES([libproto/$2/Makefile])
m4_syscmd([test -f libproto/$2/tests/Makefile.am -a -f libproto/$2/tests/atlocal.in])
m4_if(sysval,0,[MU_CONFIG_TESTSUITE([libproto/$2])])
[MU_LIB_]$1[_MAILBOX]="${[MU_LIB_]$1[_MAILBOX]} \$(LIBNAME)"
m4_popdef([LIBNAME])
])
AC_DEFUN([MU_ENABLE_LOCAL_MAILBOX_FORMAT],
[MU_ENABLE_MAILBOX_FORMAT([LOCAL],$@)])
AC_DEFUN([MU_ENABLE_REMOTE_MAILBOX_FORMAT],
[MU_ENABLE_MAILBOX_FORMAT([REMOTE],$@)])
|