mutt_*mktemp--
[apps/madmutt.git] / m4 / curslib.m4
1 dnl ---------------------------------------------------------------------------
2 dnl Look for the curses libraries.  Older curses implementations may require
3 dnl termcap/termlib to be linked as well.
4 AC_DEFUN([CF_CURSES_LIBS],[
5 AC_CHECK_FUNC(initscr,,[
6 case $host_os in #(vi
7 freebsd*) #(vi
8         AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
9         ;;
10 hpux10.*|hpux11.*)
11         AC_CHECK_LIB(cur_colr,initscr,[
12                 LIBS="-lcur_colr $LIBS"
13                 CFLAGS="-I/usr/include/curses_colr $CFLAGS"
14                 ac_cv_func_initscr=yes
15                 ],[
16         AC_CHECK_LIB(Hcurses,initscr,[
17                 # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
18                 LIBS="-lHcurses $LIBS"
19                 CFLAGS="-D__HP_CURSES -D_HP_CURSES $CFLAGS"
20                 ac_cv_func_initscr=yes
21                 ])])
22         ;;
23 linux*) # Suse Linux does not follow /usr/lib convention
24         LIBS="$LIBS -L/lib"
25         ;;
26 esac
27
28 if test ".$With5lib" != ".no" ; then
29 if test -d /usr/5lib ; then
30         # SunOS 3.x or 4.x
31         CPPFLAGS="$CPPFLAGS -I/usr/5include"
32         LIBS="$LIBS -L/usr/5lib"
33 fi
34 fi
35
36 if test ".$ac_cv_func_initscr" != .yes ; then
37         cf_save_LIBS="$LIBS"
38         cf_term_lib=""
39         cf_curs_lib=""
40
41         # Check for library containing tgoto.  Do this before curses library
42         # because it may be needed to link the test-case for initscr.
43         AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
44                 for cf_term_lib in termcap termlib unknown
45                 do
46                         AC_CHECK_LIB($cf_term_lib,tgoto,[break])
47                 done
48         ])
49
50         # Check for library containing initscr
51         test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
52         for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown
53         do
54                 AC_CHECK_LIB($cf_curs_lib,initscr,[break])
55         done
56         test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
57
58         LIBS="-l$cf_curs_lib $cf_save_LIBS"
59         if test "$cf_term_lib" = unknown ; then
60                 AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
61                 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
62                         [initscr()],
63                         [cf_result=yes],
64                         [cf_result=no])
65                 AC_MSG_RESULT($cf_result)
66                 test $cf_result = no && AC_ERROR(Cannot link curses library)
67         elif test "$cf_term_lib" != predefined ; then
68                 AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
69                 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
70                         [initscr(); tgoto((char *)0, 0, 0);],
71                         [cf_result=no],
72                         [
73                         LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
74                         AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
75                                 [initscr()],
76                                 [cf_result=yes],
77                                 [cf_result=error])
78                         ])
79                 AC_MSG_RESULT($cf_result)
80         fi
81 fi
82
83 ])])