]> granicus.if.org Git - mutt/commitdiff
New file, contains Tom Dickey's CF_CURSES_LIBS macro from lynx.
authorThomas Roessler <roessler@does-not-exist.org>
Tue, 13 Jun 2000 20:36:23 +0000 (20:36 +0000)
committerThomas Roessler <roessler@does-not-exist.org>
Tue, 13 Jun 2000 20:36:23 +0000 (20:36 +0000)
m4/curslib.m4 [new file with mode: 0644]

diff --git a/m4/curslib.m4 b/m4/curslib.m4
new file mode 100644 (file)
index 0000000..5d443ec
--- /dev/null
@@ -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
+
+])])