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