File: 25_optional-ncurses.patch

package info (click to toggle)
vte 1%3A0.28.2-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,140 kB
  • sloc: ansic: 33,674; sh: 10,491; makefile: 541; python: 194; xml: 151
file content (159 lines) | stat: -rw-r--r-- 5,543 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
From: =?utf-8?q?Lo=C3=AFc_Minier?= <lool@dooz.org>
Date: Sun, 3 Aug 2008 14:42:21 +0000
Subject: Allow using the builtin termcap support instead of ncurses

---
 configure.in | 85 ++++++++++++++++++++++++++++++++----------------------------
 src/keymap.c |  6 ++++-
 src/ssfe.c   |  2 +-
 3 files changed, 52 insertions(+), 41 deletions(-)

diff --git a/configure.in b/configure.in
index 33cd3e8..a87edc4 100644
--- a/configure.in
+++ b/configure.in
@@ -368,45 +368,52 @@ fi
 AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
 AC_CHECK_FUNCS([ceil floor])
 
-# 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
+AC_ARG_WITH(ncurses,
+           [AS_HELP_STRING([--without-ncurses],
+                           [don't use ncurses library])
+           ], with_ncurses=$withval, with_ncurses=yes)
+
+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.
 
diff --git a/src/keymap.c b/src/keymap.c
index 95b4c5b..66672e3 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -50,7 +50,7 @@
 #include <termcap.h>
 #define VTE_TERMCAP_NAME "termcap"
 #else
-#error No termcap??
+#undef VTE_TERMCAP_NAME
 #endif
 
 #ifdef VTE_DEBUG
@@ -1025,8 +1025,10 @@ _vte_keymap_map(guint keyval,
 	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);
@@ -1180,6 +1182,7 @@ _vte_keymap_map(guint keyval,
 			}
 		}
 	}
+#ifdef VTE_TERMCAP_NAME
 	if (termcap_special != NULL) {
 		tmp = g_strdup(terminal);
 		cap = NULL;
@@ -1220,6 +1223,7 @@ _vte_keymap_map(guint keyval,
 			return;
 		}
 	}
+#endif
 
 	_vte_debug_print(VTE_DEBUG_KEYBOARD,
 			" (ignoring, no match for modifier state).\n");
diff --git a/src/ssfe.c b/src/ssfe.c
index 33706eb..31250c0 100644
--- a/src/ssfe.c
+++ b/src/ssfe.c
@@ -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>