summaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
authorThomas Roessler <roessler@does-not-exist.org>2000-06-13 20:36:23 +0000
committerThomas Roessler <roessler@does-not-exist.org>2000-06-13 20:36:23 +0000
commit6beb908aaade4e7b4f144fb12ee3bbce3e7bc183 (patch)
tree7fd90827ecae9120e60b2971e8838b7ccd02a7ac /m4
parentab937672cd20396fabd8bbad37cd8ef31a29def1 (diff)
New file, contains Tom Dickey's CF_CURSES_LIBS macro from lynx.
Diffstat (limited to 'm4')
-rw-r--r--m4/curslib.m483
1 files changed, 83 insertions, 0 deletions
diff --git a/m4/curslib.m4 b/m4/curslib.m4
new file mode 100644
index 00000000..5d443ecc
--- /dev/null
+++ b/m4/curslib.m4
@@ -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
+
+])])