1 | dnl# -*- sh -*- |
|
|
2 | dnl# |
1 | dnl# |
3 | dnl# Process this file with autoconf to produce a configure script. |
2 | dnl# Process this file with autoconf to produce a configure script. |
4 | dnl# |
3 | dnl# |
5 | |
4 | |
6 | AC_INIT |
5 | AC_INIT |
… | |
… | |
31 | |
30 | |
32 | AC_PROG_CC |
31 | AC_PROG_CC |
33 | AC_PROG_CXX |
32 | AC_PROG_CXX |
34 | AC_PROG_CPP |
33 | AC_PROG_CPP |
35 | AC_PROG_INSTALL |
34 | AC_PROG_INSTALL |
36 | AC_PROG_AWK |
|
|
37 | |
35 | |
|
|
36 | AC_AIX |
|
|
37 | AC_ISC_POSIX |
38 | AC_LANG(C) |
38 | AC_LANG(C++) |
39 | |
39 | |
|
|
40 | dnl check wether we can link with gcc -lsupc++ |
|
|
41 | if test x$GCC = xyes && test x$GXX = xyes; then |
|
|
42 | dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it |
|
|
43 | AC_MSG_CHECKING([for working libsupc++]) |
|
|
44 | save_CXX="$CXX" |
|
|
45 | save_LIBS="$LIBS" |
|
|
46 | CXX="$CC" |
|
|
47 | LIBS="$LIBS -lsupc++" |
|
|
48 | LINKER="$CC" |
|
|
49 | AC_LINK_IFELSE( |
|
|
50 | [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], |
|
|
51 | [AC_MSG_RESULT(ok)], |
|
|
52 | [ |
|
|
53 | AC_MSG_RESULT([no, making everything bigger and slower]) |
|
|
54 | LIBS="$save_LIBS" |
|
|
55 | LINKER="$save_CXX" |
|
|
56 | ] |
|
|
57 | ) |
|
|
58 | CXX="$save_CXX" |
|
|
59 | fi |
|
|
60 | AC_SUBST(LINKER,[$LINKER]) |
|
|
61 | |
40 | dnl# -------------------------------------------------------------------------- |
62 | dnl# -------------------------------------------------------------------------- |
41 | dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' |
63 | dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure' |
42 | dnl# |
64 | dnl# |
43 | if test -z "$orig_CXXFLAGS"; then |
65 | if test -z "$orig_CXXFLAGS"; then |
44 | if test x$GCC = xyes && test "x$GXX" = xyes; then |
66 | if test x$GCC = xyes && test "x$GXX" = xyes; then |
45 | CXXFLAGS="-g -O3" |
67 | CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs" |
|
|
68 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"]) |
46 | else |
69 | else |
47 | CXXFLAGS="-O" |
70 | CXXFLAGS="-O" |
48 | fi |
71 | fi |
49 | CFLAGS="$CXXFLAGS" |
72 | CFLAGS="$CXXFLAGS" |
50 | fi |
73 | fi |
51 | |
|
|
52 | LINKER="$CXX" |
|
|
53 | if test x$GCC = xyes && test x$GXX = xyes; then |
|
|
54 | AC_CHECK_LIB(supc++, main, [ |
|
|
55 | LINKER="$CC" |
|
|
56 | LIBS="$LIBS -lsupc++" |
|
|
57 | ]) |
|
|
58 | fi |
|
|
59 | AC_SUBST(LINKER,[$LINKER]) |
|
|
60 | |
74 | |
61 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
75 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
62 | |
76 | |
63 | case $host in |
77 | case $host in |
64 | *-*-solaris* ) |
78 | *-*-solaris* ) |
… | |
… | |
70 | |
84 | |
71 | dnl if test x$GXX = xyes; then |
85 | dnl if test x$GXX = xyes; then |
72 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
86 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
73 | dnl fi |
87 | dnl fi |
74 | |
88 | |
75 | AC_LANG(C++) |
|
|
76 | |
|
|
77 | dnl# system hacks |
|
|
78 | AC_AIX |
|
|
79 | AC_ISC_POSIX |
|
|
80 | |
|
|
81 | dnl# FreeBSD needs to link libxpg4 |
89 | dnl# FreeBSD needs to link libxpg4 |
82 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
90 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
83 | |
91 | |
84 | dnl# solaris needs to link libnsl and socket |
92 | dnl# solaris needs to link libnsl and socket |
85 | AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])]) |
93 | AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])]) |
86 | AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])]) |
94 | AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])]) |
87 | |
95 | |
88 | dnl# more solaris |
|
|
89 | AC_CHECK_FUNC(sched_yield, [], [AC_CHECK_LIB(rt, sched_yield, [LIBS="$LIBS -lrt"])]) |
|
|
90 | |
|
|
91 | dnl# sched_yield to improve terminal efficiency |
|
|
92 | AC_MSG_CHECKING(for sched_yield support) |
|
|
93 | AC_TRY_LINK([#include <sched.h>],[sched_yield ()], |
|
|
94 | [AC_MSG_RESULT(yes) |
|
|
95 | AC_DEFINE(HAVE_SCHED_YIELD, 1, Define if you have sched-h and sched_yield)], |
|
|
96 | [AC_MSG_RESULT(no)]) |
|
|
97 | |
|
|
98 | dnl AC_ENABLE_SHARED(no)dnl# libtool |
96 | dnl AC_ENABLE_SHARED(no)dnl# libtool |
99 | dnl AC_ENABLE_STATIC(yes)dnl# libtool |
97 | dnl AC_ENABLE_STATIC(yes)dnl# libtool |
100 | dnl AC_PROG_LIBTOOL()dnl# libtool |
98 | dnl AC_PROG_LIBTOOL()dnl# libtool |
101 | |
|
|
102 | MALLOC_TYPE=S |
|
|
103 | |
99 | |
104 | support_frills=yes |
100 | support_frills=yes |
105 | support_inheritpixmap=yes |
101 | support_inheritpixmap=yes |
106 | support_tinting=yes |
102 | support_tinting=yes |
107 | support_fading=yes |
103 | support_fading=yes |
108 | support_keepscrolling=yes |
104 | support_keepscrolling=yes |
109 | support_selectionscrolling=yes |
105 | support_selectionscrolling=yes |
110 | support_mousewheel=yes |
106 | support_mousewheel=yes |
111 | support_mouseslipwheel=yes |
107 | support_mouseslipwheel=yes |
112 | support_utmp=yes |
|
|
113 | support_wtmp=yes |
|
|
114 | support_lastlog=yes |
|
|
115 | support_text_blink=yes |
108 | support_text_blink=yes |
116 | support_pointer_blank=yes |
109 | support_pointer_blank=yes |
117 | support_scroll_rxvt=yes |
110 | support_scroll_rxvt=yes |
118 | support_scroll_next=yes |
111 | support_scroll_next=yes |
119 | support_scroll_xterm=yes |
112 | support_scroll_xterm=yes |
… | |
… | |
143 | [ --enable-everything enable standard non-multichoice features |
136 | [ --enable-everything enable standard non-multichoice features |
144 | NOTE: this option is order dependent |
137 | NOTE: this option is order dependent |
145 | NOTE: automatically enabled with --enable-shared], |
138 | NOTE: automatically enabled with --enable-shared], |
146 | [ |
139 | [ |
147 | if test x$enableval = xno; then |
140 | if test x$enableval = xno; then |
148 | support_24bit=no |
|
|
149 | support_frills=no |
141 | support_frills=no |
150 | support_inheritpixmap=no |
142 | support_inheritpixmap=no |
151 | support_tinting=no |
143 | support_tinting=no |
152 | support_fading=no |
144 | support_fading=no |
153 | support_keepscrolling=no |
145 | support_keepscrolling=no |
… | |
… | |
173 | support_styles=no |
165 | support_styles=no |
174 | support_perl=no |
166 | support_perl=no |
175 | codesets= |
167 | codesets= |
176 | fi |
168 | fi |
177 | if test x$enableval = xyes; then |
169 | if test x$enableval = xyes; then |
178 | support_24bit=yes |
|
|
179 | support_frills=yes |
170 | support_frills=yes |
180 | support_inheritpixmap=yes |
171 | support_inheritpixmap=yes |
181 | support_tinting=yes |
172 | support_tinting=yes |
182 | support_fading=yes |
173 | support_fading=yes |
183 | support_keepscrolling=yes |
174 | support_keepscrolling=yes |
… | |
… | |
228 | [ --enable-font-styles enable bold and italic support], |
219 | [ --enable-font-styles enable bold and italic support], |
229 | [if test x$enableval = xyes -o x$enableval = xno; then |
220 | [if test x$enableval = xyes -o x$enableval = xno; then |
230 | support_styles=$enableval |
221 | support_styles=$enableval |
231 | fi]) |
222 | fi]) |
232 | |
223 | |
233 | AC_ARG_ENABLE(utmp, |
|
|
234 | [ --enable-utmp enable utmp (utmpx) support], |
|
|
235 | [if test x$enableval = xyes -o x$enableval = xno; then |
|
|
236 | support_utmp=$enableval |
|
|
237 | fi]) |
|
|
238 | |
|
|
239 | AC_ARG_ENABLE(wtmp, |
|
|
240 | [ --enable-wtmp enable wtmp (wtmpx) support (requires --enable-utmp)], |
|
|
241 | [if test x$enableval = xyes -o x$enableval = xno; then |
|
|
242 | support_wtmp=$enableval |
|
|
243 | fi]) |
|
|
244 | |
|
|
245 | AC_ARG_ENABLE(lastlog, |
|
|
246 | [ --enable-lastlog enable lastlog support (requires --enable-utmp)], |
|
|
247 | [if test x$enableval = xyes -o x$enableval = xno; then |
|
|
248 | support_lastlog=$enableval |
|
|
249 | fi]) |
|
|
250 | |
|
|
251 | AC_ARG_ENABLE(xpm-background, |
224 | AC_ARG_ENABLE(xpm-background, |
252 | [ --enable-xpm-background enable XPM background pixmaps], |
225 | [ --enable-xpm-background enable XPM background pixmaps], |
253 | [if test x$enableval = xyes -o x$enableval = xno; then |
226 | [if test x$enableval = xyes -o x$enableval = xno; then |
254 | support_xpm=$enableval |
227 | support_xpm=$enableval |
255 | fi]) |
228 | fi]) |
… | |
… | |
299 | AC_ARG_ENABLE(plain-scroll, |
272 | AC_ARG_ENABLE(plain-scroll, |
300 | [ --enable-plain-scroll enable plain style scrollbar], |
273 | [ --enable-plain-scroll enable plain style scrollbar], |
301 | [if test x$enableval = xyes -o x$enableval = xno; then |
274 | [if test x$enableval = xyes -o x$enableval = xno; then |
302 | support_scroll_plain=$enableval |
275 | support_scroll_plain=$enableval |
303 | fi]) |
276 | fi]) |
304 | |
|
|
305 | dnl AC_ARG_ENABLE(half-shadow, |
|
|
306 | dnl [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], |
|
|
307 | dnl [if test x$enableval = xyes; then |
|
|
308 | dnl AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less) |
|
|
309 | dnl fi]) |
|
|
310 | |
277 | |
311 | AC_ARG_WITH(codesets, |
278 | AC_ARG_WITH(codesets, |
312 | [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], |
279 | [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], |
313 | [codesets="$withval"]) |
280 | [codesets="$withval"]) |
314 | |
281 | |
315 | AC_ARG_ENABLE(xim, |
282 | AC_ARG_ENABLE(xim, |
316 | [ --enable-xim XIM (X Input Method) protocol support], |
283 | [ --enable-xim XIM (X Input Method) protocol support], |
317 | [if test x$enableval = xyes -o x$enableval = xno; then |
284 | [if test x$enableval = xyes -o x$enableval = xno; then |
318 | support_xim=$enableval |
285 | support_xim=$enableval |
319 | fi]) |
|
|
320 | |
|
|
321 | AC_ARG_ENABLE(ttygid, |
|
|
322 | [ --enable-ttygid enable tty setting to group named "tty"], |
|
|
323 | [if test x$enableval = xyes; then |
|
|
324 | AC_DEFINE(TTY_GID_SUPPORT, 1, Define to change gid of ttys to group tty) |
|
|
325 | fi]) |
286 | fi]) |
326 | |
287 | |
327 | AC_ARG_ENABLE(backspace-key, |
288 | AC_ARG_ENABLE(backspace-key, |
328 | [ --disable-backspace-key disable handling of the backspace key], |
289 | [ --disable-backspace-key disable handling of the backspace key], |
329 | [if test x$enableval = xno; then |
290 | [if test x$enableval = xno; then |
… | |
… | |
398 | [ --enable-frills enable support for rarely used features], |
359 | [ --enable-frills enable support for rarely used features], |
399 | [if test x$enableval = xyes -o x$enableval = xno; then |
360 | [if test x$enableval = xyes -o x$enableval = xno; then |
400 | support_frills=$enableval |
361 | support_frills=$enableval |
401 | fi]) |
362 | fi]) |
402 | |
363 | |
403 | AC_ARG_ENABLE(24bit, |
|
|
404 | [ --enable-24bit enable support for using 24bit visuals if available], |
|
|
405 | [if test x$enableval = xyes -o x$enableval = xno; then |
|
|
406 | support_24bit=$enableval |
|
|
407 | fi]) |
|
|
408 | |
|
|
409 | AC_ARG_ENABLE(keepscrolling, |
364 | AC_ARG_ENABLE(keepscrolling, |
410 | [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press], |
365 | [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press], |
411 | [if test x$enableval = xyes -o x$enableval = xno; then |
366 | [if test x$enableval = xyes -o x$enableval = xno; then |
412 | support_keepscrolling=$enableval |
367 | support_keepscrolling=$enableval |
413 | fi]) |
368 | fi]) |
… | |
… | |
426 | |
381 | |
427 | AC_ARG_ENABLE(slipwheeling, |
382 | AC_ARG_ENABLE(slipwheeling, |
428 | [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], |
383 | [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], |
429 | [if test x$enableval = xyes -o x$enableval = xno; then |
384 | [if test x$enableval = xyes -o x$enableval = xno; then |
430 | support_mouseslipwheel=$enableval |
385 | support_mouseslipwheel=$enableval |
431 | fi]) |
|
|
432 | |
|
|
433 | AC_ARG_ENABLE(dmalloc, |
|
|
434 | [ --enable-dmalloc enable Gray Watson's malloc - for debugging use], |
|
|
435 | [if test x$enableval = xyes; then |
|
|
436 | MALLOC_TYPE=G |
|
|
437 | DEBUG=-DDEBUG_MALLOC |
|
|
438 | DLIB="-L/usr/local/lib -ldmalloc" |
|
|
439 | DINCLUDE=-I/usr/local/include |
|
|
440 | fi]) |
|
|
441 | |
|
|
442 | AC_ARG_ENABLE(dlmalloc, |
|
|
443 | [ --enable-dlmalloc enable Doug Lea's malloc - for production use |
|
|
444 | NOTE: enable only one malloc package], |
|
|
445 | [if test x$enableval = xyes; then |
|
|
446 | MALLOC_TYPE=D |
|
|
447 | DEBUG= |
|
|
448 | DLIB="-L/usr/local/lib -ldlmalloc" |
|
|
449 | DINCLUDE= |
|
|
450 | fi]) |
386 | fi]) |
451 | |
387 | |
452 | AC_ARG_ENABLE(smart-resize, |
388 | AC_ARG_ENABLE(smart-resize, |
453 | [ --enable-smart-resize enable smart growth/shrink behaviour], |
389 | [ --enable-smart-resize enable smart growth/shrink behaviour], |
454 | [if test x$enableval = xyes; then |
390 | [if test x$enableval = xyes; then |
… | |
… | |
479 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
415 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
480 | fi]) |
416 | fi]) |
481 | |
417 | |
482 | dnl# -------------------------------------------------------------------------- |
418 | dnl# -------------------------------------------------------------------------- |
483 | |
419 | |
484 | AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) |
|
|
485 | |
|
|
486 | AC_PATH_PROG(MV, mv, mv) |
420 | AC_PATH_PROG(MV, mv, mv) |
487 | AC_PATH_PROG(RM, rm, rm) |
|
|
488 | AC_PATH_PROG(CP, cp, cp) |
421 | AC_PATH_PROG(CP, cp, cp) |
489 | AC_PATH_PROG(LN, ln, ln) |
422 | AC_PATH_PROG(LN, ln, ln) |
490 | AC_PATH_PROG(SED, sed, sed) |
423 | AC_PATH_PROG(SED, sed, sed) |
491 | AC_PATH_PROG(ECHO, echo, echo) |
424 | AC_PATH_PROG(ECHO, echo, echo) |
492 | AC_PATH_PROG(CMP, cmp, cmp) |
425 | AC_PATH_PROG(CMP, cmp, cmp) |
493 | AC_PATH_PROG(TBL, tbl) |
|
|
494 | AC_PATH_PROG(TIC, tic) |
426 | AC_PATH_PROG(TIC, tic) |
495 | |
427 | |
496 | dnl# need a neat way to detect SVR4 or its features |
428 | dnl# need a neat way to detect SVR4 or its features |
497 | dnl# in src/command.c we use these functions: |
429 | dnl# in src/command.c we use these functions: |
498 | dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> |
430 | dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> |
… | |
… | |
523 | dnl# -------------------------------------------------------------------------- |
455 | dnl# -------------------------------------------------------------------------- |
524 | AC_HEADER_SYS_WAIT |
456 | AC_HEADER_SYS_WAIT |
525 | AC_CHECK_HEADERS( \ |
457 | AC_CHECK_HEADERS( \ |
526 | assert.h \ |
458 | assert.h \ |
527 | fcntl.h \ |
459 | fcntl.h \ |
528 | grp.h \ |
|
|
529 | libc.h \ |
|
|
530 | lastlog.h \ |
|
|
531 | stdarg.h \ |
460 | stdarg.h \ |
532 | stdlib.h \ |
461 | stdlib.h \ |
533 | string.h \ |
462 | string.h \ |
534 | termios.h \ |
463 | termios.h \ |
535 | unistd.h \ |
464 | unistd.h \ |
536 | sys/byteorder.h \ |
465 | sys/byteorder.h \ |
537 | sys/ioctl.h \ |
466 | sys/ioctl.h \ |
538 | sys/select.h \ |
467 | sys/select.h \ |
539 | sys/sockio.h \ |
468 | sys/sockio.h \ |
540 | sys/strredir.h \ |
469 | sys/strredir.h \ |
541 | sys/stropts.h \ |
|
|
542 | sys/time.h \ |
470 | sys/time.h \ |
543 | utmp.h \ |
471 | stdint.h \ |
544 | utmpx.h \ |
472 | wchar.h \ |
545 | stdint.h \ |
473 | cwchar \ |
546 | pty.h \ |
474 | clocale \ |
547 | util.h \ |
|
|
548 | libutil.h \ |
|
|
549 | wchar.h \ |
|
|
550 | cwchar \ |
|
|
551 | clocale \ |
|
|
552 | ) |
475 | ) |
553 | |
476 | |
554 | AC_HEADER_TIME |
477 | AC_HEADER_TIME |
555 | |
478 | |
556 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
479 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
… | |
… | |
608 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
531 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
609 | fi |
532 | fi |
610 | LIBS=$ac_save_LIBS |
533 | LIBS=$ac_save_LIBS |
611 | CFLAGS=$ac_save_CFLAGS |
534 | CFLAGS=$ac_save_CFLAGS |
612 | |
535 | |
|
|
536 | AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access, |
|
|
537 | [AC_COMPILE_IFELSE( |
|
|
538 | [AC_LANG_PROGRAM([ |
|
|
539 | #define XLIB_ILLEGAL_ACCESS |
|
|
540 | #include <X11/Xlib.h> |
|
|
541 | ],[ |
|
|
542 | Display *dpy; |
|
|
543 | dpy->xdefaults = (char *)0; |
|
|
544 | ])], |
|
|
545 | [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no] |
|
|
546 | )]) |
|
|
547 | if test x$rxvt_xlib_illegal_access = xyes; then |
|
|
548 | AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) |
|
|
549 | fi |
613 | |
550 | |
614 | AC_C_CONST |
551 | AC_C_CONST |
615 | AC_C_INLINE |
552 | AC_C_INLINE |
616 | |
553 | |
617 | dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow. |
554 | dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow. |
… | |
… | |
631 | dnl AC_CHECK_SIZEOF(long, 4) |
568 | dnl AC_CHECK_SIZEOF(long, 4) |
632 | AC_CHECK_SIZEOF(long long, 8) |
569 | AC_CHECK_SIZEOF(long long, 8) |
633 | AC_CHECK_SIZEOF(int *, 4) |
570 | AC_CHECK_SIZEOF(int *, 4) |
634 | |
571 | |
635 | dnl# see usage below |
572 | dnl# see usage below |
636 | AC_DEFUN(RXVT_CHECK_SIZE, |
573 | AC_DEFUN([RXVT_CHECK_SIZE], |
637 | [AC_CACHE_CHECK([for $2], $1, |
574 | [AC_CACHE_CHECK([for $2], $1, |
638 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
575 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
639 | if test "$ac_cv_sizeof_char" -ge $3; then |
576 | if test "$ac_cv_sizeof_char" -ge $3; then |
640 | $1="$4 char" |
577 | $1="$4 char" |
641 | else |
578 | else |
… | |
… | |
710 | dnl# -------------------------------------------------------------------------- |
647 | dnl# -------------------------------------------------------------------------- |
711 | AC_TYPE_SIGNAL |
648 | AC_TYPE_SIGNAL |
712 | dnl> AC_FUNC_VPRINTF |
649 | dnl> AC_FUNC_VPRINTF |
713 | |
650 | |
714 | AC_CHECK_FUNCS( \ |
651 | AC_CHECK_FUNCS( \ |
715 | revoke \ |
|
|
716 | unsetenv \ |
652 | unsetenv \ |
717 | setutent \ |
653 | setutent \ |
718 | seteuid \ |
|
|
719 | setreuid \ |
|
|
720 | _getpty \ |
|
|
721 | getpt \ |
|
|
722 | posix_openpt \ |
|
|
723 | grantpt \ |
|
|
724 | unlockpt \ |
|
|
725 | isastream \ |
|
|
726 | on_exit \ |
654 | on_exit \ |
727 | nanosleep \ |
|
|
728 | updwtmp \ |
|
|
729 | updwtmpx \ |
|
|
730 | ttyslot \ |
|
|
731 | ) |
655 | ) |
732 | |
656 | |
733 | dnl# -------------------------------------------------------------------------- |
657 | UTMP_CHECK |
734 | dnl# DO ALL UTMP AND WTMP CHECKING |
|
|
735 | dnl# -------------------------------------------------------------------------- |
|
|
736 | dnl# check for host field in utmp structure |
|
|
737 | |
|
|
738 | dnl# -------------------------------------------- |
|
|
739 | AC_CHECK_HEADER(utmp.h, |
|
|
740 | [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, |
|
|
741 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
742 | #include <stdint.h> |
|
|
743 | #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])]) |
|
|
744 | if test x$rxvt_cv_struct_utmp = xyes; then |
|
|
745 | AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) |
|
|
746 | fi |
|
|
747 | ] |
|
|
748 | |
|
|
749 | AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, |
|
|
750 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
751 | #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])]) |
|
|
752 | if test x$rxvt_cv_struct_utmp_host = xyes; then |
|
|
753 | AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) |
|
|
754 | fi |
|
|
755 | |
|
|
756 | AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, |
|
|
757 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
758 | #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])]) |
|
|
759 | if test x$rxvt_cv_struct_utmp_pid = xyes; then |
|
|
760 | AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) |
|
|
761 | fi |
|
|
762 | ) dnl# AC_CHECK_HEADER(utmp.h |
|
|
763 | |
|
|
764 | dnl# -------------------------------------------- |
|
|
765 | |
|
|
766 | AC_CHECK_HEADER(utmpx.h, |
|
|
767 | [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, |
|
|
768 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
769 | #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])]) |
|
|
770 | if test x$rxvt_cv_struct_utmpx = xyes; then |
|
|
771 | AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) |
|
|
772 | fi |
|
|
773 | ] |
|
|
774 | |
|
|
775 | AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, |
|
|
776 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
777 | #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])]) |
|
|
778 | if test x$rxvt_cv_struct_utmpx_host = xyes; then |
|
|
779 | AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) |
|
|
780 | fi |
|
|
781 | |
|
|
782 | AC_CACHE_CHECK(for session in utmpx struct, rxvt_cv_struct_utmpx_session, |
|
|
783 | [AC_TRY_COMPILE([#include <sys/types.h> |
|
|
784 | #include <utmpx.h>], |
|
|
785 | [struct utmpx utx; utx.ut_session;], |
|
|
786 | rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)]) |
|
|
787 | if test x$rxvt_cv_struct_utmpx_session = xyes; then |
|
|
788 | AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session) |
|
|
789 | fi |
|
|
790 | ) dnl# AC_CHECK_HEADER(utmpx.h |
|
|
791 | |
|
|
792 | dnl# -------------------------------------------------------------------------- |
|
|
793 | dnl# check for struct lastlog |
|
|
794 | AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, |
|
|
795 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
796 | #include <utmp.h> |
|
|
797 | #ifdef HAVE_LASTLOG_H |
|
|
798 | #include <lastlog.h> |
|
|
799 | #endif |
|
|
800 | ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])]) |
|
|
801 | if test x$rxvt_cv_struct_lastlog = xyes; then |
|
|
802 | AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) |
|
|
803 | fi |
|
|
804 | |
|
|
805 | dnl# check for struct lastlogx |
|
|
806 | AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, |
|
|
807 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
808 | #include <utmpx.h> |
|
|
809 | #ifdef HAVE_LASTLOG_H |
|
|
810 | #include <lastlog.h> |
|
|
811 | #endif |
|
|
812 | ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])]) |
|
|
813 | if test x$rxvt_cv_struct_lastlogx = xyes; then |
|
|
814 | AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) |
|
|
815 | fi |
|
|
816 | |
|
|
817 | dnl# -------------------------------------------------------------------------- |
|
|
818 | dnl# FIND FILES |
|
|
819 | dnl# -------------------------------------------------------------------------- |
|
|
820 | |
|
|
821 | dnl# find utmp |
|
|
822 | AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, |
|
|
823 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
824 | #include <sys/types.h> |
|
|
825 | #include <utmp.h> |
|
|
826 | #include <errno.h> |
|
|
827 | main() |
|
|
828 | { |
|
|
829 | char **u, *utmplist[] = { |
|
|
830 | "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL }; |
|
|
831 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
832 | if (!f) exit(1); |
|
|
833 | #ifdef UTMP_FILE |
|
|
834 | fprintf(f, "%s\n", UTMP_FILE); |
|
|
835 | exit(0); |
|
|
836 | #endif |
|
|
837 | #ifdef _PATH_UTMP |
|
|
838 | fprintf(f, "%s\n", _PATH_UTMP); |
|
|
839 | exit(0); |
|
|
840 | #endif |
|
|
841 | for (u = utmplist; *u; u++) { |
|
|
842 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
843 | fprintf(f, "%s\n", *u); |
|
|
844 | exit(0); |
|
|
845 | } |
|
|
846 | } |
|
|
847 | exit(0); |
|
|
848 | }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl |
|
|
849 | AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])]) |
|
|
850 | if test x$rxvt_cv_path_utmp != x; then |
|
|
851 | AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) |
|
|
852 | fi |
|
|
853 | |
|
|
854 | dnl# -------------------------------------------------------------------------- |
|
|
855 | |
|
|
856 | dnl# find utmpx - if a utmp file exists at the same location and is more than |
|
|
857 | dnl# a day newer, then dump the utmpx. People leave lots of junk around. |
|
|
858 | AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, |
|
|
859 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
860 | #include <sys/types.h> |
|
|
861 | #include <utmpx.h> |
|
|
862 | #include <errno.h> |
|
|
863 | #include <sys/stat.h> |
|
|
864 | #ifdef HAVE_STRING_H |
|
|
865 | #include <string.h> |
|
|
866 | #endif |
|
|
867 | main() |
|
|
868 | { |
|
|
869 | char **u, *p, *utmplist[] = { |
|
|
870 | #ifdef UTMPX_FILE |
|
|
871 | UTMPX_FILE, |
|
|
872 | #endif |
|
|
873 | #ifdef _PATH_UTMPX |
|
|
874 | _PATH_UTMPX, |
|
|
875 | #endif |
|
|
876 | "/var/adm/utmpx", "/etc/utmpx", NULL }; |
|
|
877 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
878 | struct stat statu, statux; |
|
|
879 | if (!f) exit(1); |
|
|
880 | for (u = utmplist; *u; u++) { |
|
|
881 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
882 | if (stat(*u, &statux) < 0) |
|
|
883 | continue; |
|
|
884 | p = strdup(*u); |
|
|
885 | p[strlen(p) - 1] = '\0'; |
|
|
886 | if (stat(p, &statu) >= 0 |
|
|
887 | && (statu.st_mtime - statux.st_mtime > 86400)) |
|
|
888 | continue; |
|
|
889 | fprintf(f, "%s\n", *u); |
|
|
890 | exit(0); |
|
|
891 | } |
|
|
892 | } |
|
|
893 | exit(0); |
|
|
894 | }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl |
|
|
895 | AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])]) |
|
|
896 | if test x$rxvt_cv_path_utmpx != x; then |
|
|
897 | AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) |
|
|
898 | fi |
|
|
899 | |
|
|
900 | dnl# -------------------------------------------------------------------------- |
|
|
901 | |
|
|
902 | dnl# find wtmp |
|
|
903 | AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, |
|
|
904 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
905 | #include <sys/types.h> |
|
|
906 | #ifdef HAVE_UTMP_H |
|
|
907 | #include <utmp.h> |
|
|
908 | #endif |
|
|
909 | #include <errno.h> |
|
|
910 | main() |
|
|
911 | { |
|
|
912 | char **w, *wtmplist[] = { |
|
|
913 | "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL }; |
|
|
914 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
915 | if (!f) exit(1); |
|
|
916 | #ifdef WTMP_FILE |
|
|
917 | fprintf(f, "%s\n", WTMP_FILE); |
|
|
918 | exit(0); |
|
|
919 | #endif |
|
|
920 | #ifdef _PATH_WTMP |
|
|
921 | fprintf(f, "%s\n", _PATH_WTMP); |
|
|
922 | exit(0); |
|
|
923 | #endif |
|
|
924 | for (w = wtmplist; *w; w++) { |
|
|
925 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
926 | fprintf(f, "%s\n", *w); |
|
|
927 | exit(0); |
|
|
928 | } |
|
|
929 | } |
|
|
930 | exit(0); |
|
|
931 | }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl |
|
|
932 | AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])]) |
|
|
933 | if test x$rxvt_cv_path_wtmp != x; then |
|
|
934 | AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) |
|
|
935 | fi |
|
|
936 | dnl# -------------------------------------------------------------------------- |
|
|
937 | |
|
|
938 | dnl# find wtmpx |
|
|
939 | AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, |
|
|
940 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
941 | #ifdef HAVE_UTMPX_H |
|
|
942 | #include <utmpx.h> |
|
|
943 | #endif |
|
|
944 | #include <errno.h> |
|
|
945 | main() |
|
|
946 | { |
|
|
947 | char **w, *wtmplist[] = { |
|
|
948 | "/var/log/wtmpx", "/var/adm/wtmpx", NULL }; |
|
|
949 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
950 | if (!f) exit(1); |
|
|
951 | #ifdef WTMPX_FILE |
|
|
952 | fprintf(f, "%s\n", WTMPX_FILE); |
|
|
953 | exit(0); |
|
|
954 | #endif |
|
|
955 | #ifdef _PATH_WTMPX |
|
|
956 | fprintf(f, "%s\n", _PATH_WTMPX); |
|
|
957 | exit(0); |
|
|
958 | #endif |
|
|
959 | for (w = wtmplist; *w; w++) { |
|
|
960 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
961 | fprintf(f, "%s\n", *w); |
|
|
962 | exit(0); |
|
|
963 | } |
|
|
964 | } |
|
|
965 | exit(0); |
|
|
966 | }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl |
|
|
967 | AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])]) |
|
|
968 | if test x$rxvt_cv_path_wtmpx != x; then |
|
|
969 | AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) |
|
|
970 | fi |
|
|
971 | dnl# -------------------------------------------------------------------------- |
|
|
972 | |
|
|
973 | dnl# find lastlog |
|
|
974 | AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, |
|
|
975 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
976 | #include <sys/types.h> |
|
|
977 | #ifdef HAVE_UTMPX_H |
|
|
978 | #include <utmpx.h> |
|
|
979 | #elif defined(HAVE_UTMP_H) |
|
|
980 | #include <utmp.h> |
|
|
981 | #endif |
|
|
982 | #ifdef HAVE_LASTLOG_H |
|
|
983 | #include <lastlog.h> |
|
|
984 | #endif |
|
|
985 | #include <errno.h> |
|
|
986 | main() |
|
|
987 | { |
|
|
988 | char **w, *lastloglist[] = { "/var/log/lastlog", NULL }; |
|
|
989 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
990 | if (!f) exit(1); |
|
|
991 | #ifdef LASTLOG_FILE |
|
|
992 | fprintf(f, "%s\n", LASTLOG_FILE); |
|
|
993 | exit(0); |
|
|
994 | #endif |
|
|
995 | #ifdef _PATH_LASTLOG |
|
|
996 | fprintf(f, "%s\n", _PATH_LASTLOG); |
|
|
997 | exit(0); |
|
|
998 | #endif |
|
|
999 | for (w = lastloglist; *w; w++) { |
|
|
1000 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
1001 | fprintf(f, "%s\n", *w); |
|
|
1002 | exit(0); |
|
|
1003 | } |
|
|
1004 | } |
|
|
1005 | exit(0); |
|
|
1006 | }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl |
|
|
1007 | AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])]) |
|
|
1008 | if test x$rxvt_cv_path_lastlog != x; then |
|
|
1009 | AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) |
|
|
1010 | if test -d "$rxvt_cv_path_lastlog"; then |
|
|
1011 | AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) |
|
|
1012 | fi |
|
|
1013 | fi |
|
|
1014 | dnl# -------------------------------------------------------------------------- |
|
|
1015 | |
|
|
1016 | dnl# find lastlogx |
|
|
1017 | AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, |
|
|
1018 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
1019 | #ifdef HAVE_UTMPX_H |
|
|
1020 | #include <utmpx.h> |
|
|
1021 | #endif |
|
|
1022 | #include <errno.h> |
|
|
1023 | main() |
|
|
1024 | { |
|
|
1025 | char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL }; |
|
|
1026 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
1027 | if (!f) exit(1); |
|
|
1028 | #ifdef LASTLOGX_FILE |
|
|
1029 | fprintf(f, "%s\n", LASTLOGX_FILE); |
|
|
1030 | exit(0); |
|
|
1031 | #endif |
|
|
1032 | #ifdef _PATH_LASTLOGX |
|
|
1033 | fprintf(f, "%s\n", _PATH_LASTLOGX); |
|
|
1034 | exit(0); |
|
|
1035 | #endif |
|
|
1036 | for (w = wtmplist; *w; w++) { |
|
|
1037 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
1038 | fprintf(f, "%s\n", *w); |
|
|
1039 | exit(0); |
|
|
1040 | } |
|
|
1041 | } |
|
|
1042 | exit(0); |
|
|
1043 | }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl |
|
|
1044 | AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])]) |
|
|
1045 | if test x$rxvt_cv_path_lastlogx != x; then |
|
|
1046 | AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) |
|
|
1047 | fi |
|
|
1048 | |
658 | |
1049 | dnl# -------------------------------------------------------------------------- |
659 | dnl# -------------------------------------------------------------------------- |
1050 | |
660 | |
1051 | dnl# find ttys/ttytab |
661 | dnl# find ttys/ttytab |
1052 | AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, |
662 | AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, |
… | |
… | |
1107 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
717 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
1108 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
718 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
1109 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
719 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
1110 | fi |
720 | fi |
1111 | |
721 | |
1112 | AC_CACHE_CHECK(for unix-compliant filehandle passing ability, rxvt_can_pass_fds, |
722 | SCM_RIGHTS_CHECK |
1113 | [AC_TRY_LINK([ |
|
|
1114 | #include <sys/types.h> |
|
|
1115 | #include <sys/socket.h> |
|
|
1116 | ],[ |
|
|
1117 | { |
|
|
1118 | msghdr msg; |
|
|
1119 | iovec iov; |
|
|
1120 | char buf [100]; |
|
|
1121 | char data = 0; |
|
|
1122 | |
|
|
1123 | iov.iov_base = &data; |
|
|
1124 | iov.iov_len = 1; |
|
|
1125 | |
|
|
1126 | msg.msg_iov = &iov; |
|
|
1127 | msg.msg_iovlen = 1; |
|
|
1128 | msg.msg_control = buf; |
|
|
1129 | msg.msg_controllen = sizeof buf; |
|
|
1130 | |
|
|
1131 | cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); |
|
|
1132 | cmsg->cmsg_level = SOL_SOCKET; |
|
|
1133 | cmsg->cmsg_type = SCM_RIGHTS; |
|
|
1134 | cmsg->cmsg_len = 100; |
|
|
1135 | |
|
|
1136 | *(int *)CMSG_DATA (cmsg) = 5; |
|
|
1137 | |
|
|
1138 | return sendmsg (3, &msg, 0); |
|
|
1139 | } |
|
|
1140 | ],[rxvt_can_pass_fds=yes],[rxvt_can_pass_fds=no])]) |
|
|
1141 | if test x$rxvt_can_pass_fds = xyes; then |
|
|
1142 | AC_DEFINE(HAVE_UNIX_FDPASS, 1, Define if sys/socket.h defines the necessary macros/functions for file handle passing) |
|
|
1143 | else |
|
|
1144 | AC_MSG_ERROR([urxvt requires unix-compliant filehandle passing ability]) |
|
|
1145 | fi |
|
|
1146 | |
723 | |
1147 | AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, |
724 | AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, |
1148 | [AC_COMPILE_IFELSE([ |
725 | [AC_COMPILE_IFELSE([ |
1149 | #include <X11/Xlib.h> |
726 | #include <X11/Xlib.h> |
1150 | |
727 | |
… | |
… | |
1158 | |
735 | |
1159 | if test x$rxvt_broken_ximcb = xyes; then |
736 | if test x$rxvt_broken_ximcb = xyes; then |
1160 | AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) |
737 | AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) |
1161 | fi |
738 | fi |
1162 | |
739 | |
1163 | if test x$ac_cv_func_getpt = xno -a x$ac_cv_func_posix_openpt = xno; then |
740 | PTY_CHECK |
1164 | AC_CHECK_FUNC(openpty, [], [AC_CHECK_LIB(util, openpty, [LIBS="$LIBS -lutil"])]) |
|
|
1165 | fi |
|
|
1166 | |
741 | |
1167 | dnl# if we don't guess right then it's up to the user |
742 | TTY_GROUP_CHECK |
1168 | AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, |
|
|
1169 | [if test x$ac_cv_func_openpty = xyes -o x$ac_cv_lib_util_openpty = xyes; then |
|
|
1170 | rxvt_cv_ptys=OPENPTY |
|
|
1171 | else if test x$ac_cv_func_getpt = xyes; then |
|
|
1172 | rxvt_cv_ptys=GLIBC |
|
|
1173 | else if test x$ac_cv_func_posix_openpt = xyes; then |
|
|
1174 | rxvt_cv_ptys=POSIX |
|
|
1175 | else if test x$ac_cv_func__getpty = xyes; then |
|
|
1176 | rxvt_cv_ptys=SGI4 |
|
|
1177 | else if test -c /dev/ttyp20; then |
|
|
1178 | rxvt_cv_ptys=SCO |
|
|
1179 | else if test -c /dev/ptym/clone; then |
|
|
1180 | rxvt_cv_ptys=HPUX |
|
|
1181 | else if test -c /dev/ptc -a -c /dev/pts; then |
|
|
1182 | rxvt_cv_ptys=PTC |
|
|
1183 | else if test -c /dev/ptc -a -d /dev/pts; then |
|
|
1184 | rxvt_cv_ptys=PTC |
|
|
1185 | else if test -c /dev/ptmx -a -c /dev/pts/0; then |
|
|
1186 | rxvt_cv_ptys=STREAMS |
|
|
1187 | else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then |
|
|
1188 | dnl# catch CYGWIN |
|
|
1189 | rxvt_cv_ptys=STREAMS |
|
|
1190 | else |
|
|
1191 | rxvt_cv_ptys=BSD |
|
|
1192 | fi |
|
|
1193 | fi |
|
|
1194 | fi |
|
|
1195 | fi |
|
|
1196 | fi |
|
|
1197 | fi |
|
|
1198 | fi |
|
|
1199 | fi |
|
|
1200 | fi |
|
|
1201 | fi |
|
|
1202 | ]) |
|
|
1203 | |
|
|
1204 | if test x$rxvt_cv_ptys = xGLIBC; then |
|
|
1205 | AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type) |
|
|
1206 | fi |
|
|
1207 | if test x$rxvt_cv_ptys = xPOSIX; then |
|
|
1208 | AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type) |
|
|
1209 | fi |
|
|
1210 | if test x$rxvt_cv_ptys = xOPENPTY; then |
|
|
1211 | AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) |
|
|
1212 | fi |
|
|
1213 | if test x$rxvt_cv_ptys = xSCO; then |
|
|
1214 | AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) |
|
|
1215 | fi |
|
|
1216 | if test x$rxvt_cv_ptys = xSTREAMS; then |
|
|
1217 | AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type) |
|
|
1218 | fi |
|
|
1219 | if test x$rxvt_cv_ptys = xPTC; then |
|
|
1220 | AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) |
|
|
1221 | fi |
|
|
1222 | if test x$rxvt_cv_ptys = xSGI4; then |
|
|
1223 | AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) |
|
|
1224 | fi |
|
|
1225 | if test x$rxvt_cv_ptys = xHPUX; then |
|
|
1226 | AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) |
|
|
1227 | fi |
|
|
1228 | if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xPOSIX; then |
|
|
1229 | AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) |
|
|
1230 | fi |
|
|
1231 | |
|
|
1232 | |
|
|
1233 | AS_MESSAGE(checking for pty ranges...) |
|
|
1234 | ptys=`echo /dev/pty??` |
|
|
1235 | pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` |
|
|
1236 | pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` |
|
|
1237 | if test x$pch1 != x; then |
|
|
1238 | AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) |
|
|
1239 | fi |
|
|
1240 | if test x$pch2 != x; then |
|
|
1241 | AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) |
|
|
1242 | fi |
|
|
1243 | |
743 | |
1244 | dnl# -------------------------------------------------------------------------- |
744 | dnl# -------------------------------------------------------------------------- |
1245 | dnl# now add and remove other stuff |
745 | dnl# now add and remove other stuff |
1246 | dnl# -------------------------------------------------------------------------- |
746 | dnl# -------------------------------------------------------------------------- |
1247 | if test x$support_xft = xyes; then |
747 | if test x$support_xft = xyes; then |
1248 | LIBS="$LIBS `pkg-config xft --libs`" |
748 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
749 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then |
|
|
750 | LIBS="$LIBS `$PKG_CONFIG xft --libs`" |
1249 | CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`" |
751 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" |
|
|
752 | else |
|
|
753 | AC_PATH_PROG(XFT_CONFIG, xft-config, no) |
|
|
754 | if test $XFT_CONFIG != no; then |
|
|
755 | LIBS="$LIBS `$XFT_CONFIG --libs`" |
|
|
756 | CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" |
|
|
757 | fi |
|
|
758 | fi |
1250 | |
759 | |
1251 | AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) |
760 | AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) |
1252 | AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) |
761 | AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) |
1253 | |
762 | |
1254 | if test x$support_xft = xyes; then |
763 | if test x$support_xft = xyes; then |
… | |
… | |
1280 | AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen) |
789 | AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen) |
1281 | fi |
790 | fi |
1282 | if test x$support_frills = xyes; then |
791 | if test x$support_frills = xyes; then |
1283 | AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features) |
792 | AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features) |
1284 | fi |
793 | fi |
1285 | if test x$support_24bit = xyes; then |
|
|
1286 | AC_DEFINE(PREFER_24BIT, 1, Define to use a 24 bit visual if the screen has 24 bit mode, even if the default is 8 bit) |
|
|
1287 | fi |
|
|
1288 | if test x$support_mousewheel = xyes; then |
794 | if test x$support_mousewheel = xyes; then |
1289 | AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll) |
795 | AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll) |
1290 | fi |
796 | fi |
1291 | if test x$support_mouseslipwheel = xyes; then |
797 | if test x$support_mouseslipwheel = xyes; then |
1292 | AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) |
798 | AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) |
1293 | fi |
|
|
1294 | if test x$support_utmp = xyes; then |
|
|
1295 | AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support) |
|
|
1296 | fi |
|
|
1297 | if test x$support_wtmp = xyes; then |
|
|
1298 | AC_DEFINE(WTMP_SUPPORT, 1, Define if you want to have wtmp support when utmp/utmpx is enabled) |
|
|
1299 | fi |
|
|
1300 | if test x$support_lastlog = xyes; then |
|
|
1301 | AC_DEFINE(LASTLOG_SUPPORT, 1, Define if you want to have lastlog support when utmp/utmpx is enabled) |
|
|
1302 | fi |
799 | fi |
1303 | if test x$support_xim = xyes -o x$multichar_set = xyes; then |
800 | if test x$support_xim = xyes -o x$multichar_set = xyes; then |
1304 | if test x$rxvt_cv_func_xlocale = xyes; then |
801 | if test x$rxvt_cv_func_xlocale = xyes; then |
1305 | AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) |
802 | AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) |
1306 | fi |
803 | fi |
… | |
… | |
1393 | AC_SUBST(PERLPRIVLIBEXP) |
890 | AC_SUBST(PERLPRIVLIBEXP) |
1394 | AC_SUBST(PERL) |
891 | AC_SUBST(PERL) |
1395 | AC_SUBST(IF_PERL) |
892 | AC_SUBST(IF_PERL) |
1396 | AC_SUBST(PERL_O) |
893 | AC_SUBST(PERL_O) |
1397 | |
894 | |
|
|
895 | AC_TRY_LINK([ |
|
|
896 | #include <EXTERN.h> |
|
|
897 | #include <perl.h> |
|
|
898 | #include <XSUB.h> |
|
|
899 | ],[ |
|
|
900 | PerlInterpreter *perl = perl_alloc (); |
|
|
901 | ],[rxvt_perl_link=yes],[rxvt_perl_link=no]) |
1398 | if test x$support_perl = xyes; then |
902 | if test x$support_perl = xyes; then |
1399 | support_frills=yes |
903 | support_frills=yes |
1400 | fi |
904 | fi |
1401 | |
905 | |
1402 | dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket) |
|
|
1403 | |
|
|
1404 | CFLAGS=${CFLAGS--O} |
|
|
1405 | LDFLAGS=${LDFLAGS--O} |
|
|
1406 | |
|
|
1407 | CPPFLAGS="$CPPFLAGS" |
|
|
1408 | AC_SUBST(DEBUG) |
906 | AC_SUBST(DEBUG) |
1409 | AC_SUBST(DINCLUDE) |
907 | AC_SUBST(DINCLUDE) |
1410 | AC_SUBST(CFLAGS) |
908 | AC_SUBST(CFLAGS) |
1411 | AC_SUBST(CPPFLAGS) |
909 | AC_SUBST(CPPFLAGS) |
1412 | AC_SUBST(LDFLAGS) |
910 | AC_SUBST(LDFLAGS) |
… | |
… | |
1428 | AC_ARG_PROGRAM |
926 | AC_ARG_PROGRAM |
1429 | |
927 | |
1430 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
928 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
1431 | |
929 | |
1432 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
930 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
1433 | AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl |
931 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
1434 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
932 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
1435 | $1="#include <$2>" |
933 | $1="#include <$2>" |
1436 | else |
934 | else |
1437 | $1="/* #include <$2> */" |
935 | $1="/* #include <$2> */" |
1438 | fi dnl |
936 | fi dnl |
… | |
… | |
1463 | |
961 | |
1464 | Rxvt version: $VERSION : $DATE |
962 | Rxvt version: $VERSION : $DATE |
1465 | Source code location: $srcdir |
963 | Source code location: $srcdir |
1466 | Install path: ${prefix}/bin |
964 | Install path: ${prefix}/bin |
1467 | Compiler: $CXX |
965 | Compiler: $CXX |
1468 | Compiler flags: $CFLAGS |
966 | Compiler flags: $CXXFLAGS |
1469 | Linker: $LINKER" |
967 | Linker: $LINKER" |
1470 | |
|
|
1471 | if test "$MALLOC_TYPE" = S; then |
|
|
1472 | echo " malloc support: system default" |
|
|
1473 | fi |
|
|
1474 | if test "$MALLOC_TYPE" = G; then |
|
|
1475 | echo " malloc support: Gray Watson's dmalloc" |
|
|
1476 | fi |
|
|
1477 | if test "$MALLOC_TYPE" = D; then |
|
|
1478 | echo " malloc support: Doug Lea's malloc" |
|
|
1479 | fi |
|
|
1480 | |
968 | |
1481 | if test x$support_xpm = xyes; then |
969 | if test x$support_xpm = xyes; then |
1482 | echo " Xpm library: $XPM_LIBS" |
970 | echo " Xpm library: $XPM_LIBS" |
1483 | fi |
971 | fi |
1484 | |
972 | |
1485 | echo " |
|
|
1486 | The following are set in config.h |
|
|
1487 | " |
|
|
1488 | echo " pty/tty type: "$rxvt_cv_ptys |
|
|
1489 | if test x$support_utmp != xyes; then |
|
|
1490 | echo " utmp support: disabled" |
|
|
1491 | echo |
|
|
1492 | else |
|
|
1493 | echo " utmp support: enabled |
|
|
1494 | utmp file: $rxvt_cv_path_utmp |
|
|
1495 | utmpx file: $rxvt_cv_path_utmpx |
|
|
1496 | wtmp file: $rxvt_cv_path_wtmp |
|
|
1497 | wtmpx file: $rxvt_cv_path_wtmpx |
|
|
1498 | lastlog file: $rxvt_cv_path_lastlog |
|
|
1499 | ttys/ttytab file: $rxvt_cv_path_ttytab |
|
|
1500 | embedded perl: $support_perl" |
|
|
1501 | echo |
|
|
1502 | fi |
|
|
1503 | if test x$term != x; then |
973 | if test x$term != x; then |
1504 | echo " set TERM to: $term" |
974 | echo " set TERM to: $term" |
1505 | fi |
975 | fi |
1506 | if test x$terminfo != x; then |
976 | if test x$terminfo != x; then |
1507 | echo " set TERMINFO to: $terminfo" |
977 | echo " set TERMINFO to: $terminfo" |
… | |
… | |
1510 | echo " resource class: $RESCLASS" |
980 | echo " resource class: $RESCLASS" |
1511 | if test x$RESFALLBACK != x; then |
981 | if test x$RESFALLBACK != x; then |
1512 | echo " resource class fallback: $RESFALLBACK" |
982 | echo " resource class fallback: $RESFALLBACK" |
1513 | fi |
983 | fi |
1514 | echo |
984 | echo |
1515 | if test x$rxvt_cv_ptys = xUNKNOWN; then |
985 | echo " embedded perl: $support_perl" |
1516 | echo ".----------------------------------------------------------------." |
986 | echo |
1517 | echo ". WARNING: could not determine pty/tty type. Do not build until ." |
|
|
1518 | echo ". the appropriate PTYS_ARE_* is defined in config.h ." |
|
|
1519 | echo ".----------------------------------------------------------------." |
|
|
1520 | fi |
|
|
1521 | if test x$support_xpm = xneedsmanualspecification; then |
987 | if test x$support_xpm = xneedsmanualspecification; then |
1522 | echo ".----------------------------------------------------------------." |
988 | echo ".----------------------------------------------------------------." |
1523 | echo ". WARNING: --enable-xpm-background was specified however the ." |
989 | echo ". WARNING: --enable-xpm-background was specified however the ." |
1524 | echo ". XPM includes files and libraries could not be found. ." |
990 | echo ". XPM includes files and libraries could not be found. ." |
1525 | echo ". XPM backgrounds are now being DISABLED! If you want ." |
991 | echo ". XPM backgrounds are now being DISABLED! If you want ." |
… | |
… | |
1534 | echo ". functions could not be found. ." |
1000 | echo ". functions could not be found. ." |
1535 | echo ". XIM is now being DISABLED! ." |
1001 | echo ". XIM is now being DISABLED! ." |
1536 | echo ".----------------------------------------------------------------." |
1002 | echo ".----------------------------------------------------------------." |
1537 | fi |
1003 | fi |
1538 | |
1004 | |
1539 | echo " *** Optionally check src/feature.h for further options ***" |
1005 | echo "*** Optionally check src/feature.h for further, rarely used options ***" |
1540 | echo |
1006 | echo |
1541 | |
1007 | |
1542 | echo ".----------------------------------------------------------------." |
|
|
1543 | echo ". NOTE: some features are disabled by default, try ." |
|
|
1544 | echo ". configure --help to get an idea of the optional features, ." |
|
|
1545 | echo ". or read ./README.configure ." |
|
|
1546 | echo ". ." |
|
|
1547 | echo ". The script ./reconf gives a reasonable baseline, try it if ." |
|
|
1548 | echo ". you do not want to read documentation and still want some ." |
|
|
1549 | echo ". useful features. ." |
|
|
1550 | echo ".----------------------------------------------------------------." |
|
|
1551 | echo |
|
|
1552 | |
|
|