ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.44
Committed: Tue Jan 11 00:54:57 2005 UTC (19 years, 5 months ago) by root
Branch: MAIN
Changes since 1.43: +0 -11 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 )
526
527 AC_HEADER_TIME
528
529 dnl# check to allow both <termios.h> and <sys/ioctl.h>
530 AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
531 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
532 #include <sys/ioctl.h>
533 #ifdef HAVE_TERMIOS_H
534 #include <termios.h>
535 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
536
537 dnl# ELF systems may want to store paths for dynamic libraries.
538 dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
539 dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
540 if test -n "$GCC"; then
541 LDARG="-Wl,"
542 else
543 LDARG=""
544 fi
545 changequote(, )dnl
546 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g'
547 changequote([, ])dnl
548
549 ac_save_CFLAGS=$CFLAGS
550 ac_save_LIBS=$LIBS
551 CFLAGS="$CFLAGS $X_CFLAGS"
552 LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
553 AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
554 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
555 main()
556 {
557 exit(0);
558 (void) XOpenDisplay("foobar");
559 }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
560 AC_MSG_WARN(You may need to check the LIBS line)])])
561 if test x$rxvt_cv_rpath != xyes; then
562 changequote(, )dnl
563 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
564 changequote([, ])dnl
565 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
566 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
567 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
568 main()
569 {
570 exit(0);
571 (void) XOpenDisplay("foobar");
572 }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
573 if test x$rxvt_cv_R != xyes; then
574 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
575 fi
576 fi
577
578 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
579 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
580 if test x$rxvt_cv_xpointer = xyes; then
581 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
582 fi
583 LIBS=$ac_save_LIBS
584 CFLAGS=$ac_save_CFLAGS
585
586
587 AC_C_CONST
588 AC_C_INLINE
589
590 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
591
592 dnl# --------------------------------------------------------------------------
593 dnl# CHECKING FOR MISSING TYPEDEFS
594 dnl# --------------------------------------------------------------------------
595 dnl# Missing typedefs and replacements
596 AC_TYPE_MODE_T
597 dnl> AC_CHECK_TYPE(umode_t, int)
598 dnl> AC_CHECK_TYPE(off_t, long)
599 AC_TYPE_PID_T
600 AC_TYPE_UID_T
601
602 AC_CHECK_SIZEOF(short, 2)
603 AC_CHECK_SIZEOF(int, 4)
604 dnl AC_CHECK_SIZEOF(long, 4)
605 AC_CHECK_SIZEOF(long long, 8)
606 AC_CHECK_SIZEOF(int *, 4)
607
608 dnl# see usage below
609 AC_DEFUN(RXVT_CHECK_SIZE,
610 [AC_CACHE_CHECK([for $2], $1,
611 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
612 if test $ac_cv_sizeof_char -ge $3; then
613 $1="$4 char"
614 else
615 if test $ac_cv_sizeof_short -ge $3; then
616 $1="$4 short"
617 else
618 if test $ac_cv_sizeof_int -ge $3; then
619 $1="$4 int"
620 else
621 if test $ac_cv_sizeof_long -ge $3; then
622 $1="$4 long"
623 else
624 if test $ac_cv_sizeof_long_long -ge $3; then
625 $1="$4 long long"
626 else
627 $1="$4 $5" # we _must_ have a (possibly wrong) default
628 fi
629 fi
630 fi
631 fi
632 fi])])]
633 if test x"$$1" != xyes; then
634 $6="typedef $$1 $2;"
635 else
636 if test x"$4" = x; then
637 $6="/* typedef $5 $2; */"
638 else
639 $6="/* typedef $4 $5 $2; */"
640 fi
641 fi dnl
642 )
643 dnl#
644 dnl# Look for types the system may know about anyway.
645 dnl#
646 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
647 AC_SUBST(rxvt_int16_typedef)
648 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
649 AC_SUBST(rxvt_uint16_typedef)
650 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
651 AC_SUBST(rxvt_int32_typedef)
652 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
653 AC_SUBST(rxvt_uint32_typedef)
654 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
655 dnl AC_SUBST(rxvt_int64_typedef)
656 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
657 dnl AC_SUBST(rxvt_uint64_typedef)
658 dnl#
659 dnl# Now look for another we use
660 dnl#
661 if test $ac_cv_sizeof_int_p -eq 8; then
662 rxvt_intp_define="#define intp_t int64_t"
663 rxvt_u_intp_define="#define u_intp_t u_int64_t"
664 else
665 if test $ac_cv_sizeof_int_p -eq 4; then
666 rxvt_intp_define="#define intp_t int32_t"
667 rxvt_u_intp_define="#define u_intp_t u_int32_t"
668 else
669 if test $ac_cv_sizeof_int_p -eq 2; then
670 rxvt_intp_define="#define intp_t int16_t"
671 rxvt_u_intp_define="#define u_intp_t u_int16_t"
672 else
673 rxvt_intp_define="#error set intp_t"
674 rxvt_u_intp_define="#error set u_intp_t"
675 fi
676 fi
677 fi
678 AC_SUBST(rxvt_intp_define)
679 AC_SUBST(rxvt_u_intp_define)
680
681 dnl# --------------------------------------------------------------------------
682 dnl# CHECKING FOR LIBRARY FUNCTIONS
683 dnl# --------------------------------------------------------------------------
684 AC_TYPE_SIGNAL
685 dnl> AC_FUNC_VPRINTF
686
687 dnl# Note: On Ultrix, setsid() does weirdo stuff, disable it
688 case "$host_alias" in
689 *ultrix) ac_cv_func_setsid='no' ;;
690 *) break;;
691 esac
692
693 AC_CHECK_FUNCS( \
694 atexit \
695 revoke \
696 unsetenv \
697 setutent \
698 seteuid \
699 setreuid \
700 setsid \
701 setpgrp \
702 setpgid \
703 openpty \
704 _getpty \
705 grantpt \
706 unlockpt \
707 isastream \
708 on_exit \
709 nanosleep \
710 updwtmp \
711 ttyslot \
712 )
713 dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in
714
715 dnl# --------------------------------------------------------------------------
716 dnl# DO ALL UTMP AND WTMP CHECKING
717 dnl# --------------------------------------------------------------------------
718 dnl# check for host field in utmp structure
719
720 dnl# --------------------------------------------
721 AC_CHECK_HEADER(utmp.h,
722 [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp,
723 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
724 #include <stdint.h>
725 #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])])
726 if test x$rxvt_cv_struct_utmp = xyes; then
727 AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp)
728 fi
729 ]
730
731 AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host,
732 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
733 #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])])
734 if test x$rxvt_cv_struct_utmp_host = xyes; then
735 AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host)
736 fi
737
738 AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid,
739 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
740 #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])])
741 if test x$rxvt_cv_struct_utmp_pid = xyes; then
742 AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid)
743 fi
744 ) dnl# AC_CHECK_HEADER(utmp.h
745
746 dnl# --------------------------------------------
747
748 AC_CHECK_HEADER(utmpx.h,
749 [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx,
750 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
751 #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])])
752 if test x$rxvt_cv_struct_utmpx = xyes; then
753 AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx)
754 fi
755 ]
756
757 AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host,
758 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
759 #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])])
760 if test x$rxvt_cv_struct_utmpx_host = xyes; then
761 AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host)
762 fi
763 ) dnl# AC_CHECK_HEADER(utmpx.h
764
765
766 dnl# --------------------------------------------------------------------------
767 dnl# check for struct lastlog
768 AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog,
769 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
770 #include <utmp.h>
771 #ifdef HAVE_LASTLOG_H
772 #include <lastlog.h>
773 #endif
774 ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])])
775 if test x$rxvt_cv_struct_lastlog = xyes; then
776 AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog)
777 fi
778
779 dnl# check for struct lastlogx
780 AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx,
781 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
782 #include <utmpx.h>
783 #ifdef HAVE_LASTLOG_H
784 #include <lastlog.h>
785 #endif
786 ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])])
787 if test x$rxvt_cv_struct_lastlogx = xyes; then
788 AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx)
789 fi
790
791 dnl# --------------------------------------------------------------------------
792 dnl# FIND FILES
793 dnl# --------------------------------------------------------------------------
794
795 dnl# find utmp
796 AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp,
797 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
798 #include <sys/types.h>
799 #include <utmp.h>
800 #include <errno.h>
801 main()
802 {
803 char **u, *utmplist[] = {
804 "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL };
805 FILE *a, *f=fopen("conftestval", "w");
806 if (!f) exit(1);
807 #ifdef UTMP_FILE
808 fprintf(f, "%s\n", UTMP_FILE);
809 exit(0);
810 #endif
811 #ifdef _PATH_UTMP
812 fprintf(f, "%s\n", _PATH_UTMP);
813 exit(0);
814 #endif
815 for (u = utmplist; *u; u++) {
816 if ((a = fopen(*u, "r")) != NULL || errno == EACCES) {
817 fprintf(f, "%s\n", *u);
818 exit(0);
819 }
820 }
821 exit(0);
822 }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl
823 AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])])
824 if test x$rxvt_cv_path_utmp != x; then
825 AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp)
826 fi
827
828 dnl# --------------------------------------------------------------------------
829
830 dnl# find utmpx - if a utmp file exists at the same location and is more than
831 dnl# a day newer, then dump the utmpx. People leave lots of junk around.
832 AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx,
833 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
834 #include <sys/types.h>
835 #include <utmpx.h>
836 #include <errno.h>
837 #include <sys/stat.h>
838 #ifdef HAVE_STRING_H
839 #include <string.h>
840 #endif
841 main()
842 {
843 char **u, *p, *utmplist[] = {
844 #ifdef UTMPX_FILE
845 UTMPX_FILE,
846 #endif
847 #ifdef _PATH_UTMPX
848 _PATH_UTMPX,
849 #endif
850 "/var/adm/utmpx", "/etc/utmpx", NULL };
851 FILE *a, *f=fopen("conftestval", "w");
852 struct stat statu, statux;
853 if (!f) exit(1);
854 for (u = utmplist; *u; u++) {
855 if ((a = fopen(*u, "r")) != NULL || errno == EACCES) {
856 if (stat(*u, &statux) < 0)
857 continue;
858 p = strdup(*u);
859 p[strlen(p) - 1] = '\0';
860 if (stat(p, &statu) >= 0
861 && (statu.st_mtime - statux.st_mtime > 86400))
862 continue;
863 fprintf(f, "%s\n", *u);
864 exit(0);
865 }
866 }
867 exit(0);
868 }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl
869 AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])])
870 if test x$rxvt_cv_path_utmpx != x; then
871 AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx)
872 fi
873
874 dnl# --------------------------------------------------------------------------
875
876 dnl# find wtmp
877 AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp,
878 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
879 #include <sys/types.h>
880 #ifdef HAVE_UTMP_H
881 #include <utmp.h>
882 #endif
883 #include <errno.h>
884 main()
885 {
886 char **w, *wtmplist[] = {
887 "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL };
888 FILE *a, *f=fopen("conftestval", "w");
889 if (!f) exit(1);
890 #ifdef WTMP_FILE
891 fprintf(f, "%s\n", WTMP_FILE);
892 exit(0);
893 #endif
894 #ifdef _PATH_WTMP
895 fprintf(f, "%s\n", _PATH_WTMP);
896 exit(0);
897 #endif
898 for (w = wtmplist; *w; w++) {
899 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
900 fprintf(f, "%s\n", *w);
901 exit(0);
902 }
903 }
904 exit(0);
905 }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl
906 AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])])
907 if test x$rxvt_cv_path_wtmp != x; then
908 AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp)
909 fi
910 dnl# --------------------------------------------------------------------------
911
912 dnl# find wtmpx
913 AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx,
914 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
915 #ifdef HAVE_UTMPX_H
916 #include <utmpx.h>
917 #endif
918 #include <errno.h>
919 main()
920 {
921 char **w, *wtmplist[] = {
922 "/var/log/wtmpx", "/var/adm/wtmpx", NULL };
923 FILE *a, *f=fopen("conftestval", "w");
924 if (!f) exit(1);
925 #ifdef WTMPX_FILE
926 fprintf(f, "%s\n", WTMPX_FILE);
927 exit(0);
928 #endif
929 #ifdef _PATH_WTMPX
930 fprintf(f, "%s\n", _PATH_WTMPX);
931 exit(0);
932 #endif
933 for (w = wtmplist; *w; w++) {
934 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
935 fprintf(f, "%s\n", *w);
936 exit(0);
937 }
938 }
939 exit(0);
940 }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl
941 AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])])
942 if test x$rxvt_cv_path_wtmpx != x; then
943 AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx)
944 fi
945 dnl# --------------------------------------------------------------------------
946
947 dnl# find lastlog
948 AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog,
949 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
950 #include <sys/types.h>
951 #ifdef HAVE_UTMPX_H
952 #include <utmpx.h>
953 #elif defined(HAVE_UTMP_H)
954 #include <utmp.h>
955 #endif
956 #ifdef HAVE_LASTLOG_H
957 #include <lastlog.h>
958 #endif
959 #include <errno.h>
960 main()
961 {
962 char **w, *lastloglist[] = { "/var/log/lastlog", NULL };
963 FILE *a, *f=fopen("conftestval", "w");
964 if (!f) exit(1);
965 #ifdef LASTLOG_FILE
966 fprintf(f, "%s\n", LASTLOG_FILE);
967 exit(0);
968 #endif
969 #ifdef _PATH_LASTLOG
970 fprintf(f, "%s\n", _PATH_LASTLOG);
971 exit(0);
972 #endif
973 for (w = lastloglist; *w; w++) {
974 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
975 fprintf(f, "%s\n", *w);
976 exit(0);
977 }
978 }
979 exit(0);
980 }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl
981 AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])])
982 if test x$rxvt_cv_path_lastlog != x; then
983 AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog)
984 if test -d "$rxvt_cv_path_lastlog"; then
985 AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory)
986 fi
987 fi
988 dnl# --------------------------------------------------------------------------
989
990 dnl# find lastlogx
991 AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx,
992 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
993 #ifdef HAVE_UTMPX_H
994 #include <utmpx.h>
995 #endif
996 #include <errno.h>
997 main()
998 {
999 char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL };
1000 FILE *a, *f=fopen("conftestval", "w");
1001 if (!f) exit(1);
1002 #ifdef LASTLOGX_FILE
1003 fprintf(f, "%s\n", LASTLOGX_FILE);
1004 exit(0);
1005 #endif
1006 #ifdef _PATH_LASTLOGX
1007 fprintf(f, "%s\n", _PATH_LASTLOGX);
1008 exit(0);
1009 #endif
1010 for (w = wtmplist; *w; w++) {
1011 if ((a = fopen(*w, "r")) != NULL || errno == EACCES) {
1012 fprintf(f, "%s\n", *w);
1013 exit(0);
1014 }
1015 }
1016 exit(0);
1017 }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl
1018 AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])])
1019 if test x$rxvt_cv_path_lastlogx != x; then
1020 AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx)
1021 fi
1022
1023 dnl# --------------------------------------------------------------------------
1024
1025 dnl# find ttys/ttytab
1026 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
1027 [for ttys_file in dnl
1028 /etc/ttys /etc/ttytab;
1029 do
1030 if test -f "$ttys_file" ; then
1031 rxvt_cv_path_ttytab=$ttys_file
1032 break
1033 fi
1034 done
1035 ])
1036 if test x$rxvt_cv_path_ttytab != x; then
1037 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
1038 fi
1039
1040 dnl# --------------------------------------------------------------------------
1041 dnl# --------------------------------------------------------------------------
1042
1043 dnl# this is a really hack test for some basic Xlocale stuff
1044 ac_save_LIBS=$LIBS
1045 ac_save_CFLAGS=$CFLAGS
1046 CFLAGS="$CFLAGS $X_CFLAGS"
1047 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
1048 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
1049 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
1050 fi
1051 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
1052 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
1053 main() {
1054 char *p;
1055 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
1056 exit (XSupportsLocale() ? 0 : 1);
1057 else
1058 exit (1);}]])],[dnl
1059 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
1060 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
1061 if test x$rxvt_cv_func_xlocale = xyes; then
1062 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
1063 fi
1064
1065 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
1066 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
1067 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
1068 if test x$rxvt_cv_func_xsetlocale = xyes; then
1069 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
1070 fi
1071 LIBS=$ac_save_LIBS
1072 CFLAGS=$ac_save_CFLAGS
1073
1074 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
1075 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
1076 if test x$rxvt_cv_func_setlocale = xyes; then
1077 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
1078 fi
1079
1080 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
1081 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
1082 if test x$rxvt_cv_func_nl_langinfo = xyes; then
1083 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
1084 fi
1085
1086 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
1087 [AC_COMPILE_IFELSE([
1088 #include <X11/Xlib.h>
1089
1090 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
1091
1092 void f() {
1093 XIMCallback cb;
1094 cb.callback = im_destroy_cb;
1095 }
1096 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
1097
1098 if test x$rxvt_broken_ximcb = xyes; then
1099 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
1100 fi
1101
1102 AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt,
1103 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
1104 #ifdef HAVE_STDLIB_H
1105 # include <cstdlib>
1106 #endif]], [[(void)getpt();]])],[rxvt_cv_func_getpt=yes],[rxvt_cv_func_getpt=no])])
1107 if test x$rxvt_cv_func_getpt = xyes; then
1108 AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() )
1109 fi
1110
1111 dnl# if we don't guess right then it's up to the user
1112 AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys,
1113 [if test x$ac_cv_func_openpty = xyes; then
1114 rxvt_cv_ptys=OPENPTY
1115 else if test x$ac_cv_func__getpty = xyes; then
1116 rxvt_cv_ptys=SGI4
1117 else if test -c /dev/ttyp20; then
1118 rxvt_cv_ptys=SCO
1119 else if test -c /dev/ptym/clone; then
1120 rxvt_cv_ptys=HPUX
1121 else if test x$rxvt_cv_func_getpt = xyes; then
1122 rxvt_cv_ptys=GLIBC
1123 else if test -c /dev/ptc -a -c /dev/pts; then
1124 rxvt_cv_ptys=PTC
1125 else if test -c /dev/ptc -a -d /dev/pts; then
1126 rxvt_cv_ptys=PTC
1127 else if test -c /dev/ptmx -a -c /dev/pts/0; then
1128 rxvt_cv_ptys=STREAMS
1129 else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then
1130 dnl# catch CYGWIN
1131 rxvt_cv_ptys=STREAMS
1132 else
1133 rxvt_cv_ptys=BSD
1134 fi
1135 fi
1136 fi
1137 fi
1138 fi
1139 fi
1140 fi
1141 fi
1142 fi
1143 ])
1144
1145 if test x$rxvt_cv_ptys = xOPENPTY; then
1146 AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type)
1147 fi
1148 if test x$rxvt_cv_ptys = xSCO; then
1149 AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type)
1150 fi
1151 if test x$rxvt_cv_ptys = xSTREAMS; then
1152 AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type)
1153 fi
1154 if test x$rxvt_cv_ptys = xPTC; then
1155 AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type)
1156 fi
1157 if test x$rxvt_cv_ptys = xSGI4; then
1158 AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type)
1159 fi
1160 if test x$rxvt_cv_ptys = xCONVEX; then
1161 AC_DEFINE(PTYS_ARE_GETPTY, 1, Define for this pty type)
1162 fi
1163 if test x$rxvt_cv_ptys = xGLIBC; then
1164 AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type)
1165 fi
1166 if test x$rxvt_cv_ptys = xHPUX; then
1167 AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type)
1168 fi
1169 if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then
1170 AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type)
1171 fi
1172
1173
1174 AS_MESSAGE(checking for pty ranges...)
1175 ptys=`echo /dev/pty??`
1176 pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
1177 pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
1178 if test x$pch1 != x; then
1179 AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX)
1180 fi
1181 if test x$pch2 != x; then
1182 AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX)
1183 fi
1184
1185 dnl# --------------------------------------------------------------------------
1186 dnl# now add and remove other stuff
1187 dnl# --------------------------------------------------------------------------
1188 if test x$support_xft = xyes; then
1189 LIBS="$LIBS `pkg-config xft --libs`"
1190 CFLAGS="$CFLAGS `pkg-config xft --cflags`"
1191 CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`"
1192
1193 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
1194 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
1195
1196 if test x$support_xft = xyes; then
1197 AC_DEFINE(XFT, 1, Define to enable xft support)
1198 fi
1199 fi
1200 if test x$support_styles = xyes; then
1201 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
1202 fi
1203 if test x$support_iso14755 = xyes; then
1204 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
1205 fi
1206 if test x$support_8bitctrls = xyes; then
1207 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
1208 fi
1209 if test x$support_fading = xyes; then
1210 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
1211 fi
1212 if test x$support_tinting = xyes; then
1213 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
1214 fi
1215 if test x$support_inheritpixmap = xyes; then
1216 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background)
1217 fi
1218 if test x$support_keepscrolling = xno; then
1219 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
1220 fi
1221 if test x$support_selectionscrolling = xyes; then
1222 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
1223 fi
1224 if test x$support_menubar = xyes; then
1225 AC_DEFINE(MENUBAR, 1, Define if you want Menubar support)
1226 fi
1227 if test x$support_frills = xyes; then
1228 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
1229 fi
1230 if test x$support_24bit = xyes; then
1231 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)
1232 fi
1233 if test x$support_mousewheel = xyes; then
1234 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
1235 fi
1236 if test x$support_mouseslipwheel = xyes; then
1237 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
1238 fi
1239 if test x$support_utmp = xyes; then
1240 AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support)
1241 fi
1242 if test x$support_wtmp = xyes; then
1243 AC_DEFINE(WTMP_SUPPORT, 1, Define if you want to have wtmp support when utmp/utmpx is enabled)
1244 fi
1245 if test x$support_lastlog = xyes; then
1246 AC_DEFINE(LASTLOG_SUPPORT, 1, Define if you want to have lastlog support when utmp/utmpx is enabled)
1247 fi
1248 if test x$support_xim = xyes -o x$multichar_set = xyes; then
1249 if test x$rxvt_cv_func_xlocale = xyes; then
1250 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
1251 fi
1252 fi
1253 if test x$support_xpm = xyes; then
1254 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm)
1255 fi
1256 if test x$support_scroll_rxvt = xyes; then
1257 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
1258 scrolltypes="rxvt"
1259 fi
1260 if test x$support_scroll_next = xyes; then
1261 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
1262 scrolltypes="$scrolltypes next"
1263 fi
1264 if test x$support_scroll_xterm = xyes; then
1265 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
1266 scrolltypes="$scrolltypes xterm"
1267 fi
1268 if test x$support_scroll_plain = xyes; then
1269 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
1270 scrolltypes="$scrolltypes plain"
1271 fi
1272 if test x$support_pointer_blank = xyes; then
1273 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
1274 fi
1275 if test x$support_cursor_blink = xyes; then
1276 AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support)
1277 fi
1278 if test x$support_text_blink = xyes; then
1279 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
1280 fi
1281 if test x$support_unicode3 = xyes; then
1282 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
1283 fi
1284 if test x$support_combining = xyes; then
1285 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
1286 fi
1287 if test x$codesets = xall; then
1288 codesets=jp,jp-ext,kr,zh,zh-ext
1289 fi
1290 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
1291 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
1292 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
1293 case "$codeset" in
1294 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
1295 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
1296 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
1297 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
1298 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
1299 esac
1300 done
1301
1302 dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket)
1303
1304 CFLAGS=${CFLAGS--O}
1305 LDFLAGS=${LDFLAGS--O}
1306
1307 CPPFLAGS="$CPPFLAGS"
1308 AC_SUBST(DEBUG)
1309 AC_SUBST(DINCLUDE)
1310 AC_SUBST(CFLAGS)
1311 AC_SUBST(CPPFLAGS)
1312 AC_SUBST(LDFLAGS)
1313 AC_SUBST(X_CFLAGS)
1314
1315 dnl# Attack the libs
1316 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
1317 DLIB=`echo $DLIB | sed "$R_TRANSLATE"`
1318 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
1319 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
1320 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
1321 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
1322 fi
1323 AC_SUBST(DLIB)
1324 AC_SUBST(LIBS)
1325 AC_SUBST(X_LIBS)
1326 AC_SUBST(X_EXTRA_LIBS)
1327
1328 if test x$support_addstrings = xno; then
1329 AC_DEFINE(NO_STRINGS, 1, Define if you don't need to use our replacement string functions)
1330 fi
1331
1332 dnl# common parts of the Makefile
1333 MCOMMON=./autoconf/Make.common
1334 AC_SUBST_FILE(MCOMMON)
1335
1336 AC_ARG_PROGRAM
1337
1338 dnl# test for "sun" or "__sun__" before include sys_ioctl
1339
1340 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
1341 AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl
1342 [if test "$$3" = "$4" -o "$$5" = "$6"; then
1343 $1="#include <$2>"
1344 else
1345 $1="/* #include <$2> */"
1346 fi dnl
1347 AC_SUBST($1)])
1348
1349 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
1350 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
1351 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
1352 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
1353 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
1354 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
1355 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
1356 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
1357 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
1358 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
1359 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
1360 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
1361 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
1362
1363 AC_CONFIG_FILES([autoconf/Make.common \
1364 Makefile \
1365 doc/Makefile \
1366 src/Makefile \
1367 src/test/Makefile \
1368 src/rxvtlib.h \
1369 W11/Makefile \
1370 ])
1371 AC_OUTPUT
1372
1373 echo "Configuration:
1374
1375 Rxvt version: $VERSION : $DATE
1376 Source code location: $srcdir
1377 Install path: ${prefix}/bin
1378 Compiler: $CXX
1379 Compiler flags: $CFLAGS
1380 Linker: $LINKER"
1381
1382 if test "$MALLOC_TYPE" = S; then
1383 echo " malloc support: system default"
1384 fi
1385 if test "$MALLOC_TYPE" = G; then
1386 echo " malloc support: Gray Watson's dmalloc"
1387 fi
1388 if test "$MALLOC_TYPE" = D; then
1389 echo " malloc support: Doug Lea's malloc"
1390 fi
1391
1392 if test x$support_xpm = xyes; then
1393 echo " Xpm library: $XPM_LIBS"
1394 fi
1395
1396 echo "
1397 The following are set in config.h
1398 "
1399 echo " pty/tty type: "$rxvt_cv_ptys
1400 if test x$support_utmp != xyes; then
1401 echo " utmp support: disabled"
1402 echo
1403 else
1404 echo " utmp support: enabled
1405 utmp file: $rxvt_cv_path_utmp
1406 utmpx file: $rxvt_cv_path_utmpx
1407 wtmp file: $rxvt_cv_path_wtmp
1408 wtmpx file: $rxvt_cv_path_wtmpx
1409 lastlog file: $rxvt_cv_path_lastlog
1410 ttys/ttytab file: $rxvt_cv_path_ttytab"
1411 echo
1412 fi
1413 if test x$term != x; then
1414 echo " set TERM to: $term"
1415 fi
1416 if test x$terminfo != x; then
1417 echo " set TERMINFO to: $terminfo"
1418 fi
1419 echo " default resource name: $RESNAME"
1420 echo " resource class: $RESCLASS"
1421 if test x$RESFALLBACK != x; then
1422 echo " resource class fallback: $RESFALLBACK"
1423 fi
1424 echo
1425 if test x$rxvt_cv_ptys = xUNKNOWN; then
1426 echo ".----------------------------------------------------------------."
1427 echo ". WARNING: could not determine pty/tty type. Do not build until ."
1428 echo ". the appropriate PTYS_ARE_* is defined in config.h ."
1429 echo ".----------------------------------------------------------------."
1430 fi
1431 if test x$support_xpm = xneedsmanualspecification; then
1432 echo ".----------------------------------------------------------------."
1433 echo ". WARNING: --enable-xpm-background was specified however the ."
1434 echo ". XPM includes files and libraries could not be found. ."
1435 echo ". XPM backgrounds are now being DISABLED! If you want ."
1436 echo ". to use them you should rerun configure with the ."
1437 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
1438 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
1439 echo ".----------------------------------------------------------------."
1440 fi
1441 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1442 echo ".----------------------------------------------------------------."
1443 echo ". WARNING: --enable-xim was specified however the locale support ."
1444 echo ". functions could not be found. ."
1445 echo ". XIM is now being DISABLED! ."
1446 echo ".----------------------------------------------------------------."
1447 fi
1448
1449 echo " *** Please check src/feature.h for further options ***"
1450 echo
1451
1452 echo ".----------------------------------------------------------------."
1453 echo ". NOTE: most features are disabled by default, try ."
1454 echo ". configure --help to get an idea of the optional features ."
1455 echo ".----------------------------------------------------------------."
1456 echo
1457