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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines