ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/configure.ac
Revision: 1.58
Committed: Tue Jun 26 19:47:00 2007 UTC (16 years, 11 months ago) by ayin
Branch: MAIN
Changes since 1.57: +0 -43 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 dnl#
2 dnl# Process this file with autoconf to produce a configure script.
3 dnl#
4
5 AC_INIT
6 AC_PREREQ(2.50)
7 AC_CONFIG_SRCDIR([src/feature.h])
8 AC_CONFIG_HEADER(config.h:config.h.in)
9
10 AC_CANONICAL_HOST
11
12 dnl RXVT version
13 changequote(, )dnl
14 VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
15 DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
16 dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
17 changequote([, ])dnl
18 AC_SUBST(VERSION)dnl
19 AC_SUBST(DATE)dnl
20 AC_SUBST(LSMDATE)dnl
21 AC_SUBST(LIBVERSION)dnl
22 echo ""
23 echo "configuring for rxvt $VERSION"
24 echo ""
25
26 orig_CXXFLAGS="$CXXFLAGS"
27
28 dnl# Checks for programs.
29 dnl AC_MAKE_SET
30
31 AC_PROG_CC
32 AC_PROG_CXX
33 AC_PROG_CPP
34 AC_PROG_INSTALL
35
36 AC_AIX
37 AC_ISC_POSIX
38 AC_LANG(C++)
39
40 dnl check wether we can link with gcc -lsupc++
41 if test x$GCC = xyes && test x$GXX = xyes; then
42 dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it
43 AC_MSG_CHECKING([for working libsupc++])
44 save_CXX="$CXX"
45 save_LIBS="$LIBS"
46 CXX="$CC"
47 LIBS="$LIBS -lsupc++"
48 LINKER="$CC"
49 AC_LINK_IFELSE(
50 [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])],
51 [
52 AC_MSG_RESULT(ok)
53 CXXLIB="-lsupc++"
54 ],
55 [
56 AC_MSG_RESULT([no, making everything bigger and slower])
57 LIBS="$save_LIBS"
58 LINKER="$save_CXX"
59 ]
60 )
61 CXX="$save_CXX"
62 fi
63 AC_SUBST(LINKER,[$LINKER])
64 AC_SUBST(CXXLIB)
65
66 dnl# --------------------------------------------------------------------------
67 dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure'
68 dnl#
69 if test -z "$orig_CXXFLAGS"; then
70 if test x$GCC = xyes && test "x$GXX" = xyes; then
71 CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs"
72 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"])
73 else
74 CXXFLAGS="-O"
75 fi
76 CFLAGS="$CXXFLAGS"
77 fi
78
79 AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
80
81 case $host in
82 *-*-solaris* )
83 AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris)
84 ;;
85 esac
86
87 dnl if test x$GXX = xyes; then
88 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
89 dnl fi
90
91 dnl# FreeBSD needs to link libxpg4
92 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
93
94 dnl# solaris needs to link libnsl and socket
95 AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
96 AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
97
98 dnl AC_ENABLE_SHARED(no)dnl# libtool
99 dnl AC_ENABLE_STATIC(yes)dnl# libtool
100 dnl AC_PROG_LIBTOOL()dnl# libtool
101
102 support_frills=yes
103 support_inheritpixmap=yes
104 support_tinting=yes
105 support_fading=yes
106 support_keepscrolling=yes
107 support_selectionscrolling=yes
108 support_mousewheel=yes
109 support_mouseslipwheel=yes
110 support_text_blink=yes
111 support_pointer_blank=yes
112 support_scroll_rxvt=yes
113 support_scroll_next=yes
114 support_scroll_xterm=yes
115 support_scroll_plain=yes
116 support_xim=yes
117 support_xpm=yes
118 support_afterimage=yes
119 support_afterstep=yes
120 support_xft=yes
121 support_unicode3=no
122 support_combining=yes
123 support_8bitctrls=no
124 support_iso14755=yes
125 support_styles=yes
126 support_perl=yes
127 codesets=all
128
129 dnl# --------------------------------------------------------------------------
130 dnl# CHECKING COMMAND LINE OPTIONS
131 dnl# --------------------------------------------------------------------------
132
133 if test "x$enable_shared" = xyes; then
134 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
135 INSTALL_LIBRXVT=yes
136 fi
137 AC_SUBST(INSTALL_LIBRXVT)
138
139 AC_ARG_ENABLE(everything,
140 [ --enable-everything enable standard non-multichoice features
141 NOTE: this option is order dependent
142 NOTE: automatically enabled with --enable-shared],
143 [
144 if test x$enableval = xno; then
145 support_frills=no
146 support_inheritpixmap=no
147 support_tinting=no
148 support_fading=no
149 support_keepscrolling=no
150 support_selectionscrolling=no
151 support_lastlog=no
152 support_mousewheel=no
153 support_mouseslipwheel=no
154 support_text_blink=no
155 support_pointer_blank=no
156 support_scroll_rxvt=no
157 support_scroll_next=no
158 support_scroll_xterm=no
159 support_scroll_plain=no
160 support_utmp=no
161 support_wtmp=no
162 support_xim=no
163 support_xpm=no
164 support_afterimage=no
165 support_afterstep=no
166 support_xft=no
167 support_unicode3=no
168 support_combining=no
169 support_8bitctrls=no
170 support_iso14755=no
171 support_styles=no
172 support_perl=no
173 codesets=
174 fi
175 if test x$enableval = xyes; then
176 support_frills=yes
177 support_inheritpixmap=yes
178 support_tinting=yes
179 support_fading=yes
180 support_keepscrolling=yes
181 support_selectionscrolling=yes
182 support_lastlog=yes
183 support_mousewheel=yes
184 support_mouseslipwheel=yes
185 support_text_blink=yes
186 support_pointer_blank=yes
187 support_scroll_rxvt=yes
188 support_scroll_next=yes
189 support_scroll_xterm=yes
190 support_scroll_plain=yes
191 support_utmp=yes
192 support_wtmp=yes
193 support_xim=yes
194 support_xpm=yes
195 support_afterimage=yes
196 support_afterstep=yes
197 support_xft=yes
198 support_unicode3=yes
199 support_combining=yes
200 #support_8bitctrls=yes
201 support_iso14755=yes
202 support_styles=yes
203 support_perl=yes
204 codesets=all
205 fi
206 ])
207
208 AC_ARG_ENABLE(unicode3,
209 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
210 [if test x$enableval = xyes -o x$enableval = xno; then
211 support_unicode3=$enableval
212 fi])
213
214 AC_ARG_ENABLE(combining,
215 [ --enable-combining enable composition of base and combining characters],
216 [if test x$enableval = xyes -o x$enableval = xno; then
217 support_combining=$enableval
218 fi])
219
220 AC_ARG_ENABLE(xft,
221 [ --enable-xft enable xft support on systems that have it],
222 [if test x$enableval = xyes -o x$enableval = xno; then
223 support_xft=$enableval
224 fi])
225
226 AC_ARG_ENABLE(font-styles,
227 [ --enable-font-styles enable bold and italic support],
228 [if test x$enableval = xyes -o x$enableval = xno; then
229 support_styles=$enableval
230 fi])
231
232 AC_ARG_ENABLE(xpm-background,
233 [ --enable-xpm-background enable background pixmaps],
234 [if test x$enableval = xyes -o x$enableval = xno; then
235 support_xpm=$enableval
236 fi])
237
238 AC_ARG_ENABLE(afterimage,
239 [ --enable-afterimage enable integration with libAfterImage for background images],
240 [if test x$enableval = xyes -o x$enableval = xno; then
241 support_afterimage=$enableval
242 fi])
243
244 AC_ARG_WITH(afterimage_config,
245 [ --with-afterimage-config=DIR use libAfterImage config script in DIR],
246 [if test "x$withval" != x; then
247 afterimage_config=$withval/afterimage-config
248 fi])
249
250 AC_ARG_ENABLE(afterstep,
251 [ --enable-afterstep enable integration with AfterStep window manager],
252 [if test x$enableval = xyes -o x$enableval = xno; then
253 support_afterstep=$enableval
254 fi])
255
256 AC_ARG_ENABLE(transparency,
257 [ --enable-transparency enable transparent backgrounds],
258 [if test x$enableval = xyes -o x$enableval = xno; then
259 support_inheritpixmap=$enableval
260 fi])
261
262 AC_ARG_ENABLE(tinting,
263 [ --enable-tinting enable tinting of transparent bg],
264 [if test x$enableval = xyes -o x$enableval = xno; then
265 support_tinting=$enableval
266 fi])
267
268 AC_ARG_ENABLE(fading,
269 [ --enable-fading enable colors fading when off focus],
270 [if test x$enableval = xyes -o x$enableval = xno; then
271 support_fading=$enableval
272 fi])
273
274 AC_ARG_ENABLE(rxvt-scroll,
275 [ --enable-rxvt-scroll enable rxvt style scrollbar],
276 [if test x$enableval = xyes -o x$enableval = xno; then
277 support_scroll_rxvt=$enableval
278 fi])
279
280 AC_ARG_ENABLE(next-scroll,
281 [ --enable-next-scroll enable NeXT style scrollbar],
282 [if test x$enableval = xyes -o x$enableval = xno; then
283 support_scroll_next=$enableval
284 fi])
285
286 AC_ARG_ENABLE(xterm-scroll,
287 [ --enable-xterm-scroll enable Xterm style scrollbar],
288 [if test x$enableval = xyes -o x$enableval = xno; then
289 support_scroll_xterm=$enableval
290 fi])
291
292 AC_ARG_ENABLE(perl,
293 [ --enable-perl enable embedded perl interpreter],
294 [if test x$enableval = xyes -o x$enableval = xno; then
295 support_perl=$enableval
296 fi])
297
298 AC_ARG_ENABLE(plain-scroll,
299 [ --enable-plain-scroll enable plain style scrollbar],
300 [if test x$enableval = xyes -o x$enableval = xno; then
301 support_scroll_plain=$enableval
302 fi])
303
304 AC_ARG_WITH(codesets,
305 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
306 [codesets="$withval"])
307
308 AC_ARG_ENABLE(xim,
309 [ --enable-xim XIM (X Input Method) protocol support],
310 [if test x$enableval = xyes -o x$enableval = xno; then
311 support_xim=$enableval
312 fi])
313
314 AC_ARG_ENABLE(backspace-key,
315 [ --disable-backspace-key disable handling of the backspace key],
316 [if test x$enableval = xno; then
317 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
318 fi])
319
320 AC_ARG_ENABLE(delete-key,
321 [ --disable-delete-key disable handling of the delete key],
322 [if test x$enableval = xno; then
323 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
324 fi])
325
326 AC_ARG_ENABLE(resources,
327 [ --disable-resources disable all resource checking],
328 [if test x$enableval = xno; then
329 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
330 fi])
331
332 AC_ARG_ENABLE(8bitctrls,
333 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
334 [if test x$enableval = xyes -o x$enableval = xno; then
335 support_8bitctrls=$enableval
336 fi])
337
338 RESFALLBACK=Rxvt
339 AC_ARG_ENABLE(fallback,
340 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
341 [
342 test x$enableval = xyes && enableval=Rxvt
343 test x$enableval = xno && enableval=
344 RESFALLBACK="$enableval"
345 ])
346
347 if test x$RESFALLBACK != x; then
348 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
349 fi
350
351 RESNAME=urxvt
352 AC_ARG_WITH(res-name,
353 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
354 [RESNAME="$withval"])
355 AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
356
357 RESCLASS=URxvt
358 AC_ARG_WITH(res-class,
359 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
360 [RESCLASS="$withval"])
361 AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
362
363 RXVTNAME=urxvt
364 AC_ARG_WITH(name,
365 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
366 [RXVTNAME="$withval"])
367 AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
368
369 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
370 AC_SUBST(RXVTNAME)
371
372 AC_ARG_ENABLE(swapscreen,
373 [ --disable-swapscreen disable swap screen support],
374 [if test x$enableval = xno; then
375 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
376 fi])
377
378 AC_ARG_ENABLE(iso14755,
379 [ --enable-iso14755 enable support for extended ISO 14755 modes],
380 [if test x$enableval = xyes -o x$enableval = xno; then
381 support_iso14755=$enableval
382 fi])
383
384 AC_ARG_ENABLE(frills,
385 [ --enable-frills enable support for rarely used features],
386 [if test x$enableval = xyes -o x$enableval = xno; then
387 support_frills=$enableval
388 fi])
389
390 AC_ARG_ENABLE(keepscrolling,
391 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press],
392 [if test x$enableval = xyes -o x$enableval = xno; then
393 support_keepscrolling=$enableval
394 fi])
395
396 AC_ARG_ENABLE(selectionscrolling,
397 [ --enable-selectionscrolling enable scrolling during selections],
398 [if test x$enableval = xyes -o x$enableval = xno; then
399 support_selectionscrolling=$enableval
400 fi])
401
402 AC_ARG_ENABLE(mousewheel,
403 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5],
404 [if test x$enableval = xyes -o x$enableval = xno; then
405 support_mousewheel=$enableval
406 fi])
407
408 AC_ARG_ENABLE(slipwheeling,
409 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
410 [if test x$enableval = xyes -o x$enableval = xno; then
411 support_mouseslipwheel=$enableval
412 fi])
413
414 AC_ARG_ENABLE(smart-resize,
415 [ --enable-smart-resize enable smart growth/shrink behaviour],
416 [if test x$enableval = xyes; then
417 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
418 fi])
419
420 AC_ARG_ENABLE(text-blink,
421 [ --enable-text-blink enable blinking text],
422 [if test x$enableval = xyes -o x$enableval = xno; then
423 support_text_blink=$enableval
424 fi])
425
426 AC_ARG_ENABLE(pointer-blank,
427 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
428 [if test x$enableval = xyes -o x$enableval = xno; then
429 support_pointer_blank=$enableval
430 fi])
431
432 AC_ARG_WITH(term,
433 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
434 [if test x$withval != x; then
435 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
436 fi])
437
438 AC_ARG_WITH(terminfo,
439 [ --with-terminfo=PATH set the path to the terminfo tree to PATH],
440 [if test x$withval != x; then
441 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
442 fi])
443
444 dnl# --------------------------------------------------------------------------
445
446 AC_PATH_PROG(TIC, tic)
447
448 dnl# need a neat way to detect SVR4 or its features
449 dnl# in src/command.c we use these functions:
450 dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
451 dnl# - but are these also defined for other systems?
452
453 dnl# hack to find if this is SVR4 -- who knows?
454 dnl## AC_MSG_CHECKING(for SVR4)
455 dnl## AC_EGREP_CPP(yes,
456 dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
457 dnl## yes;
458 dnl## #endif
459 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
460
461 AC_PATH_XTRA
462
463 dnl# the only reasonable way to find libXpm is do-it-yourself
464 dnl# only check if we want xpm-background
465
466 LIBAFTERIMAGE_CFLAGS=
467 AFTERIMAGE_LIBS=
468 have_afterimage=
469
470 if test x$support_afterimage = xyes; then
471 support_afterimage=no
472
473 if test "x$afterimage_config" = "x" ; then
474 AC_PATH_PROG(afterimage_config, afterimage-config, no)
475 fi
476
477 AC_MSG_CHECKING(for libAfterImage)
478 if $afterimage_config --version >/dev/null 2>&1 ; then
479 LIBAFTERIMAGE_CFLAGS=`$afterimage_config --cflags`
480 AFTERIMAGE_LIBS=`$afterimage_config --libs`
481 if test "x$AFTERIMAGE_LIBS" != "x"; then
482 support_afterimage=yes
483 fi
484 fi
485
486 if test "x$support_afterimage" = "xyes"; then
487 AC_MSG_RESULT($AFTERIMAGE_LIBS)
488 else
489 AC_MSG_RESULT(no)
490 fi
491 fi
492
493 if test x$support_afterimage != xyes -a x$support_xpm = xyes ; then
494 VT_FIND_LIBXPM
495 if test x$no_xpm = xyes; then
496 support_xpm=needsmanualspecification
497 fi
498 fi
499
500 dnl# --------------------------------------------------------------------------
501 dnl# CHECKING FOR HEADER FILES
502 dnl# --------------------------------------------------------------------------
503 AC_HEADER_SYS_WAIT
504 AC_CHECK_HEADERS( \
505 assert.h \
506 fcntl.h \
507 stdarg.h \
508 stdlib.h \
509 string.h \
510 termios.h \
511 unistd.h \
512 sys/byteorder.h \
513 sys/ioctl.h \
514 sys/select.h \
515 sys/sockio.h \
516 sys/strredir.h \
517 sys/time.h \
518 stdint.h \
519 wchar.h \
520 cwchar \
521 clocale \
522 )
523
524 AC_HEADER_TIME
525
526 dnl# check to allow both <termios.h> and <sys/ioctl.h>
527 AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
528 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
529 #include <sys/ioctl.h>
530 #ifdef HAVE_TERMIOS_H
531 #include <termios.h>
532 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
533
534 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
535 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
536 if test x$rxvt_cv_xpointer = xyes; then
537 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
538 fi
539 LIBS=$ac_save_LIBS
540 CFLAGS=$ac_save_CFLAGS
541
542 AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access,
543 [AC_COMPILE_IFELSE(
544 [AC_LANG_PROGRAM([
545 #define XLIB_ILLEGAL_ACCESS
546 #include <X11/Xlib.h>
547 ],[
548 Display *dpy;
549 dpy->xdefaults = (char *)0;
550 ])],
551 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no]
552 )])
553 if test x$rxvt_xlib_illegal_access = xyes; then
554 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
555 fi
556
557 AC_C_CONST
558 AC_C_INLINE
559
560 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
561
562 dnl# --------------------------------------------------------------------------
563 dnl# CHECKING FOR MISSING TYPEDEFS
564 dnl# --------------------------------------------------------------------------
565 dnl# Missing typedefs and replacements
566 AC_TYPE_MODE_T
567 dnl> AC_CHECK_TYPE(umode_t, int)
568 dnl> AC_CHECK_TYPE(off_t, long)
569 AC_TYPE_PID_T
570 AC_TYPE_UID_T
571
572 AC_CHECK_SIZEOF(short, 2)
573 AC_CHECK_SIZEOF(int, 4)
574 dnl AC_CHECK_SIZEOF(long, 4)
575 AC_CHECK_SIZEOF(long long, 8)
576 AC_CHECK_SIZEOF(int *, 4)
577
578 dnl# see usage below
579 AC_DEFUN([RXVT_CHECK_SIZE],
580 [AC_CACHE_CHECK([for $2], $1,
581 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
582 if test "$ac_cv_sizeof_char" -ge $3; then
583 $1="$4 char"
584 else
585 if test "$ac_cv_sizeof_short" -ge $3; then
586 $1="$4 short"
587 else
588 if test "$ac_cv_sizeof_int" -ge $3; then
589 $1="$4 int"
590 else
591 if test "$ac_cv_sizeof_long" -ge $3; then
592 $1="$4 long"
593 else
594 if test "$ac_cv_sizeof_long_long" -ge $3; then
595 $1="$4 long long"
596 else
597 $1="$4 $5" # we _must_ have a (possibly wrong) default
598 fi
599 fi
600 fi
601 fi
602 fi])])]
603 if test x"$$1" != xyes; then
604 $6="typedef $$1 $2;"
605 else
606 if test x"$4" = x; then
607 $6="/* typedef $5 $2; */"
608 else
609 $6="/* typedef $4 $5 $2; */"
610 fi
611 fi dnl
612 )
613 dnl#
614 dnl# Look for types the system may know about anyway.
615 dnl#
616 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
617 AC_SUBST(rxvt_int16_typedef)
618 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
619 AC_SUBST(rxvt_uint16_typedef)
620 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
621 AC_SUBST(rxvt_int32_typedef)
622 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
623 AC_SUBST(rxvt_uint32_typedef)
624 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
625 dnl AC_SUBST(rxvt_int64_typedef)
626 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
627 dnl AC_SUBST(rxvt_uint64_typedef)
628 dnl#
629 dnl# Now look for another we use
630 dnl#
631 if test "$ac_cv_sizeof_int_p" -eq 8; then
632 rxvt_intp_define="#define intp_t int64_t"
633 rxvt_u_intp_define="#define u_intp_t u_int64_t"
634 else
635 if test "$ac_cv_sizeof_int_p" -eq 4; then
636 rxvt_intp_define="#define intp_t int32_t"
637 rxvt_u_intp_define="#define u_intp_t u_int32_t"
638 else
639 if test "$ac_cv_sizeof_int_p" -eq 2; then
640 rxvt_intp_define="#define intp_t int16_t"
641 rxvt_u_intp_define="#define u_intp_t u_int16_t"
642 else
643 rxvt_intp_define="#error set intp_t"
644 rxvt_u_intp_define="#error set u_intp_t"
645 fi
646 fi
647 fi
648 AC_SUBST(rxvt_intp_define)
649 AC_SUBST(rxvt_u_intp_define)
650
651 dnl# --------------------------------------------------------------------------
652 dnl# CHECKING FOR LIBRARY FUNCTIONS
653 dnl# --------------------------------------------------------------------------
654 AC_TYPE_SIGNAL
655 dnl> AC_FUNC_VPRINTF
656
657 AC_CHECK_FUNCS( \
658 unsetenv \
659 setutent \
660 on_exit \
661 )
662
663 UTMP_CHECK
664
665 dnl# --------------------------------------------------------------------------
666
667 dnl# find ttys/ttytab
668 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
669 [for ttys_file in dnl
670 /etc/ttys /etc/ttytab;
671 do
672 if test -f "$ttys_file" ; then
673 rxvt_cv_path_ttytab=$ttys_file
674 break
675 fi
676 done
677 ])
678 if test x$rxvt_cv_path_ttytab != x; then
679 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
680 fi
681
682 dnl# --------------------------------------------------------------------------
683 dnl# --------------------------------------------------------------------------
684
685 dnl# this is a really hack test for some basic Xlocale stuff
686 ac_save_LIBS=$LIBS
687 ac_save_CFLAGS=$CFLAGS
688 CFLAGS="$CFLAGS $X_CFLAGS"
689 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
690 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
691 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
692 fi
693 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
694 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
695 #include <stdlib.h>
696 main() {
697 char *p;
698 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
699 exit (XSupportsLocale() ? 0 : 1);
700 else
701 exit (1);}]])],[dnl
702 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
703 :])])
704 if test x$support_xim = xyes; then
705 if test x$rxvt_cv_func_xlocale = xyes; then
706 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
707 fi
708 fi
709
710 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
711 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
712 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
713 if test x$rxvt_cv_func_xsetlocale = xyes; then
714 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
715 fi
716 LIBS=$ac_save_LIBS
717 CFLAGS=$ac_save_CFLAGS
718
719 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
720 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
721 if test x$rxvt_cv_func_setlocale = xyes; then
722 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
723 fi
724
725 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
726 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
727 if test x$rxvt_cv_func_nl_langinfo = xyes; then
728 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
729 fi
730
731 SCM_RIGHTS_CHECK
732
733 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
734 [AC_COMPILE_IFELSE([
735 #include <X11/Xlib.h>
736
737 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
738
739 void f() {
740 XIMCallback cb;
741 cb.callback = im_destroy_cb;
742 }
743 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
744
745 if test x$rxvt_broken_ximcb = xyes; then
746 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
747 fi
748
749 PTY_CHECK
750
751 TTY_GROUP_CHECK
752
753 dnl# --------------------------------------------------------------------------
754 dnl# now add and remove other stuff
755 dnl# --------------------------------------------------------------------------
756 if test x$support_xft = xyes; then
757 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
758 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then
759 LIBS="$LIBS `$PKG_CONFIG xft --libs`"
760 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`"
761 else
762 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
763 if test $XFT_CONFIG != no; then
764 LIBS="$LIBS `$XFT_CONFIG --libs`"
765 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
766 fi
767 fi
768
769 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
770 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
771
772 if test x$support_xft = xyes; then
773 AC_DEFINE(XFT, 1, Define to enable xft support)
774 fi
775 fi
776 if test x$support_styles = xyes; then
777 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
778 fi
779 if test x$support_iso14755 = xyes; then
780 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
781 fi
782 if test x$support_8bitctrls = xyes; then
783 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
784 fi
785 if test x$support_fading = xyes; then
786 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
787 fi
788 if test x$support_tinting = xyes; then
789 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
790 fi
791 if test x$support_inheritpixmap = xyes; then
792 AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
793 fi
794 if test x$support_keepscrolling = xno; then
795 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
796 fi
797 if test x$support_selectionscrolling = xyes; then
798 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
799 fi
800 if test x$support_mousewheel = xyes; then
801 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
802 fi
803 if test x$support_mouseslipwheel = xyes; then
804 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
805 fi
806 if test x$support_xpm = xyes -o x$support_afterimage = xyes ; then
807 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm or libAfterImage)
808 fi
809
810 if test x$support_afterimage = xyes; then
811 AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
812 fi
813
814 if test x$support_afterstep = xyes; then
815 AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager)
816 fi
817
818 if test x$support_scroll_rxvt = xyes; then
819 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
820 scrolltypes="rxvt"
821 fi
822 if test x$support_scroll_next = xyes; then
823 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
824 scrolltypes="$scrolltypes next"
825 fi
826 if test x$support_scroll_xterm = xyes; then
827 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
828 scrolltypes="$scrolltypes xterm"
829 fi
830 if test x$support_scroll_plain = xyes; then
831 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
832 scrolltypes="$scrolltypes plain"
833 fi
834 if test x$support_pointer_blank = xyes; then
835 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
836 fi
837 if test x$support_text_blink = xyes; then
838 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
839 fi
840 if test x$support_unicode3 = xyes; then
841 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
842 fi
843 if test x$support_combining = xyes; then
844 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
845 fi
846 if test x$codesets = xall; then
847 codesets=jp,jp-ext,kr,zh,zh-ext
848 fi
849 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
850 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
851 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
852 case "$codeset" in
853 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
854 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
855 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
856 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
857 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
858 esac
859 done
860
861 IF_PERL=\#
862 if test x$support_perl = xyes; then
863 AC_PATH_PROG(PERL, perl5)
864 AC_PATH_PROG(PERL, perl)
865
866 AC_MSG_CHECKING(for $PERL suitability)
867 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
868
869 save_CXXFLAGS="$CXXFLAGS"
870 save_LIBS="$LIBS"
871 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
872 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
873 AC_TRY_LINK([
874 #include <EXTERN.h>
875 #include <perl.h>
876 #include <XSUB.h>
877 ],[
878 PerlInterpreter *perl = perl_alloc ();
879 ],[rxvt_perl_link=yes],[rxvt_perl_link=no])
880 CXXFLAGS="$save_CXXFLAGS"
881 LIBS="$save_LIBS"
882
883 if test x$rxvt_perl_link = xyes; then
884 AC_MSG_RESULT(ok)
885 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
886 IF_PERL=
887 PERL_O=rxvtperl.o
888 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
889 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
890 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
891 else
892 AC_MSG_ERROR([no, unable to link])
893 fi
894 else
895 AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
896 fi
897 fi
898 AC_SUBST(PERLLIB)
899 AC_SUBST(PERLFLAGS)
900 AC_SUBST(PERLPRIVLIBEXP)
901 AC_SUBST(PERL)
902 AC_SUBST(IF_PERL)
903 AC_SUBST(PERL_O)
904
905 if test x$support_perl = xyes; then
906 support_frills=yes
907 fi
908
909 if test x$support_frills = xyes; then
910 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
911 fi
912
913 AC_SUBST(CFLAGS)
914 AC_SUBST(CPPFLAGS)
915 AC_SUBST(LDFLAGS)
916 AC_SUBST(X_CFLAGS)
917
918 dnl# Attack the libs
919 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
920 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
921 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
922 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
923 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
924 fi
925 AC_SUBST(LIBS)
926 AC_SUBST(X_LIBS)
927 AC_SUBST(X_EXTRA_LIBS)
928
929 AC_SUBST(LIBAFTERIMAGE_CFLAGS)
930 AC_SUBST(AFTERIMAGE_LIBS)
931
932 AC_ARG_PROGRAM
933
934 dnl# test for "sun" or "__sun__" before include sys_ioctl
935
936 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
937 AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
938 [if test "$$3" = "$4" -o "$$5" = "$6"; then
939 $1="#include <$2>"
940 else
941 $1="/* #include <$2> */"
942 fi dnl
943 AC_SUBST($1)])
944
945 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
946 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
947 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
948 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
949 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
950 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
951 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
952 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
953 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
954 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
955 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
956 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
957 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
958
959 AC_CONFIG_FILES([Makefile \
960 doc/Makefile \
961 src/Makefile \
962 src/rxvtlib.h \
963 ])
964 AC_OUTPUT
965
966 echo "Configuration:
967
968 Rxvt version: $VERSION : $DATE
969 Source code location: $srcdir
970 Install path: ${prefix}/bin
971 Compiler: $CXX
972 Compiler flags: $CXXFLAGS
973 Linker: $LINKER"
974
975 if test x$support_xpm = xyes; then
976 echo " Xpm library: $XPM_LIBS"
977 fi
978
979 if test x$support_afterimage = xyes; then
980 echo " AfterImage support: yes"
981 fi
982
983 if test x$support_afterstep = xyes; then
984 echo " AfterStep integration: yes"
985 fi
986
987 if test x$term != x; then
988 echo " set TERM to: $term"
989 fi
990 if test x$terminfo != x; then
991 echo " set TERMINFO to: $terminfo"
992 fi
993 echo " default resource name: $RESNAME"
994 echo " resource class: $RESCLASS"
995 if test x$RESFALLBACK != x; then
996 echo " resource class fallback: $RESFALLBACK"
997 fi
998 echo
999 echo " embedded perl: $support_perl"
1000 echo
1001 if test x$support_xpm = xneedsmanualspecification; then
1002 echo ".----------------------------------------------------------------."
1003 echo ". WARNING: --enable-xpm-background was specified however the ."
1004 echo ". XPM includes files and libraries could not be found. ."
1005 echo ". XPM backgrounds are now being DISABLED! If you want ."
1006 echo ". to use them you should rerun configure with the ."
1007 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
1008 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
1009 echo ".----------------------------------------------------------------."
1010 fi
1011 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1012 echo ".----------------------------------------------------------------."
1013 echo ". WARNING: --enable-xim was specified however the locale support ."
1014 echo ". functions could not be found. ."
1015 echo ". XIM is now being DISABLED! ."
1016 echo ".----------------------------------------------------------------."
1017 fi
1018
1019 echo "*** Optionally check src/feature.h for further, rarely used options ***"
1020 echo
1021