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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines