ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.11
Committed: Sat Jan 31 04:12:10 2004 UTC (20 years, 5 months ago) by pcg
Branch: MAIN
Changes since 1.10: +12 -0 lines
Log Message:
*** empty log message ***

File Contents

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