ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.18
Committed: Thu Mar 4 03:04:53 2004 UTC (20 years, 4 months ago) by pcg
Branch: MAIN
Changes since 1.17: +12 -1 lines
Log Message:
*** empty log message ***

File Contents

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