ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/configure.in
Revision: 1.11
Committed: Sat Jan 31 04:12:10 2004 UTC (20 years, 5 months ago) by pcg
Branch: MAIN
Changes since 1.10: +12 -0 lines
Log Message:
*** empty log message ***

File Contents

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