Index: vte-0.28.2/configure.in
===================================================================
--- vte-0.28.2.orig/configure.in 2011-08-28 23:32:53.000000000 +0200
+++ vte-0.28.2/configure.in 2011-10-19 03:44:01.248817625 +0200
@@ -368,45 +368,52 @@
AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
AC_CHECK_FUNCS([ceil floor])
-# Look for tgetent
+AC_ARG_WITH(ncurses,
+ [AS_HELP_STRING([--without-ncurses],
+ [don't use ncurses library])
+ ], with_ncurses=$withval, with_ncurses=yes)
-AC_CHECK_FUNC([tgetent],[vte_cv_termcap_lib=libc],
- [AC_CHECK_LIB([ncurses],[tgetent],[vte_cv_termcap_lib=libncurses],
- [AC_CHECK_LIB([tinfo],[tgetent],[vte_cv_termcap_lib=libtinfo],
- [AC_CHECK_LIB([curses],[tgetent],[vte_cv_termcap_lib=libcurses],
- [AC_CHECK_LIB([termcap],[tgetent],[vte_cv_termcap_lib=libtermcap],
- [vte_cv_termcap_lib=])])])])])
-
-case "$vte_cv_termcap_lib" in
- libc) # FIXME: which headers to include here?
- ;;
- libncurses) # We need ncurses.h and term.h, or ncurses/curses.h and ncurses/term.h
- AC_CHECK_HEADERS([ncurses.h term.h],[],
- [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
- [AC_MSG_ERROR([ncurses headers not found])])])
- LIBS="-lncurses $LIBS"
- ;;
- libtinfo) # Need ncurses/curses.h and ncurses/term.h
- AC_CHECK_HEADERS([ncurses.h term.h],[],
- [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
- [AC_MSG_ERROR([ncurses headers not found])])])
- LIBS="-ltinfo $LIBS"
- ;;
- libcurses) # Need curses.h and term.h
- AC_CHECK_HEADERS([curses.h term.h],[],
- [AC_MSG_ERROR([curses headers not found])],
- [[#ifdef HAVE_CURSES_H
- #include <curses.h>
- #endif]])
- LIBS="-lcurses $LIBS"
- ;;
- libtermcap) # Need termcap.h
- AC_CHECK_HEADERS([termcap.h],[],
- [AC_MSG_ERROR([termcap headers not found])])
- LIBS="-ltermcap $LIBS"
- ;;
- *) AC_MSG_ERROR([tgetent not found in any library]) ;;
-esac
+if test x$with_ncurses = xyes ; then
+ # Look for tgetent
+
+ AC_CHECK_FUNC([tgetent],[vte_cv_termcap_lib=libc],
+ [AC_CHECK_LIB([ncurses],[tgetent],[vte_cv_termcap_lib=libncurses],
+ [AC_CHECK_LIB([tinfo],[tgetent],[vte_cv_termcap_lib=libtinfo],
+ [AC_CHECK_LIB([curses],[tgetent],[vte_cv_termcap_lib=libcurses],
+ [AC_CHECK_LIB([termcap],[tgetent],[vte_cv_termcap_lib=libtermcap],
+ [vte_cv_termcap_lib=])])])])])
+
+ case "$vte_cv_termcap_lib" in
+ libc) # FIXME: which headers to include here?
+ ;;
+ libncurses) # We need ncurses.h and term.h, or ncurses/curses.h and ncurses/term.h
+ AC_CHECK_HEADERS([ncurses.h term.h],[],
+ [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
+ [AC_MSG_ERROR([ncurses headers not found])])])
+ LIBS="-lncurses $LIBS"
+ ;;
+ libtinfo) # Need ncurses/curses.h and ncurses/term.h
+ AC_CHECK_HEADERS([ncurses.h term.h],[],
+ [AC_CHECK_HEADERS([ncurses/curses.h ncurses/term.h],[],
+ [AC_MSG_ERROR([ncurses headers not found])])])
+ LIBS="-ltinfo $LIBS"
+ ;;
+ libcurses) # Need curses.h and term.h
+ AC_CHECK_HEADERS([curses.h term.h],[],
+ [AC_MSG_ERROR([curses headers not found])],
+ [[#ifdef HAVE_CURSES_H
+ #include <curses.h>
+ #endif]])
+ LIBS="-lcurses $LIBS"
+ ;;
+ libtermcap) # Need termcap.h
+ AC_CHECK_HEADERS([termcap.h],[],
+ [AC_MSG_ERROR([termcap headers not found])])
+ LIBS="-ltermcap $LIBS"
+ ;;
+ *) AC_MSG_ERROR([tgetent not found in any library]) ;;
+ esac
+fi
# Search for the required modules.
Index: vte-0.28.2/src/keymap.c
===================================================================
--- vte-0.28.2.orig/src/keymap.c 2011-08-16 23:52:48.000000000 +0200
+++ vte-0.28.2/src/keymap.c 2011-10-19 03:44:01.252817574 +0200
@@ -50,7 +50,7 @@
#include <termcap.h>
#define VTE_TERMCAP_NAME "termcap"
#else
-#error No termcap??
+#undef VTE_TERMCAP_NAME
#endif
#ifdef VTE_DEBUG
@@ -1014,8 +1014,10 @@
enum _vte_fkey_mode fkey_mode;
char *cap, *tmp;
const char *termcap_special = NULL;
+#ifdef VTE_TERMCAP_NAME
char ncurses_buffer[4096];
char ncurses_area[512];
+#endif
g_return_if_fail(normal != NULL);
g_return_if_fail(normal_length != NULL);
@@ -1169,6 +1171,7 @@
}
}
}
+#ifdef VTE_TERMCAP_NAME
if (termcap_special != NULL) {
tmp = g_strdup(terminal);
cap = NULL;
@@ -1209,6 +1212,7 @@
return;
}
}
+#endif
_vte_debug_print(VTE_DEBUG_KEYBOARD,
" (ignoring, no match for modifier state).\n");
Index: vte-0.28.2/src/ssfe.c
===================================================================
--- vte-0.28.2.orig/src/ssfe.c 2011-06-19 22:59:30.000000000 +0200
+++ vte-0.28.2/src/ssfe.c 2011-10-19 03:44:01.256817523 +0200
@@ -38,7 +38,7 @@
#include <termcap.h>
#define VTE_TERMCAP_NAME "termcap"
#else
-#error No termcap??
+#undef VTE_TERMCAP_NAME
#endif
#include <sys/types.h>