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

File Contents

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