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