ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.45
Committed: Tue Jan 11 04:44:57 2005 UTC (19 years, 5 months ago) by root
Branch: MAIN
Changes since 1.44: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 dnl# -*- sh -*-
2 dnl#
3 dnl# Process this file with autoconf to produce a configure script.
4 dnl#
5 AC_INIT
6 AC_CONFIG_SRCDIR([src/feature.h])
7 AC_CONFIG_AUX_DIR(autoconf)
8 AC_CONFIG_HEADER(config.h:autoconf/config.h.in)
9
10 AC_CANONICAL_HOST
11
12 dnl RXVT version
13 changequote(, )dnl
14 VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
15 DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
16 LSMDATE=`sed -n -e 's/^.*[ \t]LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
17 LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
18 changequote([, ])dnl
19 AC_SUBST(VERSION)dnl
20 AC_SUBST(DATE)dnl
21 AC_SUBST(LSMDATE)dnl
22 AC_SUBST(LIBVERSION)dnl
23 echo ""
24 echo "configuring for rxvt $VERSION"
25 echo ""
26
27 dnl# Checks for programs.
28 dnl AC_MAKE_SET
29
30 AC_PROG_CC
31 AC_PROG_CXX
32 AC_PROG_CPP
33 AC_PROG_INSTALL
34 AC_PROG_AWK
35
36 AC_LANG(C)
37
38 LINKER="$CXX"
39 if test x$GCC = xyes && test x$GXX = xyes; then
40 AC_CHECK_LIB(supc++, main, [
41 LINKER="$CC"
42 LIBS="$LIBS -lsupc++"
43 ])
44 fi
45 AC_SUBST(LINKER,[$LINKER])
46
47 AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
48
49 case $host in
50 *-*-solaris* )
51 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
52 AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
53 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
54 ;;
55 esac
56
57 dnl if test x$GXX = xyes; then
58 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
59 dnl fi
60
61 AC_LANG(C++)
62
63 dnl# system hacks
64 AC_AIX
65 AC_ISC_POSIX
66
67 dnl# FreeBSD needs to link libxpg4
68 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
69
70 dnl solaris needs to link libnsl and socket
71 AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])
72 AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])
73
74 AC_ENABLE_SHARED(no)dnl# libtool
75 AC_ENABLE_STATIC(yes)dnl# libtool
76 AC_PROG_LIBTOOL()dnl# libtool
77
78 MALLOC_TYPE=S
79 support_addstrings=no
80 support_frills=no
81 support_inheritpixmap=no
82 support_tinting=no
83 support_fading=no
84 support_keepscrolling=no
85 support_selectionscrolling=no
86 support_menubar=no
87 support_mousewheel=no
88 support_mouseslipwheel=no
89 support_utmp=no
90 support_wtmp=no
91 support_lastlog=no
92 support_cursor_blink=no
93 support_text_blink=no
94 support_pointer_blank=no
95 support_scroll_rxvt=no
96 support_scroll_next=no
97 support_scroll_xterm=no
98 support_scroll_plain=no
99 support_xim=no
100 support_xpm=no
101 support_xft=no
102 support_unicode3=no
103 support_combining=no
104 support_8bitctrls=no
105 support_iso14755=no
106 support_styles=no
107 codesets=
108
109 dnl# --------------------------------------------------------------------------
110 dnl# CHECKING COMMAND LINE OPTIONS
111 dnl# --------------------------------------------------------------------------
112
113 if test "x$enable_shared" = xyes; then
114 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
115 INSTALL_LIBRXVT=yes
116 fi
117 AC_SUBST(INSTALL_LIBRXVT)
118
119 AC_ARG_ENABLE(everything,
120 [ --enable-everything enable standard non-multichoice features
121 NOTE: this option is order dependent
122 NOTE: automatically enabled with --enable-shared],
123 [if test x$enableval = xyes; then
124 support_24bit=yes
125 support_frills=yes
126 support_inheritpixmap=yes
127 support_tinting=yes
128 support_fading=yes
129 support_keepscrolling=yes
130 support_selectionscrolling=yes
131 support_lastlog=yes
132 support_menubar=yes
133 support_mousewheel=yes
134 support_mouseslipwheel=yes
135 support_cursor_blink=yes
136 support_text_blink=yes
137 support_pointer_blank=yes
138 support_scroll_rxvt=yes
139 support_scroll_next=yes
140 support_scroll_xterm=yes
141 support_scroll_plain=yes
142 support_utmp=yes
143 support_wtmp=yes
144 support_xim=yes
145 support_xpm=yes
146 support_xft=yes
147 support_unicode3=yes
148 support_combining=yes
149 #support_8bitctrls=yes
150 support_iso14755=yes
151 support_styles=yes
152 codesets=all
153 fi])
154
155 AC_ARG_ENABLE(unicode3,
156 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
157 [if test x$enableval = xyes -o x$enableval = xno; then
158 support_unicode3=$enableval
159 fi])
160
161 AC_ARG_ENABLE(combining,
162 [ --enable-combining enable composition of base and combining characters],
163 [if test x$enableval = xyes -o x$enableval = xno; then
164 support_combining=$enableval
165 fi])
166
167 AC_ARG_ENABLE(xft,
168 [ --enable-xft enable xft support on systems that have it],
169 [if test x$enableval = xyes -o x$enableval = xno; then
170 support_xft=$enableval
171 fi])
172
173 AC_ARG_ENABLE(font-styles,
174 [ --enable-font-styles enable bold and italic support],
175 [if test x$enableval = xyes -o x$enableval = xno; then
176 support_styles=$enableval
177 fi])
178
179 AC_ARG_ENABLE(utmp,
180 [ --enable-utmp enable utmp (utmpx) support],
181 [if test x$enableval = xyes -o x$enableval = xno; then
182 support_utmp=$enableval
183 fi])
184
185 AC_ARG_ENABLE(wtmp,
186 [ --enable-wtmp enable wtmp (wtmpx) support (requires --enable-utmp)],
187 [if test x$enableval = xyes -o x$enableval = xno; then
188 support_wtmp=$enableval
189 fi])
190
191 AC_ARG_ENABLE(lastlog,
192 [ --enable-lastlog enable lastlog support (requires --enable-utmp)],
193 [if test x$enableval = xyes -o x$enableval = xno; then
194 support_lastlog=$enableval
195 fi])
196
197 AC_ARG_ENABLE(xpm-background,
198 [ --enable-xpm-background enable XPM background pixmaps],
199 [if test x$enableval = xyes -o x$enableval = xno; then
200 support_xpm=$enableval
201 fi])
202
203 AC_ARG_ENABLE(transparency,
204 [ --enable-transparency enable transparent backgrounds],
205 [if test x$enableval = xyes -o x$enableval = xno; then
206 support_inheritpixmap=$enableval
207 fi])
208
209 AC_ARG_ENABLE(tinting,
210 [ --enable-tinting enable tinting of transparent bg],
211 [if test x$enableval = xyes -o x$enableval = xno; then
212 support_tinting=$enableval
213 fi])
214
215 AC_ARG_ENABLE(fading,
216 [ --enable-fading enable colors fading when off focus],
217 [if test x$enableval = xyes -o x$enableval = xno; then
218 support_fading=$enableval
219 fi])
220
221 AC_ARG_ENABLE(menubar,
222 [ --enable-menubar enable menubar],
223 [if test x$enableval = xyes -o x$enableval = xno; then
224 support_menubar=$enableval
225 fi])
226
227 AC_ARG_ENABLE(rxvt-scroll,
228 [ --enable-rxvt-scroll enable rxvt style scrollbar],
229 [if test x$enableval = xyes -o x$enableval = xno; then
230 support_scroll_rxvt=$enableval
231 fi])
232
233 AC_ARG_ENABLE(next-scroll,
234 [ --enable-next-scroll enable NeXT style scrollbar],
235 [if test x$enableval = xyes -o x$enableval = xno; then
236 support_scroll_next=$enableval
237 fi])
238
239 AC_ARG_ENABLE(xterm-scroll,
240 [ --enable-xterm-scroll enable Xterm style scrollbar],
241 [if test x$enableval = xyes -o x$enableval = xno; then
242 support_scroll_xterm=$enableval
243 fi])
244
245 AC_ARG_ENABLE(plain-scroll,
246 [ --enable-plain-scroll enable plain style scrollbar],
247 [if test x$enableval = xyes -o x$enableval = xno; then
248 support_scroll_plain=$enableval
249 fi])
250
251 AC_ARG_ENABLE(half-shadow,
252 [ --enable-half-shadow use half width/height shadow on rxvt scrollbar],
253 [if test x$enableval = xyes; then
254 AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less)
255 fi])
256
257 AC_ARG_WITH(codesets,
258 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
259 [codesets="$withval"])
260
261 AC_ARG_ENABLE(xim,
262 [ --enable-xim XIM (X Input Method) protocol support],
263 [if test x$enableval = xyes -o x$enableval = xno; then
264 support_xim=$enableval
265 fi])
266
267 AC_ARG_ENABLE(ttygid,
268 [ --enable-ttygid enable tty setting to group named "tty"],
269 [if test x$enableval = xyes; then
270 AC_DEFINE(TTY_GID_SUPPORT, 1, Define to change gid of ttys to group tty)
271 fi])
272
273 AC_ARG_ENABLE(backspace-key,
274 [ --disable-backspace-key disable handling of the backspace key],
275 [if test x$enableval = xno; then
276 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
277 fi])
278
279 AC_ARG_ENABLE(delete-key,
280 [ --disable-delete-key disable handling of the delete key],
281 [if test x$enableval = xno; then
282 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
283 fi])
284
285 AC_ARG_ENABLE(resources,
286 [ --disable-resources disable all resource checking],
287 [if test x$enableval = xno; then
288 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
289 fi])
290
291 AC_ARG_ENABLE(xgetdefault,
292 [ --enable-xgetdefault enable resources via X instead of our small version],
293 [if test x$enableval = xyes; then
294 AC_DEFINE(USE_XGETDEFAULT, 1, Define if you want to use XGetDefault instead of our internal version)
295 fi])
296
297 AC_ARG_ENABLE(8bitctrls,
298 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
299 [if test x$enableval = xyes -o x$enableval = xno; then
300 support_8bitctrls=$enableval
301 fi])
302
303 RESFALLBACK=Rxvt
304 AC_ARG_ENABLE(fallback,
305 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
306 [
307 test x$enableval = xyes && enableval=Rxvt
308 test x$enableval = xno && enableval=
309 RESFALLBACK="$enableval"
310 ])
311
312 if test x$RESFALLBACK != x; then
313 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
314 fi
315
316 RESNAME=urxvt
317 AC_ARG_WITH(res-name,
318 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
319 [RESNAME="$withval"])
320 AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
321
322 RESCLASS=URxvt
323 AC_ARG_WITH(res-class,
324 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
325 [RESCLASS="$withval"])
326 AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
327
328 RXVTNAME=urxvt
329 AC_ARG_WITH(name,
330 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
331 [RXVTNAME="$withval"])
332 AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
333
334 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
335 AC_SUBST(RXVTNAME)
336
337 AC_ARG_ENABLE(strings,
338 [ --enable-strings enable some replacement system functions],
339 [if test x$enableval = xyes -o x$enableval = xno; then
340 support_addstrings=$enableval
341 fi])
342
343 AC_ARG_ENABLE(swapscreen,
344 [ --disable-swapscreen disable swap screen support],
345 [if test x$enableval = xno; then
346 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
347 fi])
348
349 AC_ARG_ENABLE(iso14755,
350 [ --enable-iso14755 enable support for extended ISO 14755 modes],
351 [if test x$enableval = xyes -o x$enableval = xno; then
352 support_iso14755=$enableval
353 fi])
354
355 AC_ARG_ENABLE(frills,
356 [ --enable-frills enable support for rarely used features],
357 [if test x$enableval = xyes -o x$enableval = xno; then
358 support_frills=$enableval
359 fi])
360
361 AC_ARG_ENABLE(24bit,
362 [ --enable-24bit enable support for using 24bit visuals if available],
363 [if test x$enableval = xyes -o x$enableval = xno; then
364 support_24bit=$enableval
365 fi])
366
367 AC_ARG_ENABLE(keepscrolling,
368 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press],
369 [if test x$enableval = xyes -o x$enableval = xno; then
370 support_keepscrolling=$enableval
371 fi])
372
373 AC_ARG_ENABLE(selectionscrolling,
374 [ --enable-selectionscrolling enable scrolling during selections],
375 [if test x$enableval = xyes -o x$enableval = xno; then
376 support_selectionscrolling=$enableval
377 fi])
378
379 AC_ARG_ENABLE(mousewheel,
380 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5],
381 [if test x$enableval = xyes -o x$enableval = xno; then
382 support_mousewheel=$enableval
383 fi])
384
385 AC_ARG_ENABLE(slipwheeling,
386 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
387 [if test x$enableval = xyes -o x$enableval = xno; then
388 support_mouseslipwheel=$enableval
389 fi])
390
391 AC_ARG_ENABLE(dmalloc,
392 [ --enable-dmalloc enable Gray Watson's malloc - for debugging use],
393 [if test x$enableval = xyes; then
394 MALLOC_TYPE=G
395 DEBUG=-DDEBUG_MALLOC
396 DLIB="-L/usr/local/lib -ldmalloc"
397 DINCLUDE=-I/usr/local/include
398 fi])
399
400 AC_ARG_ENABLE(dlmalloc,
401 [ --enable-dlmalloc enable Doug Lea's malloc - for production use
402 NOTE: enable only one malloc package],
403 [if test x$enableval = xyes; then
404 MALLOC_TYPE=D
405 DEBUG=
406 DLIB="-L/usr/local/lib -ldlmalloc"
407 DINCLUDE=
408 fi])
409
410 AC_ARG_ENABLE(smart-resize,
411 [ --enable-smart-resize enable smart growth/shrink behaviour],
412 [if test x$enableval = xyes; then
413 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
414 fi])
415
416 AC_ARG_ENABLE(cursor-blink,
417 [ --enable-cursor-blink enable blinking cursor],
418 [if test x$enableval = xyes -o x$enableval = xno; then
419 support_cursor_blink=$enableval
420 fi])
421
422 AC_ARG_ENABLE(text-blink,
423 [ --enable-text-blink enable blinking text],
424 [if test x$enableval = xyes -o x$enableval = xno; then
425 support_text_blink=$enableval
426 fi])
427
428 AC_ARG_ENABLE(pointer-blank,
429 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
430 [if test x$enableval = xyes -o x$enableval = xno; then
431 support_pointer_blank=$enableval
432 fi])
433
434 AC_ARG_WITH(term,
435 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
436 [if test x$withval != x; then
437 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
438 fi])
439
440 AC_ARG_WITH(terminfo,
441 [ --with-terminfo=PATH set the path to the terminfo tree to PATH],
442 [if test x$withval != x; then
443 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
444 fi])
445
446 dnl# --------------------------------------------------------------------------
447
448 AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes)
449
450 dnl# --------------------------------------------------------------------------
451 dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
452 dnl#
453 if test -z "$CFLAGS"; then
454 if test -z "$CCOPTS"; then
455 CCOPTS='-O'
456 dnl> if test "x$GCC" = xyes; then
457 dnl> if test x$system = xLinux; then
458 dnl> CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
459 dnl> fi
460 dnl> fi
461 fi
462 CFLAGS="$CCOPTS"
463 fi
464
465 AC_PATH_PROG(MV, mv, mv)
466 AC_PATH_PROG(RM, rm, rm)
467 AC_PATH_PROG(CP, cp, cp)
468 AC_PATH_PROG(LN, ln, ln)
469 AC_PATH_PROG(SED, sed, sed)
470 AC_PATH_PROG(ECHO, echo, echo)
471 AC_PATH_PROG(CMP, cmp, cmp)
472 AC_PATH_PROG(TBL, tbl)
473 AC_PATH_PROG(TIC, tic)
474
475 dnl# need a neat way to detect SVR4 or its features
476 dnl# in src/command.c we use these functions:
477 dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
478 dnl# - but are these also defined for other systems?
479
480 dnl# hack to find if this is SVR4 -- who knows?
481 dnl## AC_MSG_CHECKING(for SVR4)
482 dnl## AC_EGREP_CPP(yes,
483 dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
484 dnl## yes;
485 dnl## #endif
486 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
487
488 AC_PATH_XTRA
489
490 dnl# the only reasonable way to find libXpm is do-it-yourself
491 dnl# only check if we want xpm-background
492
493 if test x$support_xpm = xyes; then
494 VT_FIND_LIBXPM
495 if test x$no_xpm = xyes; then
496 support_xpm=needsmanualspecification
497 fi
498 fi
499
500 dnl# --------------------------------------------------------------------------
501 dnl# CHECKING FOR HEADER FILES
502 dnl# --------------------------------------------------------------------------
503 AC_HEADER_SYS_WAIT
504 AC_CHECK_HEADERS( \
505 assert.h \
506 fcntl.h \
507 grp.h \
508 libc.h \
509 lastlog.h \
510 stdarg.h \
511 stdlib.h \
512 string.h \
513 termios.h \
514 unistd.h \
515 sys/byteorder.h \
516 sys/ioctl.h \
517 sys/select.h \
518 sys/sockio.h \
519 sys/strredir.h \
520 sys/stropts.h \
521 sys/time.h \
522 utmp.h \
523 utmpx.h \
524 stdint.h \
525 pty.h \
526 )
527
528 AC_HEADER_TIME
529
530 dnl# check to allow both <termios.h> and <sys/ioctl.h>
531 AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
532 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
533 #include <sys/ioctl.h>
534 #ifdef HAVE_TERMIOS_H
535 #include <termios.h>
536 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
537
538 dnl# ELF systems may want to store paths for dynamic libraries.
539 dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
540 dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
541 if test -n "$GCC"; then
542 LDARG="-Wl,"
543 else
544 LDARG=""
545 fi
546 changequote(, )dnl
547 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g'
548 changequote([, ])dnl
549
550 ac_save_CFLAGS=$CFLAGS
551 ac_save_LIBS=$LIBS
552 CFLAGS="$CFLAGS $X_CFLAGS"
553 LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
554 AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
555 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
556 main()
557 {
558 exit(0);
559 (void) XOpenDisplay("foobar");
560 }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
561 AC_MSG_WARN(You may need to check the LIBS line)])])
562 if test x$rxvt_cv_rpath != xyes; then
563 changequote(, )dnl
564 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
565 changequote([, ])dnl
566 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
567 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
568 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
569 main()
570 {
571 exit(0);
572 (void) XOpenDisplay("foobar");
573 }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
574 if test x$rxvt_cv_R != xyes; then
575 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
576 fi
577 fi
578
579 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
580 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
581 if test x$rxvt_cv_xpointer = xyes; then
582 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
583 fi
584 LIBS=$ac_save_LIBS
585 CFLAGS=$ac_save_CFLAGS
586
587
588 AC_C_CONST
589 AC_C_INLINE
590
591 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
592
593 dnl# --------------------------------------------------------------------------
594 dnl# CHECKING FOR MISSING TYPEDEFS
595 dnl# --------------------------------------------------------------------------
596 dnl# Missing typedefs and replacements
597 AC_TYPE_MODE_T
598 dnl> AC_CHECK_TYPE(umode_t, int)
599 dnl> AC_CHECK_TYPE(off_t, long)
600 AC_TYPE_PID_T
601 AC_TYPE_UID_T
602
603 AC_CHECK_SIZEOF(short, 2)
604 AC_CHECK_SIZEOF(int, 4)
605 dnl AC_CHECK_SIZEOF(long, 4)
606 AC_CHECK_SIZEOF(long long, 8)
607 AC_CHECK_SIZEOF(int *, 4)
608
609 dnl# see usage below
610 AC_DEFUN(RXVT_CHECK_SIZE,
611 [AC_CACHE_CHECK([for $2], $1,
612 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
613 if test $ac_cv_sizeof_char -ge $3; then
614 $1="$4 char"
615 else
616 if test $ac_cv_sizeof_short -ge $3; then
617 $1="$4 short"
618 else
619 if test $ac_cv_sizeof_int -ge $3; then
620 $1="$4 int"
621 else
622 if test $ac_cv_sizeof_long -ge $3; then
623 $1="$4 long"
624 else
625 if test $ac_cv_sizeof_long_long -ge $3; then
626 $1="$4 long long"
627 else
628 $1="$4 $5" # we _must_ have a (possibly wrong) default
629 fi
630 fi
631 fi
632 fi
633 fi])])]
634 if test x"$$1" != xyes; then
635 $6="typedef $$1 $2;"
636 else
637 if test x"$4" = x; then
638 $6="/* typedef $5 $2; */"
639 else
640 $6="/* typedef $4 $5 $2; */"
641 fi
642 fi dnl
643 )
644 dnl#
645 dnl# Look for types the system may know about anyway.
646 dnl#
647 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
648 AC_SUBST(rxvt_int16_typedef)
649 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
650 AC_SUBST(rxvt_uint16_typedef)
651 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
652 AC_SUBST(rxvt_int32_typedef)
653 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
654 AC_SUBST(rxvt_uint32_typedef)
655 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
656 dnl AC_SUBST(rxvt_int64_typedef)
657 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
658 dnl AC_SUBST(rxvt_uint64_typedef)
659 dnl#
660 dnl# Now look for another we use
661 dnl#
662 if test $ac_cv_sizeof_int_p -eq 8; then
663 rxvt_intp_define="#define intp_t int64_t"
664 rxvt_u_intp_define="#define u_intp_t u_int64_t"
665 else
666 if test $ac_cv_sizeof_int_p -eq 4; then
667 rxvt_intp_define="#define intp_t int32_t"
668 rxvt_u_intp_define="#define u_intp_t u_int32_t"
669 else
670 if test $ac_cv_sizeof_int_p -eq 2; then
671 rxvt_intp_define="#define intp_t int16_t"
672 rxvt_u_intp_define="#define u_intp_t u_int16_t"
673 else
674 rxvt_intp_define="#error set intp_t"
675 rxvt_u_intp_define="#error set u_intp_t"
676 fi
677 fi
678 fi
679 AC_SUBST(rxvt_intp_define)
680 AC_SUBST(rxvt_u_intp_define)
681
682 dnl# --------------------------------------------------------------------------
683 dnl# CHECKING FOR LIBRARY FUNCTIONS
684 dnl# --------------------------------------------------------------------------
685 AC_TYPE_SIGNAL
686 dnl> AC_FUNC_VPRINTF
687
688 dnl# Note: On Ultrix, setsid() does weirdo stuff, disable it
689 case "$host_alias" in
690 *ultrix) ac_cv_func_setsid='no' ;;
691 *) break;;
692 esac
693
694 AC_CHECK_FUNCS( \
695 atexit \
696 revoke \
697 unsetenv \
698 setutent \
699 seteuid \
700 setreuid \
701 setsid \
702 setpgrp \
703 setpgid \
704 openpty \
705 _getpty \
706 grantpt \
707 unlockpt \
708 isastream \
709 on_exit \
710 nanosleep \
711 updwtmp \
712 ttyslot \
713 )
714 dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in
715
716 dnl# --------------------------------------------------------------------------
717 dnl# DO ALL UTMP AND WTMP CHECKING
718 dnl# --------------------------------------------------------------------------
719 dnl# check for host field in utmp structure
720
721 dnl# --------------------------------------------
722 AC_CHECK_HEADER(utmp.h,
723 [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp,
724 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
725 #include <stdint.h>
726 #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])])
727 if test x$rxvt_cv_struct_utmp = xyes; then
728 AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp)
729 fi
730 ]
731
732 AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host,
733 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
734 #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])])
735 if test x$rxvt_cv_struct_utmp_host = xyes; then
736 AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host)
737 fi
738
739 AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid,
740 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
741 #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])])
742 if test x$rxvt_cv_struct_utmp_pid = xyes; then
743 AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid)
744 fi
745 ) dnl# AC_CHECK_HEADER(utmp.h
746
747 dnl# --------------------------------------------
748
749 AC_CHECK_HEADER(utmpx.h,
750 [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx,
751 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
752 #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])])
753 if test x$rxvt_cv_struct_utmpx = xyes; then
754 AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx)
755 fi
756 ]
757
758 AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host,
759 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
760 #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])])
761 if test x$rxvt_cv_struct_utmpx_host = xyes; then
762 AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host)
763 fi
764 ) dnl# AC_CHECK_HEADER(utmpx.h
765
766
767 dnl# --------------------------------------------------------------------------
768 dnl# check for struct lastlog
769 AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog,
770 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
771 #include <utmp.h>
772 #ifdef HAVE_LASTLOG_H
773 #include <lastlog.h>
774 #endif
775 ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])])
776 if test x$rxvt_cv_struct_lastlog = xyes; then
777 AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog)
778 fi
779
780 dnl# check for struct lastlogx
781 AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx,
782 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
783 #include <utmpx.h>
784 #ifdef HAVE_LASTLOG_H
785 #include <lastlog.h>
786 #endif
787 ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])])
788 if test x$rxvt_cv_struct_lastlogx = xyes; then
789 AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx)
790 fi
791
792 dnl# --------------------------------------------------------------------------
793 dnl# FIND FILES
794 dnl# --------------------------------------------------------------------------
795
796 dnl# find utmp
797 AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp,
798 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
799 #include <sys/types.h>
800 #include <utmp.h>
801 #include <errno.h>
802 main()
803 {
804 char **u, *utmplist[] = {
805 "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL };
806 FILE *a, *f=fopen("conftestval", "w");
807 if (!f) exit(1);
808 #ifdef UTMP_FILE
809 fprintf(f, "%s\n", UTMP_FILE);
810 exit(0);
811 #endif
812 #ifdef _PATH_UTMP
813 fprintf(f, "%s\n", _PATH_UTMP);
814 exit(0);
815 #endif
816 for (u = utmplist; *u; u++) {
817 if ((a = fopen(*u, "r")) != NULL || errno == EACCES) {
818 fprintf(f, "%s\n", *u);
819 exit(0);
820 }
821 }
822 exit(0);
823 }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl
824 AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])])
825 if test x$rxvt_cv_path_utmp != x; then
826 AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp)
827 fi
828
829 dnl# --------------------------------------------------------------------------
830
831 dnl# find utmpx - if a utmp file exists at the same location and is more than
832 dnl# a day newer, then dump the utmpx. People leave lots of junk around.
833 AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx,
834 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
835 #include <sys/types.h>
836 #include <utmpx.h>
837 #include <errno.h>
838 #include <sys/stat.h>
839 #ifdef HAVE_STRING_H
840 #include <string.h>
841 #endif
842 main()
843 {
844 char **u, *p, *utmplist[] = {
845 #ifdef UTMPX_FILE
846 UTMPX_FILE,
847 #endif
848 #ifdef _PATH_UTMPX
849 _PATH_UTMPX,
850 #endif
851 "/var/adm/utmpx", "/etc/utmpx", NULL };
852 FILE *a, *f=fopen("conftestval", "w");
853 struct stat statu, statux;
854 if (!f) exit(1);
855 for (u = utmplist; *u; u++) {
856 if ((a = fopen(*u, "r")) != NULL || errno == EACCES) {
857 if (stat(*u, &statux) < 0)
858 continue;
859 p = strdup(*u);
860 p[strlen(p) - 1] = '\0';
861 if (stat(p, &statu) >= 0
862 && (statu.st_mtime - statux.st_mtime > 86400))
863 continue;
864 fprintf(f, "%s\n", *u);
865 exit(0);
866 }
867 }
868 exit(0);
869 }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl
870 AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])])
871 if test x$rxvt_cv_path_utmpx != x; then
872 AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx)
873 fi
874
875 dnl# --------------------------------------------------------------------------
876
877 dnl# find wtmp
878 AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp,
879 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
880 #include <sys/types.h>
881 #ifdef HAVE_UTMP_H
882 #include <utmp.h>
883 #endif
884 #include <errno.h>
885 main()
886 {
887 char **w, *wtmplist[] = {
888 "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL };
889 FILE *a, *f=fopen("conftestval", "w");
890 if (!f) exit(1);
891 #ifdef WTMP_FILE
892 fprintf(f, "%s\n", WTMP_FILE);
893 exit(0);
894 #endif
895 #ifdef _PATH_WTMP
896 fprintf(f, "%s\n", _PATH_WTMP);
897 exit(0);
898 #endif
899 for (w = wtmplist; *w; w++) {
900 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
901 fprintf(f, "%s\n", *w);
902 exit(0);
903 }
904 }
905 exit(0);
906 }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl
907 AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])])
908 if test x$rxvt_cv_path_wtmp != x; then
909 AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp)
910 fi
911 dnl# --------------------------------------------------------------------------
912
913 dnl# find wtmpx
914 AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx,
915 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
916 #ifdef HAVE_UTMPX_H
917 #include <utmpx.h>
918 #endif
919 #include <errno.h>
920 main()
921 {
922 char **w, *wtmplist[] = {
923 "/var/log/wtmpx", "/var/adm/wtmpx", NULL };
924 FILE *a, *f=fopen("conftestval", "w");
925 if (!f) exit(1);
926 #ifdef WTMPX_FILE
927 fprintf(f, "%s\n", WTMPX_FILE);
928 exit(0);
929 #endif
930 #ifdef _PATH_WTMPX
931 fprintf(f, "%s\n", _PATH_WTMPX);
932 exit(0);
933 #endif
934 for (w = wtmplist; *w; w++) {
935 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
936 fprintf(f, "%s\n", *w);
937 exit(0);
938 }
939 }
940 exit(0);
941 }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl
942 AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])])
943 if test x$rxvt_cv_path_wtmpx != x; then
944 AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx)
945 fi
946 dnl# --------------------------------------------------------------------------
947
948 dnl# find lastlog
949 AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog,
950 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
951 #include <sys/types.h>
952 #ifdef HAVE_UTMPX_H
953 #include <utmpx.h>
954 #elif defined(HAVE_UTMP_H)
955 #include <utmp.h>
956 #endif
957 #ifdef HAVE_LASTLOG_H
958 #include <lastlog.h>
959 #endif
960 #include <errno.h>
961 main()
962 {
963 char **w, *lastloglist[] = { "/var/log/lastlog", NULL };
964 FILE *a, *f=fopen("conftestval", "w");
965 if (!f) exit(1);
966 #ifdef LASTLOG_FILE
967 fprintf(f, "%s\n", LASTLOG_FILE);
968 exit(0);
969 #endif
970 #ifdef _PATH_LASTLOG
971 fprintf(f, "%s\n", _PATH_LASTLOG);
972 exit(0);
973 #endif
974 for (w = lastloglist; *w; w++) {
975 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
976 fprintf(f, "%s\n", *w);
977 exit(0);
978 }
979 }
980 exit(0);
981 }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl
982 AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])])
983 if test x$rxvt_cv_path_lastlog != x; then
984 AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog)
985 if test -d "$rxvt_cv_path_lastlog"; then
986 AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory)
987 fi
988 fi
989 dnl# --------------------------------------------------------------------------
990
991 dnl# find lastlogx
992 AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx,
993 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
994 #ifdef HAVE_UTMPX_H
995 #include <utmpx.h>
996 #endif
997 #include <errno.h>
998 main()
999 {
1000 char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL };
1001 FILE *a, *f=fopen("conftestval", "w");
1002 if (!f) exit(1);
1003 #ifdef LASTLOGX_FILE
1004 fprintf(f, "%s\n", LASTLOGX_FILE);
1005 exit(0);
1006 #endif
1007 #ifdef _PATH_LASTLOGX
1008 fprintf(f, "%s\n", _PATH_LASTLOGX);
1009 exit(0);
1010 #endif
1011 for (w = wtmplist; *w; w++) {
1012 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
1013 fprintf(f, "%s\n", *w);
1014 exit(0);
1015 }
1016 }
1017 exit(0);
1018 }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl
1019 AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])])
1020 if test x$rxvt_cv_path_lastlogx != x; then
1021 AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx)
1022 fi
1023
1024 dnl# --------------------------------------------------------------------------
1025
1026 dnl# find ttys/ttytab
1027 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
1028 [for ttys_file in dnl
1029 /etc/ttys /etc/ttytab;
1030 do
1031 if test -f "$ttys_file" ; then
1032 rxvt_cv_path_ttytab=$ttys_file
1033 break
1034 fi
1035 done
1036 ])
1037 if test x$rxvt_cv_path_ttytab != x; then
1038 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
1039 fi
1040
1041 dnl# --------------------------------------------------------------------------
1042 dnl# --------------------------------------------------------------------------
1043
1044 dnl# this is a really hack test for some basic Xlocale stuff
1045 ac_save_LIBS=$LIBS
1046 ac_save_CFLAGS=$CFLAGS
1047 CFLAGS="$CFLAGS $X_CFLAGS"
1048 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
1049 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
1050 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
1051 fi
1052 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
1053 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
1054 main() {
1055 char *p;
1056 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
1057 exit (XSupportsLocale() ? 0 : 1);
1058 else
1059 exit (1);}]])],[dnl
1060 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
1061 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
1062 if test x$rxvt_cv_func_xlocale = xyes; then
1063 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
1064 fi
1065
1066 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
1067 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
1068 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
1069 if test x$rxvt_cv_func_xsetlocale = xyes; then
1070 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
1071 fi
1072 LIBS=$ac_save_LIBS
1073 CFLAGS=$ac_save_CFLAGS
1074
1075 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
1076 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
1077 if test x$rxvt_cv_func_setlocale = xyes; then
1078 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
1079 fi
1080
1081 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
1082 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
1083 if test x$rxvt_cv_func_nl_langinfo = xyes; then
1084 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
1085 fi
1086
1087 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
1088 [AC_COMPILE_IFELSE([
1089 #include <X11/Xlib.h>
1090
1091 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
1092
1093 void f() {
1094 XIMCallback cb;
1095 cb.callback = im_destroy_cb;
1096 }
1097 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
1098
1099 if test x$rxvt_broken_ximcb = xyes; then
1100 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
1101 fi
1102
1103 AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt,
1104 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
1105 #ifdef HAVE_STDLIB_H
1106 # include <cstdlib>
1107 #endif]], [[(void)getpt();]])],[rxvt_cv_func_getpt=yes],[rxvt_cv_func_getpt=no])])
1108 if test x$rxvt_cv_func_getpt = xyes; then
1109 AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() )
1110 fi
1111
1112 dnl# if we don't guess right then it's up to the user
1113 AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys,
1114 [if test x$ac_cv_func_openpty = xyes; then
1115 rxvt_cv_ptys=OPENPTY
1116 else if test x$ac_cv_func__getpty = xyes; then
1117 rxvt_cv_ptys=SGI4
1118 else if test -c /dev/ttyp20; then
1119 rxvt_cv_ptys=SCO
1120 else if test -c /dev/ptym/clone; then
1121 rxvt_cv_ptys=HPUX
1122 else if test x$rxvt_cv_func_getpt = xyes; then
1123 rxvt_cv_ptys=GLIBC
1124 else if test -c /dev/ptc -a -c /dev/pts; then
1125 rxvt_cv_ptys=PTC
1126 else if test -c /dev/ptc -a -d /dev/pts; then
1127 rxvt_cv_ptys=PTC
1128 else if test -c /dev/ptmx -a -c /dev/pts/0; then
1129 rxvt_cv_ptys=STREAMS
1130 else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then
1131 dnl# catch CYGWIN
1132 rxvt_cv_ptys=STREAMS
1133 else
1134 rxvt_cv_ptys=BSD
1135 fi
1136 fi
1137 fi
1138 fi
1139 fi
1140 fi
1141 fi
1142 fi
1143 fi
1144 ])
1145
1146 if test x$rxvt_cv_ptys = xOPENPTY; then
1147 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type)
1148 fi
1149 if test x$rxvt_cv_ptys = xSCO; then
1150 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type)
1151 fi
1152 if test x$rxvt_cv_ptys = xSTREAMS; then
1153 AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type)
1154 fi
1155 if test x$rxvt_cv_ptys = xPTC; then
1156 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type)
1157 fi
1158 if test x$rxvt_cv_ptys = xSGI4; then
1159 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type)
1160 fi
1161 if test x$rxvt_cv_ptys = xCONVEX; then
1162 AC_DEFINE(PTYS_ARE_GETPTY, 1, Define for this pty type)
1163 fi
1164 if test x$rxvt_cv_ptys = xGLIBC; then
1165 AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type)
1166 fi
1167 if test x$rxvt_cv_ptys = xHPUX; then
1168 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type)
1169 fi
1170 if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then
1171 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type)
1172 fi
1173
1174
1175 AS_MESSAGE(checking for pty ranges...)
1176 ptys=`echo /dev/pty??`
1177 pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
1178 pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
1179 if test x$pch1 != x; then
1180 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX)
1181 fi
1182 if test x$pch2 != x; then
1183 AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX)
1184 fi
1185
1186 dnl# --------------------------------------------------------------------------
1187 dnl# now add and remove other stuff
1188 dnl# --------------------------------------------------------------------------
1189 if test x$support_xft = xyes; then
1190 LIBS="$LIBS `pkg-config xft --libs`"
1191 CFLAGS="$CFLAGS `pkg-config xft --cflags`"
1192 CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`"
1193
1194 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
1195 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
1196
1197 if test x$support_xft = xyes; then
1198 AC_DEFINE(XFT, 1, Define to enable xft support)
1199 fi
1200 fi
1201 if test x$support_styles = xyes; then
1202 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
1203 fi
1204 if test x$support_iso14755 = xyes; then
1205 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
1206 fi
1207 if test x$support_8bitctrls = xyes; then
1208 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
1209 fi
1210 if test x$support_fading = xyes; then
1211 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
1212 fi
1213 if test x$support_tinting = xyes; then
1214 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
1215 fi
1216 if test x$support_inheritpixmap = xyes; then
1217 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background)
1218 fi
1219 if test x$support_keepscrolling = xno; then
1220 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
1221 fi
1222 if test x$support_selectionscrolling = xyes; then
1223 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
1224 fi
1225 if test x$support_menubar = xyes; then
1226 AC_DEFINE(MENUBAR, 1, Define if you want Menubar support)
1227 fi
1228 if test x$support_frills = xyes; then
1229 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
1230 fi
1231 if test x$support_24bit = xyes; then
1232 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)
1233 fi
1234 if test x$support_mousewheel = xyes; then
1235 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
1236 fi
1237 if test x$support_mouseslipwheel = xyes; then
1238 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
1239 fi
1240 if test x$support_utmp = xyes; then
1241 AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support)
1242 fi
1243 if test x$support_wtmp = xyes; then
1244 AC_DEFINE(WTMP_SUPPORT, 1, Define if you want to have wtmp support when utmp/utmpx is enabled)
1245 fi
1246 if test x$support_lastlog = xyes; then
1247 AC_DEFINE(LASTLOG_SUPPORT, 1, Define if you want to have lastlog support when utmp/utmpx is enabled)
1248 fi
1249 if test x$support_xim = xyes -o x$multichar_set = xyes; then
1250 if test x$rxvt_cv_func_xlocale = xyes; then
1251 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
1252 fi
1253 fi
1254 if test x$support_xpm = xyes; then
1255 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm)
1256 fi
1257 if test x$support_scroll_rxvt = xyes; then
1258 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
1259 scrolltypes="rxvt"
1260 fi
1261 if test x$support_scroll_next = xyes; then
1262 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
1263 scrolltypes="$scrolltypes next"
1264 fi
1265 if test x$support_scroll_xterm = xyes; then
1266 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
1267 scrolltypes="$scrolltypes xterm"
1268 fi
1269 if test x$support_scroll_plain = xyes; then
1270 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
1271 scrolltypes="$scrolltypes plain"
1272 fi
1273 if test x$support_pointer_blank = xyes; then
1274 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
1275 fi
1276 if test x$support_cursor_blink = xyes; then
1277 AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support)
1278 fi
1279 if test x$support_text_blink = xyes; then
1280 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
1281 fi
1282 if test x$support_unicode3 = xyes; then
1283 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
1284 fi
1285 if test x$support_combining = xyes; then
1286 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
1287 fi
1288 if test x$codesets = xall; then
1289 codesets=jp,jp-ext,kr,zh,zh-ext
1290 fi
1291 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1292 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
1293 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
1294 case "$codeset" in
1295 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
1296 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
1297 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
1298 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
1299 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
1300 esac
1301 done
1302
1303 dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket)
1304
1305 CFLAGS=${CFLAGS--O}
1306 LDFLAGS=${LDFLAGS--O}
1307
1308 CPPFLAGS="$CPPFLAGS"
1309 AC_SUBST(DEBUG)
1310 AC_SUBST(DINCLUDE)
1311 AC_SUBST(CFLAGS)
1312 AC_SUBST(CPPFLAGS)
1313 AC_SUBST(LDFLAGS)
1314 AC_SUBST(X_CFLAGS)
1315
1316 dnl# Attack the libs
1317 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
1318 DLIB=`echo $DLIB | sed "$R_TRANSLATE"`
1319 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
1320 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
1321 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
1322 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
1323 fi
1324 AC_SUBST(DLIB)
1325 AC_SUBST(LIBS)
1326 AC_SUBST(X_LIBS)
1327 AC_SUBST(X_EXTRA_LIBS)
1328
1329 if test x$support_addstrings = xno; then
1330 AC_DEFINE(NO_STRINGS, 1, Define if you don't need to use our replacement string functions)
1331 fi
1332
1333 dnl# common parts of the Makefile
1334 MCOMMON=./autoconf/Make.common
1335 AC_SUBST_FILE(MCOMMON)
1336
1337 AC_ARG_PROGRAM
1338
1339 dnl# test for "sun" or "__sun__" before include sys_ioctl
1340
1341 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
1342 AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl
1343 [if test "$$3" = "$4" -o "$$5" = "$6"; then
1344 $1="#include <$2>"
1345 else
1346 $1="/* #include <$2> */"
1347 fi dnl
1348 AC_SUBST($1)])
1349
1350 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
1351 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
1352 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
1353 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
1354 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
1355 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
1356 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
1357 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
1358 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
1359 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
1360 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
1361 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
1362 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
1363
1364 AC_CONFIG_FILES([autoconf/Make.common \
1365 Makefile \
1366 doc/Makefile \
1367 src/Makefile \
1368 src/test/Makefile \
1369 src/rxvtlib.h \
1370 W11/Makefile \
1371 ])
1372 AC_OUTPUT
1373
1374 echo "Configuration:
1375
1376 Rxvt version: $VERSION : $DATE
1377 Source code location: $srcdir
1378 Install path: ${prefix}/bin
1379 Compiler: $CXX
1380 Compiler flags: $CFLAGS
1381 Linker: $LINKER"
1382
1383 if test "$MALLOC_TYPE" = S; then
1384 echo " malloc support: system default"
1385 fi
1386 if test "$MALLOC_TYPE" = G; then
1387 echo " malloc support: Gray Watson's dmalloc"
1388 fi
1389 if test "$MALLOC_TYPE" = D; then
1390 echo " malloc support: Doug Lea's malloc"
1391 fi
1392
1393 if test x$support_xpm = xyes; then
1394 echo " Xpm library: $XPM_LIBS"
1395 fi
1396
1397 echo "
1398 The following are set in config.h
1399 "
1400 echo " pty/tty type: "$rxvt_cv_ptys
1401 if test x$support_utmp != xyes; then
1402 echo " utmp support: disabled"
1403 echo
1404 else
1405 echo " utmp support: enabled
1406 utmp file: $rxvt_cv_path_utmp
1407 utmpx file: $rxvt_cv_path_utmpx
1408 wtmp file: $rxvt_cv_path_wtmp
1409 wtmpx file: $rxvt_cv_path_wtmpx
1410 lastlog file: $rxvt_cv_path_lastlog
1411 ttys/ttytab file: $rxvt_cv_path_ttytab"
1412 echo
1413 fi
1414 if test x$term != x; then
1415 echo " set TERM to: $term"
1416 fi
1417 if test x$terminfo != x; then
1418 echo " set TERMINFO to: $terminfo"
1419 fi
1420 echo " default resource name: $RESNAME"
1421 echo " resource class: $RESCLASS"
1422 if test x$RESFALLBACK != x; then
1423 echo " resource class fallback: $RESFALLBACK"
1424 fi
1425 echo
1426 if test x$rxvt_cv_ptys = xUNKNOWN; then
1427 echo ".----------------------------------------------------------------."
1428 echo ". WARNING: could not determine pty/tty type. Do not build until ."
1429 echo ". the appropriate PTYS_ARE_* is defined in config.h ."
1430 echo ".----------------------------------------------------------------."
1431 fi
1432 if test x$support_xpm = xneedsmanualspecification; then
1433 echo ".----------------------------------------------------------------."
1434 echo ". WARNING: --enable-xpm-background was specified however the ."
1435 echo ". XPM includes files and libraries could not be found. ."
1436 echo ". XPM backgrounds are now being DISABLED! If you want ."
1437 echo ". to use them you should rerun configure with the ."
1438 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
1439 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
1440 echo ".----------------------------------------------------------------."
1441 fi
1442 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1443 echo ".----------------------------------------------------------------."
1444 echo ". WARNING: --enable-xim was specified however the locale support ."
1445 echo ". functions could not be found. ."
1446 echo ". XIM is now being DISABLED! ."
1447 echo ".----------------------------------------------------------------."
1448 fi
1449
1450 echo " *** Please check src/feature.h for further options ***"
1451 echo
1452
1453 echo ".----------------------------------------------------------------."
1454 echo ". NOTE: most features are disabled by default, try ."
1455 echo ". configure --help to get an idea of the optional features ."
1456 echo ".----------------------------------------------------------------."
1457 echo
1458