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