X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/836c326a42e2007948dbbfdc221e05789e83736c..cae263b3cec6548fa9c752df0103308740c25e39:/configure.ac?ds=inline diff --git a/configure.ac b/configure.ac index ae98df84..1f8dc6c8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,3 @@ -dnl dnl configure.ac -- autoconf template for nmh dnl @@ -12,7 +11,7 @@ AM_INIT_AUTOMAKE([-Wall foreign serial-tests subdir-objects 1.12]) AC_CANONICAL_HOST AC_MSG_NOTICE([configuring for AC_PACKAGE_NAME-AC_PACKAGE_VERSION]) -AC_SUBST(VERSION,AC_PACKAGE_VERSION)dnl +AC_SUBST([VERSION], [AC_PACKAGE_VERSION])dnl dnl What date of nmh are we building? DATE=`cat ${srcdir}/DATE` @@ -35,9 +34,9 @@ AS_IF([test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != xyes -a \ dnl Do you want client-side support for encryption with TLS? AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support])) -dnl Do you want client-side support for using OAuth2 for SMTP authentication? +dnl Do you want client-side support for using OAuth2 for SMTP & POP auth? AC_ARG_WITH([oauth], AS_HELP_STRING([--with-oauth], - [Enable OAuth2 support in SMTP auth])) + [Enable OAuth2 support in SMTP and POP auth])) dnl Set the backup prefix AC_ARG_WITH([hash-backup], @@ -59,13 +58,13 @@ AS_IF([test x"$with_mts" = x"smtp"], [MTS="smtp"], [MTS="smtp"]) AC_SUBST([MTS])dnl -dnl What should be the default mail server(s)? -AC_ARG_WITH([smtpservers], - [AS_HELP_STRING([--with-smtpservers='SMTPSERVER1@<:@ SMTPSERVER2...@:>@'], - [specify the default SMTP server(s) @<:@localhost@:>@])]) -AS_IF([test -n "$with_smtpservers"], [smtpservers="$with_smtpservers"], - [smtpservers="localhost"]) -AC_SUBST([smtpservers])dnl +dnl What should be the default mail server? +AC_ARG_WITH([smtpserver], + [AS_HELP_STRING([--with-smtpserver='SMTPSERVER'], + [specify the default SMTP server @<:@localhost@:>@])]) +AS_IF([test -n "$with_smtpserver"], [smtpserver="$with_smtpserver"], + [smtpserver="localhost"]) +AC_SUBST([smtpserver])dnl dnl ------------------------------------------------------------------- dnl Default location is /usr/local/nmh/{bin,etc,libexec,man}, unless we @@ -154,20 +153,6 @@ dnl Check for any platform-specific additional AM_CPPFLAGS. This depends on dnl MULTIBYTE_ENABLED having already been set. NMH_ADDL_CPPFLAGS -if test "$GCC" = yes; then - dnl Do this regardless of auto_cflags value. - dnl Enable _FORTIFY_SOURCE checking, which is supported by - dnl gcc 4.1 and later, but only when optimization is enabled. - dnl It shouldn't hurt with earlier versions because it's a cpp macro. - dnl If the user configures with a CFLAGS that contains a -O flag - dnl but then removes it a make time, they'll also have to remove - dnl -D_FORTIFY_SOURCE from AM_CPPFLAGS because it requires optimization. - dnl Use "\ " instead of ' ' or " " for compatiblity with posh. - AS_CASE([$CFLAGS], - [-O|*\ -O|-O[[!0]]*|*\ -O[[!0]]*], - [AM_CPPFLAGS="${AM_CPPFLAGS:+$AM_CPPFLAGS }-D_FORTIFY_SOURCE=2"]) -fi - dnl FreeBSD needs a bit of magic to bring getline() into scope. dnl We do this here rather than in (say) h/mh.h because this macro must dnl be defined before is pulled in. @@ -214,11 +199,6 @@ test "$nmh_cv_has_q_unused_arguments" = "yes" && \ AM_LDFLAGS="${AM_LDFLAGS:+$AM_LDFLAGS }-Qunused-arguments" AC_SUBST([AM_LDFLAGS]) -dnl This hack turns off assertions by default, assuming -dnl that configure still uses this shell variable. Without -dnl it, AC_HEADER_ASSERT enables assertions by default. -test -z "$enable_assert" && enable_assert=no - AC_HEADER_ASSERT dnl ------------------ @@ -360,7 +340,7 @@ NMH_CHECK_ICONV dnl Check for tputs() callback argument NMH_TPUTS_PUTC_ARG -termcap_curses_order="termcap curses ncurses" +termcap_curses_order="termcap tinfo curses ncurses" for lib in $termcap_curses_order; do AC_CHECK_LIB([${lib}], [setupterm], [TERMLIB="-l$lib"; break]) done @@ -560,7 +540,6 @@ AS_IF([test "x$with_oauth" = xyes && test "x$HAVE_CURL_H" = x], dnl ---------------- dnl CHECK FLEX FIXUP dnl ---------------- -dnl BUG: This stops $(LFLAGS) working as it comes after $(AM_FLAGS). dnl Use AM_LFLAGS make variable setting to work around bugs in flex dnl 2.5.36-37 that cause signed/unsigned mismatch, dnl http://sourceforge.net/p/flex/bugs/140/ @@ -568,15 +547,31 @@ dnl 2.6.1 bug: https://github.com/westes/flex/issues/97 AS_IF([test "$LEX" = flex], [AS_CASE([`$LEX -V`], [flex\ 2.5.35], [AM_LFLAGS=\ -'; sed "s/ int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@'], +'; sed "s/ int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@;'], [flex\ 2.5.3[[67]]], [AM_LFLAGS=\ -'; sed "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@'], +'; sed "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@;'], [flex\ 2.6.0], [AM_LFLAGS=\ -'; sed "s/, num_to_read/, (size_t) num_to_read/" $@ >$@.tmp && mv -f $@.tmp $@'], +'; sed "s/, num_to_read/, (size_t) num_to_read/" $@ >$@.tmp && mv -f $@.tmp $@;'], [flex\ 2.6.1], [AM_LFLAGS=\ -'; sed '\''/\/s/int/size_t/; s/\/int i/'\'' $@ >$@.tmp && mv -f $@.tmp $@']) +'; sed '\''/\/s/int/size_t/; \ + s/\/int i/; \ + s/int n; \\/yy_size_t n; \\/'\'' $@ >$@.tmp && mv -f $@.tmp $@;']) AC_SUBST([AM_LFLAGS])]) +dnl ------------------ +dnl By default we put backend executables in $(libexecdir)/nmh and +dnl configuration files in $(sysconfdir)/nmh, but let a user override +dnl these choices by supplying these variables +dnl ------------------ + +AC_ARG_VAR([nmhlibexecdir], [The installation directory for backend programs +used by nmh. Defaults to $(libexecdir)/nmh.]) +AS_IF([test -z ${nmhlibexecdir+x}], [nmhlibexecdir='${libexecdir}/nmh']) + +AC_ARG_VAR([nmhetcdir], [The installation directory for configuration files +used by nmh. Defaults to $(sysconfdir)/nmh.]) +AS_IF([test -z ${nmhetcdir+x}], [nmhetcdir='${sysconfdir}/nmh']) + dnl ------------------ dnl FOR INTERNAL USE by the NMH test suite dnl ------------------ @@ -608,7 +603,7 @@ dnl exist. dnl AC_CONFIG_COMMANDS([build-directories], -[test -d man || AS_MKDIR_P([man])]) +[AS_MKDIR_P([etc]); AS_MKDIR_P([man])]) AC_CONFIG_COMMANDS_POST([ @@ -620,8 +615,9 @@ dnl We only use the expanded versions to print the install paths in dnl the final summary and should use them nowhere else (see the autoconf dnl docs for the rationale for bindir etc being unexpanded). eval "nmhbin=${bindir}"; eval "nmhbin=${nmhbin}" -eval "nmhlibexec=${libexecdir}"; eval "nmhlibexec=${nmhlibexec}" -eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}" +eval "nmhlibexec=${nmhlibexecdir}"; eval "nmhlibexec=${nmhlibexec}" +eval "nmhlibexec=${nmhlibexec}" +eval "nmhsysconf=${nmhetcdir}"; eval "nmhsysconf=${nmhsysconf}" eval "nmhman=${mandir}"; eval "nmhman=${nmhman}" eval "nmhdoc=${docdir}"; eval "nmhdoc=${nmhdoc}" eval "nmhrpm=${nmhrpm}"; @@ -637,15 +633,15 @@ linker flags : ${AM_LDFLAGS} ${LDFLAGS} preprocessor flags : ${AM_CPPFLAGS} ${CPPFLAGS} source code location : ${srcdir} binary install path : ${nmhbin} -libexec install path : ${nmhlibexec}/nmh -config files install path : ${nmhsysconf}/nmh +libexec install path : ${nmhlibexec} +config files install path : ${nmhsysconf} man page install path : ${nmhman} docs install path : ${nmhdoc} RPM build root : ${nmhrpm} backup prefix : ${backup_prefix} transport system : ${MTS} spool default locking type : ${with_locking} -default smtp servers : ${smtpservers} +default smtp server : ${smtpserver} SASL support : ${sasl_support} TLS support : ${tls_support} OAuth support : ${oauth_support}