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

File Contents

# User Rev Content
1 pcg 1.1 dnl# -*- sh -*-
2     dnl#
3 pcg 1.6 dnl# $Id: configure.in,v 1.5 2004/01/16 18:49:33 pcg Exp $
4 pcg 1.1 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 pcg 1.6 support_text_blink=no
59 pcg 1.1 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 pcg 1.6 support_text_blink=yes
97 pcg 1.1 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 pcg 1.5 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 pcg 1.1 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 pcg 1.3 [ --with-codesets=NAME,... compile in additional codesets (jp,jp_ext,kr,cn,cn_ext,vn,all)],
139 pcg 1.1 [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 pcg 1.5 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 pcg 1.1
350     AC_ARG_ENABLE(cursor-blink,
351 pcg 1.6 [ --enable-cursor-blink enable blinking cursor],
352 pcg 1.1 [if test x$enableval = xyes -o x$enableval = xno; then
353     support_cursor_blink=$enableval
354     fi])
355    
356 pcg 1.6 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 pcg 1.1 AC_ARG_ENABLE(pointer-blank,
363 pcg 1.6 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
364 pcg 1.1 [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 pcg 1.6 if test x$support_test_blink = xyes; then
1200     AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
1201     fi
1202 pcg 1.1 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 pcg 1.5
1292     if test x$support_xft = xyes; then
1293     AC_DEFINE(XFT, 1, Define to enable xft support)
1294     fi
1295 pcg 1.1 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     "