about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Modules/termcap.c4
-rw-r--r--acconfig.h3
-rw-r--r--configure.in26
4 files changed, 34 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index dc161b387..d80c5ce4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-04-26  Clint Adams  <clint@zsh.org>
+
+        * 14123: acconfig.h, configure.in, Src/Modules/termcap.c:
+	don't include curses.h in termcap.c if term.h doesn't need it.
+
 2001-04-26  Sven Wischnowsky  <wischnow@zsh.org>
 
 	* 14117: Completion/Base/Utility/_arguments, Doc/Zsh/compsys.yo:
diff --git a/Src/Modules/termcap.c b/Src/Modules/termcap.c
index e48c8a16f..4ce73bd45 100644
--- a/Src/Modules/termcap.c
+++ b/Src/Modules/termcap.c
@@ -55,7 +55,9 @@ static char termcap_nam[] = "termcap";
 #  ifdef HAVE_TERMIO_H
 #   include <termio.h>
 #  endif
-#  include <curses.h>
+#  ifdef TERM_H_NEEDS_CURSES_H
+#   include <curses.h>
+#  endif
 #  include <term.h>
 # else
 #  ifdef USES_TERMCAP_H
diff --git a/acconfig.h b/acconfig.h
index e28bbc587..733782f8d 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -317,3 +317,6 @@
 
 /* Define if you have the terminfo strnames symbol.  */
 #undef HAVE_STRNAMES
+
+/* Define if term.h chokes without curses.h */
+#undef TERM_H_NEEDS_CURSES_H
diff --git a/configure.in b/configure.in
index 7837fae2b..87d787320 100644
--- a/configure.in
+++ b/configure.in
@@ -515,18 +515,38 @@ case "$host_os" in
 esac
 
 AC_SEARCH_LIBS(tgetent, [$termcap_curses_order])
+AC_MSG_CHECKING(if term.h needs curses.h)
+AC_TRY_COMPILE([#include <term.h>], [char **test = boolcodes;], boolcodes_with_only_term_h=yes,
+boolcodes_with_only_term_h=no)
+AC_TRY_COMPILE([#include <curses.h>
+#include <term.h>], [char **test = boolcodes;], boolcodes_with_curses_h_and_term_h=yes,
+boolcodes_with_curses_h_and_term_h=no)
+if test "x$boolcodes_with_curses_h_and_term_h" = xyes && test "x$boolcodes_with_only_term_h" = xno;
+then
+AC_DEFINE(TERM_H_NEEDS_CURSES_H)
+AC_MSG_RESULT(yes)
+else
+AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING(if boolcodes is available)
-AC_TRY_LINK([#include <curses.h>
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
 #include <term.h>], [char **test = boolcodes;],
 AC_DEFINE(HAVE_BOOLCODES) boolcodes=yes, boolcodes=no)
 AC_MSG_RESULT($boolcodes)
 AC_MSG_CHECKING(if numcodes is available)
-AC_TRY_LINK([#include <curses.h>
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
 #include <term.h>], [char **test = numcodes;],
 AC_DEFINE(HAVE_NUMCODES) numcodes=yes, numcodes=no)
 AC_MSG_RESULT($numcodes)
 AC_MSG_CHECKING(if strcodes is available)
-AC_TRY_LINK([#include <curses.h>
+AC_TRY_LINK([#ifdef TERM_H_NEEDS_CURSES_H
+#include <curses.h>
+#endif
 #include <term.h>], [char **test = strcodes;],
 AC_DEFINE(HAVE_STRCODES) strcodes=yes, strcodes=no)
 AC_MSG_RESULT($strcodes)