2 dnl# Process this file with autoconf to produce a configure script.
7 AC_CONFIG_SRCDIR([src/feature.h])
8 AC_CONFIG_HEADER(config.h:config.h.in)
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`
21 AC_SUBST(LIBVERSION)dnl
23 echo "configuring for rxvt $VERSION"
26 orig_CXXFLAGS="$CXXFLAGS"
28 dnl# Checks for programs.
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++])
50 [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])],
53 AC_MSG_RESULT([no, making everything bigger and slower])
60 AC_SUBST(LINKER,[$LINKER])
62 dnl# --------------------------------------------------------------------------
63 dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure'
65 if test -z "$orig_CXXFLAGS"; then
66 if test x$GCC = xyes && test "x$GXX" = xyes; then
67 CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs"
68 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"])
75 AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
79 AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris)
83 dnl if test x$GXX = xyes; then
84 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
87 dnl# FreeBSD needs to link libxpg4
88 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
90 dnl# solaris needs to link libnsl and socket
91 AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
92 AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
94 dnl AC_ENABLE_SHARED(no)dnl# libtool
95 dnl AC_ENABLE_STATIC(yes)dnl# libtool
96 dnl AC_PROG_LIBTOOL()dnl# libtool
99 support_inheritpixmap=yes
102 support_keepscrolling=yes
103 support_selectionscrolling=yes
104 support_mousewheel=yes
105 support_mouseslipwheel=yes
106 support_text_blink=yes
107 support_pointer_blank=yes
108 support_scroll_rxvt=yes
109 support_scroll_next=yes
110 support_scroll_xterm=yes
111 support_scroll_plain=yes
114 support_afterimage=yes
115 support_afterstep=yes
118 support_combining=yes
125 dnl# --------------------------------------------------------------------------
126 dnl# CHECKING COMMAND LINE OPTIONS
127 dnl# --------------------------------------------------------------------------
129 if test "x$enable_shared" = xyes; then
130 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
133 AC_SUBST(INSTALL_LIBRXVT)
135 AC_ARG_ENABLE(everything,
136 [ --enable-everything enable standard non-multichoice features
137 NOTE: this option is order dependent
138 NOTE: automatically enabled with --enable-shared],
140 if test x$enableval = xno; then
142 support_inheritpixmap=no
145 support_keepscrolling=no
146 support_selectionscrolling=no
148 support_mousewheel=no
149 support_mouseslipwheel=no
150 support_text_blink=no
151 support_pointer_blank=no
152 support_scroll_rxvt=no
153 support_scroll_next=no
154 support_scroll_xterm=no
155 support_scroll_plain=no
160 support_afterimage=no
171 if test x$enableval = xyes; then
173 support_inheritpixmap=yes
176 support_keepscrolling=yes
177 support_selectionscrolling=yes
179 support_mousewheel=yes
180 support_mouseslipwheel=yes
181 support_text_blink=yes
182 support_pointer_blank=yes
183 support_scroll_rxvt=yes
184 support_scroll_next=yes
185 support_scroll_xterm=yes
186 support_scroll_plain=yes
191 support_afterimage=yes
192 support_afterstep=yes
195 support_combining=yes
196 #support_8bitctrls=yes
204 AC_ARG_ENABLE(unicode3,
205 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
206 [if test x$enableval = xyes -o x$enableval = xno; then
207 support_unicode3=$enableval
210 AC_ARG_ENABLE(combining,
211 [ --enable-combining enable composition of base and combining characters],
212 [if test x$enableval = xyes -o x$enableval = xno; then
213 support_combining=$enableval
217 [ --enable-xft enable xft support on systems that have it],
218 [if test x$enableval = xyes -o x$enableval = xno; then
219 support_xft=$enableval
222 AC_ARG_ENABLE(font-styles,
223 [ --enable-font-styles enable bold and italic support],
224 [if test x$enableval = xyes -o x$enableval = xno; then
225 support_styles=$enableval
228 AC_ARG_ENABLE(xpm-background,
229 [ --enable-xpm-background enable background pixmaps],
230 [if test x$enableval = xyes -o x$enableval = xno; then
231 support_xpm=$enableval
234 AC_ARG_ENABLE(afterimage,
235 [ --enable-afterimage enable integration with libAfterImage for background images],
236 [if test x$enableval = xyes -o x$enableval = xno; then
237 support_afterimage=$enableval
240 AC_ARG_WITH(afterimage_config,
241 [ --with-afterimage-config=DIR use libAfterImage config script in DIR],
242 [if test "x$withval" != x; then
243 afterimage_config=$withval/afterimage-config
246 AC_ARG_ENABLE(afterstep,
247 [ --enable-afterstep enable integration with AfterStep window manager],
248 [if test x$enableval = xyes -o x$enableval = xno; then
249 support_afterstep=$enableval
252 AC_ARG_ENABLE(transparency,
253 [ --enable-transparency enable transparent backgrounds],
254 [if test x$enableval = xyes -o x$enableval = xno; then
255 support_inheritpixmap=$enableval
258 AC_ARG_ENABLE(tinting,
259 [ --enable-tinting enable tinting of transparent bg],
260 [if test x$enableval = xyes -o x$enableval = xno; then
261 support_tinting=$enableval
264 AC_ARG_ENABLE(fading,
265 [ --enable-fading enable colors fading when off focus],
266 [if test x$enableval = xyes -o x$enableval = xno; then
267 support_fading=$enableval
270 AC_ARG_ENABLE(rxvt-scroll,
271 [ --enable-rxvt-scroll enable rxvt style scrollbar],
272 [if test x$enableval = xyes -o x$enableval = xno; then
273 support_scroll_rxvt=$enableval
276 AC_ARG_ENABLE(next-scroll,
277 [ --enable-next-scroll enable NeXT style scrollbar],
278 [if test x$enableval = xyes -o x$enableval = xno; then
279 support_scroll_next=$enableval
282 AC_ARG_ENABLE(xterm-scroll,
283 [ --enable-xterm-scroll enable Xterm style scrollbar],
284 [if test x$enableval = xyes -o x$enableval = xno; then
285 support_scroll_xterm=$enableval
289 [ --enable-perl enable embedded perl interpreter],
290 [if test x$enableval = xyes -o x$enableval = xno; then
291 support_perl=$enableval
294 AC_ARG_ENABLE(plain-scroll,
295 [ --enable-plain-scroll enable plain style scrollbar],
296 [if test x$enableval = xyes -o x$enableval = xno; then
297 support_scroll_plain=$enableval
300 AC_ARG_WITH(codesets,
301 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
302 [codesets="$withval"])
305 [ --enable-xim XIM (X Input Method) protocol support],
306 [if test x$enableval = xyes -o x$enableval = xno; then
307 support_xim=$enableval
310 AC_ARG_ENABLE(backspace-key,
311 [ --disable-backspace-key disable handling of the backspace key],
312 [if test x$enableval = xno; then
313 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
316 AC_ARG_ENABLE(delete-key,
317 [ --disable-delete-key disable handling of the delete key],
318 [if test x$enableval = xno; then
319 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
322 AC_ARG_ENABLE(resources,
323 [ --disable-resources disable all resource checking],
324 [if test x$enableval = xno; then
325 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
328 AC_ARG_ENABLE(8bitctrls,
329 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
330 [if test x$enableval = xyes -o x$enableval = xno; then
331 support_8bitctrls=$enableval
335 AC_ARG_ENABLE(fallback,
336 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
338 test x$enableval = xyes && enableval=Rxvt
339 test x$enableval = xno && enableval=
340 RESFALLBACK="$enableval"
343 if test x$RESFALLBACK != x; then
344 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
348 AC_ARG_WITH(res-name,
349 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
350 [RESNAME="$withval"])
351 AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
354 AC_ARG_WITH(res-class,
355 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
356 [RESCLASS="$withval"])
357 AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
361 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
362 [RXVTNAME="$withval"])
363 AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
365 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
368 AC_ARG_ENABLE(swapscreen,
369 [ --disable-swapscreen disable swap screen support],
370 [if test x$enableval = xno; then
371 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
374 AC_ARG_ENABLE(iso14755,
375 [ --enable-iso14755 enable support for extended ISO 14755 modes],
376 [if test x$enableval = xyes -o x$enableval = xno; then
377 support_iso14755=$enableval
380 AC_ARG_ENABLE(frills,
381 [ --enable-frills enable support for rarely used features],
382 [if test x$enableval = xyes -o x$enableval = xno; then
383 support_frills=$enableval
386 AC_ARG_ENABLE(keepscrolling,
387 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press],
388 [if test x$enableval = xyes -o x$enableval = xno; then
389 support_keepscrolling=$enableval
392 AC_ARG_ENABLE(selectionscrolling,
393 [ --enable-selectionscrolling enable scrolling during selections],
394 [if test x$enableval = xyes -o x$enableval = xno; then
395 support_selectionscrolling=$enableval
398 AC_ARG_ENABLE(mousewheel,
399 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5],
400 [if test x$enableval = xyes -o x$enableval = xno; then
401 support_mousewheel=$enableval
404 AC_ARG_ENABLE(slipwheeling,
405 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
406 [if test x$enableval = xyes -o x$enableval = xno; then
407 support_mouseslipwheel=$enableval
410 AC_ARG_ENABLE(smart-resize,
411 [ --enable-smart-resize enable smart growth/shrink behaviour],
412 [if test x$enableval = xyes; then
413 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
416 AC_ARG_ENABLE(text-blink,
417 [ --enable-text-blink enable blinking text],
418 [if test x$enableval = xyes -o x$enableval = xno; then
419 support_text_blink=$enableval
422 AC_ARG_ENABLE(pointer-blank,
423 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
424 [if test x$enableval = xyes -o x$enableval = xno; then
425 support_pointer_blank=$enableval
429 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
430 [if test x$withval != x; then
431 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
434 AC_ARG_WITH(terminfo,
435 [ --with-terminfo=PATH set the path to the terminfo tree to PATH],
436 [if test x$withval != x; then
437 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
440 dnl# --------------------------------------------------------------------------
442 AC_PATH_PROG(TIC, tic)
444 dnl# need a neat way to detect SVR4 or its features
445 dnl# in src/command.c we use these functions:
446 dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
447 dnl# - but are these also defined for other systems?
449 dnl# hack to find if this is SVR4 -- who knows?
450 dnl## AC_MSG_CHECKING(for SVR4)
451 dnl## AC_EGREP_CPP(yes,
452 dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
455 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
459 dnl# the only reasonable way to find libXpm is do-it-yourself
460 dnl# only check if we want xpm-background
466 if test x$support_afterimage = xyes; then
467 support_afterimage=no
469 if test "x$afterimage_config" = "x" ; then
470 AC_PATH_PROG(afterimage_config, afterimage-config, no)
472 AC_MSG_CHECKING(for libAfterImage version >= 1.15)
473 AFTERIMAGE_VERSION=`$afterimage_config --version`
474 if test -n $AFTERIMAGE_VERSION ; then
475 AFTERIMAGE_CFLAGS=`$afterimage_config --cflags`
476 AFTERIMAGE_LIBS=`$afterimage_config --libs`
477 if test "x$AFTERIMAGE_LIBS" != "x"; then
478 libai_ver_major=`echo $AFTERIMAGE_VERSION | cut -f 1 -d .`
479 libai_ver_minor=`echo $AFTERIMAGE_VERSION | cut -f 2 -d .`
480 if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then
481 support_afterimage=yes
486 if test "x$support_afterimage" = "xyes"; then
487 AC_MSG_RESULT($AFTERIMAGE_LIBS)
493 if test x$support_afterimage != xyes -a x$support_xpm = xyes ; then
495 if test x$no_xpm = xyes; then
496 support_xpm=needsmanualspecification
500 dnl# --------------------------------------------------------------------------
501 dnl# CHECKING FOR HEADER FILES
502 dnl# --------------------------------------------------------------------------
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
532 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
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)
540 AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access,
543 #define XLIB_ILLEGAL_ACCESS
544 #include <X11/Xlib.h>
547 dpy->xdefaults = (char *)0;
549 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no]
551 if test x$rxvt_xlib_illegal_access = xyes; then
552 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
558 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
560 dnl# --------------------------------------------------------------------------
561 dnl# CHECKING FOR MISSING TYPEDEFS
562 dnl# --------------------------------------------------------------------------
563 dnl# Missing typedefs and replacements
565 dnl> AC_CHECK_TYPE(umode_t, int)
566 dnl> AC_CHECK_TYPE(off_t, long)
570 AC_CHECK_SIZEOF(short, 2)
571 AC_CHECK_SIZEOF(int, 4)
572 dnl AC_CHECK_SIZEOF(long, 4)
573 AC_CHECK_SIZEOF(long long, 8)
574 AC_CHECK_SIZEOF(int *, 4)
577 AC_DEFUN([RXVT_CHECK_SIZE],
578 [AC_CACHE_CHECK([for $2], $1,
579 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
580 if test "$ac_cv_sizeof_char" -ge $3; then
583 if test "$ac_cv_sizeof_short" -ge $3; then
586 if test "$ac_cv_sizeof_int" -ge $3; then
589 if test "$ac_cv_sizeof_long" -ge $3; then
592 if test "$ac_cv_sizeof_long_long" -ge $3; then
595 $1="$4 $5" # we _must_ have a (possibly wrong) default
601 if test x"$$1" != xyes; then
604 if test x"$4" = x; then
605 $6="/* typedef $5 $2; */"
607 $6="/* typedef $4 $5 $2; */"
612 dnl# Look for types the system may know about anyway.
614 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
615 AC_SUBST(rxvt_int16_typedef)
616 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
617 AC_SUBST(rxvt_uint16_typedef)
618 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
619 AC_SUBST(rxvt_int32_typedef)
620 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
621 AC_SUBST(rxvt_uint32_typedef)
622 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
623 dnl AC_SUBST(rxvt_int64_typedef)
624 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
625 dnl AC_SUBST(rxvt_uint64_typedef)
627 dnl# Now look for another we use
629 if test "$ac_cv_sizeof_int_p" -eq 8; then
630 rxvt_intp_define="#define intp_t int64_t"
631 rxvt_u_intp_define="#define u_intp_t u_int64_t"
633 if test "$ac_cv_sizeof_int_p" -eq 4; then
634 rxvt_intp_define="#define intp_t int32_t"
635 rxvt_u_intp_define="#define u_intp_t u_int32_t"
637 if test "$ac_cv_sizeof_int_p" -eq 2; then
638 rxvt_intp_define="#define intp_t int16_t"
639 rxvt_u_intp_define="#define u_intp_t u_int16_t"
641 rxvt_intp_define="#error set intp_t"
642 rxvt_u_intp_define="#error set u_intp_t"
646 AC_SUBST(rxvt_intp_define)
647 AC_SUBST(rxvt_u_intp_define)
649 dnl# --------------------------------------------------------------------------
650 dnl# CHECKING FOR LIBRARY FUNCTIONS
651 dnl# --------------------------------------------------------------------------
663 dnl# --------------------------------------------------------------------------
665 dnl# find ttys/ttytab
666 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
667 [for ttys_file in dnl
668 /etc/ttys /etc/ttytab;
670 if test -f "$ttys_file" ; then
671 rxvt_cv_path_ttytab=$ttys_file
676 if test x$rxvt_cv_path_ttytab != x; then
677 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
680 dnl# --------------------------------------------------------------------------
681 dnl# --------------------------------------------------------------------------
683 dnl# this is a really hack test for some basic Xlocale stuff
685 ac_save_CFLAGS=$CFLAGS
686 CFLAGS="$CFLAGS $X_CFLAGS"
687 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
688 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
689 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
693 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
694 exit (XSupportsLocale() ? 0 : 1);
697 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
699 if test x$support_xim = xyes; then
700 if test x$rxvt_cv_func_xlocale = xyes; then
701 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
705 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
706 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
707 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
708 if test x$rxvt_cv_func_xsetlocale = xyes; then
709 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
712 CFLAGS=$ac_save_CFLAGS
714 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
715 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
716 if test x$rxvt_cv_func_setlocale = xyes; then
717 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
720 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
721 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
722 if test x$rxvt_cv_func_nl_langinfo = xyes; then
723 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
728 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
730 #include <X11/Xlib.h>
732 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
736 cb.callback = im_destroy_cb;
738 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
740 if test x$rxvt_broken_ximcb = xyes; then
741 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
748 dnl# --------------------------------------------------------------------------
749 dnl# now add and remove other stuff
750 dnl# --------------------------------------------------------------------------
751 if test x$support_xft = xyes; then
752 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
753 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then
754 LIBS="$LIBS `$PKG_CONFIG xft --libs`"
755 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`"
757 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
758 if test $XFT_CONFIG != no; then
759 LIBS="$LIBS `$XFT_CONFIG --libs`"
760 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
764 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
765 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
767 if test x$support_xft = xyes; then
768 AC_DEFINE(XFT, 1, Define to enable xft support)
771 if test x$support_styles = xyes; then
772 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
774 if test x$support_iso14755 = xyes; then
775 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
777 if test x$support_8bitctrls = xyes; then
778 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
780 if test x$support_fading = xyes; then
781 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
783 if test x$support_tinting = xyes; then
784 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
786 if test x$support_inheritpixmap = xyes; then
787 AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
789 if test x$support_keepscrolling = xno; then
790 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
792 if test x$support_selectionscrolling = xyes; then
793 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
795 if test x$support_mousewheel = xyes; then
796 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
798 if test x$support_mouseslipwheel = xyes; then
799 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
801 if test x$support_xpm = xyes -o x$support_afterimage = xyes ; then
802 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm or libAfterImage)
805 if test x$support_afterimage = xyes; then
806 AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
809 if test x$support_afterstep = xyes; then
810 AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager)
813 if test x$support_scroll_rxvt = xyes; then
814 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
817 if test x$support_scroll_next = xyes; then
818 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
819 scrolltypes="$scrolltypes next"
821 if test x$support_scroll_xterm = xyes; then
822 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
823 scrolltypes="$scrolltypes xterm"
825 if test x$support_scroll_plain = xyes; then
826 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
827 scrolltypes="$scrolltypes plain"
829 if test x$support_pointer_blank = xyes; then
830 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
832 if test x$support_text_blink = xyes; then
833 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
835 if test x$support_unicode3 = xyes; then
836 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
838 if test x$support_combining = xyes; then
839 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
841 if test x$codesets = xall; then
842 codesets=jp,jp-ext,kr,zh,zh-ext
844 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
845 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
846 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
848 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
849 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
850 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
851 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
852 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
857 if test x$support_perl = xyes; then
858 AC_PATH_PROG(PERL, perl5)
859 AC_PATH_PROG(PERL, perl)
861 AC_MSG_CHECKING(for $PERL suitability)
862 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
864 save_CXXFLAGS="$CXXFLAGS"
866 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
867 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
873 PerlInterpreter *perl = perl_alloc ();
874 ],[rxvt_perl_link=yes],[rxvt_perl_link=no])
875 CXXFLAGS="$save_CXXFLAGS"
878 if test x$rxvt_perl_link = xyes; then
880 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
883 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
884 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
885 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
887 AC_MSG_ERROR([no, unable to link])
890 AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
895 AC_SUBST(PERLPRIVLIBEXP)
900 if test x$support_perl = xyes; then
904 if test x$support_frills = xyes; then
905 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
916 AC_SUBST(X_EXTRA_LIBS)
918 AC_SUBST(AFTERIMAGE_CFLAGS)
919 AC_SUBST(AFTERIMAGE_LIBS)
923 dnl# test for "sun" or "__sun__" before include sys_ioctl
925 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
926 AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
927 [if test "$$3" = "$4" -o "$$5" = "$6"; then
930 $1="/* #include <$2> */"
934 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
935 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
936 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
937 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
938 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
939 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
940 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
941 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
942 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
943 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
944 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
945 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
946 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
948 AC_CONFIG_FILES([Makefile \
957 Rxvt version: $VERSION : $DATE
958 Source code location: $srcdir
959 Install path: ${prefix}/bin
961 Compiler flags: $CXXFLAGS
964 if test x$support_xpm = xyes; then
965 echo " Xpm library: $XPM_LIBS"
968 if test x$support_afterimage = xyes; then
969 echo " AfterImage support: yes"
972 if test x$support_afterstep = xyes; then
973 echo " AfterStep integration: yes"
976 if test x$term != x; then
977 echo " set TERM to: $term"
979 if test x$terminfo != x; then
980 echo " set TERMINFO to: $terminfo"
982 echo " default resource name: $RESNAME"
983 echo " resource class: $RESCLASS"
984 if test x$RESFALLBACK != x; then
985 echo " resource class fallback: $RESFALLBACK"
988 echo " embedded perl: $support_perl"
990 if test x$support_xpm = xneedsmanualspecification; then
991 echo ".----------------------------------------------------------------."
992 echo ". WARNING: --enable-xpm-background was specified however the ."
993 echo ". XPM includes files and libraries could not be found. ."
994 echo ". XPM backgrounds are now being DISABLED! If you want ."
995 echo ". to use them you should rerun configure with the ."
996 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
997 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
998 echo ".----------------------------------------------------------------."
1000 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1001 echo ".----------------------------------------------------------------."
1002 echo ". WARNING: --enable-xim was specified however the locale support ."
1003 echo ". functions could not be found. ."
1004 echo ". XIM is now being DISABLED! ."
1005 echo ".----------------------------------------------------------------."
1008 echo "*** Optionally check src/feature.h for further, rarely used options ***"