[smtpservers="localhost"])
AC_SUBST([smtpservers])dnl
-dnl ----------------------------------------------------
-dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
-dnl ----------------------------------------------------
+dnl -------------------------------------------------------------------
+dnl Default location is /usr/local/nmh/{bin,etc,libexec,man}, unless we
+dnl find an existing installation, in which case we use its location.
+dnl -------------------------------------------------------------------
AC_PREFIX_DEFAULT([/usr/local/nmh])
+AC_PREFIX_PROGRAM([mhparam])
dnl ------------------
dnl CHECK THE COMPILER
dnl ------------------
-dnl We want these before the checks,
-dnl so the checks can modify their values.
-test -z "$CFLAGS" && auto_cflags=1
AC_PROG_CC([cc gcc])
AM_PROG_CC_C_O
dnl ----------------
dnl CUSTOMIZE CFLAGS
dnl ----------------
-if test -n "$auto_cflags"; then
- dnl The user didn't specify CFLAGS, so customize them.
- if test "$GCC" = yes; then
- dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup
- dnl version 2.763, because it disables some features in the system
- dnl header files and warns about them with -Wall. Try to test for
- dnl that generally, with gcc.
- AC_CACHE_CHECK([whether we can use -ansi with gcc], [nmh_cv_has_dash_ansi],
- [nmh_saved_cppflags="$CPPFLAGS"
- nmh_saved_cflags="$CFLAGS"
- CPPFLAGS="-D_GNU_SOURCE"
- CFLAGS="-ansi -Wall -Werror"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <time.h>],[tzset();])],
- [nmh_cv_has_dash_ansi=yes],
- [nmh_cv_has_dash_ansi=no])
- CPPFLAGS="$nmh_saved_cppflags"
- CFLAGS="$nmh_saved_cflags"])
- test "$nmh_cv_has_dash_ansi" = "yes" && \
- CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic"
- else
- dnl Use -v and some other options with SunStudio cc. lex produces
- dnl code that causes unreachable-statement warnings. It might be
- dnl better to use an autoconf test, except -v will probably succeed
- dnl with many other compilers but have different meaning.
- AS_CASE([`${CC} -V 2>&1`],
- [cc:\ Sun\ C*], [CFLAGS=\
+dnl The user didn't specify CFLAGS, so customize them.
+if test "$GCC" != yes; then
+ dnl Use -v and some other options with SunStudio cc. lex produces
+ dnl code that causes unreachable-statement warnings. It might be
+ dnl better to use an autoconf test, except -v will probably succeed
+ dnl with many other compilers but have different meaning.
+ AS_CASE([`${CC} -V 2>&1`],
+ [cc:\ Sun\ C*], [CFLAGS=\
"${CFLAGS:+$CFLAGS }-v -errtags=yes -erroff=E_STATEMENT_NOT_REACHED"])
- fi
-
- AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall],
- [nmh_saved_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -Wall -Werror"
- AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no)
- CFLAGS="$nmh_saved_cflags"])
- test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall"
-
- AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
- [nmh_saved_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -Wextra -Werror"
- AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,
- nmh_cv_has_wextra=no)
- CFLAGS="$nmh_saved_cflags"])
- test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra"
fi
+AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall],
+ [nmh_saved_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wall -Werror"
+ AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no)
+ CFLAGS="$nmh_saved_cflags"])
+test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall"
+
+AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
+ [nmh_saved_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wextra -Werror"
+ AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,
+ nmh_cv_has_wextra=no)
+ CFLAGS="$nmh_saved_cflags"])
+test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra"
+
if test "$GCC" = yes; then
dnl Do this regardless of auto_cflags value.
dnl Enable _FORTIFY_SOURCE checking, which is supported by
dnl We do this here rather than in (say) h/mh.h because this macro must
dnl be defined before <stdio.h> is pulled in.
dnl
-dnl And while we're here, add the ports tree to the cpp and ld search
-dnl paths.
+dnl And while we're here, add the packages tree to the cpp and ld search
+dnl paths. Note that FreeBSD's pkg(8) seems to be hardwired to use /usr/local.
+dnl If /usr/ports is installed, we use its idea of where things are installed,
+dnl otherwise we assume /usr/local.
+
AS_IF([test `uname` = FreeBSD],
[CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-D_WITH_GETLINE"
- nmh_cv_freebsd_portsdir=`echo '.include <bsd.port.mk>' | make -f /dev/stdin -V PREFIX`
- CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I$nmh_cv_freebsd_portsdir/include"
- LDFLAGS="${LDFLAGS:+$LDFLAGS }-L$nmh_cv_freebsd_portsdir/lib"
+ nmh_cv_freebsd_localbase=`echo '.include <bsd.port.mk>' \
+ | make -k -f /dev/stdin -V LOCALBASE 2>/dev/null | sed 1q`
+ test -z "$nmh_cv_freebsd_localbase" && nmh_cv_freebsd_localbase=/usr/local
+ CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I$nmh_cv_freebsd_localbase/include"
+ LDFLAGS="${LDFLAGS:+$LDFLAGS }-L$nmh_cv_freebsd_localbase/lib"
])
dnl --------------
dnl ------------------
dnl CHECK FOR PROGRAMS
dnl ------------------
-AC_PROG_MAKE_SET dnl Does make define $MAKE
-AC_PROG_INSTALL dnl Check for BSD compatible `install'
-AC_PROG_RANLIB dnl Check for `ranlib'
+AC_PROG_MAKE_SET dnl Does make define $MAKE
+AC_PROG_INSTALL dnl Check for BSD compatible `install'
+AC_PROG_RANLIB dnl Check for `ranlib'
AC_PROG_AWK dnl Check for mawk,gawk,nawk, then awk
-AC_PROG_SED dnl Check for Posix-compliant sed
+AC_PROG_SED dnl Check for Posix-compliant sed
+AC_PROG_YACC dnl Check for yacc/bison
AM_PROG_LEX dnl Check for lex/flex
AM_PROG_AR
dnl If mailspool is not world-writable and dotlockfile is not setgid,
dnl we need to #define MAILGROUP to 1 and make inc setgid.
-if test x"$LOCKTYPE" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then
+if test x"$with_locking" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then
dnl do we really need both of these?
AC_DEFINE([MAILGROUP],[1],
[Define to 1 if you need to make `inc' set-group-id because your mail spool is not world writable. There are no guarantees as to the safety of doing this, but this #define will add some extra security checks.])dnl
'; sed "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@'])
AC_SUBST([LFLAGS])])
+dnl ------------------
+dnl FOR INTERNAL USE by the NMH test suite
+dnl ------------------
+AC_ARG_VAR([NMHETCDIRINST], [for internal use by nmh test suite])
+AS_IF([test -n "$NMHETCDIRINST"], [nmhetcdirinst=$NMHETCDIRINST]
+ AC_SUBST([nmhetcdirinst]))
+
dnl ----------------
dnl CHECK STRUCTURES
dnl ----------------
dnl docs for the rationale for bindir etc being unexpanded).
eval "nmhbin=${bindir}"; eval "nmhbin=${nmhbin}"
eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}"
-eval "nmhlib=${libdir}"; eval "nmhlib=${nmhlib}"
+eval "nmhlibexec=${libexecdir}"; eval "nmhlibexec=${nmhlibexec}"
eval "nmhman=${mandir}"; eval "nmhman=${nmhman}"
eval "nmhrpm=${nmhrpm}";
preprocessor flags : ${CPPFLAGS}
source code location : ${srcdir}
binary install path : ${nmhbin}
-library install path : ${nmhlib}
-config files install path : ${nmhsysconf}
+libexec install path : ${nmhlibexec}/nmh
+config files install path : ${nmhsysconf}/nmh
man page install path : ${nmhman}
RPM build root : ${nmhrpm}
backup prefix : ${backup_prefix}