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.26 by pcg, Mon Apr 5 15:54:23 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
30AC_PROG_INSTALL 35AC_PROG_INSTALL
31AC_PROG_AWK 36AC_PROG_AWK
32 37
33AC_LANG(C) 38AC_LANG(C)
34 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
35LINKER="$CXX" 51LINKER="$CXX"
36if test x$GCC = xyes && test x$GXX = xyes; then 52if test x$GCC = xyes && test x$GXX = xyes; then
37 AC_CHECK_LIB(supc++, main, [ 53 AC_CHECK_LIB(supc++, main, [
38 LINKER="$CC" 54 LINKER="$CC"
39 LIBS="$LIBS -lsupc++" 55 LIBS="$LIBS -lsupc++"
40 ]) 56 ])
41fi 57fi
42AC_SUBST(LINKER,[$LINKER]) 58AC_SUBST(LINKER,[$LINKER])
43 59
44CPPFLAGS="-D_GNU_SOURCE -D_XOPEN_SOURCE" 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
45 69
46dnl if test x$GXX = xyes; then 70dnl if test x$GXX = xyes; then
47dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... 71dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
48dnl fi 72dnl fi
49 73
52dnl# system hacks 76dnl# system hacks
53AC_AIX 77AC_AIX
54AC_ISC_POSIX 78AC_ISC_POSIX
55 79
56dnl# FreeBSD needs to link libxpg4 80dnl# FreeBSD needs to link libxpg4
57AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]) 81AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
58 82
59dnl solaris needs to link libnsl and socket 83dnl# solaris needs to link libnsl and socket
60AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"]) 84AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
61AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"]) 85AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
62 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
63AC_ENABLE_SHARED(no)dnl# libtool 97dnl AC_ENABLE_SHARED(no)dnl# libtool
64AC_ENABLE_STATIC(yes)dnl# libtool 98dnl AC_ENABLE_STATIC(yes)dnl# libtool
65AC_PROG_LIBTOOL()dnl# libtool 99dnl AC_PROG_LIBTOOL()dnl# libtool
66 100
67MALLOC_TYPE=S 101MALLOC_TYPE=S
68support_addstrings=no 102
69support_frills=no 103support_frills=yes
70support_linespace=no
71support_inheritpixmap=no 104support_inheritpixmap=yes
72support_tinting=no 105support_tinting=yes
106support_fading=yes
73support_keepscrolling=no 107support_keepscrolling=yes
74support_selectionscrolling=no 108support_selectionscrolling=yes
75support_menubar=no
76support_mousewheel=no 109support_mousewheel=yes
77support_mouseslipwheel=no 110support_mouseslipwheel=yes
78support_utmp=no 111support_utmp=yes
79support_wtmp=no 112support_wtmp=yes
80support_lastlog=no 113support_lastlog=yes
81support_cursor_blink=no
82support_text_blink=no 114support_text_blink=yes
83support_pointer_blank=no 115support_pointer_blank=yes
84support_scroll_rxvt=no 116support_scroll_rxvt=yes
85support_scroll_next=no 117support_scroll_next=yes
86support_scroll_xterm=no 118support_scroll_xterm=yes
87support_scroll_plain=no 119support_scroll_plain=yes
88support_xim=no 120support_xim=yes
89support_xpm=no 121support_xpm=yes
90support_xft=no 122support_xft=yes
91support_unicode3=no 123support_unicode3=no
92support_combining=no 124support_combining=yes
125support_8bitctrls=no
126support_iso14755=yes
127support_styles=yes
128support_perl=yes
93codesets= 129codesets=all
94 130
95dnl# -------------------------------------------------------------------------- 131dnl# --------------------------------------------------------------------------
96dnl# CHECKING COMMAND LINE OPTIONS 132dnl# CHECKING COMMAND LINE OPTIONS
97dnl# -------------------------------------------------------------------------- 133dnl# --------------------------------------------------------------------------
98 134
104 140
105AC_ARG_ENABLE(everything, 141AC_ARG_ENABLE(everything,
106 [ --enable-everything enable standard non-multichoice features 142 [ --enable-everything enable standard non-multichoice features
107 NOTE: this option is order dependent 143 NOTE: this option is order dependent
108 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
109 [if test x$enableval = xyes; then 176 if test x$enableval = xyes; then
110 support_24bit=yes 177 support_24bit=yes
111 support_frills=yes 178 support_frills=yes
112 support_linespace=yes
113 support_inheritpixmap=yes 179 support_inheritpixmap=yes
114 support_tinting=yes 180 support_tinting=yes
181 support_fading=yes
115 support_keepscrolling=yes 182 support_keepscrolling=yes
116 support_selectionscrolling=yes 183 support_selectionscrolling=yes
117 support_lastlog=yes 184 support_lastlog=yes
118 support_menubar=yes
119 support_mousewheel=yes 185 support_mousewheel=yes
120 support_mouseslipwheel=yes 186 support_mouseslipwheel=yes
121 support_cursor_blink=yes
122 support_text_blink=yes 187 support_text_blink=yes
123 support_pointer_blank=yes 188 support_pointer_blank=yes
124 support_scroll_rxvt=yes 189 support_scroll_rxvt=yes
125 support_scroll_next=yes 190 support_scroll_next=yes
126 support_scroll_xterm=yes 191 support_scroll_xterm=yes
127 support_scroll_plain=yes 192 support_scroll_plain=yes
128 support_utmp=yes 193 support_utmp=yes
129 support_wtmp=yes 194 support_wtmp=yes
130 support_xim=yes 195 support_xim=yes
131 support_xpm=yes 196 support_xpm=yes
132 support_xft=yes 197 support_xft=yes
133 support_unicode3=yes 198 support_unicode3=yes
134 support_combining=yes 199 support_combining=yes
200 #support_8bitctrls=yes
201 support_iso14755=yes
202 support_styles=yes
203 support_perl=yes
135 codesets=all 204 codesets=all
205 fi
136 fi]) 206 ])
137 207
138AC_ARG_ENABLE(unicode3, 208AC_ARG_ENABLE(unicode3,
139 [ --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],
140 [if test x$enableval = xyes -o x$enableval = xno; then 210 [if test x$enableval = xyes -o x$enableval = xno; then
141 support_unicode3=yes 211 support_unicode3=$enableval
142 fi]) 212 fi])
143 213
144AC_ARG_ENABLE(combining, 214AC_ARG_ENABLE(combining,
145 [ --enable-combining enable composition of base and combining characters], 215 [ --enable-combining enable composition of base and combining characters],
146 [if test x$enableval = xyes -o x$enableval = xno; then 216 [if test x$enableval = xyes -o x$enableval = xno; then
147 support_combining=yes 217 support_combining=$enableval
148 fi]) 218 fi])
149 219
150AC_ARG_ENABLE(xft, 220AC_ARG_ENABLE(xft,
151 [ --enable-xft enable xft support on systems that have it], 221 [ --enable-xft enable xft support on systems that have it],
152 [if test x$enableval = xyes -o x$enableval = xno; then 222 [if test x$enableval = xyes -o x$enableval = xno; then
153 support_xft=yes 223 support_xft=$enableval
224 fi])
225
226AC_ARG_ENABLE(font-styles,
227 [ --enable-font-styles enable bold and italic support],
228 [if test x$enableval = xyes -o x$enableval = xno; then
229 support_styles=$enableval
154 fi]) 230 fi])
155 231
156AC_ARG_ENABLE(utmp, 232AC_ARG_ENABLE(utmp,
157 [ --enable-utmp enable utmp (utmpx) support], 233 [ --enable-utmp enable utmp (utmpx) support],
158 [if test x$enableval = xyes -o x$enableval = xno; then 234 [if test x$enableval = xyes -o x$enableval = xno; then
187 [ --enable-tinting enable tinting of transparent bg], 263 [ --enable-tinting enable tinting of transparent bg],
188 [if test x$enableval = xyes -o x$enableval = xno; then 264 [if test x$enableval = xyes -o x$enableval = xno; then
189 support_tinting=$enableval 265 support_tinting=$enableval
190 fi]) 266 fi])
191 267
192AC_ARG_ENABLE(menubar, 268AC_ARG_ENABLE(fading,
193 [ --enable-menubar enable menubar], 269 [ --enable-fading enable colors fading when off focus],
194 [if test x$enableval = xyes -o x$enableval = xno; then 270 [if test x$enableval = xyes -o x$enableval = xno; then
195 support_menubar=$enableval 271 support_fading=$enableval
196 fi]) 272 fi])
197 273
198AC_ARG_ENABLE(rxvt-scroll, 274AC_ARG_ENABLE(rxvt-scroll,
199 [ --enable-rxvt-scroll enable rxvt style scrollbar], 275 [ --enable-rxvt-scroll enable rxvt style scrollbar],
200 [if test x$enableval = xyes -o x$enableval = xno; then 276 [if test x$enableval = xyes -o x$enableval = xno; then
211 [ --enable-xterm-scroll enable Xterm style scrollbar], 287 [ --enable-xterm-scroll enable Xterm style scrollbar],
212 [if test x$enableval = xyes -o x$enableval = xno; then 288 [if test x$enableval = xyes -o x$enableval = xno; then
213 support_scroll_xterm=$enableval 289 support_scroll_xterm=$enableval
214 fi]) 290 fi])
215 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
216AC_ARG_ENABLE(plain-scroll, 298AC_ARG_ENABLE(plain-scroll,
217 [ --enable-plain-scroll enable plain style scrollbar], 299 [ --enable-plain-scroll enable plain style scrollbar],
218 [if test x$enableval = xyes -o x$enableval = xno; then 300 [if test x$enableval = xyes -o x$enableval = xno; then
219 support_scroll_plain=$enableval 301 support_scroll_plain=$enableval
220 fi]) 302 fi])
221 303
222AC_ARG_ENABLE(half-shadow, 304dnl AC_ARG_ENABLE(half-shadow,
223 [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], 305dnl [ --enable-half-shadow use half width/height shadow on rxvt scrollbar],
224 [if test x$enableval = xyes; then 306dnl [if test x$enableval = xyes; then
225 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)
226 fi]) 308dnl fi])
227 309
228AC_ARG_WITH(codesets, 310AC_ARG_WITH(codesets,
229 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,cn,cn_ext,all)], 311 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
230 [codesets="$withval"]) 312 [codesets="$withval"])
231 313
232AC_ARG_ENABLE(xim, 314AC_ARG_ENABLE(xim,
233 [ --enable-xim XIM (X Input Method) protocol support], 315 [ --enable-xim XIM (X Input Method) protocol support],
234 [if test x$enableval = xyes -o x$enableval = xno; then 316 [if test x$enableval = xyes -o x$enableval = xno; then
257 [ --disable-resources disable all resource checking], 339 [ --disable-resources disable all resource checking],
258 [if test x$enableval = xno; then 340 [if test x$enableval = xno; then
259 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)
260 fi]) 342 fi])
261 343
262AC_ARG_ENABLE(xgetdefault, 344AC_ARG_ENABLE(8bitctrls,
263 [ --enable-xgetdefault enable resources via X instead of our small version], 345 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
264 [if test x$enableval = xyes; then 346 [if test x$enableval = xyes -o x$enableval = xno; then
265 AC_DEFINE(USE_XGETDEFAULT, 1, Define if you want to use XGetDefault instead of our internal version) 347 support_8bitctrls=$enableval
266 fi]) 348 fi])
267 349
268RESFALLBACK=Rxvt 350RESFALLBACK=Rxvt
269AC_ARG_ENABLE(fallback, 351AC_ARG_ENABLE(fallback,
270 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], 352 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
292 374
293RXVTNAME=urxvt 375RXVTNAME=urxvt
294AC_ARG_WITH(name, 376AC_ARG_WITH(name,
295 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)], 377 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
296 [RXVTNAME="$withval"]) 378 [RXVTNAME="$withval"])
379AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
297 380
298RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"` 381RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
299AC_SUBST(RXVTNAME) 382AC_SUBST(RXVTNAME)
300
301AC_ARG_ENABLE(strings,
302 [ --enable-strings enable some replacement system functions],
303 [if test x$enableval = xyes -o x$enableval = xno; then
304 support_addstrings=$enableval
305 fi])
306 383
307AC_ARG_ENABLE(swapscreen, 384AC_ARG_ENABLE(swapscreen,
308 [ --disable-swapscreen disable swap screen support], 385 [ --disable-swapscreen disable swap screen support],
309 [if test x$enableval = xno; then 386 [if test x$enableval = xno; then
310 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)
311 fi]) 388 fi])
312 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
313AC_ARG_ENABLE(frills, 396AC_ARG_ENABLE(frills,
314 [ --enable-frills enable support for rarely used features], 397 [ --enable-frills enable support for rarely used features],
315 [if test x$enableval = xyes -o x$enableval = xno; then 398 [if test x$enableval = xyes -o x$enableval = xno; then
316 support_frills=$enableval 399 support_frills=$enableval
317 fi])
318
319AC_ARG_ENABLE(linespace,
320 [ --enable-linespace enable support for linespace],
321 [if test x$enableval = xyes -o x$enableval = xno; then
322 support_linespace=$enableval
323 fi]) 400 fi])
324 401
325AC_ARG_ENABLE(24bit, 402AC_ARG_ENABLE(24bit,
326 [ --enable-24bit enable support for using 24bit visuals if available], 403 [ --enable-24bit enable support for using 24bit visuals if available],
327 [if test x$enableval = xyes -o x$enableval = xno; then 404 [if test x$enableval = xyes -o x$enableval = xno; then
375 [ --enable-smart-resize enable smart growth/shrink behaviour], 452 [ --enable-smart-resize enable smart growth/shrink behaviour],
376 [if test x$enableval = xyes; then 453 [if test x$enableval = xyes; then
377 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior) 454 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
378 fi]) 455 fi])
379 456
380AC_ARG_ENABLE(256-color,
381 [ --enable-256-color enable 256-color support],
382 [if test x$enableval = xyes; then
383 AC_DEFINE(TTY_256COLOR, 1, Define if you want 256 colour support)
384 fi])
385
386AC_ARG_ENABLE(cursor-blink,
387 [ --enable-cursor-blink enable blinking cursor],
388 [if test x$enableval = xyes -o x$enableval = xno; then
389 support_cursor_blink=$enableval
390 fi])
391
392AC_ARG_ENABLE(text-blink, 457AC_ARG_ENABLE(text-blink,
393 [ --enable-text-blink enable blinking text], 458 [ --enable-text-blink enable blinking text],
394 [if test x$enableval = xyes -o x$enableval = xno; then 459 [if test x$enableval = xyes -o x$enableval = xno; then
395 support_text_blink=$enableval 460 support_text_blink=$enableval
396 fi]) 461 fi])
414 fi]) 479 fi])
415 480
416dnl# -------------------------------------------------------------------------- 481dnl# --------------------------------------------------------------------------
417 482
418AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) 483AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes)
419
420dnl# --------------------------------------------------------------------------
421dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
422dnl#
423if test -z "$CFLAGS"; then
424 if test -z "$CCOPTS"; then
425 CCOPTS='-O'
426dnl> if test "x$GCC" = xyes; then
427dnl> if test x$system = xLinux; then
428dnl> CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
429dnl> fi
430dnl> fi
431 fi
432 CFLAGS="$CCOPTS"
433fi
434 484
435AC_PATH_PROG(MV, mv, mv) 485AC_PATH_PROG(MV, mv, mv)
436AC_PATH_PROG(RM, rm, rm) 486AC_PATH_PROG(RM, rm, rm)
437AC_PATH_PROG(CP, cp, cp) 487AC_PATH_PROG(CP, cp, cp)
438AC_PATH_PROG(LN, ln, ln) 488AC_PATH_PROG(LN, ln, ln)
439AC_PATH_PROG(SED, sed, sed) 489AC_PATH_PROG(SED, sed, sed)
440AC_PATH_PROG(ECHO, echo, echo) 490AC_PATH_PROG(ECHO, echo, echo)
441AC_PATH_PROG(CMP, cmp, cmp) 491AC_PATH_PROG(CMP, cmp, cmp)
442AC_PATH_PROG(TBL, tbl) 492AC_PATH_PROG(TBL, tbl)
493AC_PATH_PROG(TIC, tic)
443 494
444dnl# need a neat way to detect SVR4 or its features 495dnl# need a neat way to detect SVR4 or its features
445dnl# in src/command.c we use these functions: 496dnl# in src/command.c we use these functions:
446dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> 497dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
447dnl# - but are these also defined for other systems? 498dnl# - but are these also defined for other systems?
484 sys/byteorder.h \ 535 sys/byteorder.h \
485 sys/ioctl.h \ 536 sys/ioctl.h \
486 sys/select.h \ 537 sys/select.h \
487 sys/sockio.h \ 538 sys/sockio.h \
488 sys/strredir.h \ 539 sys/strredir.h \
540 sys/stropts.h \
489 sys/time.h \ 541 sys/time.h \
490 utmp.h \ 542 utmp.h \
491 utmpx.h \ 543 utmpx.h \
492 stdint.h \ 544 stdint.h \
545 pty.h \
546 util.h \
547 libutil.h \
548 wchar.h \
549 cwchar \
550 clocale \
493) 551)
494 552
495AC_HEADER_TIME 553AC_HEADER_TIME
496 554
497dnl# check to allow both <termios.h> and <sys/ioctl.h> 555dnl# check to allow both <termios.h> and <sys/ioctl.h>
498AC_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,
499[AC_TRY_COMPILE([#include <stdio.h> 557[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
500#include <sys/ioctl.h> 558#include <sys/ioctl.h>
501#ifdef HAVE_TERMIOS_H 559#ifdef HAVE_TERMIOS_H
502#include <termios.h> 560#include <termios.h>
503#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])])
504 562
505dnl# ELF systems may want to store paths for dynamic libraries. 563dnl# ELF systems may want to store paths for dynamic libraries.
506dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" 564dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
507dnl# 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.
508if test -n "$GCC"; then 566if test -n "$GCC"; then
517ac_save_CFLAGS=$CFLAGS 575ac_save_CFLAGS=$CFLAGS
518ac_save_LIBS=$LIBS 576ac_save_LIBS=$LIBS
519CFLAGS="$CFLAGS $X_CFLAGS" 577CFLAGS="$CFLAGS $X_CFLAGS"
520LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` 578LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
521AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, 579AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
522[AC_TRY_RUN([ 580[AC_RUN_IFELSE([AC_LANG_SOURCE([[
523main() 581main()
524{ 582{
525 exit(0); 583 exit(0);
526 (void) XOpenDisplay("foobar"); 584 (void) XOpenDisplay("foobar");
527}], rxvt_cv_rpath=yes, rxvt_cv_rpath=no, dnl 585}]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
528 AC_MSG_WARN([You may need to check the LIBS line]))]) 586 AC_MSG_WARN(You may need to check the LIBS line)])])
529if test x$rxvt_cv_rpath != xyes; then 587if test x$rxvt_cv_rpath != xyes; then
530 changequote(, )dnl 588 changequote(, )dnl
531 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' 589 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
532 changequote([, ])dnl 590 changequote([, ])dnl
533 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"`
534 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,
535[AC_TRY_RUN([ 593[AC_RUN_IFELSE([AC_LANG_SOURCE([[
536main() 594main()
537{ 595{
538 exit(0); 596 exit(0);
539 (void) XOpenDisplay("foobar"); 597 (void) XOpenDisplay("foobar");
540}], 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])])
541 if test x$rxvt_cv_R != xyes; then 599 if test x$rxvt_cv_R != xyes; then
542 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" 600 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
543 fi 601 fi
544fi 602fi
545 603
546AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, 604AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
547[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])])
548rxvt_cv_xpointer=yes, rxvt_cv_xpointer=no)])
549if test x$rxvt_cv_xpointer = xyes; then 606if test x$rxvt_cv_xpointer = xyes; then
550 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) 607 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
551fi 608fi
552LIBS=$ac_save_LIBS 609LIBS=$ac_save_LIBS
553CFLAGS=$ac_save_CFLAGS 610CFLAGS=$ac_save_CFLAGS
566dnl> AC_CHECK_TYPE(umode_t, int) 623dnl> AC_CHECK_TYPE(umode_t, int)
567dnl> AC_CHECK_TYPE(off_t, long) 624dnl> AC_CHECK_TYPE(off_t, long)
568AC_TYPE_PID_T 625AC_TYPE_PID_T
569AC_TYPE_UID_T 626AC_TYPE_UID_T
570 627
571
572AC_CHECK_SIZEOF(char, 1)
573AC_CHECK_SIZEOF(short, 2) 628AC_CHECK_SIZEOF(short, 2)
574AC_CHECK_SIZEOF(int, 4) 629AC_CHECK_SIZEOF(int, 4)
575AC_CHECK_SIZEOF(long, 4) 630dnl AC_CHECK_SIZEOF(long, 4)
576AC_CHECK_SIZEOF(long long, 8) 631AC_CHECK_SIZEOF(long long, 8)
577AC_CHECK_SIZEOF(int *, 4) 632AC_CHECK_SIZEOF(int *, 4)
578 633
579dnl# see usage below 634dnl# see usage below
580AC_DEFUN(RXVT_CHECK_SIZE, 635AC_DEFUN(RXVT_CHECK_SIZE,
581 [AC_CACHE_CHECK([for $2], $1, 636 [AC_CACHE_CHECK([for $2], $1,
582 [AC_TRY_COMPILE([#include <stdint.h>], $2 dummy;, 637 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
583 [$1=yes],
584 [dnl
585if test $ac_cv_sizeof_char -ge $3; then 638if test "$ac_cv_sizeof_char" -ge $3; then
586 $1="$4 char" 639 $1="$4 char"
587else 640else
588 if test $ac_cv_sizeof_short -ge $3; then 641 if test "$ac_cv_sizeof_short" -ge $3; then
589 $1="$4 short" 642 $1="$4 short"
590 else 643 else
591 if test $ac_cv_sizeof_int -ge $3; then 644 if test "$ac_cv_sizeof_int" -ge $3; then
592 $1="$4 int" 645 $1="$4 int"
593 else 646 else
594 if test $ac_cv_sizeof_long -ge $3; then 647 if test "$ac_cv_sizeof_long" -ge $3; then
595 $1="$4 long" 648 $1="$4 long"
596 else 649 else
597 if test $ac_cv_sizeof_long_long -ge $3; then 650 if test "$ac_cv_sizeof_long_long" -ge $3; then
598 $1="$4 long long" 651 $1="$4 long long"
599 else 652 else
600 $1="$4 $5" # we _must_ have a (possibly wrong) default 653 $1="$4 $5" # we _must_ have a (possibly wrong) default
601 fi 654 fi
602 fi 655 fi
629dnl 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)
630dnl AC_SUBST(rxvt_uint64_typedef) 683dnl AC_SUBST(rxvt_uint64_typedef)
631dnl# 684dnl#
632dnl# Now look for another we use 685dnl# Now look for another we use
633dnl# 686dnl#
634if test $ac_cv_sizeof_int_p -eq 8; then 687if test "$ac_cv_sizeof_int_p" -eq 8; then
635 rxvt_intp_define="#define intp_t int64_t" 688 rxvt_intp_define="#define intp_t int64_t"
636 rxvt_u_intp_define="#define u_intp_t u_int64_t" 689 rxvt_u_intp_define="#define u_intp_t u_int64_t"
637else 690else
638 if test $ac_cv_sizeof_int_p -eq 4; then 691 if test "$ac_cv_sizeof_int_p" -eq 4; then
639 rxvt_intp_define="#define intp_t int32_t" 692 rxvt_intp_define="#define intp_t int32_t"
640 rxvt_u_intp_define="#define u_intp_t u_int32_t" 693 rxvt_u_intp_define="#define u_intp_t u_int32_t"
641 else 694 else
642 if test $ac_cv_sizeof_int_p -eq 2; then 695 if test "$ac_cv_sizeof_int_p" -eq 2; then
643 rxvt_intp_define="#define intp_t int16_t" 696 rxvt_intp_define="#define intp_t int16_t"
644 rxvt_u_intp_define="#define u_intp_t u_int16_t" 697 rxvt_u_intp_define="#define u_intp_t u_int16_t"
645 else 698 else
646 rxvt_intp_define="#error set intp_t" 699 rxvt_intp_define="#error set intp_t"
647 rxvt_u_intp_define="#error set u_intp_t" 700 rxvt_u_intp_define="#error set u_intp_t"
671 seteuid \ 724 seteuid \
672 setreuid \ 725 setreuid \
673 setsid \ 726 setsid \
674 setpgrp \ 727 setpgrp \
675 setpgid \ 728 setpgid \
676 openpty \
677 _getpty \ 729 _getpty \
730 posix_openpt \
678 grantpt \ 731 grantpt \
679 unlockpt \ 732 unlockpt \
680 isastream \ 733 isastream \
681 on_exit \ 734 on_exit \
682 nanosleep \ 735 nanosleep \
683 updwtmp \ 736 updwtmp \
737 updwtmpx \
684 ttyslot \ 738 ttyslot \
685) 739)
686dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in
687 740
688dnl# -------------------------------------------------------------------------- 741dnl# --------------------------------------------------------------------------
689dnl# DO ALL UTMP AND WTMP CHECKING 742dnl# DO ALL UTMP AND WTMP CHECKING
690dnl# -------------------------------------------------------------------------- 743dnl# --------------------------------------------------------------------------
691dnl# check for host field in utmp structure 744dnl# check for host field in utmp structure
692 745
693dnl# -------------------------------------------- 746dnl# --------------------------------------------
694AC_CHECK_HEADER(utmp.h, 747AC_CHECK_HEADER(utmp.h,
695[AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, 748[AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp,
696[AC_TRY_COMPILE([#include <sys/types.h> 749[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
697#include <stdint.h> 750#include <stdint.h>
698#include <utmp.h>], 751#include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])])
699[struct utmp ut;],
700rxvt_cv_struct_utmp=yes, rxvt_cv_struct_utmp=no)])
701if test x$rxvt_cv_struct_utmp = xyes; then 752if test x$rxvt_cv_struct_utmp = xyes; then
702 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)
703fi 754fi
704] 755]
705 756
706AC_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,
707[AC_TRY_COMPILE([#include <sys/types.h> 758[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
708#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])])
709[struct utmp ut; ut.ut_host;],
710rxvt_cv_struct_utmp_host=yes, rxvt_cv_struct_utmp_host=no)])
711if test x$rxvt_cv_struct_utmp_host = xyes; then 760if test x$rxvt_cv_struct_utmp_host = xyes; then
712 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)
713fi 762fi
714 763
715AC_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,
716[AC_TRY_COMPILE([#include <sys/types.h> 765[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
717#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])])
718[struct utmp ut; ut.ut_pid;],
719rxvt_cv_struct_utmp_pid=yes, rxvt_cv_struct_utmp_pid=no)])
720if test x$rxvt_cv_struct_utmp_pid = xyes; then 767if test x$rxvt_cv_struct_utmp_pid = xyes; then
721 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)
722fi 769fi
723) dnl# AC_CHECK_HEADER(utmp.h 770) dnl# AC_CHECK_HEADER(utmp.h
724 771
725dnl# -------------------------------------------- 772dnl# --------------------------------------------
726 773
727AC_CHECK_HEADER(utmpx.h, 774AC_CHECK_HEADER(utmpx.h,
728[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,
729[AC_TRY_COMPILE([#include <sys/types.h> 791[AC_TRY_COMPILE([#include <sys/types.h>
730#include <utmpx.h>], 792#include <utmpx.h>],
731[struct utmpx ut;], 793[struct utmpx utx; utx.ut_session;],
732rxvt_cv_struct_utmpx=yes, rxvt_cv_struct_utmpx=no)]) 794rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)])
733if test x$rxvt_cv_struct_utmpx = xyes; then 795if test x$rxvt_cv_struct_utmpx_session = xyes; then
734 AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx)
735fi
736]
737
738AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host,
739[AC_TRY_COMPILE([#include <sys/types.h>
740#include <utmpx.h>],
741[struct utmpx utx; utx.ut_host;],
742rxvt_cv_struct_utmpx_host=yes, rxvt_cv_struct_utmpx_host=no)])
743if test x$rxvt_cv_struct_utmpx_host = xyes; then
744 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)
745fi 797fi
746) dnl# AC_CHECK_HEADER(utmpx.h 798) dnl# AC_CHECK_HEADER(utmpx.h
747
748 799
749dnl# -------------------------------------------------------------------------- 800dnl# --------------------------------------------------------------------------
750dnl# check for struct lastlog 801dnl# check for struct lastlog
751AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, 802AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog,
752[AC_TRY_COMPILE([#include <sys/types.h> 803[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
753#include <utmp.h> 804#include <utmp.h>
754#ifdef HAVE_LASTLOG_H 805#ifdef HAVE_LASTLOG_H
755#include <lastlog.h> 806#include <lastlog.h>
756#endif 807#endif
757],
758[struct lastlog ll;],
759rxvt_cv_struct_lastlog=yes, rxvt_cv_struct_lastlog=no)]) 808]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])])
760if test x$rxvt_cv_struct_lastlog = xyes; then 809if test x$rxvt_cv_struct_lastlog = xyes; then
761 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)
762fi 811fi
763 812
764dnl# check for struct lastlogx 813dnl# check for struct lastlogx
765AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, 814AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx,
766[AC_TRY_COMPILE([#include <sys/types.h> 815[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
767#include <utmpx.h> 816#include <utmpx.h>
768#ifdef HAVE_LASTLOG_H 817#ifdef HAVE_LASTLOG_H
769#include <lastlog.h> 818#include <lastlog.h>
770#endif 819#endif
771],
772[struct lastlogx ll;],
773rxvt_cv_struct_lastlogx=yes, rxvt_cv_struct_lastlogx=no)]) 820]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])])
774if test x$rxvt_cv_struct_lastlogx = xyes; then 821if test x$rxvt_cv_struct_lastlogx = xyes; then
775 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)
776fi 823fi
777 824
778dnl# -------------------------------------------------------------------------- 825dnl# --------------------------------------------------------------------------
779dnl# FIND FILES 826dnl# FIND FILES
780dnl# -------------------------------------------------------------------------- 827dnl# --------------------------------------------------------------------------
781 828
782dnl# find utmp 829dnl# find utmp
783AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, 830AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp,
784[AC_TRY_RUN([#include <stdio.h> 831[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
785#include <sys/types.h> 832#include <sys/types.h>
786#include <utmp.h> 833#include <utmp.h>
787#include <errno.h> 834#include <errno.h>
788main() 835main()
789{ 836{
804 fprintf(f, "%s\n", *u); 851 fprintf(f, "%s\n", *u);
805 exit(0); 852 exit(0);
806 } 853 }
807 } 854 }
808 exit(0); 855 exit(0);
809}], rxvt_cv_path_utmp=`cat conftestval`, rxvt_cv_path_utmp=, dnl 856}]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl
810 AC_MSG_WARN([Define RXVT_UTMP_FILE in config.h manually]))]) 857 AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])])
811if test x$rxvt_cv_path_utmp != x; then 858if test x$rxvt_cv_path_utmp != x; then
812 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)
813fi 860fi
814 861
815dnl# -------------------------------------------------------------------------- 862dnl# --------------------------------------------------------------------------
816 863
817dnl# 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
818dnl# 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.
819AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, 866AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx,
820[AC_TRY_RUN([#include <stdio.h> 867[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
821#include <sys/types.h> 868#include <sys/types.h>
822#include <utmpx.h> 869#include <utmpx.h>
823#include <errno.h> 870#include <errno.h>
824#include <sys/stat.h> 871#include <sys/stat.h>
825#ifdef HAVE_STRING_H 872#ifdef HAVE_STRING_H
850 fprintf(f, "%s\n", *u); 897 fprintf(f, "%s\n", *u);
851 exit(0); 898 exit(0);
852 } 899 }
853 } 900 }
854 exit(0); 901 exit(0);
855}], rxvt_cv_path_utmpx=`cat conftestval`, rxvt_cv_path_utmpx=, dnl 902}]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl
856 AC_MSG_WARN([Define RXVT_UTMPX_FILE in config.h manually]))]) 903 AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])])
857if test x$rxvt_cv_path_utmpx != x; then 904if test x$rxvt_cv_path_utmpx != x; then
858 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)
859fi 906fi
860 907
861dnl# -------------------------------------------------------------------------- 908dnl# --------------------------------------------------------------------------
862 909
863dnl# find wtmp 910dnl# find wtmp
864AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, 911AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp,
865[AC_TRY_RUN([#include <stdio.h> 912[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
866#include <sys/types.h> 913#include <sys/types.h>
867#ifdef HAVE_UTMP_H 914#ifdef HAVE_UTMP_H
868#include <utmp.h> 915#include <utmp.h>
869#endif 916#endif
870#include <errno.h> 917#include <errno.h>
887 fprintf(f, "%s\n", *w); 934 fprintf(f, "%s\n", *w);
888 exit(0); 935 exit(0);
889 } 936 }
890 } 937 }
891 exit(0); 938 exit(0);
892}], rxvt_cv_path_wtmp=`cat conftestval`, rxvt_cv_path_wtmp=, dnl 939}]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl
893 AC_MSG_WARN([Define RXVT_WTMP_FILE in config.h manually]))]) 940 AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])])
894if test x$rxvt_cv_path_wtmp != x; then 941if test x$rxvt_cv_path_wtmp != x; then
895 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)
896fi 943fi
897dnl# -------------------------------------------------------------------------- 944dnl# --------------------------------------------------------------------------
898 945
899dnl# find wtmpx 946dnl# find wtmpx
900AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, 947AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx,
901[AC_TRY_RUN([#include <stdio.h> 948[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
902#ifdef HAVE_UTMPX_H 949#ifdef HAVE_UTMPX_H
903#include <utmpx.h> 950#include <utmpx.h>
904#endif 951#endif
905#include <errno.h> 952#include <errno.h>
906main() 953main()
922 fprintf(f, "%s\n", *w); 969 fprintf(f, "%s\n", *w);
923 exit(0); 970 exit(0);
924 } 971 }
925 } 972 }
926 exit(0); 973 exit(0);
927}], rxvt_cv_path_wtmpx=`cat conftestval`, rxvt_cv_path_wtmpx=, dnl 974}]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl
928 AC_MSG_WARN([Define RXVT_WTMPX_FILE in config.h manually]))]) 975 AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])])
929if test x$rxvt_cv_path_wtmpx != x; then 976if test x$rxvt_cv_path_wtmpx != x; then
930 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)
931fi 978fi
932dnl# -------------------------------------------------------------------------- 979dnl# --------------------------------------------------------------------------
933 980
934dnl# find lastlog 981dnl# find lastlog
935AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, 982AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog,
936[AC_TRY_RUN([#include <stdio.h> 983[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
937#include <sys/types.h> 984#include <sys/types.h>
938#ifdef HAVE_UTMPX_H 985#ifdef HAVE_UTMPX_H
939#include <utmpx.h> 986#include <utmpx.h>
940#elif defined(HAVE_UTMP_H) 987#elif defined(HAVE_UTMP_H)
941#include <utmp.h> 988#include <utmp.h>
962 fprintf(f, "%s\n", *w); 1009 fprintf(f, "%s\n", *w);
963 exit(0); 1010 exit(0);
964 } 1011 }
965 } 1012 }
966 exit(0); 1013 exit(0);
967}], rxvt_cv_path_lastlog=`cat conftestval`, rxvt_cv_path_lastlog=, dnl 1014}]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl
968 AC_MSG_WARN([Define RXVT_LASTLOG_FILE in config.h manually]))]) 1015 AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])])
969if test x$rxvt_cv_path_lastlog != x; then 1016if test x$rxvt_cv_path_lastlog != x; then
970 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)
971 if test -d "$rxvt_cv_path_lastlog"; then 1018 if test -d "$rxvt_cv_path_lastlog"; then
972 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)
973 fi 1020 fi
974fi 1021fi
975dnl# -------------------------------------------------------------------------- 1022dnl# --------------------------------------------------------------------------
976 1023
977dnl# find lastlogx 1024dnl# find lastlogx
978AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, 1025AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx,
979[AC_TRY_RUN([#include <stdio.h> 1026[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
980#ifdef HAVE_UTMPX_H 1027#ifdef HAVE_UTMPX_H
981#include <utmpx.h> 1028#include <utmpx.h>
982#endif 1029#endif
983#include <errno.h> 1030#include <errno.h>
984main() 1031main()
999 fprintf(f, "%s\n", *w); 1046 fprintf(f, "%s\n", *w);
1000 exit(0); 1047 exit(0);
1001 } 1048 }
1002 } 1049 }
1003 exit(0); 1050 exit(0);
1004}], rxvt_cv_path_lastlogx=`cat conftestval`, rxvt_cv_path_lastlogx=, dnl 1051}]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl
1005 AC_MSG_WARN([Define RXVT_LASTLOGX_FILE in config.h manually]))]) 1052 AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])])
1006if test x$rxvt_cv_path_lastlogx != x; then 1053if test x$rxvt_cv_path_lastlogx != x; then
1007 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)
1008fi 1055fi
1009 1056
1010dnl# -------------------------------------------------------------------------- 1057dnl# --------------------------------------------------------------------------
1034LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" 1081LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
1035if 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
1036 LIBS=`echo $LIBS | sed "$R_TRANSLATE"` 1083 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
1037fi 1084fi
1038AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, 1085AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
1039[AC_TRY_RUN([#include <X11/Xlib.h> 1086[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
1040main() { 1087main() {
1041char *p; 1088char *p;
1042if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) 1089if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
1043exit (XSupportsLocale() ? 0 : 1); 1090exit (XSupportsLocale() ? 0 : 1);
1044else 1091else
1045exit (1);}], dnl 1092exit (1);}]])],[dnl
1046 rxvt_cv_func_xlocale=yes, rxvt_cv_func_xlocale=no, dnl 1093 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
1047 AC_MSG_WARN([Define NO_XLOCALE in config.h manually]))]) 1094 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
1048if test x$rxvt_cv_func_xlocale = xyes; then 1095if test x$rxvt_cv_func_xlocale = xyes; then
1049 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) 1096 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
1050fi 1097fi
1051 1098
1052AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, 1099AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
1053[AC_TRY_LINK([#define X_LOCALE 1 1100[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
1054#include <X11/Xlocale.h>], 1101#include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
1055 [setlocale(LC_CTYPE, "");],
1056 rxvt_cv_func_xsetlocale=yes, rxvt_cv_func_xsetlocale=no)])
1057if test x$rxvt_cv_func_xsetlocale = xyes; then 1102if test x$rxvt_cv_func_xsetlocale = xyes; then
1058 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)
1059fi 1104fi
1060LIBS=$ac_save_LIBS 1105LIBS=$ac_save_LIBS
1061CFLAGS=$ac_save_CFLAGS 1106CFLAGS=$ac_save_CFLAGS
1062 1107
1063AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, 1108AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
1064[AC_TRY_LINK([#include <clocale>], 1109[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
1065 [setlocale(LC_CTYPE, "");],
1066 rxvt_cv_func_setlocale=yes, rxvt_cv_func_setlocale=no)])
1067if test x$rxvt_cv_func_setlocale = xyes; then 1110if test x$rxvt_cv_func_setlocale = xyes; then
1068 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) 1111 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
1069fi 1112fi
1070 1113
1071AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, 1114AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
1072[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])])
1073 [nl_langinfo(CODESET);],
1074 rxvt_cv_func_nl_langinfo=yes, rxvt_cv_func_nl_langinfo=no)])
1075if test x$rxvt_cv_func_nl_langinfo = xyes; then 1116if test x$rxvt_cv_func_nl_langinfo = xyes; then
1076 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)
1077fi 1118fi
1078 1119
1079AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, 1120AC_CACHE_CHECK(for unix-compliant filehandle passing ability, rxvt_can_pass_fds,
1080[AC_TRY_LINK([#define _GNU_SOURCE 1121[AC_TRY_LINK([
1081#ifdef HAVE_STDLIB_H 1122#include <sys/types.h>
1082# include <cstdlib> 1123#include <sys/socket.h>
1083#endif], 1124],[
1084 [(void)getpt();], 1125{
1085 rxvt_cv_func_getpt=yes, rxvt_cv_func_getpt=no)]) 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])])
1086if test x$rxvt_cv_func_getpt = xyes; then 1149if test x$rxvt_can_pass_fds = xyes; then
1087 AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) 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([
1155#include <X11/Xlib.h>
1156
1157void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
1158
1159void f() {
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"])])
1088fi 1171fi
1089 1172
1090dnl# 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
1091AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, 1174AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys,
1092[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
1093 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
1094 else if test x$ac_cv_func__getpty = xyes; then 1179 else if test x$ac_cv_func__getpty = xyes; then
1095 rxvt_cv_ptys=SGI4 1180 rxvt_cv_ptys=SGI4
1096 else if test -c /dev/ttyp20; then 1181 else if test -c /dev/ttyp20; then
1097 rxvt_cv_ptys=SCO 1182 rxvt_cv_ptys=SCO
1098 else if test -c /dev/ptym/clone; then 1183 else if test -c /dev/ptym/clone; then
1099 rxvt_cv_ptys=HPUX 1184 rxvt_cv_ptys=HPUX
1100 else if test x$rxvt_cv_func_getpt = xyes; then
1101 rxvt_cv_ptys=GLIBC
1102 else if test -c /dev/ptc -a -c /dev/pts; then 1185 else if test -c /dev/ptc -a -c /dev/pts; then
1103 rxvt_cv_ptys=PTC 1186 rxvt_cv_ptys=PTC
1104 else if test -c /dev/ptc -a -d /dev/pts; then 1187 else if test -c /dev/ptc -a -d /dev/pts; then
1105 rxvt_cv_ptys=PTC 1188 rxvt_cv_ptys=PTC
1106 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
1119fi 1202fi
1120fi 1203fi
1121fi 1204fi
1122]) 1205])
1123 1206
1207if test x$rxvt_cv_ptys = xPOSIX; then
1208 AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type)
1209fi
1124if test x$rxvt_cv_ptys = xOPENPTY; then 1210if test x$rxvt_cv_ptys = xOPENPTY; then
1125 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) 1211 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type)
1126fi 1212fi
1127if test x$rxvt_cv_ptys = xSCO; then 1213if test x$rxvt_cv_ptys = xSCO; then
1128 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) 1214 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type)
1134 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) 1220 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type)
1135fi 1221fi
1136if test x$rxvt_cv_ptys = xSGI4; then 1222if test x$rxvt_cv_ptys = xSGI4; then
1137 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) 1223 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type)
1138fi 1224fi
1139if test x$rxvt_cv_ptys = xCONVEX; then
1140 AC_DEFINE(PTYS_ARE_GETPTY, 1, Define for this pty type)
1141fi
1142if test x$rxvt_cv_ptys = xGLIBC; then
1143 AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type)
1144fi
1145if test x$rxvt_cv_ptys = xHPUX; then 1225if test x$rxvt_cv_ptys = xHPUX; then
1146 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) 1226 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type)
1147fi 1227fi
1148if 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
1149 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) 1229 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type)
1150fi 1230fi
1151 1231
1152 1232
1153AC_CHECKING(for pty ranges) 1233AS_MESSAGE(checking for pty ranges...)
1154ptys=`echo /dev/pty??` 1234ptys=`echo /dev/pty??`
1155pch1=`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'`
1156pch2=`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'`
1157if test x$pch1 != x; then 1237if test x$pch1 != x; then
1158 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) 1238 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX)
1162fi 1242fi
1163 1243
1164dnl# -------------------------------------------------------------------------- 1244dnl# --------------------------------------------------------------------------
1165dnl# now add and remove other stuff 1245dnl# now add and remove other stuff
1166dnl# -------------------------------------------------------------------------- 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
1167if test x$support_tinting = xyes; then 1270if test x$support_tinting = xyes; then
1168 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted) 1271 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
1169fi 1272fi
1170if test x$support_inheritpixmap = xyes; then 1273if test x$support_inheritpixmap = xyes; then
1171 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)
1174 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)
1175fi 1278fi
1176if test x$support_selectionscrolling = xyes; then 1279if test x$support_selectionscrolling = xyes; then
1177 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)
1178fi 1281fi
1179if test x$support_menubar = xyes; then
1180 AC_DEFINE(MENUBAR, 1, Define if you want Menubar support)
1181fi
1182if test x$support_frills = xno; then 1282if test x$support_frills = xyes; then
1183 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)
1184fi
1185if test x$support_linespace = xno; then
1186 AC_DEFINE(NO_LINESPACE, 1, Define if you don't want support linespace)
1187fi 1284fi
1188if test x$support_24bit = xyes; then 1285if test x$support_24bit = xyes; then
1189 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)
1190fi 1287fi
1191if test x$support_mousewheel = xyes; then 1288if test x$support_mousewheel = xyes; then
1228 scrolltypes="$scrolltypes plain" 1325 scrolltypes="$scrolltypes plain"
1229fi 1326fi
1230if test x$support_pointer_blank = xyes; then 1327if test x$support_pointer_blank = xyes; then
1231 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)
1232fi 1329fi
1233if test x$support_cursor_blink = xyes; then
1234 AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support)
1235fi
1236if test x$support_text_blink = xyes; then 1330if test x$support_text_blink = xyes; then
1237 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)
1238fi 1332fi
1239if test x$support_unicode3 = xyes; then 1333if test x$support_unicode3 = xyes; then
1240 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)
1241fi 1335fi
1242if test x$support_combining = xyes; then 1336if test x$support_combining = xyes; then
1243 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters) 1337 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
1244fi 1338fi
1245if test x$codesets = xall; then 1339if test x$codesets = xall; then
1246 codesets=jp,jp-ext,kr,cn,cn-ext 1340 codesets=jp,jp-ext,kr,zh,zh-ext
1247fi 1341fi
1342AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1343AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
1248for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do 1344for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
1249 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1250 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
1251 case "$codeset" in 1345 case "$codeset" in
1252 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) ;;
1253 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) ;;
1254 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) ;;
1255 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) ;;
1256 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) ;;
1257 esac 1351 esac
1258done 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
1259 1403
1260dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket) 1404dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket)
1261 1405
1262CFLAGS=${CFLAGS--O} 1406CFLAGS=${CFLAGS--O}
1263LDFLAGS=${LDFLAGS--O} 1407LDFLAGS=${LDFLAGS--O}
1280fi 1424fi
1281AC_SUBST(DLIB) 1425AC_SUBST(DLIB)
1282AC_SUBST(LIBS) 1426AC_SUBST(LIBS)
1283AC_SUBST(X_LIBS) 1427AC_SUBST(X_LIBS)
1284AC_SUBST(X_EXTRA_LIBS) 1428AC_SUBST(X_EXTRA_LIBS)
1285
1286if test x$support_addstrings = xno; then
1287 AC_DEFINE(NO_STRINGS, 1, Define if you don't need to use our replacement string functions)
1288fi
1289 1429
1290dnl# common parts of the Makefile 1430dnl# common parts of the Makefile
1291MCOMMON=./autoconf/Make.common 1431MCOMMON=./autoconf/Make.common
1292AC_SUBST_FILE(MCOMMON) 1432AC_SUBST_FILE(MCOMMON)
1293 1433
1316RXVT_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)
1317RXVT_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)
1318RXVT_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)
1319RXVT_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)
1320 1460
1321if test x$support_xft = xyes; then
1322 LIBS="$LIBS `pkg-config xft --libs`"
1323 CFLAGS="$CFLAGS `pkg-config xft --cflags`"
1324 CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`"
1325
1326 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
1327 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
1328
1329 if test x$support_xft = xyes; then
1330 AC_DEFINE(XFT, 1, Define to enable xft support)
1331 fi
1332fi
1333
1334AC_OUTPUT(autoconf/Make.common \ 1461AC_CONFIG_FILES([autoconf/Make.common \
1335Makefile \ 1462Makefile \
1336doc/Makefile \ 1463doc/Makefile \
1337src/Makefile \ 1464src/Makefile \
1338src/test/Makefile \
1339src/rxvtlib.h \ 1465src/rxvtlib.h \
1340W11/Makefile \ 1466])
1341) 1467AC_OUTPUT
1342 1468
1343echo "Configuration: 1469echo "Configuration:
1344 1470
1345 Rxvt version: $VERSION : $DATE 1471 Rxvt version: $VERSION : $DATE
1346 Source code location: $srcdir 1472 Source code location: $srcdir
1375 utmp file: $rxvt_cv_path_utmp 1501 utmp file: $rxvt_cv_path_utmp
1376 utmpx file: $rxvt_cv_path_utmpx 1502 utmpx file: $rxvt_cv_path_utmpx
1377 wtmp file: $rxvt_cv_path_wtmp 1503 wtmp file: $rxvt_cv_path_wtmp
1378 wtmpx file: $rxvt_cv_path_wtmpx 1504 wtmpx file: $rxvt_cv_path_wtmpx
1379 lastlog file: $rxvt_cv_path_lastlog 1505 lastlog file: $rxvt_cv_path_lastlog
1380 ttys/ttytab file: $rxvt_cv_path_ttytab" 1506 ttys/ttytab file: $rxvt_cv_path_ttytab
1507 embedded perl: $support_perl"
1381 echo 1508 echo
1382fi 1509fi
1383if test x$term != x; then 1510if test x$term != x; then
1384 echo " set TERM to: $term" 1511 echo " set TERM to: $term"
1385fi 1512fi
1414 echo ". functions could not be found. ." 1541 echo ". functions could not be found. ."
1415 echo ". XIM is now being DISABLED! ." 1542 echo ". XIM is now being DISABLED! ."
1416 echo ".----------------------------------------------------------------." 1543 echo ".----------------------------------------------------------------."
1417fi 1544fi
1418 1545
1419echo " *** Please check src/feature.h for further options ***" 1546echo " *** Optionally check src/feature.h for further options ***"
1420echo 1547echo
1421 1548
1422echo ".----------------------------------------------------------------." 1549echo ".----------------------------------------------------------------."
1423echo ". NOTE: most features are disabled by default, try ." 1550echo ". NOTE: some features are disabled by default, try ."
1424echo ". configure --help to get an idea of the optional features ." 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. ."
1425echo ".----------------------------------------------------------------." 1557echo ".----------------------------------------------------------------."
1426echo 1558echo
1427 1559

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines