> This is what stopped the build - HP has a different flavor of curses
> which should define this (curs_colr), but mutt's configure script
> doesn't recognize that (doesn't generate -I and -L options for the
> makefile to make it use the newer library).

 Try this patch. It's relative to mutt-cvs, but should work with 1.3.x,
 maybe even 1.2.x. Minor ugliness (?): I haven't changed the macro, so
 it uses LIBS instead of MUTTLIBS.

 Autogenerated files are not included, so you need the environment
 described in doc/devel-notes.txt, especially autoconf and automake.

 I hope I managed not to break anything :-)

 If this works, thank T.E.D :-))

diff -urN mutt-cvs/ChangeLog mutt-1.3.3/ChangeLog
--- mutt-cvs/ChangeLog  Sat Jun 10 06:30:29 2000
+++ mutt-1.3.3/ChangeLog        Tue Jun 13 20:17:01 2000
@@ -1,3 +1,11 @@
+2000-06-13  Lars Hecking  <[EMAIL PROTECTED]>
+
+       * configure.in: Use CF_CURSES_LIBS macro for better detection
+       of platform-specific curses libraries.
+
+       * m4/curslib.m4: New file, contains Tom Dickey's CF_CURSES_LIBS
+       macro from lynx.
+
 Fri Jun  9 11:34:26 2000  Thomas Roessler  <[EMAIL PROTECTED]>
 
        * po/ru.po, po/sk.po, po/sv.po, po/uk.po, po/zh_TW.Big5.po,
diff -urN mutt-cvs/configure.in mutt-1.3.3/configure.in
--- mutt-cvs/configure.in       Tue Jun 13 06:30:17 2000
+++ mutt-1.3.3/configure.in     Tue Jun 13 20:08:45 2000
@@ -183,7 +183,7 @@
                fi
                AC_CHECK_HEADERS(ncurses.h)],
 
-               [MUTTLIBS="$MUTTLIBS -lcurses"])
+               [CF_CURSES_LIBS])
 
        old_LIBS="$LIBS"
        LIBS="$LIBS $MUTTLIBS"
diff -urN mutt-cvs/m4/curslib.m4 mutt-1.3.3/m4/curslib.m4
--- mutt-cvs/m4/curslib.m4      Thu Jan  1 01:00:00 1970
+++ mutt-1.3.3/m4/curslib.m4    Tue Jun 13 16:43:47 2000
@@ -0,0 +1,83 @@
+dnl ---------------------------------------------------------------------------
+dnl Look for the curses libraries.  Older curses implementations may require
+dnl termcap/termlib to be linked as well.
+AC_DEFUN([CF_CURSES_LIBS],[
+AC_CHECK_FUNC(initscr,,[
+case $host_os in #(vi
+freebsd*) #(vi
+       AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
+       ;;
+hpux10.*|hpux11.*)
+       AC_CHECK_LIB(cur_colr,initscr,[
+               LIBS="-lcur_colr $LIBS"
+               CFLAGS="-I/usr/include/curses_colr $CFLAGS"
+               ac_cv_func_initscr=yes
+               ],[
+       AC_CHECK_LIB(Hcurses,initscr,[
+               # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+               LIBS="-lHcurses $LIBS"
+               CFLAGS="-D__HP_CURSES -D_HP_CURSES $CFLAGS"
+               ac_cv_func_initscr=yes
+               ])])
+       ;;
+linux*) # Suse Linux does not follow /usr/lib convention
+       LIBS="$LIBS -L/lib"
+       ;;
+esac
+
+if test ".$With5lib" != ".no" ; then
+if test -d /usr/5lib ; then
+       # SunOS 3.x or 4.x
+       CPPFLAGS="$CPPFLAGS -I/usr/5include"
+       LIBS="$LIBS -L/usr/5lib"
+fi
+fi
+
+if test ".$ac_cv_func_initscr" != .yes ; then
+       cf_save_LIBS="$LIBS"
+       cf_term_lib=""
+       cf_curs_lib=""
+
+       # Check for library containing tgoto.  Do this before curses library
+       # because it may be needed to link the test-case for initscr.
+       AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
+               for cf_term_lib in termcap termlib unknown
+               do
+                       AC_CHECK_LIB($cf_term_lib,tgoto,[break])
+               done
+       ])
+
+       # Check for library containing initscr
+       test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && 
+LIBS="-l$cf_term_lib $cf_save_LIBS"
+       for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown
+       do
+               AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+       done
+       test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
+
+       LIBS="-l$cf_curs_lib $cf_save_LIBS"
+       if test "$cf_term_lib" = unknown ; then
+               AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
+               AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+                       [initscr()],
+                       [cf_result=yes],
+                       [cf_result=no])
+               AC_MSG_RESULT($cf_result)
+               test $cf_result = no && AC_ERROR(Cannot link curses library)
+       elif test "$cf_term_lib" != predefined ; then
+               AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib 
+libraries)
+               AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+                       [initscr(); tgoto((char *)0, 0, 0);],
+                       [cf_result=no],
+                       [
+                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+                       AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+                               [initscr()],
+                               [cf_result=yes],
+                               [cf_result=error])
+                       ])
+               AC_MSG_RESULT($cf_result)
+       fi
+fi
+
+])])


Reply via email to