diff options
80 files changed, 11574 insertions, 402 deletions
diff --git a/am/gssapi.m4 b/am/gssapi.m4 index 8e4f5d709..ed25ddabf 100644 --- a/am/gssapi.m4 +++ b/am/gssapi.m4 @@ -14,11 +14,10 @@ AC_DEFUN([MU_CHECK_GSSAPI], GSSAPI_PREFIX=[$1] GSSAPI_IMPL="none" # First try krb5-config - if test "$GSSAPI_PREFIX" != "yes"; then - krb5_path="$GSSAPI_PREFIX/bin" - else - krb5_path="$PATH" - fi + case $GSSAPI_PREFIX in + yes|probe) krb5_path="$PATH";; + *) krb5_path="$GSSAPI_PREFIX/bin" + esac AC_PATH_PROG(KRB5CFGPATH, krb5-config, none, $krb5_path) AC_CHECK_HEADER(gss.h, [wantgss=yes], [wantgss=no]) if test $wantgss != no; then @@ -47,12 +46,14 @@ int main() { return gss_check_version ("0.0.9") == (char*) 0; }], saved_CPPFLAGS="$CPPFLAGS" saved_LDFLAGS="$LDFLAGS" saved_LIBS="$LIBS" - if test "$GSSAPI_PREFIX" != "yes"; then + case $GSSAPI_PREFIX in + yes|probe) ;; + *) GSSAPI_CFLAGS="-I$GSSAPI_PREFIX/include" GSSAPI_LDFLAGS="-L$GSSAPI_PREFIX/lib" CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS" LDFLAGS="$LDFLAGS $GSSAPI_LDFLAGS" - fi + esac ## Check for new MIT kerberos V support AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context, diff --git a/bootstrap.conf b/bootstrap.conf index 361217c31..b6692e01f 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -113,3 +113,10 @@ if [ -z "$help" ]; then #make -C doc/texinfo -f maint.mk fi +bootstrap_epilogue() { + # Install a ltmain.sh version that fixes the two libtool issues we've + # encountered. + # See http://gray.gnu.org.ua/public/ltbug for details. + set -e + (cd build-aux && rm ltmain.sh && ln -s ../mu-aux/ltmain.sh) +} diff --git a/comsat/Makefile.am b/comsat/Makefile.am index 5d124c521..b17c5318c 100644 --- a/comsat/Makefile.am +++ b/comsat/Makefile.am @@ -19,7 +19,7 @@ sbin_PROGRAMS = comsatd comsatd_SOURCES = action.c comsat.c comsat.h biff.rc.h AM_CPPFLAGS = \ - @MU_APP_COMMON_INCLUDES@\ + $(MU_APP_COMMON_INCLUDES)\ -DSYSCONFDIR=\"$(sysconfdir)\" BUILT_SOURCES=biff.rc.h @@ -30,8 +30,8 @@ biff.rc.h: $(top_srcdir)/comsat/biff.rc $(top_srcdir)/comsat/biff.rc > biff.rc.h comsatd_LDADD = \ - ${MU_APP_LIBRARIES}\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_MAILUTILS}\ - @MU_COMMON_LIBRARIES@ + $(MU_LIB_MAILBOX)\ + $(MU_LIB_MAILUTILS)\ + $(MU_APP_LIBRARIES)\ + $(MU_COMMON_LIBRARIES) diff --git a/configure.ac b/configure.ac index 59b9fe777..575ff22f4 100644 --- a/configure.ac +++ b/configure.ac @@ -76,11 +76,11 @@ gl_EARLY AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL MU_PROG_BISON MU_PROG_FLEX -AM_PROG_LIBTOOL + +LT_PREREQ([2.4.6]) +LT_INIT ## Predefine several variables used to display configuration status status_pam=no @@ -121,9 +121,6 @@ AH_BOTTOM([ #define DEFAULT_TEXT_DOMAIN PACKAGE ]) -AC_SUBST(MU_LINK_POSTFLAGS,[`for opt in $LTLIBICONV; do case $opt in -[[lL]]*) echo $opt;; esac; done|tr '\n' ' '`]) - - # Check for large file support AC_SYS_LARGEFILE @@ -243,43 +240,30 @@ AC_ARG_WITH([gssapi], AC_HELP_STRING([--with-gssapi@<:@=PATH@:>@], [use GSSAPI authentication]), [status_gssapi=$withval], - [status_gssapi=no]) + [status_gssapi=probe]) -if test "x$status_gssapi" != "xno"; then +if test "$status_gssapi" != "no"; then MU_CHECK_GSSAPI($status_gssapi) if test "$GSSAPI_IMPL" = "none"; then AC_CACHE_SAVE AC_MSG_RESULT([GSSAPI libraries not found]) + if test "$status_gssapi" = probe; then + status_gssapi=no + else + AC_MSG_FAILURE([The requested GSSAPI library not found or is unusable]) + fi else - # Output produced by `krb5-config --libs' may contain `-Wl,-rpath -Wl,DIR' - # options. Once they are added to SERV_AUTHLIBS, libtool, when creating - # relink command line in wrapper files for executables, places them at the - # beginnig of the option list and adds its own -rpath directives at - # the end. Executables created by such command will look for the runtime - # libraries first in DIR and then in the local tree subdirectories. Thus, - # if DIR contains libraries from a previous installation of Mailutils, the - # programs will use old libraries. - # - # Obviously, libtool should be fixed to place user-added -rpath directives - # after the ones added by it. For the time being I work around this bug by - # removing any -Wl directives from GSSAPI_LIBS. - # - for arg in $GSSAPI_LIBS - do - case $arg in - -Wl,*) ;; - *) SERV_AUTHLIBS="$SERV_AUTHLIBS $arg" - esac - done - SERV_AUTHINCS="$SERV_AUTHINCS $GSSAPI_CFLAGS" + SERV_AUTHLIBS="${SERV_AUTHLIBS}${SERV_AUTHLIBS:+ }$GSSAPI_LIBS" + SERV_AUTHINCS="${SERV_AUTHINCS}${SERV_AUTHINCS:+ }$GSSAPI_CFLAGS" AC_DEFINE(WITH_GSSAPI,1,[Define if mailutils is using GSSAPI]) + status_gssapi=yes fi fi AM_CONDITIONAL([MU_COND_GSSAPI],[test "$status_gssapi" = "yes"]) MU_CHECK_GSASL(0.2.3, [ AC_DEFINE(WITH_GSASL,1,[Define if mailutils is using GNU SASL]) - MU_AUTHLIBS="$MU_AUTHLIBS $GSASL_LIBS" + MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }$GSASL_LIBS" status_gsasl=yes]) AM_CONDITIONAL([MU_COND_GSASL],[test "$status_gsasl" = "yes"]) @@ -295,7 +279,7 @@ AC_ARG_WITH(cram-passwd, esac]) MU_CHECK_GNUTLS([1.2.1],[ - MU_AUTHLIBS="$MU_AUTHLIBS $TLS_LIBS" + MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }$TLS_LIBS" AC_DEFINE(WITH_GNUTLS,1,[Define if mailutils is using GNU TLS]) AC_DEFINE(WITH_TLS,1,[Define if mailutils is using TLS]) status_gnutls=yes @@ -797,7 +781,7 @@ AC_DEFUN([MU_SQL_LDADD],[ if test "$USE_LOADABLE_MODULES" = yes; then $1=$2 else - SQLLIB="$SQLLIB $2" + SQLLIB="${SQLLIB}${SQLLIB:+ }$2" fi ]) @@ -939,9 +923,9 @@ if test -n "$SQL_MODULES"; then do ${module:-dummy}_init if test $USE_LOADABLE_MODULES = yes; then - SQL_LOADABLE_MODULES="$SQL_LOADABLE_MODULES ${module}.la" + SQL_LOADABLE_MODULES="${SQL_LOADABLE_MODULES}${SQL_LOADABLE_MODULES:+ }${module}.la" else - SQL_LIBOBJS="$SQL_LIBOBJS ${module}.o" + SQL_LIBOBJS="${SQL_LIBOBJS}${SQL_LIBOBJS:+ }${module}.o" fi done S=`echo "$SQL_LIBOBJS" | @@ -974,7 +958,7 @@ if test $status_ldap = maybe; then AC_CHECK_LIB(ldap, ldap_bind,[ status_ldap=yes AC_DEFINE(WITH_LDAP, 1, [Define to 1 if you want to use -lldap]) - MU_AUTHLIBS="$MU_AUTHLIBS -lldap"], + MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lldap"], [status_ldap=no]) fi @@ -1020,7 +1004,7 @@ MU_ENABLE_SUPPORT(prog) # FIXME: Should be --with-radius MU_ENABLE_SUPPORT(radius, [AM_GNU_RADIUS(1.6, - [MU_AUTHLIBS="$MU_AUTHLIBS -lgnuradius" + [MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lgnuradius" mu_cv_enable_radius=yes], [mu_cv_enable_radius=no])]) @@ -1029,7 +1013,7 @@ if test x"$testpam" = x"yes"; then if test x"$ac_cv_header_security_pam_appl_h" = x"yes"; then AC_CHECK_LIB(dl, dlopen, [LDL=-ldl], [LDL=]) AC_CHECK_LIB(pam, pam_start, - [MU_AUTHLIBS="$MU_AUTHLIBS -lpam $LDL" + [MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lpam $LDL" ac_cv_have_libpam="yes"],, $LDL) AC_DEFINE(USE_LIBPAM,1,[Enable use of PAM]) status_pam=yes @@ -1326,9 +1310,12 @@ MU_ENABLE_BUILD(pop3d,,,["$mu_build_servers" = yes],,[server_list]) MU_ENABLE_BUILD(imap4d,,,["$mu_build_servers" = yes],,[server_list]) MU_ENABLE_BUILD(comsat,,,["$mu_build_servers" = yes],,[server_list]) -MU_ENABLE_BUILD(mda,[mu_build_mda_tools=yes],,["$mu_build_servers" = yes],,[server_list]) -MU_ENABLE_BUILD(lmtpd,[mu_build_mda_tools=yes],,["$mu_build_servers" = yes],,[server_list]) -MU_ENABLE_BUILD(putmail,[mu_build_mda_tools=yes],,["$mu_build_clients" = yes],,[client_list]) +MU_ENABLE_BUILD(mda,[mu_build_mda_tools=yes],, + ["$mu_build_servers" = yes],,[server_list]) +MU_ENABLE_BUILD(lmtpd,[mu_build_mda_tools=yes],, + ["$mu_build_servers" = yes],,[server_list]) +MU_ENABLE_BUILD(putmail,[mu_build_mda_tools=yes],, + ["$mu_build_clients" = yes],,[client_list]) AM_CONDITIONAL([MU_COND_MDA_TOOLS],[test "$mu_build_mda_tools" = yes]) MU_ENABLE_BUILD(frm,,,["$mu_build_clients" = yes],,[client_list]) diff --git a/dotlock/Makefile.am b/dotlock/Makefile.am index 3e121fa6d..005ecda68 100644 --- a/dotlock/Makefile.am +++ b/dotlock/Makefile.am @@ -14,14 +14,14 @@ ## You should have received a copy of the GNU General Public License ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. -AM_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ +AM_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) bin_PROGRAMS = dotlock dotlock_LDADD = \ - ${MU_APP_LIBRARIES}\ - ${MU_LIB_MAILUTILS}\ - @MU_COMMON_LIBRARIES@ + $(MU_APP_LIBRARIES)\ + $(MU_LIB_MAILUTILS)\ + $(MU_COMMON_LIBRARIES) install-exec-hook: for i in $(bin_PROGRAMS); do\ diff --git a/examples/Makefile.am b/examples/Makefile.am index 54e92f7f3..f7aff4f6e 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -56,77 +56,77 @@ EXTRA_PROGRAMS = nntpclient ## will not create a shared library and `make check' will fail in ## sieve. Pity. ## -Sergey -moddir=@MU_SIEVE_MODDIR@ +moddir=$(MU_SIEVE_MODDIR) mod_LTLIBRARIES = numaddr.la -AM_CPPFLAGS = @MU_LIB_COMMON_INCLUDES@ +AM_CPPFLAGS = $(MU_LIB_COMMON_INCLUDES) LDADD = \ ../lib/libmuaux.la\ - ${MU_LIB_MAILUTILS}\ - @MU_COMMON_LIBRARIES@ + $(MU_LIB_MAILUTILS)\ + $(MU_COMMON_LIBRARIES) numaddr_la_SOURCES = numaddr.c -numaddr_la_LIBADD = ${MU_LIB_SIEVE} +numaddr_la_LIBADD = $(MU_LIB_SIEVE) numaddr_la_LDFLAGS = -module -avoid-version -no-undefined -rpath '$(moddir)' msg_send_LDADD =\ ../lib/libmuaux.la\ - ${MU_LIB_MAILER}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILER)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS) -mta_CPPFLAGS=@MU_LIB_COMMON_INCLUDES@ -I${top_srcdir}/lib -I${top_builddir}/lib +mta_CPPFLAGS=$(MU_LIB_COMMON_INCLUDES) -I$(top_srcdir)/lib -I$(top_builddir)/lib mta_LDADD =\ ../lib/libmuaux.la\ - ${MU_LIB_MBOX}\ - ${MU_LIB_MAILER}\ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MBOX)\ + $(MU_LIB_MAILER)\ + $(MU_LIB_MAILUTILS) sfrom_LDADD =\ ../lib/libmuaux.la\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS) mboxsize_LDADD =\ ../lib/libmuaux.la\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS) nntpclient_LDADD = \ ../lib/libmuaux.la\ - ${MU_LIB_NNTP}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS}\ + $(MU_LIB_NNTP)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS)\ @READLINE_LIBS@ lsf_LDADD = \ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@ \ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS) \ + $(MU_LIB_MAILUTILS) -muauth_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ +muauth_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) muauth_LDADD = \ - ${MU_APP_LIBRARIES}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@ \ - ${MU_LIB_MAILUTILS} + $(MU_APP_LIBRARIES)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS) \ + $(MU_LIB_MAILUTILS) -muemail_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ +muemail_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) muemail_LDADD = \ - ${MU_APP_LIBRARIES} \ - ${MU_LIB_MAILUTILS} + $(MU_APP_LIBRARIES) \ + $(MU_LIB_MAILUTILS) -mboxidx_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ +mboxidx_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) mboxidx_LDADD=\ ../lib/libmuaux.la\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@ \ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS) \ + $(MU_LIB_MAILUTILS) diff --git a/examples/cpp/Makefile.am b/examples/cpp/Makefile.am index ee98fb035..2f2ad60d7 100644 --- a/examples/cpp/Makefile.am +++ b/examples/cpp/Makefile.am @@ -28,15 +28,15 @@ MU_CXX_EXAMPLES_LIST = \ url-parse EXTRA_PROGRAMS=$(MU_CXX_EXAMPLES_LIST) -noinst_PROGRAMS = @MU_CXX_EXAMPLES_BUILD@ +noinst_PROGRAMS = $(MU_CXX_EXAMPLES_BUILD) -AM_CPPFLAGS = @MU_LIB_COMMON_INCLUDES@ +AM_CPPFLAGS = $(MU_LIB_COMMON_INCLUDES) AM_LDFLAGS = \ ../../lib/libmuaux.la\ ../../libmu_cpp/libmu_cpp.la\ - ${MU_LIB_MAILUTILS}\ - @MU_COMMON_LIBRARIES@ + $(MU_LIB_MAILUTILS)\ + $(MU_COMMON_LIBRARIES) addr_SOURCES = addr.cc http_SOURCES = http.cc @@ -53,9 +53,9 @@ url_parse_SOURCES = url-parse.cc LDADD =\ ../../lib/libmuaux.la\ ../../libmu_cpp/libmu_cpp.la\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - ${MU_LIB_MAILER}\ - ${MU_LIB_SIEVE}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS} + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_LIB_MAILER)\ + $(MU_LIB_SIEVE)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS) diff --git a/frm/Makefile.am b/frm/Makefile.am index 62130109d..05e9c4f68 100644 --- a/frm/Makefile.am +++ b/frm/Makefile.am @@ -14,7 +14,7 @@ ## You should have received a copy of the GNU General Public License ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. -AM_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ +AM_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) SUBDIRS = . tests @@ -26,10 +26,11 @@ frm_LDADD = $(common_ldadd) from_LDADD = $(common_ldadd) common_ldadd = \ - ${MU_APP_LIBRARIES}\ - ${MU_LIB_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@\ - ${MU_LIB_MAILUTILS}\ - @FRIBIDI_LIBS@ @MU_COMMON_LIBRARIES@ + $(MU_APP_LIBRARIES)\ + $(MU_LIB_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS)\ + $(MU_LIB_MAILUTILS)\ + @FRIBIDI_LIBS@\ + $(MU_COMMON_LIBRARIES) diff --git a/imap4d/Makefile.am b/imap4d/Makefile.am index 7b44701a4..2aa500585 100644 --- a/imap4d/Makefile.am +++ b/imap4d/Makefile.am @@ -14,7 +14,7 @@ ## You should have received a copy of the GNU General Public License ## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. -AM_CPPFLAGS = @MU_APP_COMMON_INCLUDES@ @MU_AUTHINCS@ @SERV_AUTHINCS@ +AM_CPPFLAGS = $(MU_APP_COMMON_INCLUDES) $(MU_AUTHINCS) @SERV_AUTHINCS@ SUBDIRS = . tests sbin_PROGRAMS = imap4d @@ -71,14 +71,14 @@ imap4d_SOURCES = \ util.c imap4d_LDADD = \ - ${MU_APP_LIBRARIES}\ - ${MU_LIB_LOCAL_MAILBOX}\ - ${MU_LIB_AUTH}\ - @MU_AUTHLIBS@ \ - ${MU_LIB_MAILUTILS}\ + $(MU_APP_LIBRARIES)\ + $(MU_LIB_LOCAL_MAILBOX)\ + $(MU_LIB_AUTH)\ + $(MU_AUTHLIBS) \ + $(MU_LIB_MAILUTILS)\ @SERV_AUTHLIBS@\ - @MU_COMMON_LIBRARIES@\ - @MU_TCPWRAP_LIBRARIES@ + $(MU_COMMON_LIBRARIES)\ + $(MU_TCPWRAP_LIBRARIES) if MU_COND_UNISTRING imap4d_LDADD += -lunistring diff --git a/imap4d/tests/Makefile.am b/imap4d/tests/Makefile.am index 50d09833c..9fcf1352e 100644 --- a/imap4d/tests/Makefile.am +++ b/imap4d/tests/Makefile.am @@ -20,9 +20,9 @@ include $(top_srcdir)/testsuite/testsuite.am ## Non-installable programs ## -------------------------- ## -AM_CPPFLAGS = @MU_LIB_COMMON_INCLUDES@ +AM_CPPFLAGS = $(MU_LIB_COMMON_INCLUDES) noinst_PROGRAMS = ckiconv -LDADD = ${MU_LIB_MAILUTILS} +LDADD = $(MU_LIB_MAILUTILS) TESTSUITE_AT += \ anystate.at\ diff --git a/lib/Makefile.am b/lib/Makefi |