X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.in;h=9b8c56806556c0b8625dcabc83763a8552f15018;hp=f029fd65dfa7416e0474243aecabab99154c1e88;hb=35c228531bc8e00d43be590255df9408a4fcbe19;hpb=106638417f787bf077db15294cf54e068113e5c8 diff --git a/configure.in b/configure.in index f029fd6..9b8c568 100644 --- a/configure.in +++ b/configure.in @@ -4,10 +4,17 @@ dnl dnl $Id$ dnl -AC_INIT(h/nmh.h) +dnl 2.13 definitely chokes; 2.53 is the earliest version I've tested. +dnl 2.50 is the major breakpoint between the old autoconf and the new, +dnl so require that. If there are bug reports about 2.50-2.52 not working +dnl we can always move this up a little. +AC_PREREQ(2.50) + +AC_INIT(nmh, m4_normalize(m4_include([VERSION]))) +AC_CONFIG_SRCDIR(h/nmh.h) AC_CONFIG_HEADER(config.h) -AC_CANONICAL_SYSTEM +AC_CANONICAL_TARGET dnl --------------------- dnl define a macro or two @@ -23,11 +30,8 @@ if test -n "$LIBTOOL" ; then fi ] ) - -dnl What version of nmh are we building? -VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION` -echo "configuring for nmh-$VERSION" -AC_SUBST(VERSION)dnl +echo "configuring for AC_PACKAGE_NAME-AC_PACKAGE_VERSION" +AC_SUBST(VERSION,AC_PACKAGE_VERSION)dnl dnl What date of nmh are we building? DATE=`cat ${srcdir}/DATE` @@ -444,26 +448,25 @@ AC_HEADER_SYS_WAIT AC_HEADER_STAT AC_CHECK_HEADERS(string.h memory.h stdlib.h unistd.h errno.h fcntl.h \ limits.h crypt.h termcap.h termio.h termios.h locale.h \ - netdb.h sys/param.h sys/time.h sys/utsname.h arpa/inet.h \ - arpa/ftp.h) + langinfo.h netdb.h sys/param.h sys/time.h sys/utsname.h \ + iconv.h sys/stream.h arpa/inet.h arpa/ftp.h) AC_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios, -[AC_TRY_LINK([#include +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include -#include ], -[/* SunOS 4.0.3 has termios.h but not the library calls. */ -tcgetattr(0, 0);], - nmh_cv_sys_posix_termios=yes, nmh_cv_sys_posix_termios=no)]) +#include ]], +[[/* SunOS 4.0.3 has termios.h but not the library calls. */ +tcgetattr(0, 0);]])], +nmh_cv_sys_posix_termios=yes, nmh_cv_sys_posix_termios=no)]) if test $nmh_cv_sys_posix_termios = yes; then AC_CACHE_CHECK(TIOCGWINSZ in termios.h, nmh_cv_header_termios_h_tiocgwinsz, - [AC_TRY_LINK([#include -#include ], - [int x = TIOCGWINSZ;], - nmh_cv_header_termios_h_tiocgwinsz=yes, - nmh_cv_header_termios_h_tiocgwinsz=no)]) + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], + [[int x = TIOCGWINSZ;]])], + nmh_cv_header_termios_h_tiocgwinsz=yes,nmh_cv_header_termios_h_tiocgwinsz=no)]) else nmh_cv_header_termios_h_tiocgwinsz=no fi @@ -471,11 +474,10 @@ fi if test $nmh_cv_header_termios_h_tiocgwinsz = no; then AC_CACHE_CHECK(TIOCGWINSZ in sys/ioctl.h, nmh_cv_header_sys_ioctl_h_tiocgwinsz, - [AC_TRY_LINK([#include -#include ], - [int x = TIOCGWINSZ;], - nmh_cv_header_sys_ioctl_h_tiocgwinsz=yes, - nmh_cv_header_sys_ioctl_h_tiocgwinsz=no)]) + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], + [[int x = TIOCGWINSZ;]])], + nmh_cv_header_sys_ioctl_h_tiocgwinsz=yes,nmh_cv_header_sys_ioctl_h_tiocgwinsz=no)]) if test $nmh_cv_header_sys_ioctl_h_tiocgwinsz = yes; then AC_DEFINE(GWINSZ_IN_SYS_IOCTL)dnl fi @@ -490,7 +492,11 @@ AC_CHECK_HEADER(libio.h, [ AC_EGREP_HEADER(_IO_write_ptr, libio.h, [ AC_DEFINE(LINUX_STDIO) ]) ]) -AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM)) +AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM),, +[[#if HAVE_SYS_STREAM_H +# include +#endif +]]) dnl --------------- dnl CHECK FUNCTIONS @@ -499,7 +505,7 @@ AC_FUNC_VFORK AC_CHECK_LIB(mkstemp,mkstemp) AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \ sighold sigrelse writev lstat uname tzset killpg mkstemp \ - sethostent getutent) + sethostent getutent nl_langinfo) dnl solaris screws this up AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)], @@ -507,8 +513,9 @@ AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)], dnl sigsetjmp may be a macro AC_MSG_CHECKING(for sigsetjmp) -AC_TRY_LINK([#include ], [sigsetjmp((void *)0, 0);], - [AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[sigsetjmp((void *)0, 0);]])],[AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) AC_REPLACE_FUNCS(snprintf strerror strdup) @@ -547,6 +554,51 @@ for lib in $termcap_curses_order; do done AC_SUBST(TERMLIB)dnl +dnl --------------- +dnl CHECK FOR ICONV +dnl --------------- + +dnl Find iconv. It may be in libiconv and may be iconv() or libiconv() +if test "x$ac_cv_header_iconv_h" = "xyes"; then + AC_CHECK_FUNC(iconv, ac_found_iconv=yes, ac_found_iconv=no) + if test "x$ac_found_iconv" = "xno"; then + AC_CHECK_LIB(iconv, iconv, ac_found_iconv=yes) + if test "x$ac_found_iconv" = "xno"; then + AC_CHECK_LIB(iconv, libiconv, ac_found_iconv=yes) + fi + if test "x$ac_found_iconv" != "xno"; then + LIBS="-liconv $LIBS" + fi + else + dnl Handle case where there is a native iconv but iconv.h is from libiconv + AC_CHECK_DECL(_libiconv_version, + [ AC_CHECK_LIB(iconv, libiconv, LIBS="-liconv $LIBS") ],, + [ #include ]) + fi +fi +if test "x$ac_found_iconv" = xyes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) +fi + +dnl Check if iconv uses const in prototype declaration +if test "x$ac_found_iconv" = "xyes"; then + AC_CACHE_CHECK(for iconv declaration, ac_cv_iconv_const, + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include ]], + [[#ifdef __cplusplus + "C" + #endif + #if defined(__STDC__) || defined(__cplusplus) + size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); + #else + size_t iconv(); + #endif]])], + [ac_cv_iconv_const=], + [ac_cv_iconv_const=const])]) + AC_DEFINE_UNQUOTED([ICONV_CONST], $ac_cv_iconv_const, + [Define as const if the declaration of iconv() needs const.]) +fi + dnl -------------- dnl CHECK FOR NDBM dnl -------------- @@ -555,13 +607,14 @@ AC_CHECK_FUNC(dbm_open, , AC_CHECK_LIB(ndbm, dbm_open, , AC_CHECK_LIB(dbm, dbm_open, , AC_CHECK_LIB(db1, dbm_open, , - AC_CHECK_LIB(gdbm, dbm_open))))) + AC_CHECK_LIB(gdbm, dbm_open, , + AC_CHECK_LIB(db, __db_ndbm_open)))))) dnl ---------------- dnl CHECK FOR NDBM.H dnl ---------------- -AC_CHECK_HEADERS(db1/ndbm.h gdbm/ndbm.h, break, ) +AC_CHECK_HEADERS(db1/ndbm.h gdbm/ndbm.h db.h, break, ) dnl ---------------- dnl CHECK FOR HESIOD @@ -638,8 +691,8 @@ if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"; then fi save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $SASL_LIBS" - AC_CHECK_LIB(sasl, sasl_client_new, - [SASL_LIBS="$SASL_LIBS -lsasl"], + AC_CHECK_LIB(sasl2, sasl_client_new, + [SASL_LIBS="$SASL_LIBS -lsasl2"], [AC_MSG_ERROR(Cyrus SASL library not found)]) LDFLAGS="$save_LDFLAGS" fi @@ -658,23 +711,21 @@ 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_TRY_LINK( -[#include +[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)]) +#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_TRY_LINK( ,[extern short ospeed; ospeed = 0;], - nmh_cv_decl_ospeed_must_define=yes, - nmh_cv_decl_ospeed_must_define=no)]) + [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 if test $nmh_cv_decl_ospeed_include_defines = yes; then @@ -714,10 +765,9 @@ 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_TRY_COMPILE( -[#include -#include ], [sigset_t tempsigset;], - nmh_cv_type_sigset_t=yes, nmh_cv_type_sigset_t=no)]) +[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) fi @@ -725,11 +775,10 @@ fi dnl ---------------- dnl CHECK STRUCTURES dnl ---------------- -AC_STRUCT_ST_BLKSIZE +AC_CHECK_MEMBERS(struct stat.st_blksize) AC_CACHE_CHECK(for tm_gmtoff in struct tm, nmh_cv_struct_tm_gmtoff, -[AC_TRY_COMPILE( -[#ifdef TIME_WITH_SYS_TIME +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef TIME_WITH_SYS_TIME # include # include #else @@ -738,9 +787,8 @@ AC_CACHE_CHECK(for tm_gmtoff in struct tm, nmh_cv_struct_tm_gmtoff, # else # include # endif -#endif], -[struct tm temptm; temptm.tm_gmtoff = 0;], - nmh_cv_struct_tm_gmtoff=yes, nmh_cv_struct_tm_gmtoff=no)]) +#endif]], [[struct tm temptm; temptm.tm_gmtoff = 0;]])], +nmh_cv_struct_tm_gmtoff=yes,nmh_cv_struct_tm_gmtoff=no)]) if test $nmh_cv_struct_tm_gmtoff = yes; then AC_DEFINE(HAVE_TM_GMTOFF) fi @@ -836,10 +884,11 @@ esac dnl ---------------- dnl OUTPUT MAKEFILES dnl ---------------- -AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \ - mts/Makefile mts/smtp/Makefile \ - etc/Makefile docs/Makefile man/Makefile, \ - [test -z "$CONFIG_HEADERS" || echo > stamp-h]) +AC_CONFIG_FILES(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \ + mts/Makefile mts/smtp/Makefile \ + etc/Makefile docs/Makefile man/Makefile) +AC_CONFIG_COMMANDS([stamp],[test -z "$CONFIG_HEADERS" || echo > stamp-h]) +AC_OUTPUT dnl Umm, what's the point of these assignments?? -- eval "nmhbin=${bindir}"; eval "nmhbin2=${nmhbin}" @@ -865,7 +914,7 @@ fi echo " nmh configuration ----------------- -nmh version : ${VERSION} +nmh version : AC_PACKAGE_VERSION target os : ${target} compiler : ${CC} compiler flags : ${CFLAGS}