ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.27
Committed: Sat Jul 10 20:59:39 2004 UTC (20 years ago) by root
Branch: MAIN
CVS Tags: rel-3_2
Changes since 1.26: +11 -0 lines
Log Message:
*** empty log message ***

File Contents

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