ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.4
Committed: Thu Dec 18 00:38:07 2003 UTC (20 years, 6 months ago) by pcg
Branch: MAIN
CVS Tags: rel-1-3, rel-1-2
Changes since 1.3: +2 -6 lines
Log Message:
*** empty log message ***

File Contents

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