X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.ac;h=ad45c152ca8acaa95013be5653af0254425ed9d3;hp=4a6b8ee5bd015d4ba52eec617417eaf0598065b1;hb=f78e7c6e6e616cc4ff2bee8a726365fafef2d8ce;hpb=7e421e1fd5cf1c4ce33edc005fa63784d9c5a2e6 diff --git a/configure.ac b/configure.ac index 4a6b8ee..ad45c15 100644 --- a/configure.ac +++ b/configure.ac @@ -7,7 +7,7 @@ AC_PREREQ(2.61) dnl (I was able to configure with autoconf-2.59 --meillo 2012-03-22) AC_INIT(mmh, m4_normalize(m4_include([VERSION]))) -AC_CONFIG_SRCDIR(h/nmh.h) +AC_CONFIG_SRCDIR(h/mh.h) AC_CONFIG_HEADER(config.h) AC_CANONICAL_TARGET @@ -16,7 +16,7 @@ dnl --------------------- dnl define a macro or two dnl --------------------- -AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [ +AC_DEFUN([NMH_PROG_GNU_LIBTOOL], [ if test -n "$LIBTOOL" ; then tmptest=`$LIBTOOL --version 2>&1 | grep GNU` if test x"$tmptest" != x ; then @@ -46,28 +46,6 @@ if test x"$enable_nmh_debug" = x"yes"; then enable_debug=yes fi -dnl Do you want mhe support? -AC_ARG_ENABLE(mhe, - AS_HELP_STRING([--disable-mhe],[disable mhe support])) - -dnl mhe support is on by default, so define it unless --disable-mhe or the -dnl deprecated, undocumented --disable-nmh-mhe are specified. -if test x"$enable_mhe" != x"no" -a x"$enable_nmh_mhe" != x"no"; then - AC_DEFINE(MHE, 1, - [Define to compile in support for the Emacs front-end mh-e.])dnl -fi - -dnl Do you want to disable use of locale functions -AH_TEMPLATE([LOCALE], -[Undefine if you don't want locale features. By default this is defined.]) -AC_ARG_ENABLE([locale], -AC_HELP_STRING([--disable-locale], [turn off locale features]), -[if test x$enableval = xyes; then - AC_DEFINE(LOCALE) -fi], -AC_DEFINE(LOCALE) -) - dnl What method of locking to use? AC_ARG_WITH(locking, AS_HELP_STRING([--with-locking=@<:@dot|fcntl|flock|lockf@:>@], @@ -90,6 +68,19 @@ else AC_DEFINE(DOT_LOCKING)dnl fi +dnl Should we use a locking directory? +AC_ARG_WITH(lockdir, + AS_HELP_STRING([--with-lockdir=dir], [Store dot-lock files in "dir"]), [ + AS_IF([test "x$with_lockdir" = xyes],[ + AC_MSG_ERROR([--with-lockdir requires an argument])]) +]) + +if test x"$with_lockdir" != x; then + LOCKDIR="$with_lockdir" + AC_DEFINE_UNQUOTED(LOCKDIR, ["$with_lockdir"], + [Directory to store dot-locking lock files.])dnl +fi + dnl ---------------------------------------------------- dnl Default location is /usr/local/mmh/{bin,etc,lib,share/man} @@ -272,7 +263,7 @@ dnl See whether the mail spool directory is world-writable. if test "$lspath" != "no" -a "$cutpath" != "no"; then AC_CACHE_CHECK(whether the mail spool is world-writable, nmh_cv_mailspool_world_writable, - [if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then + [if test "`$lspath -dl $mailspool/ | $cutpath -c9`" = "-"; then nmh_cv_mailspool_world_writable=no else nmh_cv_mailspool_world_writable=yes @@ -334,11 +325,7 @@ case "$target_os" in esac AC_SUBST(OURDEFS) -AC_HEADER_DIRENT AC_HEADER_STDC -AC_HEADER_TIME -AC_HEADER_SYS_WAIT -AC_HEADER_STAT AC_HEADER_TIOCGWINSZ AC_CHECK_HEADERS(fcntl.h crypt.h termcap.h \ langinfo.h wchar.h wctype.h iconv.h \ @@ -363,19 +350,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, dnl --------------- dnl CHECK FUNCTIONS dnl --------------- -AC_CHECK_LIB(mkstemp,mkstemp) -AC_CHECK_FUNCS(waitpid sigaction sigprocmask sigblock sigsetmask \ - sighold sigrelse lstat tzset mkstemp \ - getutent nl_langinfo mbtowc wcwidth) - -dnl sigsetjmp may be a macro -AC_MSG_CHECKING(for sigsetjmp) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[sigsetjmp((void *)0, 0);]])],[AC_DEFINE(HAVE_SIGSETJMP, 1, - [Define to 1 if you have the `sigsetjmp'.]) AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) - -AC_REPLACE_FUNCS(snprintf strdup) +AC_CHECK_FUNCS(nl_langinfo mbtowc wcwidth) dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in @@ -402,14 +377,17 @@ dnl ------------------- dnl Check location of modf AC_CHECK_FUNC(modf, , AC_CHECK_LIB(m, modf)) -dnl Checks for network libraries (nsl, socket) -AC_CHECK_NETLIBS - -termcap_curses_order="termcap curses ncurses" +termcap_curses_order="termcap curses ncurses tinfo" for lib in $termcap_curses_order; do AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break]) done AC_SUBST(TERMLIB)dnl +if test "x$TERMLIB" = "x"; then + echo 'Could not find tgetent() in any library.' + echo 'Is there a ncurses-devel package that you can install?' + exit 1 +fi + dnl --------------- dnl CHECK FOR ICONV @@ -466,35 +444,6 @@ dnl tests will find it when it tries to link test programs. nmh_save_LIBS="$LIBS" LIBS="$TERMLIB $LIBS" -dnl Checks for external variable ospeed in the termcap library. -AC_CACHE_CHECK(if an include file defines ospeed, -nmh_cv_decl_ospeed_include_defines, -[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#if HAVE_TERMIOS_H -# include -#endif -#if HAVE_TERMCAP_H -# include -#endif]], [[ospeed = 0;]])], -nmh_cv_decl_ospeed_include_defines=yes,nmh_cv_decl_ospeed_include_defines=no)]) - -if test $nmh_cv_decl_ospeed_include_defines = no; then - AC_CACHE_CHECK(if you must define ospeed, - nmh_cv_decl_ospeed_must_define, - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], - [[extern short ospeed; ospeed = 0;]])], - nmh_cv_decl_ospeed_must_define=yes,nmh_cv_decl_ospeed_must_define=no)]) -fi - -AH_TEMPLATE(HAVE_OSPEED, [Define to 1 if your termcap library has the ospeed variable.]) -if test $nmh_cv_decl_ospeed_include_defines = yes; then - AC_DEFINE(HAVE_OSPEED)dnl -elif test $nmh_cv_decl_ospeed_must_define = yes; then - AC_DEFINE(HAVE_OSPEED) - AC_DEFINE(MUST_DEFINE_OSPEED, 1, - [Define to 1 if you have ospeed, but it is not defined in termcap.h.]) -fi - dnl Check if tgetent accepts NULL (and will allocate its own termcap buffer) dnl Some termcaps reportedly accept a zero buffer, but then dump core dnl in tgetstr(). @@ -568,101 +517,22 @@ LIBS="$nmh_save_LIBS" dnl -------------- dnl CHECK TYPEDEFS dnl -------------- -AC_TYPE_SIGNAL AC_TYPE_PID_T AC_TYPE_OFF_T AC_TYPE_UID_T AC_TYPE_MODE_T AC_TYPE_SIZE_T -dnl Check for sigset_t. Currently I'm looking in -dnl and . Others might need -dnl to be added. -AC_CACHE_CHECK(for sigset_t, nmh_cv_type_sigset_t, -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include -#include ]], [[sigset_t tempsigset;]])], -nmh_cv_type_sigset_t=yes,nmh_cv_type_sigset_t=no)]) -if test $nmh_cv_type_sigset_t = no; then - AC_DEFINE(sigset_t, unsigned int, - [Define to `unsigned int' if or doesn't define.]) -fi - dnl ---------------- dnl CHECK STRUCTURES dnl ---------------- -AC_CHECK_MEMBERS(struct stat.st_blksize) - -AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, - [#ifdef TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef TM_IN_SYS_TIME -# include -# else -# include -# endif -#endif]) - -AC_CHECK_MEMBERS(struct utmp.ut_type,,,[#include ]) - -AC_MSG_CHECKING(for union wait) -AC_CACHE_VAL(nmh_cv_union_wait, [dnl - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#include ]], - [[union wait status; int pid; pid = wait (&status); -#ifdef WEXITSTATUS -/* Some POSIXoid systems have both the new-style macros and the old - union wait type, and they do not work together. If union wait - conflicts with WEXITSTATUS et al, we don't want to use it at all. */ - if (WEXITSTATUS (status) != 0) pid = -1; -#ifdef WTERMSIG - /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */ - -- blow chunks here -- -#endif -#endif -#ifdef HAVE_WAITPID - /* Make sure union wait works with waitpid. */ - pid = waitpid (-1, &status, 0); -#endif - ]])], - [nmh_cv_union_wait=yes], - [nmh_cv_union_wait=no])]) -if test "$nmh_cv_union_wait" = yes; then - AC_DEFINE(HAVE_UNION_WAIT, 1, - [Define to 1 if you have the \`union wait' type in .]) -fi -AC_MSG_RESULT($nmh_cv_union_wait) - -CHECK_TYPE_STRUCT_DIRENT_D_TYPE() - -dnl ------------- -dnl CHECK SIGNALS -dnl ------------- -dnl What style of signal do you have (POSIX, BSD, or SYSV)? -AH_TEMPLATE(RELIABLE_SIGNALS, [Define to 1 if you have reliable signals.]) -AC_MSG_CHECKING(what style of signals to use) -if test $ac_cv_func_sigaction = yes -a $ac_cv_func_sigprocmask = yes; then - signals_style=POSIX_SIGNALS - AC_DEFINE(POSIX_SIGNALS, 1, - [Define to 1 if you use POSIX style signal handling.]) - AC_DEFINE(RELIABLE_SIGNALS) -elif test $ac_cv_func_sigblock = yes -a $ac_cv_func_sigsetmask = yes; then - signals_style=BSD_SIGNALS - AC_DEFINE(BSD_SIGNALS,1, - [Define to 1 if you use BSD style signal handling (and can block signals).]) - AC_DEFINE(RELIABLE_SIGNALS) -elif test $ac_cv_func_sighold = yes -a $ac_cv_func_sigrelse = yes; then - signals_style=SYSV_SIGNALS - AC_DEFINE(SYSV_SIGNALS,1, - [Define to 1 if you use SYSV style signal handling (and can block signals).]) -else - signals_style=NO_SIGNAL_BLOCKING - AC_DEFINE(NO_SIGNAL_BLOCKING,1, - [Define to 1 if you have no signal blocking at all (bummer).]) -fi -AC_MSG_RESULT($signals_style) +dnl For platforms such as FreeBSD that have tm_gmtoff in struct tm. +dnl (FreeBSD has a timezone() function but not a timezone global +dnl variable that is visible). +AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include ]) + +AC_STRUCT_DIRENT_D_TYPE dnl Where is located? Needed as input for signames.awk AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h, @@ -682,40 +552,12 @@ nmh_cv_path_signal_h=$SIGNAL_H SIGNAL_H=$nmh_cv_path_signal_h AC_SUBST(SIGNAL_H)dnl -dnl ---------------- -dnl OS SPECIFIC DEFINES -dnl ---------------- -AH_TEMPLATE(BSD42, [Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody -- does PicoBSD have uname?]) -AH_TEMPLATE(SCO_5_STDIO, [Defined for SCO5.]) - -case "$target_os" in - - sunos4*) - AC_DEFINE(BSD42) - ;; - freebsd*) - AC_DEFINE(BSD42) - ;; - netbsd*) - AC_DEFINE(BSD42) - ;; - openbsd*) - AC_DEFINE(BSD42) - ;; - bsd/os*) - AC_DEFINE(BSD42) - ;; - sco5*) - AC_DEFINE(SCO_5_STDIO) - ;; -esac - dnl ---------------- dnl OUTPUT MAKEFILES dnl ---------------- AC_CONFIG_FILES(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \ - etc/Makefile docs/Makefile man/Makefile) + etc/Makefile man/Makefile) AC_CONFIG_COMMANDS([stamp],[test -z "$CONFIG_HEADERS" || echo > stamp-h]) AC_OUTPUT @@ -731,7 +573,7 @@ eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}" eval "nmhlib=${libdir}"; eval "nmhlib=${nmhlib}" eval "nmhman=${mandir}"; eval "nmhman=${nmhman}" -echo " +cat <