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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines