ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
(Generate patch)

Comparing rxvt-unicode/autoconf/configure.in (file contents):
Revision 1.12 by pcg, Sun Feb 22 08:09:36 2004 UTC vs.
Revision 1.68 by root, Wed Jan 11 23:08:54 2006 UTC

1dnl# -*- sh -*- 1dnl# -*- sh -*-
2dnl# 2dnl#
3dnl# Process this file with autoconf to produce a configure script. 3dnl# Process this file with autoconf to produce a configure script.
4dnl# 4dnl#
5AC_INIT(src/feature.h) 5orig_CXXFLAGS="$CXXFLAGS"
6
7AC_INIT
8AC_CONFIG_SRCDIR([src/feature.h])
6AC_CONFIG_AUX_DIR(autoconf) 9AC_CONFIG_AUX_DIR(autoconf)
7AC_CONFIG_HEADER(config.h:autoconf/config.h.in) 10AC_CONFIG_HEADER(config.h:autoconf/config.h.in)
11
12AC_CANONICAL_HOST
8 13
9dnl RXVT version 14dnl RXVT version
10changequote(, )dnl 15changequote(, )dnl
11VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` 16VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
12DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` 17DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
13LSMDATE=`sed -n -e 's/^.*[ \t]LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
14LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` 18dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
15changequote([, ])dnl 19changequote([, ])dnl
16AC_SUBST(VERSION)dnl 20AC_SUBST(VERSION)dnl
17AC_SUBST(DATE)dnl 21AC_SUBST(DATE)dnl
18AC_SUBST(LSMDATE)dnl 22AC_SUBST(LSMDATE)dnl
19AC_SUBST(LIBVERSION)dnl 23AC_SUBST(LIBVERSION)dnl
28AC_PROG_CXX 32AC_PROG_CXX
29AC_PROG_CPP 33AC_PROG_CPP
30AC_PROG_INSTALL 34AC_PROG_INSTALL
31AC_PROG_AWK 35AC_PROG_AWK
32 36
37AC_LANG(C)
38
39dnl# --------------------------------------------------------------------------
40dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
41dnl#
42if test -z "$orig_CXXFLAGS"; then
43 CXXFLAGS='-O'
44 if test x$GCC = xyes && test "x$GXX" = xyes; then
45 CXXFLAGS="-g -O3"
46 fi
47 CFLAGS="$CXXFLAGS"
48fi
49
50LINKER="$CXX"
51if test x$GCC = xyes && test x$GXX = xyes; then
52 AC_CHECK_LIB(supc++, main, [
53 LINKER="$CC"
54 LIBS="$LIBS -lsupc++"
55 ])
56fi
57AC_SUBST(LINKER,[$LINKER])
58
59AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
60
61case $host in
62 *-*-solaris* )
63 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
64 AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
65 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
66 ;;
67esac
68
69dnl if test x$GXX = xyes; then
70dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
71dnl fi
72
73AC_LANG(C++)
74
33dnl# system hacks 75dnl# system hacks
34AC_AIX 76AC_AIX
35AC_ISC_POSIX 77AC_ISC_POSIX
36 78
79dnl# FreeBSD needs to link libxpg4
80AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
81
82dnl# solaris needs to link libnsl and socket
83AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
84AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
85
86dnl# more solaris
87AC_CHECK_FUNC(sched_yield, [], [AC_CHECK_LIB(rt, sched_yield, [LIBS="$LIBS -lrt"])])
88
89dnl# sched_yield to improve terminal efficiency
90AC_MSG_CHECKING(for sched_yield support)
91AC_TRY_LINK([#include <sched.h>],[sched_yield ()],
92 [AC_MSG_RESULT(yes)
93 AC_DEFINE(HAVE_SCHED_YIELD, 1, Define if you have sched-h and sched_yield)],
94 [AC_MSG_RESULT(no)])
95
37AC_ENABLE_SHARED(no)dnl# libtool 96dnl AC_ENABLE_SHARED(no)dnl# libtool
38AC_ENABLE_STATIC(yes)dnl# libtool 97dnl AC_ENABLE_STATIC(yes)dnl# libtool
39AC_PROG_LIBTOOL()dnl# libtool 98dnl AC_PROG_LIBTOOL()dnl# libtool
40 99
41MALLOC_TYPE=S 100MALLOC_TYPE=S
101
42support_addstrings=no 102support_addstrings=no
43support_frills=no 103support_frills=yes
44support_linespace=no
45support_inheritpixmap=no 104support_inheritpixmap=yes
105support_tinting=yes
106support_fading=yes
46support_keepscrolling=no 107support_keepscrolling=yes
47support_selectionscrolling=no 108support_selectionscrolling=yes
48support_menubar=no 109support_menubar=no
49support_mousewheel=no 110support_mousewheel=yes
50support_mouseslipwheel=no 111support_mouseslipwheel=yes
51support_oldselection=no
52support_utmp=no 112support_utmp=yes
53support_wtmp=no 113support_wtmp=yes
54support_lastlog=no 114support_lastlog=yes
55support_cursor_blink=no
56support_text_blink=no 115support_text_blink=yes
57support_pointer_blank=no 116support_pointer_blank=yes
58support_scroll_rxvt=no 117support_scroll_rxvt=yes
59support_scroll_next=no 118support_scroll_next=yes
60support_scroll_xterm=no 119support_scroll_xterm=yes
61support_scroll_plain=no 120support_scroll_plain=yes
62support_xim=no 121support_xim=yes
63support_xpm=no 122support_xpm=yes
64support_xft=no 123support_xft=yes
65support_unicode3=no 124support_unicode3=no
125support_combining=yes
126support_8bitctrls=no
127support_iso14755=yes
128support_styles=yes
129support_perl=yes
66codesets= 130codesets=all
67 131
68dnl# -------------------------------------------------------------------------- 132dnl# --------------------------------------------------------------------------
69dnl# CHECKING COMMAND LINE OPTIONS 133dnl# CHECKING COMMAND LINE OPTIONS
70dnl# -------------------------------------------------------------------------- 134dnl# --------------------------------------------------------------------------
71 135
74 INSTALL_LIBRXVT=yes 138 INSTALL_LIBRXVT=yes
75fi 139fi
76AC_SUBST(INSTALL_LIBRXVT) 140AC_SUBST(INSTALL_LIBRXVT)
77 141
78AC_ARG_ENABLE(everything, 142AC_ARG_ENABLE(everything,
79 [ --enable-everything enable standard non-multichoice features: marked * 143 [ --enable-everything enable standard non-multichoice features
80 NOTE: this option is order dependent 144 NOTE: this option is order dependent
81 NOTE: automatically enabled with --enable-shared], 145 NOTE: automatically enabled with --enable-shared],
146 [
147 if test x$enableval = xno; then
148 support_24bit=no
149 support_frills=no
150 support_inheritpixmap=no
151 support_tinting=no
152 support_fading=no
153 support_keepscrolling=no
154 support_selectionscrolling=no
155 support_lastlog=no
156 support_menubar=no
157 support_mousewheel=no
158 support_mouseslipwheel=no
159 support_text_blink=no
160 support_pointer_blank=no
161 support_scroll_rxvt=no
162 support_scroll_next=no
163 support_scroll_xterm=no
164 support_scroll_plain=no
165 support_utmp=no
166 support_wtmp=no
167 support_xim=no
168 support_xpm=no
169 support_xft=no
170 support_unicode3=no
171 support_combining=no
172 support_8bitctrls=no
173 support_iso14755=no
174 support_styles=no
175 support_perl=no
176 codesets=
177 fi
82 [if test x$enableval = xyes; then 178 if test x$enableval = xyes; then
83 support_24bit=yes 179 support_24bit=yes
84 support_frills=yes 180 support_frills=yes
85 support_linespace=yes
86 support_inheritpixmap=yes 181 support_inheritpixmap=yes
182 support_tinting=yes
183 support_fading=yes
87 support_keepscrolling=yes 184 support_keepscrolling=yes
88 support_selectionscrolling=yes 185 support_selectionscrolling=yes
89 support_lastlog=yes 186 support_lastlog=yes
90 support_menubar=yes 187 support_menubar=yes
91 support_mousewheel=yes 188 support_mousewheel=yes
92 support_mouseslipwheel=yes 189 support_mouseslipwheel=yes
93 support_oldselection=yes
94 support_cursor_blink=yes
95 support_text_blink=yes 190 support_text_blink=yes
96 support_pointer_blank=yes 191 support_pointer_blank=yes
97 support_scroll_rxvt=yes 192 support_scroll_rxvt=yes
98 support_scroll_next=yes 193 support_scroll_next=yes
99 support_scroll_xterm=yes 194 support_scroll_xterm=yes
100 support_scroll_plain=yes 195 support_scroll_plain=yes
101 support_utmp=yes 196 support_utmp=yes
102 support_wtmp=yes 197 support_wtmp=yes
103 support_xim=yes 198 support_xim=yes
104 support_xpm=yes 199 support_xpm=yes
105 support_xft=yes 200 support_xft=yes
106 support_unicode3=yes 201 support_unicode3=yes
202 support_combining=yes
203 #support_8bitctrls=yes
204 support_iso14755=yes
205 support_styles=yes
206 support_perl=yes
107 codesets=all 207 codesets=all
208 fi
108 fi]) 209 ])
109
110echo
111if test x$support_menubar = xyes; then
112 support_menubar=no
113 echo "******* menubar support disabled, does not work"
114fi
115echo
116 210
117AC_ARG_ENABLE(unicode3, 211AC_ARG_ENABLE(unicode3,
118 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters], 212 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
119 [if test x$enableval = xyes; then 213 [if test x$enableval = xyes -o x$enableval = xno; then
120 support_unicode3=yes 214 support_unicode3=$enableval
215 fi])
216
217AC_ARG_ENABLE(combining,
218 [ --enable-combining enable composition of base and combining characters],
219 [if test x$enableval = xyes -o x$enableval = xno; then
220 support_combining=$enableval
121 fi]) 221 fi])
122 222
123AC_ARG_ENABLE(xft, 223AC_ARG_ENABLE(xft,
124 [ --enable-xft enable xft support on systems that have it], 224 [ --enable-xft enable xft support on systems that have it],
125 [if test x$enableval = xyes; then 225 [if test x$enableval = xyes -o x$enableval = xno; then
126 support_xft=yes 226 support_xft=$enableval
127 fi]) 227 fi])
128 228
129AC_ARG_WITH(codesets, 229AC_ARG_ENABLE(font-styles,
130 [ --with-codesets=NAME,... compile in additional codesets (jp,jp_ext,kr,cn,cn_ext,vn,all)], 230 [ --enable-font-styles enable bold and italic support],
131 [if test x$enableval = xyes; then 231 [if test x$enableval = xyes -o x$enableval = xno; then
132 codesets="$withval" 232 support_styles=$enableval
133 fi])
134
135AC_ARG_WITH(encoding,
136 [ --with-encoding=NAME set language default encoding to NAME (default: sjis)
137 (eucj|sjis|big5|gb|kr|noenc)],
138 [if test x$enableval = xyes; then
139 withval=`echo $withval | tr '[a-z]' '[A-Z]'`
140 AC_DEFINE_UNQUOTED(MULTICHAR_ENCODING, $withval, Define default multichar glyph encoding)
141 fi]) 233 fi])
142 234
143AC_ARG_ENABLE(utmp, 235AC_ARG_ENABLE(utmp,
144 [ --enable-utmp enable utmp (utmpx) support], 236 [ --enable-utmp enable utmp (utmpx) support],
145 [if test x$enableval = xyes -o x$enableval = xno; then 237 [if test x$enableval = xyes -o x$enableval = xno; then
168 [ --enable-transparency enable transparent backgrounds], 260 [ --enable-transparency enable transparent backgrounds],
169 [if test x$enableval = xyes -o x$enableval = xno; then 261 [if test x$enableval = xyes -o x$enableval = xno; then
170 support_inheritpixmap=$enableval 262 support_inheritpixmap=$enableval
171 fi]) 263 fi])
172 264
265AC_ARG_ENABLE(tinting,
266 [ --enable-tinting enable tinting of transparent bg],
267 [if test x$enableval = xyes -o x$enableval = xno; then
268 support_tinting=$enableval
269 fi])
270
271AC_ARG_ENABLE(fading,
272 [ --enable-fading enable colors fading when off focus],
273 [if test x$enableval = xyes -o x$enableval = xno; then
274 support_fading=$enableval
275 fi])
276
173AC_ARG_ENABLE(menubar, 277AC_ARG_ENABLE(menubar,
174 [ --enable-menubar enable menubar], 278 [ --enable-menubar enable menubar],
175 [if test x$enableval = xyes -o x$enableval = xno; then 279 [if test x$enableval = xyes -o x$enableval = xno; then
176 support_menubar=$enableval 280 support_menubar=$enableval
177 fi]) 281 fi])
190 294
191AC_ARG_ENABLE(xterm-scroll, 295AC_ARG_ENABLE(xterm-scroll,
192 [ --enable-xterm-scroll enable Xterm style scrollbar], 296 [ --enable-xterm-scroll enable Xterm style scrollbar],
193 [if test x$enableval = xyes -o x$enableval = xno; then 297 [if test x$enableval = xyes -o x$enableval = xno; then
194 support_scroll_xterm=$enableval 298 support_scroll_xterm=$enableval
299 fi])
300
301AC_ARG_ENABLE(perl,
302 [ --enable-perl enable embedded perl interpreter],
303 [if test x$enableval = xyes -o x$enableval = xno; then
304 support_perl=$enableval
195 fi]) 305 fi])
196 306
197AC_ARG_ENABLE(plain-scroll, 307AC_ARG_ENABLE(plain-scroll,
198 [ --enable-plain-scroll enable plain style scrollbar], 308 [ --enable-plain-scroll enable plain style scrollbar],
199 [if test x$enableval = xyes -o x$enableval = xno; then 309 [if test x$enableval = xyes -o x$enableval = xno; then
204 [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], 314 [ --enable-half-shadow use half width/height shadow on rxvt scrollbar],
205 [if test x$enableval = xyes; then 315 [if test x$enableval = xyes; then
206 AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less) 316 AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less)
207 fi]) 317 fi])
208 318
319AC_ARG_WITH(codesets,
320 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
321 [codesets="$withval"])
322
209AC_ARG_ENABLE(xim, 323AC_ARG_ENABLE(xim,
210 [ --enable-xim XIM (X Input Method) protocol support], 324 [ --enable-xim XIM (X Input Method) protocol support],
211 [if test x$enableval = xyes -o x$enableval = xno; then 325 [if test x$enableval = xyes -o x$enableval = xno; then
212 support_xim=$enableval 326 support_xim=$enableval
213 fi]) 327 fi])
234 [ --disable-resources disable all resource checking], 348 [ --disable-resources disable all resource checking],
235 [if test x$enableval = xno; then 349 [if test x$enableval = xno; then
236 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) 350 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
237 fi]) 351 fi])
238 352
239AC_ARG_ENABLE(xgetdefault, 353AC_ARG_ENABLE(8bitctrls,
240 [ --enable-xgetdefault enable resources via X instead of our small version], 354 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
241 [if test x$enableval = xyes; then 355 [if test x$enableval = xyes -o x$enableval = xno; then
242 AC_DEFINE(USE_XGETDEFAULT, 1, Define if you want to use XGetDefault instead of our internal version) 356 support_8bitctrls=$enableval
357 fi])
358
359RESFALLBACK=Rxvt
360AC_ARG_ENABLE(fallback,
361 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
362 [
363 test x$enableval = xyes && enableval=Rxvt
364 test x$enableval = xno && enableval=
365 RESFALLBACK="$enableval"
243 fi]) 366 ])
367
368if test x$RESFALLBACK != x; then
369 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
370fi
371
372RESNAME=urxvt
373AC_ARG_WITH(res-name,
374 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
375 [RESNAME="$withval"])
376AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
377
378RESCLASS=URxvt
379AC_ARG_WITH(res-class,
380 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
381 [RESCLASS="$withval"])
382AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
383
384RXVTNAME=urxvt
385AC_ARG_WITH(name,
386 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
387 [RXVTNAME="$withval"])
388AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
389
390RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
391AC_SUBST(RXVTNAME)
244 392
245AC_ARG_ENABLE(strings, 393AC_ARG_ENABLE(strings,
246 [ --enable-strings enable some replacement system functions], 394 [ --enable-strings enable some replacement system functions],
247 [if test x$enableval = xyes -o x$enableval = xno; then 395 [if test x$enableval = xyes -o x$enableval = xno; then
248 support_addstrings=$enableval 396 support_addstrings=$enableval
252 [ --disable-swapscreen disable swap screen support], 400 [ --disable-swapscreen disable swap screen support],
253 [if test x$enableval = xno; then 401 [if test x$enableval = xno; then
254 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace) 402 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
255 fi]) 403 fi])
256 404
405AC_ARG_ENABLE(iso14755,
406 [ --enable-iso14755 enable support for extended ISO 14755 modes],
407 [if test x$enableval = xyes -o x$enableval = xno; then
408 support_iso14755=$enableval
409 fi])
410
257AC_ARG_ENABLE(frills, 411AC_ARG_ENABLE(frills,
258 [ --enable-frills enable support for rarely used features], 412 [ --enable-frills enable support for rarely used features],
259 [if test x$enableval = xyes -o x$enableval = xno; then 413 [if test x$enableval = xyes -o x$enableval = xno; then
260 support_frills=$enableval 414 support_frills=$enableval
261 fi]) 415 fi])
262 416
263AC_ARG_ENABLE(linespace,
264 [ --enable-linespace enable support for linespace],
265 [if test x$enableval = xyes -o x$enableval = xno; then
266 support_linespace=$enableval
267 fi])
268
269AC_ARG_ENABLE(24bit, 417AC_ARG_ENABLE(24bit,
270 [ --enable-24bit enable support for using 24bit visuals if available], 418 [ --enable-24bit enable support for using 24bit visuals if available],
271 [if test x$enableval = xyes -o x$enableval = xno; then 419 [if test x$enableval = xyes -o x$enableval = xno; then
272 support_24bit=$enableval 420 support_24bit=$enableval
273 fi]) 421 fi])
292 440
293AC_ARG_ENABLE(slipwheeling, 441AC_ARG_ENABLE(slipwheeling,
294 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], 442 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
295 [if test x$enableval = xyes -o x$enableval = xno; then 443 [if test x$enableval = xyes -o x$enableval = xno; then
296 support_mouseslipwheel=$enableval 444 support_mouseslipwheel=$enableval
297 fi])
298
299AC_ARG_ENABLE(old-selection,
300 [ --enable-old-selection enable v2.20 (& prior) mouse selection style support],
301 [if test x$enableval = xyes -o x$enableval = xno; then
302 support_oldselection=$enableval
303 fi])
304
305AC_ARG_ENABLE(new-selection,
306 [ --disable-new-selection disable new mouse (xterm) selection style support],
307 [if test x$enableval = xno; then
308 AC_DEFINE(NO_NEW_SELECTION, 1, Define to remove xterm style mouse selection)
309 fi]) 445 fi])
310 446
311AC_ARG_ENABLE(dmalloc, 447AC_ARG_ENABLE(dmalloc,
312 [ --enable-dmalloc enable Gray Watson's malloc - for debugging use], 448 [ --enable-dmalloc enable Gray Watson's malloc - for debugging use],
313 [if test x$enableval = xyes; then 449 [if test x$enableval = xyes; then
331 [ --enable-smart-resize enable smart growth/shrink behaviour], 467 [ --enable-smart-resize enable smart growth/shrink behaviour],
332 [if test x$enableval = xyes; then 468 [if test x$enableval = xyes; then
333 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior) 469 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
334 fi]) 470 fi])
335 471
336AC_ARG_ENABLE(256-color,
337 [ --enable-256-color enable 256-color support],
338 [if test x$enableval = xyes; then
339 AC_DEFINE(TTY_256COLOR, 1, Define if you want 256 colour support)
340 fi])
341
342AC_ARG_ENABLE(cursor-blink,
343 [ --enable-cursor-blink enable blinking cursor],
344 [if test x$enableval = xyes -o x$enableval = xno; then
345 support_cursor_blink=$enableval
346 fi])
347
348AC_ARG_ENABLE(text-blink, 472AC_ARG_ENABLE(text-blink,
349 [ --enable-text-blink enable blinking text], 473 [ --enable-text-blink enable blinking text],
350 [if test x$enableval = xyes -o x$enableval = xno; then 474 [if test x$enableval = xyes -o x$enableval = xno; then
351 support_text_blink=$enableval 475 support_text_blink=$enableval
352 fi]) 476 fi])
356 [if test x$enableval = xyes -o x$enableval = xno; then 480 [if test x$enableval = xyes -o x$enableval = xno; then
357 support_pointer_blank=$enableval 481 support_pointer_blank=$enableval
358 fi]) 482 fi])
359 483
360AC_ARG_WITH(term, 484AC_ARG_WITH(term,
361 [ --with-term=NAME set the terminal to NAME (default \"xterm\")], 485 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
362 [if test x$withval != x; then 486 [if test x$withval != x; then
363 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval" 487 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
364 fi]) 488 fi])
365 489
366AC_ARG_WITH(terminfo, 490AC_ARG_WITH(terminfo,
370 fi]) 494 fi])
371 495
372dnl# -------------------------------------------------------------------------- 496dnl# --------------------------------------------------------------------------
373 497
374AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) 498AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes)
375
376dnl# --------------------------------------------------------------------------
377dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
378dnl#
379if test -z "$CFLAGS"; then
380 if test -z "$CCOPTS"; then
381 CCOPTS='-O'
382dnl> if test "x$GCC" = xyes; then
383dnl> if test x$system = xLinux; then
384dnl> CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
385dnl> fi
386dnl> fi
387 fi
388 CFLAGS="$CCOPTS"
389fi
390 499
391AC_PATH_PROG(MV, mv, mv) 500AC_PATH_PROG(MV, mv, mv)
392AC_PATH_PROG(RM, rm, rm) 501AC_PATH_PROG(RM, rm, rm)
393AC_PATH_PROG(CP, cp, cp) 502AC_PATH_PROG(CP, cp, cp)
394AC_PATH_PROG(LN, ln, ln) 503AC_PATH_PROG(LN, ln, ln)
395AC_PATH_PROG(SED, sed, sed) 504AC_PATH_PROG(SED, sed, sed)
396AC_PATH_PROG(ECHO, echo, echo) 505AC_PATH_PROG(ECHO, echo, echo)
397AC_PATH_PROG(CMP, cmp, cmp) 506AC_PATH_PROG(CMP, cmp, cmp)
398AC_PATH_PROG(TBL, tbl) 507AC_PATH_PROG(TBL, tbl)
508AC_PATH_PROG(TIC, tic)
399 509
400dnl# need a neat way to detect SVR4 or its features 510dnl# need a neat way to detect SVR4 or its features
401dnl# in src/command.c we use these functions: 511dnl# in src/command.c we use these functions:
402dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> 512dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
403dnl# - but are these also defined for other systems? 513dnl# - but are these also defined for other systems?
440 sys/byteorder.h \ 550 sys/byteorder.h \
441 sys/ioctl.h \ 551 sys/ioctl.h \
442 sys/select.h \ 552 sys/select.h \
443 sys/sockio.h \ 553 sys/sockio.h \
444 sys/strredir.h \ 554 sys/strredir.h \
555 sys/stropts.h \
445 sys/time.h \ 556 sys/time.h \
446 utmp.h \ 557 utmp.h \
447 utmpx.h \ 558 utmpx.h \
448 stdint.h \ 559 stdint.h \
560 pty.h \
561 util.h \
562 libutil.h \
563 wchar.h \
564 cwchar \
565 clocale \
449) 566)
450 567
451AC_HEADER_TIME 568AC_HEADER_TIME
452 569
453dnl# check to allow both <termios.h> and <sys/ioctl.h> 570dnl# check to allow both <termios.h> and <sys/ioctl.h>
454AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, 571AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
455[AC_TRY_COMPILE([#include <stdio.h> 572[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
456#include <sys/ioctl.h> 573#include <sys/ioctl.h>
457#ifdef HAVE_TERMIOS_H 574#ifdef HAVE_TERMIOS_H
458#include <termios.h> 575#include <termios.h>
459#endif], [int a = ECHO;], rxvt_cv_header_sysioctl=yes, rxvt_cv_header_sysioctl=no)]) 576#endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
460 577
461dnl# ELF systems may want to store paths for dynamic libraries. 578dnl# ELF systems may want to store paths for dynamic libraries.
462dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" 579dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
463dnl# At least one version of SunOS wants "-R path" but it's not checked yet. 580dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
464if test -n "$GCC"; then 581if test -n "$GCC"; then
473ac_save_CFLAGS=$CFLAGS 590ac_save_CFLAGS=$CFLAGS
474ac_save_LIBS=$LIBS 591ac_save_LIBS=$LIBS
475CFLAGS="$CFLAGS $X_CFLAGS" 592CFLAGS="$CFLAGS $X_CFLAGS"
476LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` 593LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
477AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, 594AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
478[AC_TRY_RUN([ 595[AC_RUN_IFELSE([AC_LANG_SOURCE([[
479main() 596main()
480{ 597{
481 exit(0); 598 exit(0);
482 (void) XOpenDisplay("foobar"); 599 (void) XOpenDisplay("foobar");
483}], rxvt_cv_rpath=yes, rxvt_cv_rpath=no, dnl 600}]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
484 AC_MSG_WARN([You may need to check the LIBS line]))]) 601 AC_MSG_WARN(You may need to check the LIBS line)])])
485if test x$rxvt_cv_rpath != xyes; then 602if test x$rxvt_cv_rpath != xyes; then
486 changequote(, )dnl 603 changequote(, )dnl
487 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' 604 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
488 changequote([, ])dnl 605 changequote([, ])dnl
489 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` 606 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
490 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R, 607 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
491[AC_TRY_RUN([ 608[AC_RUN_IFELSE([AC_LANG_SOURCE([[
492main() 609main()
493{ 610{
494 exit(0); 611 exit(0);
495 (void) XOpenDisplay("foobar"); 612 (void) XOpenDisplay("foobar");
496}], rxvt_cv_R=yes, rxvt_cv_R=no, rxvt_cv_R=no)]) 613}]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
497 if test x$rxvt_cv_R != xyes; then 614 if test x$rxvt_cv_R != xyes; then
498 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" 615 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
499 fi 616 fi
500fi 617fi
501 618
502AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, 619AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
503[AC_TRY_COMPILE([#include <X11/Xlib.h>], [XPointer dummy;], 620[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
504rxvt_cv_xpointer=yes, rxvt_cv_xpointer=no)])
505if test x$rxvt_cv_xpointer = xyes; then 621if test x$rxvt_cv_xpointer = xyes; then
506 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) 622 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
507fi 623fi
508LIBS=$ac_save_LIBS 624LIBS=$ac_save_LIBS
509CFLAGS=$ac_save_CFLAGS 625CFLAGS=$ac_save_CFLAGS
522dnl> AC_CHECK_TYPE(umode_t, int) 638dnl> AC_CHECK_TYPE(umode_t, int)
523dnl> AC_CHECK_TYPE(off_t, long) 639dnl> AC_CHECK_TYPE(off_t, long)
524AC_TYPE_PID_T 640AC_TYPE_PID_T
525AC_TYPE_UID_T 641AC_TYPE_UID_T
526 642
527
528AC_CHECK_SIZEOF(char, 1)
529AC_CHECK_SIZEOF(short, 2) 643AC_CHECK_SIZEOF(short, 2)
530AC_CHECK_SIZEOF(int, 4) 644AC_CHECK_SIZEOF(int, 4)
531AC_CHECK_SIZEOF(long, 4) 645dnl AC_CHECK_SIZEOF(long, 4)
532AC_CHECK_SIZEOF(long long, 8) 646AC_CHECK_SIZEOF(long long, 8)
533AC_CHECK_SIZEOF(int *, 4) 647AC_CHECK_SIZEOF(int *, 4)
534 648
535dnl# see usage below 649dnl# see usage below
536AC_DEFUN(RXVT_CHECK_SIZE, 650AC_DEFUN(RXVT_CHECK_SIZE,
537 [AC_CACHE_CHECK([for $2], $1, 651 [AC_CACHE_CHECK([for $2], $1,
538 [AC_TRY_COMPILE([#include <stdint.h>], $2 dummy;, 652 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
539 [$1=yes],
540 [dnl
541if test $ac_cv_sizeof_char -ge $3; then 653if test "$ac_cv_sizeof_char" -ge $3; then
542 $1="$4 char" 654 $1="$4 char"
543else 655else
544 if test $ac_cv_sizeof_short -ge $3; then 656 if test "$ac_cv_sizeof_short" -ge $3; then
545 $1="$4 short" 657 $1="$4 short"
546 else 658 else
547 if test $ac_cv_sizeof_int -ge $3; then 659 if test "$ac_cv_sizeof_int" -ge $3; then
548 $1="$4 int" 660 $1="$4 int"
549 else 661 else
550 if test $ac_cv_sizeof_long -ge $3; then 662 if test "$ac_cv_sizeof_long" -ge $3; then
551 $1="$4 long" 663 $1="$4 long"
552 else 664 else
553 if test $ac_cv_sizeof_long_long -ge $3; then 665 if test "$ac_cv_sizeof_long_long" -ge $3; then
554 $1="$4 long long" 666 $1="$4 long long"
555 else 667 else
556 $1="$4 $5" # we _must_ have a (possibly wrong) default 668 $1="$4 $5" # we _must_ have a (possibly wrong) default
557 fi 669 fi
558 fi 670 fi
585dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef) 697dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
586dnl AC_SUBST(rxvt_uint64_typedef) 698dnl AC_SUBST(rxvt_uint64_typedef)
587dnl# 699dnl#
588dnl# Now look for another we use 700dnl# Now look for another we use
589dnl# 701dnl#
590if test $ac_cv_sizeof_int_p -eq 8; then 702if test "$ac_cv_sizeof_int_p" -eq 8; then
591 rxvt_intp_define="#define intp_t int64_t" 703 rxvt_intp_define="#define intp_t int64_t"
592 rxvt_u_intp_define="#define u_intp_t u_int64_t" 704 rxvt_u_intp_define="#define u_intp_t u_int64_t"
593else 705else
594 if test $ac_cv_sizeof_int_p -eq 4; then 706 if test "$ac_cv_sizeof_int_p" -eq 4; then
595 rxvt_intp_define="#define intp_t int32_t" 707 rxvt_intp_define="#define intp_t int32_t"
596 rxvt_u_intp_define="#define u_intp_t u_int32_t" 708 rxvt_u_intp_define="#define u_intp_t u_int32_t"
597 else 709 else
598 if test $ac_cv_sizeof_int_p -eq 2; then 710 if test "$ac_cv_sizeof_int_p" -eq 2; then
599 rxvt_intp_define="#define intp_t int16_t" 711 rxvt_intp_define="#define intp_t int16_t"
600 rxvt_u_intp_define="#define u_intp_t u_int16_t" 712 rxvt_u_intp_define="#define u_intp_t u_int16_t"
601 else 713 else
602 rxvt_intp_define="#error set intp_t" 714 rxvt_intp_define="#error set intp_t"
603 rxvt_u_intp_define="#error set u_intp_t" 715 rxvt_u_intp_define="#error set u_intp_t"
627 seteuid \ 739 seteuid \
628 setreuid \ 740 setreuid \
629 setsid \ 741 setsid \
630 setpgrp \ 742 setpgrp \
631 setpgid \ 743 setpgid \
632 openpty \
633 _getpty \ 744 _getpty \
745 posix_openpt \
634 grantpt \ 746 grantpt \
635 unlockpt \ 747 unlockpt \
636 isastream \ 748 isastream \
637 on_exit \ 749 on_exit \
638 nanosleep \ 750 nanosleep \
639 updwtmp \ 751 updwtmp \
752 updwtmpx \
640 ttyslot \ 753 ttyslot \
641) 754)
642dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in
643 755
644dnl# -------------------------------------------------------------------------- 756dnl# --------------------------------------------------------------------------
645dnl# DO ALL UTMP AND WTMP CHECKING 757dnl# DO ALL UTMP AND WTMP CHECKING
646dnl# -------------------------------------------------------------------------- 758dnl# --------------------------------------------------------------------------
647dnl# check for host field in utmp structure 759dnl# check for host field in utmp structure
648 760
649dnl# -------------------------------------------- 761dnl# --------------------------------------------
650AC_CHECK_HEADER(utmp.h, 762AC_CHECK_HEADER(utmp.h,
651[AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, 763[AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp,
652[AC_TRY_COMPILE([#include <sys/types.h> 764[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
653#include <stdint.h> 765#include <stdint.h>
654#include <utmp.h>], 766#include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])])
655[struct utmp ut;],
656rxvt_cv_struct_utmp=yes, rxvt_cv_struct_utmp=no)])
657if test x$rxvt_cv_struct_utmp = xyes; then 767if test x$rxvt_cv_struct_utmp = xyes; then
658 AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) 768 AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp)
659fi 769fi
660] 770]
661 771
662AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, 772AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host,
663[AC_TRY_COMPILE([#include <sys/types.h> 773[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
664#include <utmp.h>], 774#include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])])
665[struct utmp ut; ut.ut_host;],
666rxvt_cv_struct_utmp_host=yes, rxvt_cv_struct_utmp_host=no)])
667if test x$rxvt_cv_struct_utmp_host = xyes; then 775if test x$rxvt_cv_struct_utmp_host = xyes; then
668 AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) 776 AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host)
669fi 777fi
670 778
671AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, 779AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid,
672[AC_TRY_COMPILE([#include <sys/types.h> 780[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
673#include <utmp.h>], 781#include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])])
674[struct utmp ut; ut.ut_pid;],
675rxvt_cv_struct_utmp_pid=yes, rxvt_cv_struct_utmp_pid=no)])
676if test x$rxvt_cv_struct_utmp_pid = xyes; then 782if test x$rxvt_cv_struct_utmp_pid = xyes; then
677 AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) 783 AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid)
678fi 784fi
679) dnl# AC_CHECK_HEADER(utmp.h 785) dnl# AC_CHECK_HEADER(utmp.h
680 786
681dnl# -------------------------------------------- 787dnl# --------------------------------------------
682 788
683AC_CHECK_HEADER(utmpx.h, 789AC_CHECK_HEADER(utmpx.h,
684[AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, 790[AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx,
791[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
792#include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])])
793if test x$rxvt_cv_struct_utmpx = xyes; then
794 AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx)
795fi
796]
797
798AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host,
799[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
800#include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])])
801if test x$rxvt_cv_struct_utmpx_host = xyes; then
802 AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host)
803fi
804
805AC_CACHE_CHECK(for session in utmpx struct, rxvt_cv_struct_utmpx_session,
685[AC_TRY_COMPILE([#include <sys/types.h> 806[AC_TRY_COMPILE([#include <sys/types.h>
686#include <utmpx.h>], 807#include <utmpx.h>],
687[struct utmpx ut;], 808[struct utmpx utx; utx.ut_session;],
688rxvt_cv_struct_utmpx=yes, rxvt_cv_struct_utmpx=no)]) 809rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)])
689if test x$rxvt_cv_struct_utmpx = xyes; then 810if test x$rxvt_cv_struct_utmpx_session = xyes; then
690 AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx)
691fi
692]
693
694AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host,
695[AC_TRY_COMPILE([#include <sys/types.h>
696#include <utmpx.h>],
697[struct utmpx utx; utx.ut_host;],
698rxvt_cv_struct_utmpx_host=yes, rxvt_cv_struct_utmpx_host=no)])
699if test x$rxvt_cv_struct_utmpx_host = xyes; then
700 AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) 811 AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session)
701fi 812fi
702) dnl# AC_CHECK_HEADER(utmpx.h 813) dnl# AC_CHECK_HEADER(utmpx.h
703
704 814
705dnl# -------------------------------------------------------------------------- 815dnl# --------------------------------------------------------------------------
706dnl# check for struct lastlog 816dnl# check for struct lastlog
707AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, 817AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog,
708[AC_TRY_COMPILE([#include <sys/types.h> 818[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
709#include <utmp.h> 819#include <utmp.h>
710#ifdef HAVE_LASTLOG_H 820#ifdef HAVE_LASTLOG_H
711#include <lastlog.h> 821#include <lastlog.h>
712#endif 822#endif
713],
714[struct lastlog ll;],
715rxvt_cv_struct_lastlog=yes, rxvt_cv_struct_lastlog=no)]) 823]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])])
716if test x$rxvt_cv_struct_lastlog = xyes; then 824if test x$rxvt_cv_struct_lastlog = xyes; then
717 AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) 825 AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog)
718fi 826fi
719 827
720dnl# check for struct lastlogx 828dnl# check for struct lastlogx
721AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, 829AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx,
722[AC_TRY_COMPILE([#include <sys/types.h> 830[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
723#include <utmpx.h> 831#include <utmpx.h>
724#ifdef HAVE_LASTLOG_H 832#ifdef HAVE_LASTLOG_H
725#include <lastlog.h> 833#include <lastlog.h>
726#endif 834#endif
727],
728[struct lastlogx ll;],
729rxvt_cv_struct_lastlogx=yes, rxvt_cv_struct_lastlogx=no)]) 835]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])])
730if test x$rxvt_cv_struct_lastlogx = xyes; then 836if test x$rxvt_cv_struct_lastlogx = xyes; then
731 AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) 837 AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx)
732fi 838fi
733 839
734dnl# -------------------------------------------------------------------------- 840dnl# --------------------------------------------------------------------------
735dnl# FIND FILES 841dnl# FIND FILES
736dnl# -------------------------------------------------------------------------- 842dnl# --------------------------------------------------------------------------
737 843
738dnl# find utmp 844dnl# find utmp
739AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, 845AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp,
740[AC_TRY_RUN([#include <stdio.h> 846[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
741#include <sys/types.h> 847#include <sys/types.h>
742#include <utmp.h> 848#include <utmp.h>
743#include <errno.h> 849#include <errno.h>
744main() 850main()
745{ 851{
760 fprintf(f, "%s\n", *u); 866 fprintf(f, "%s\n", *u);
761 exit(0); 867 exit(0);
762 } 868 }
763 } 869 }
764 exit(0); 870 exit(0);
765}], rxvt_cv_path_utmp=`cat conftestval`, rxvt_cv_path_utmp=, dnl 871}]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl
766 AC_MSG_WARN([Define RXVT_UTMP_FILE in config.h manually]))]) 872 AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])])
767if test x$rxvt_cv_path_utmp != x; then 873if test x$rxvt_cv_path_utmp != x; then
768 AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) 874 AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp)
769fi 875fi
770 876
771dnl# -------------------------------------------------------------------------- 877dnl# --------------------------------------------------------------------------
772 878
773dnl# find utmpx - if a utmp file exists at the same location and is more than 879dnl# find utmpx - if a utmp file exists at the same location and is more than
774dnl# a day newer, then dump the utmpx. People leave lots of junk around. 880dnl# a day newer, then dump the utmpx. People leave lots of junk around.
775AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, 881AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx,
776[AC_TRY_RUN([#include <stdio.h> 882[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
777#include <sys/types.h> 883#include <sys/types.h>
778#include <utmpx.h> 884#include <utmpx.h>
779#include <errno.h> 885#include <errno.h>
780#include <sys/stat.h> 886#include <sys/stat.h>
781#ifdef HAVE_STRING_H 887#ifdef HAVE_STRING_H
806 fprintf(f, "%s\n", *u); 912 fprintf(f, "%s\n", *u);
807 exit(0); 913 exit(0);
808 } 914 }
809 } 915 }
810 exit(0); 916 exit(0);
811}], rxvt_cv_path_utmpx=`cat conftestval`, rxvt_cv_path_utmpx=, dnl 917}]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl
812 AC_MSG_WARN([Define RXVT_UTMPX_FILE in config.h manually]))]) 918 AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])])
813if test x$rxvt_cv_path_utmpx != x; then 919if test x$rxvt_cv_path_utmpx != x; then
814 AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) 920 AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx)
815fi 921fi
816 922
817dnl# -------------------------------------------------------------------------- 923dnl# --------------------------------------------------------------------------
818 924
819dnl# find wtmp 925dnl# find wtmp
820AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, 926AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp,
821[AC_TRY_RUN([#include <stdio.h> 927[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
822#include <sys/types.h> 928#include <sys/types.h>
823#ifdef HAVE_UTMP_H 929#ifdef HAVE_UTMP_H
824#include <utmp.h> 930#include <utmp.h>
825#endif 931#endif
826#include <errno.h> 932#include <errno.h>
843 fprintf(f, "%s\n", *w); 949 fprintf(f, "%s\n", *w);
844 exit(0); 950 exit(0);
845 } 951 }
846 } 952 }
847 exit(0); 953 exit(0);
848}], rxvt_cv_path_wtmp=`cat conftestval`, rxvt_cv_path_wtmp=, dnl 954}]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl
849 AC_MSG_WARN([Define RXVT_WTMP_FILE in config.h manually]))]) 955 AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])])
850if test x$rxvt_cv_path_wtmp != x; then 956if test x$rxvt_cv_path_wtmp != x; then
851 AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) 957 AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp)
852fi 958fi
853dnl# -------------------------------------------------------------------------- 959dnl# --------------------------------------------------------------------------
854 960
855dnl# find wtmpx 961dnl# find wtmpx
856AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, 962AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx,
857[AC_TRY_RUN([#include <stdio.h> 963[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
858#ifdef HAVE_UTMPX_H 964#ifdef HAVE_UTMPX_H
859#include <utmpx.h> 965#include <utmpx.h>
860#endif 966#endif
861#include <errno.h> 967#include <errno.h>
862main() 968main()
878 fprintf(f, "%s\n", *w); 984 fprintf(f, "%s\n", *w);
879 exit(0); 985 exit(0);
880 } 986 }
881 } 987 }
882 exit(0); 988 exit(0);
883}], rxvt_cv_path_wtmpx=`cat conftestval`, rxvt_cv_path_wtmpx=, dnl 989}]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl
884 AC_MSG_WARN([Define RXVT_WTMPX_FILE in config.h manually]))]) 990 AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])])
885if test x$rxvt_cv_path_wtmpx != x; then 991if test x$rxvt_cv_path_wtmpx != x; then
886 AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) 992 AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx)
887fi 993fi
888dnl# -------------------------------------------------------------------------- 994dnl# --------------------------------------------------------------------------
889 995
890dnl# find lastlog 996dnl# find lastlog
891AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, 997AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog,
892[AC_TRY_RUN([#include <stdio.h> 998[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
893#include <sys/types.h> 999#include <sys/types.h>
894#ifdef HAVE_UTMPX_H 1000#ifdef HAVE_UTMPX_H
895#include <utmpx.h> 1001#include <utmpx.h>
896#elif defined(HAVE_UTMP_H) 1002#elif defined(HAVE_UTMP_H)
897#include <utmp.h> 1003#include <utmp.h>
918 fprintf(f, "%s\n", *w); 1024 fprintf(f, "%s\n", *w);
919 exit(0); 1025 exit(0);
920 } 1026 }
921 } 1027 }
922 exit(0); 1028 exit(0);
923}], rxvt_cv_path_lastlog=`cat conftestval`, rxvt_cv_path_lastlog=, dnl 1029}]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl
924 AC_MSG_WARN([Define RXVT_LASTLOG_FILE in config.h manually]))]) 1030 AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])])
925if test x$rxvt_cv_path_lastlog != x; then 1031if test x$rxvt_cv_path_lastlog != x; then
926 AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) 1032 AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog)
927 if test -d "$rxvt_cv_path_lastlog"; then 1033 if test -d "$rxvt_cv_path_lastlog"; then
928 AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) 1034 AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory)
929 fi 1035 fi
930fi 1036fi
931dnl# -------------------------------------------------------------------------- 1037dnl# --------------------------------------------------------------------------
932 1038
933dnl# find lastlogx 1039dnl# find lastlogx
934AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, 1040AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx,
935[AC_TRY_RUN([#include <stdio.h> 1041[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
936#ifdef HAVE_UTMPX_H 1042#ifdef HAVE_UTMPX_H
937#include <utmpx.h> 1043#include <utmpx.h>
938#endif 1044#endif
939#include <errno.h> 1045#include <errno.h>
940main() 1046main()
955 fprintf(f, "%s\n", *w); 1061 fprintf(f, "%s\n", *w);
956 exit(0); 1062 exit(0);
957 } 1063 }
958 } 1064 }
959 exit(0); 1065 exit(0);
960}], rxvt_cv_path_lastlogx=`cat conftestval`, rxvt_cv_path_lastlogx=, dnl 1066}]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl
961 AC_MSG_WARN([Define RXVT_LASTLOGX_FILE in config.h manually]))]) 1067 AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])])
962if test x$rxvt_cv_path_lastlogx != x; then 1068if test x$rxvt_cv_path_lastlogx != x; then
963 AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) 1069 AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx)
964fi 1070fi
965 1071
966dnl# -------------------------------------------------------------------------- 1072dnl# --------------------------------------------------------------------------
990LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" 1096LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
991if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then 1097if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
992 LIBS=`echo $LIBS | sed "$R_TRANSLATE"` 1098 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
993fi 1099fi
994AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, 1100AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
995[AC_TRY_RUN([#include <X11/Xlib.h> 1101[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
996main() { 1102main() {
997char *p; 1103char *p;
998if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) 1104if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
999exit (XSupportsLocale() ? 0 : 1); 1105exit (XSupportsLocale() ? 0 : 1);
1000else 1106else
1001exit (1);}], dnl 1107exit (1);}]])],[dnl
1002 rxvt_cv_func_xlocale=yes, rxvt_cv_func_xlocale=no, dnl 1108 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
1003 AC_MSG_WARN([Define NO_XLOCALE in config.h manually]))]) 1109 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
1004if test x$rxvt_cv_func_xlocale = xyes; then 1110if test x$rxvt_cv_func_xlocale = xyes; then
1005 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) 1111 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
1006fi 1112fi
1007 1113
1008AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, 1114AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
1009[AC_TRY_LINK([#define X_LOCALE 1 1115[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
1010#include <X11/Xlocale.h>], 1116#include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
1011 [setlocale(LC_CTYPE, "");],
1012 rxvt_cv_func_xsetlocale=yes, rxvt_cv_func_xsetlocale=no)])
1013if test x$rxvt_cv_func_xsetlocale = xyes; then 1117if test x$rxvt_cv_func_xsetlocale = xyes; then
1014 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) 1118 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
1015fi 1119fi
1016LIBS=$ac_save_LIBS 1120LIBS=$ac_save_LIBS
1017CFLAGS=$ac_save_CFLAGS 1121CFLAGS=$ac_save_CFLAGS
1018 1122
1019AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, 1123AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
1020[AC_TRY_LINK([#include <locale.h>], 1124[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
1021 [setlocale(LC_CTYPE, "");],
1022 rxvt_cv_func_setlocale=yes, rxvt_cv_func_setlocale=no)])
1023if test x$rxvt_cv_func_setlocale = xyes; then 1125if test x$rxvt_cv_func_setlocale = xyes; then
1024 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) 1126 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
1025fi 1127fi
1026 1128
1027AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, 1129AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
1028[AC_TRY_LINK([#include <langinfo.h>], 1130[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
1029 [nl_langinfo(CODESET);],
1030 rxvt_cv_func_nl_langinfo=yes, rxvt_cv_func_nl_langinfo=no)])
1031if test x$rxvt_cv_func_nl_langinfo = xyes; then 1131if test x$rxvt_cv_func_nl_langinfo = xyes; then
1032 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) 1132 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
1033fi 1133fi
1034 1134
1035AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, 1135AC_CACHE_CHECK(for unix-compliant filehandle passing ability, rxvt_can_pass_fds,
1036[AC_TRY_LINK([#define _GNU_SOURCE 1136[AC_TRY_LINK([
1037#ifdef HAVE_STDLIB_H 1137#include <sys/types.h>
1138#include <sys/socket.h>
1139],[
1140{
1141 msghdr msg;
1142 iovec iov;
1143 char buf [100];
1144 char data = 0;
1145
1146 iov.iov_base = &data;
1147 iov.iov_len = 1;
1148
1149 msg.msg_iov = &iov;
1150 msg.msg_iovlen = 1;
1151 msg.msg_control = buf;
1152 msg.msg_controllen = sizeof buf;
1153
1154 cmsghdr *cmsg = CMSG_FIRSTHDR (&msg);
1155 cmsg->cmsg_level = SOL_SOCKET;
1156 cmsg->cmsg_type = SCM_RIGHTS;
1157 cmsg->cmsg_len = 100;
1158
1159 *(int *)CMSG_DATA (cmsg) = 5;
1160
1161 return sendmsg (3, &msg, 0);
1162}
1163],[rxvt_can_pass_fds=yes],[rxvt_can_pass_fds=no])])
1164if test x$rxvt_can_pass_fds = xyes; then
1165 AC_DEFINE(HAVE_UNIX_FDPASS, 1, Define if sys/socket.h defines the necessary macros/functions for file handle passing)
1166fi
1167
1168AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
1169[AC_COMPILE_IFELSE([
1038# include <stdlib.h> 1170#include <X11/Xlib.h>
1039#endif], 1171
1040 [(void)getpt();], 1172void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
1041 rxvt_cv_func_getpt=yes, rxvt_cv_func_getpt=no)]) 1173
1174void f() {
1175 XIMCallback cb;
1176 cb.callback = im_destroy_cb;
1177}
1178],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
1179
1180if test x$rxvt_broken_ximcb = xyes; then
1181 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
1182fi
1183
1042if test x$rxvt_cv_func_getpt = xyes; then 1184if test x$rxvt_cv_func_posix_openpt = xno; then
1043 AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) 1185 AC_CHECK_FUNC(openpty, [], [AC_CHECK_LIB(util, openpty, [LIBS="$LIBS -lutil"])])
1044fi 1186fi
1045 1187
1046dnl# if we don't guess right then it's up to the user 1188dnl# if we don't guess right then it's up to the user
1047AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, 1189AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys,
1048[if test x$ac_cv_func_openpty = xyes; then 1190[if test x$ac_cv_func_openpty = xyes -o x$ac_cv_lib_util_openpty = xyes; then
1049 rxvt_cv_ptys=OPENPTY 1191 rxvt_cv_ptys=OPENPTY
1192 else if test x$ac_cv_func_posix_openpt = xyes; then
1193 rxvt_cv_ptys=POSIX
1050 else if test x$ac_cv_func__getpty = xyes; then 1194 else if test x$ac_cv_func__getpty = xyes; then
1051 rxvt_cv_ptys=SGI4 1195 rxvt_cv_ptys=SGI4
1052 else if test -c /dev/ttyp20; then 1196 else if test -c /dev/ttyp20; then
1053 rxvt_cv_ptys=SCO 1197 rxvt_cv_ptys=SCO
1054 else if test -c /dev/ptym/clone; then 1198 else if test -c /dev/ptym/clone; then
1055 rxvt_cv_ptys=HPUX 1199 rxvt_cv_ptys=HPUX
1056 else if test x$rxvt_cv_func_getpt = xyes; then
1057 rxvt_cv_ptys=GLIBC
1058 else if test -c /dev/ptc -a -c /dev/pts; then 1200 else if test -c /dev/ptc -a -c /dev/pts; then
1059 rxvt_cv_ptys=PTC 1201 rxvt_cv_ptys=PTC
1060 else if test -c /dev/ptc -a -d /dev/pts; then 1202 else if test -c /dev/ptc -a -d /dev/pts; then
1061 rxvt_cv_ptys=PTC 1203 rxvt_cv_ptys=PTC
1062 else if test -c /dev/ptmx -a -c /dev/pts/0; then 1204 else if test -c /dev/ptmx -a -c /dev/pts/0; then
1075fi 1217fi
1076fi 1218fi
1077fi 1219fi
1078]) 1220])
1079 1221
1222if test x$rxvt_cv_ptys = xPOSIX; then
1223 AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type)
1224fi
1080if test x$rxvt_cv_ptys = xOPENPTY; then 1225if test x$rxvt_cv_ptys = xOPENPTY; then
1081 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) 1226 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type)
1082fi 1227fi
1083if test x$rxvt_cv_ptys = xSCO; then 1228if test x$rxvt_cv_ptys = xSCO; then
1084 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) 1229 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type)
1090 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) 1235 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type)
1091fi 1236fi
1092if test x$rxvt_cv_ptys = xSGI4; then 1237if test x$rxvt_cv_ptys = xSGI4; then
1093 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) 1238 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type)
1094fi 1239fi
1095if test x$rxvt_cv_ptys = xCONVEX; then
1096 AC_DEFINE(PTYS_ARE_GETPTY, 1, Define for this pty type)
1097fi
1098if test x$rxvt_cv_ptys = xGLIBC; then 1240if test x$rxvt_cv_ptys = xGLIBC; then
1099 AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type) 1241 AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type)
1100fi 1242fi
1101if test x$rxvt_cv_ptys = xHPUX; then 1243if test x$rxvt_cv_ptys = xHPUX; then
1102 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) 1244 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type)
1104if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then 1246if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then
1105 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) 1247 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type)
1106fi 1248fi
1107 1249
1108 1250
1109AC_CHECKING(for pty ranges) 1251AS_MESSAGE(checking for pty ranges...)
1110ptys=`echo /dev/pty??` 1252ptys=`echo /dev/pty??`
1111pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` 1253pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
1112pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` 1254pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
1113if test x$pch1 != x; then 1255if test x$pch1 != x; then
1114 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) 1256 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX)
1115fi 1257fi
1116if test x$pch2 != x; then 1258if test x$pch2 != x; then
1117 AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) 1259 AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX)
1118fi 1260fi
1119 1261
1120dnl# FreeBSD needs to link libxpg4
1121AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
1122
1123dnl# -------------------------------------------------------------------------- 1262dnl# --------------------------------------------------------------------------
1124dnl# now add and remove other stuff 1263dnl# now add and remove other stuff
1125dnl# -------------------------------------------------------------------------- 1264dnl# --------------------------------------------------------------------------
1265if test x$support_xft = xyes; then
1266 LIBS="$LIBS `pkg-config xft --libs`"
1267 CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`"
1268
1269 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
1270 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
1271
1272 if test x$support_xft = xyes; then
1273 AC_DEFINE(XFT, 1, Define to enable xft support)
1274 fi
1275fi
1276if test x$support_styles = xyes; then
1277 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
1278fi
1279if test x$support_iso14755 = xyes; then
1280 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
1281fi
1282if test x$support_8bitctrls = xyes; then
1283 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
1284fi
1285if test x$support_fading = xyes; then
1286 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
1287fi
1288if test x$support_tinting = xyes; then
1289 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
1290fi
1126if test x$support_inheritpixmap = xyes; then 1291if test x$support_inheritpixmap = xyes; then
1127 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background) 1292 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background)
1128fi 1293fi
1129if test x$support_keepscrolling = xno; then 1294if test x$support_keepscrolling = xno; then
1130 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed) 1295 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
1133 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen) 1298 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
1134fi 1299fi
1135if test x$support_menubar = xyes; then 1300if test x$support_menubar = xyes; then
1136 AC_DEFINE(MENUBAR, 1, Define if you want Menubar support) 1301 AC_DEFINE(MENUBAR, 1, Define if you want Menubar support)
1137fi 1302fi
1138if test x$support_frills = xno; then 1303if test x$support_frills = xyes; then
1139 AC_DEFINE(NO_FRILLS, 1, Define if you don't want handling for rarely used features) 1304 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
1140fi
1141if test x$support_linespace = xno; then
1142 AC_DEFINE(NO_LINESPACE, 1, Define if you don't want support linespace)
1143fi 1305fi
1144if test x$support_24bit = xyes; then 1306if test x$support_24bit = xyes; then
1145 AC_DEFINE(PREFER_24BIT, 1, Define to use a 24 bit visual if the screen has 24 bit mode, even if the default is 8 bit) 1307 AC_DEFINE(PREFER_24BIT, 1, Define to use a 24 bit visual if the screen has 24 bit mode, even if the default is 8 bit)
1146fi 1308fi
1147if test x$support_mousewheel = xyes; then 1309if test x$support_mousewheel = xyes; then
1148 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll) 1310 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
1149fi 1311fi
1150if test x$support_mouseslipwheel = xyes; then 1312if test x$support_mouseslipwheel = xyes; then
1151 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) 1313 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
1152fi
1153if test x$support_oldselection = xno; then
1154 AC_DEFINE(NO_OLD_SELECTION, 1, Define to remove old rxvt (ver 2.20 and before) style selection)
1155fi 1314fi
1156if test x$support_utmp = xyes; then 1315if test x$support_utmp = xyes; then
1157 AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support) 1316 AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support)
1158fi 1317fi
1159if test x$support_wtmp = xyes; then 1318if test x$support_wtmp = xyes; then
1187 scrolltypes="$scrolltypes plain" 1346 scrolltypes="$scrolltypes plain"
1188fi 1347fi
1189if test x$support_pointer_blank = xyes; then 1348if test x$support_pointer_blank = xyes; then
1190 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing) 1349 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
1191fi 1350fi
1192if test x$support_cursor_blink = xyes; then
1193 AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support)
1194fi
1195if test x$support_text_blink = xyes; then 1351if test x$support_text_blink = xyes; then
1196 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support) 1352 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
1197fi 1353fi
1198if test x$support_unicode3 = xyes; then 1354if test x$support_unicode3 = xyes; then
1199 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0) 1355 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
1200fi 1356fi
1357if test x$support_combining = xyes; then
1358 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
1359fi
1201if test x$codesets = xall; then 1360if test x$codesets = xall; then
1202 codesets=jp,jp-ext,kr,cn,cn-ext,vn 1361 codesets=jp,jp-ext,kr,zh,zh-ext
1203fi 1362fi
1363AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1364AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
1204for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do 1365for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
1205 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1206 case "$codeset" in 1366 case "$codeset" in
1207 VN ) AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets) ;;
1208 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;; 1367 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
1209 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;; 1368 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
1210 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;; 1369 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
1211 CN ) AC_DEFINE(ENCODING_CN, 1, Define if you want chinese codesets) ;; 1370 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
1212 CN_EXT ) AC_DEFINE(ENCODING_CN_EXT, 1, Define if you want extended chinese codesets) ;; 1371 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
1213 esac 1372 esac
1214done 1373done
1374
1375IF_PERL=\#
1376if test x$support_perl = xyes; then
1377 AC_PATH_PROG(PERL, perl5)
1378 AC_PATH_PROG(PERL, perl)
1379
1380 AC_MSG_CHECKING(for $PERL suitability)
1381 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
1382
1383 save_CXXFLAGS="$CXXFLAGS"
1384 save_LIBS="$LIBS"
1385 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
1386 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
1387 AC_TRY_LINK([
1388#include <EXTERN.h>
1389#include <perl.h>
1390#include <XSUB.h>
1391],[
1392 PerlInterpreter *perl = perl_alloc ();
1393],[rxvt_perl_link=yes],[rxvt_perl_link=no])
1394 CXXFLAGS="$save_CXXFLAGS"
1395 LIBS="$save_LIBS"
1396
1397 if test x$rxvt_perl_link = xyes; then
1398 AC_MSG_RESULT(ok)
1399 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
1400 IF_PERL=
1401 PERL_O=rxvtperl.o
1402 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
1403 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
1404 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
1405 else
1406 support_perl=no
1407 AC_MSG_RESULT([no, unable to link])
1408 fi
1409 else
1410 AC_MSG_ERROR(no working perl found, or perl not version >= 5.8)
1411 support_perl=no
1412 fi
1413fi
1414AC_SUBST(PERLLIB)
1415AC_SUBST(PERLFLAGS)
1416AC_SUBST(PERLPRIVLIBEXP)
1417AC_SUBST(PERL)
1418AC_SUBST(IF_PERL)
1419AC_SUBST(PERL_O)
1420
1421if test x$support_perl = xyes; then
1422 support_frills=yes
1423fi
1215 1424
1216dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket) 1425dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket)
1217 1426
1218CFLAGS=${CFLAGS--O} 1427CFLAGS=${CFLAGS--O}
1219LDFLAGS=${LDFLAGS--O} 1428LDFLAGS=${LDFLAGS--O}
1246dnl# common parts of the Makefile 1455dnl# common parts of the Makefile
1247MCOMMON=./autoconf/Make.common 1456MCOMMON=./autoconf/Make.common
1248AC_SUBST_FILE(MCOMMON) 1457AC_SUBST_FILE(MCOMMON)
1249 1458
1250AC_ARG_PROGRAM 1459AC_ARG_PROGRAM
1251
1252RXVTNAME=`echo rxvt|sed "$program_transform_name"`
1253AC_SUBST(RXVTNAME)
1254 1460
1255dnl# test for "sun" or "__sun__" before include sys_ioctl 1461dnl# test for "sun" or "__sun__" before include sys_ioctl
1256 1462
1257dnl# revert HAVE_BLAH_H into a "#include <blah.h>" 1463dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
1258AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl 1464AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl
1262 $1="/* #include <$2> */" 1468 $1="/* #include <$2> */"
1263fi dnl 1469fi dnl
1264AC_SUBST($1)]) 1470AC_SUBST($1)])
1265 1471
1266RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch) 1472RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
1267RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, stdarg.h, ac_cv_header_stdarg_h, yes, notset, dontmatch) 1473RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
1268RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, stdlib.h, ac_cv_header_stdlib_h, yes, notset, dontmatch) 1474RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
1269RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch) 1475RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
1270RXVT_DEFINE_TO_INCLUDE(include_string_h, string.h, ac_cv_header_string_h, yes, notset, dontmatch) 1476RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
1271RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch) 1477RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
1272RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch) 1478RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
1273RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch) 1479RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
1274RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch) 1480RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
1275RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch) 1481RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
1276RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch) 1482RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
1277RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch) 1483RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
1278RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes) 1484RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
1279 1485
1280if test x$support_xft = xyes; then
1281 LIBS="$LIBS `pkg-config xft --libs`"
1282 CFLAGS="$CFLAGS `pkg-config xft --cflags`"
1283 CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`"
1284
1285 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
1286 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
1287
1288 if test x$support_xft = xyes; then
1289 AC_DEFINE(XFT, 1, Define to enable xft support)
1290 fi
1291fi
1292
1293AC_OUTPUT(autoconf/Make.common \ 1486AC_CONFIG_FILES([autoconf/Make.common \
1294Makefile \ 1487Makefile \
1295doc/Makefile \ 1488doc/Makefile \
1296src/Makefile \ 1489src/Makefile \
1297src/test/Makefile \
1298src/rxvtlib.h \ 1490src/rxvtlib.h \
1299W11/Makefile \ 1491])
1300) 1492AC_OUTPUT
1301 1493
1302echo "Configuration: 1494echo "Configuration:
1303 1495
1304 Rxvt version: $VERSION : $DATE 1496 Rxvt version: $VERSION : $DATE
1305 Source code location: $srcdir 1497 Source code location: $srcdir
1306 Install path: ${prefix}/bin 1498 Install path: ${prefix}/bin
1307 Compiler: $CC 1499 Compiler: $CXX
1308 Compiler flags: $CFLAGS" 1500 Compiler flags: $CFLAGS
1501 Linker: $LINKER"
1309 1502
1310if test "$MALLOC_TYPE" = S; then 1503if test "$MALLOC_TYPE" = S; then
1311 echo " malloc support: system default" 1504 echo " malloc support: system default"
1312fi 1505fi
1313if test "$MALLOC_TYPE" = G; then 1506if test "$MALLOC_TYPE" = G; then
1324echo " 1517echo "
1325The following are set in config.h 1518The following are set in config.h
1326" 1519"
1327echo " pty/tty type: "$rxvt_cv_ptys 1520echo " pty/tty type: "$rxvt_cv_ptys
1328if test x$support_utmp != xyes; then 1521if test x$support_utmp != xyes; then
1329 echo " utmp support: disabled 1522 echo " utmp support: disabled"
1330" 1523 echo
1331else 1524else
1332 echo " utmp support: enabled 1525 echo " utmp support: enabled
1333 utmp file: $rxvt_cv_path_utmp 1526 utmp file: $rxvt_cv_path_utmp
1334 utmpx file: $rxvt_cv_path_utmpx 1527 utmpx file: $rxvt_cv_path_utmpx
1335 wtmp file: $rxvt_cv_path_wtmp 1528 wtmp file: $rxvt_cv_path_wtmp
1336 wtmpx file: $rxvt_cv_path_wtmpx 1529 wtmpx file: $rxvt_cv_path_wtmpx
1337 lastlog file: $rxvt_cv_path_lastlog 1530 lastlog file: $rxvt_cv_path_lastlog
1338 ttys/ttytab file: $rxvt_cv_path_ttytab 1531 ttys/ttytab file: $rxvt_cv_path_ttytab
1339" 1532 embedded perl: $support_perl"
1533 echo
1340fi 1534fi
1341if test x$term != x; then 1535if test x$term != x; then
1342 echo " set TERM to: $term 1536 echo " set TERM to: $term"
1343"
1344fi 1537fi
1345if test x$terminfo != x; then 1538if test x$terminfo != x; then
1346 echo " set TERMINFO to: $terminfo 1539 echo " set TERMINFO to: $terminfo"
1347"
1348fi 1540fi
1541echo " default resource name: $RESNAME"
1542echo " resource class: $RESCLASS"
1543if test x$RESFALLBACK != x; then
1544 echo " resource class fallback: $RESFALLBACK"
1545fi
1546echo
1349if test x$rxvt_cv_ptys = xUNKNOWN; then 1547if test x$rxvt_cv_ptys = xUNKNOWN; then
1350 echo ".----------------------------------------------------------------." 1548 echo ".----------------------------------------------------------------."
1351 echo ". WARNING: could not determine pty/tty type. Do not build until ." 1549 echo ". WARNING: could not determine pty/tty type. Do not build until ."
1352 echo ". the appropriate PTYS_ARE_* is defined in config.h ." 1550 echo ". the appropriate PTYS_ARE_* is defined in config.h ."
1353 echo ".----------------------------------------------------------------." 1551 echo ".----------------------------------------------------------------."
1367 echo ". WARNING: --enable-xim was specified however the locale support ." 1565 echo ". WARNING: --enable-xim was specified however the locale support ."
1368 echo ". functions could not be found. ." 1566 echo ". functions could not be found. ."
1369 echo ". XIM is now being DISABLED! ." 1567 echo ". XIM is now being DISABLED! ."
1370 echo ".----------------------------------------------------------------." 1568 echo ".----------------------------------------------------------------."
1371fi 1569fi
1570
1372echo " *** Please check src/feature.h for further options *** 1571echo " *** Optionally check src/feature.h for further options ***"
1373" 1572echo
1573
1574echo ".----------------------------------------------------------------."
1575echo ". NOTE: some features are disabled by default, try ."
1576echo ". configure --help to get an idea of the optional features, ."
1577echo ". or read ./README.configure ."
1578echo ". ."
1579echo ". The script ./reconf gives a reasonable baseline, try it if ."
1580echo ". you do not want to read documentation and still want some ."
1581echo ". useful features. ."
1582echo ".----------------------------------------------------------------."
1583echo
1584

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines