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