ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.4
Committed: Thu Dec 18 00:38:07 2003 UTC (20 years, 6 months ago) by pcg
Branch: MAIN
CVS Tags: rel-1-3, rel-1-2
Changes since 1.3: +2 -6 lines
Log Message:
*** empty log message ***

File Contents

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