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