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