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