ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.16
Committed: Mon Mar 1 01:06:46 2004 UTC (20 years, 4 months ago) by pcg
Branch: MAIN
CVS Tags: rel-2_0, rxvt-2-0
Changes since 1.15: +24 -4 lines
Log Message:
*** empty log message ***

File Contents

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