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