ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.21
Committed: Sun Mar 14 17:33:07 2004 UTC (20 years, 3 months ago) by pcg
Branch: MAIN
Changes since 1.20: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

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