ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.2
Committed: Mon Nov 24 17:31:27 2003 UTC (20 years, 7 months ago) by pcg
Branch: MAIN
Changes since 1.1: +0 -0 lines
Log Message:
*** empty log message ***

File Contents

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