ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.7
Committed: Thu Jan 29 23:26:01 2004 UTC (20 years, 5 months ago) by pcg
Branch: MAIN
Changes since 1.6: +3 -3 lines
Log Message:
*** empty log message ***

File Contents

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