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