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; }],[])],
56 AC_MSG_RESULT([no, making everything bigger and slower])
63 AC_SUBST(LINKER,[$LINKER])
66 dnl# --------------------------------------------------------------------------
67 dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure'
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"])
79 AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
83 AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris)
87 dnl if test x$GXX = xyes; then
88 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
91 dnl# FreeBSD needs to link libxpg4
92 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
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"])])
98 dnl AC_ENABLE_SHARED(no)dnl# libtool
99 dnl AC_ENABLE_STATIC(yes)dnl# libtool
100 dnl AC_PROG_LIBTOOL()dnl# libtool
103 support_inheritpixmap=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
118 support_afterimage=yes
119 support_afterstep=yes
122 support_combining=yes
129 dnl# --------------------------------------------------------------------------
130 dnl# CHECKING COMMAND LINE OPTIONS
131 dnl# --------------------------------------------------------------------------
133 if test "x$enable_shared" = xyes; then
134 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
137 AC_SUBST(INSTALL_LIBRXVT)
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],
144 if test x$enableval = xno; then
146 support_inheritpixmap=no
149 support_keepscrolling=no
150 support_selectionscrolling=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
164 support_afterimage=no
175 if test x$enableval = xyes; then
177 support_inheritpixmap=yes
180 support_keepscrolling=yes
181 support_selectionscrolling=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
195 support_afterimage=yes
196 support_afterstep=yes
199 support_combining=yes
200 #support_8bitctrls=yes
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
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
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
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
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
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
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
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
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
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
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
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
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
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
293 [ --enable-perl enable embedded perl interpreter],
294 [if test x$enableval = xyes -o x$enableval = xno; then
295 support_perl=$enableval
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
304 AC_ARG_WITH(codesets,
305 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
306 [codesets="$withval"])
309 [ --enable-xim XIM (X Input Method) protocol support],
310 [if test x$enableval = xyes -o x$enableval = xno; then
311 support_xim=$enableval
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)
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)
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)
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
339 AC_ARG_ENABLE(fallback,
340 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
342 test x$enableval = xyes && enableval=Rxvt
343 test x$enableval = xno && enableval=
344 RESFALLBACK="$enableval"
347 if test x$RESFALLBACK != x; then
348 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
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])
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])
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])
369 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
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)
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
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
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
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
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
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
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)
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
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
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"
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"
444 dnl# --------------------------------------------------------------------------
446 AC_PATH_PROG(TIC, tic)
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?
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__)
459 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
463 dnl# the only reasonable way to find libXpm is do-it-yourself
464 dnl# only check if we want xpm-background
466 LIBAFTERIMAGE_CFLAGS=
470 if test x$support_afterimage = xyes; then
471 support_afterimage=no
473 if test "x$afterimage_config" = "x" ; then
474 AC_PATH_PROG(afterimage_config, afterimage-config, no)
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
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 dnl# ELF systems may want to store paths for dynamic libraries.
535 dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
536 dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
537 if test -n "$GCC"; then
543 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g'
546 ac_save_CFLAGS=$CFLAGS
548 CFLAGS="$CFLAGS $X_CFLAGS"
549 LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
550 AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
551 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
556 (void) XOpenDisplay("foobar");
557 }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
558 AC_MSG_WARN(You may need to check the LIBS line)])])
559 if test x$rxvt_cv_rpath != xyes; then
561 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
563 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
564 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
565 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
570 (void) XOpenDisplay("foobar");
571 }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
572 if test x$rxvt_cv_R != xyes; then
573 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
577 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
578 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
579 if test x$rxvt_cv_xpointer = xyes; then
580 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
583 CFLAGS=$ac_save_CFLAGS
585 AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access,
588 #define XLIB_ILLEGAL_ACCESS
589 #include <X11/Xlib.h>
592 dpy->xdefaults = (char *)0;
594 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no]
596 if test x$rxvt_xlib_illegal_access = xyes; then
597 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
603 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
605 dnl# --------------------------------------------------------------------------
606 dnl# CHECKING FOR MISSING TYPEDEFS
607 dnl# --------------------------------------------------------------------------
608 dnl# Missing typedefs and replacements
610 dnl> AC_CHECK_TYPE(umode_t, int)
611 dnl> AC_CHECK_TYPE(off_t, long)
615 AC_CHECK_SIZEOF(short, 2)
616 AC_CHECK_SIZEOF(int, 4)
617 dnl AC_CHECK_SIZEOF(long, 4)
618 AC_CHECK_SIZEOF(long long, 8)
619 AC_CHECK_SIZEOF(int *, 4)
622 AC_DEFUN([RXVT_CHECK_SIZE],
623 [AC_CACHE_CHECK([for $2], $1,
624 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
625 if test "$ac_cv_sizeof_char" -ge $3; then
628 if test "$ac_cv_sizeof_short" -ge $3; then
631 if test "$ac_cv_sizeof_int" -ge $3; then
634 if test "$ac_cv_sizeof_long" -ge $3; then
637 if test "$ac_cv_sizeof_long_long" -ge $3; then
640 $1="$4 $5" # we _must_ have a (possibly wrong) default
646 if test x"$$1" != xyes; then
649 if test x"$4" = x; then
650 $6="/* typedef $5 $2; */"
652 $6="/* typedef $4 $5 $2; */"
657 dnl# Look for types the system may know about anyway.
659 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
660 AC_SUBST(rxvt_int16_typedef)
661 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
662 AC_SUBST(rxvt_uint16_typedef)
663 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
664 AC_SUBST(rxvt_int32_typedef)
665 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
666 AC_SUBST(rxvt_uint32_typedef)
667 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
668 dnl AC_SUBST(rxvt_int64_typedef)
669 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
670 dnl AC_SUBST(rxvt_uint64_typedef)
672 dnl# Now look for another we use
674 if test "$ac_cv_sizeof_int_p" -eq 8; then
675 rxvt_intp_define="#define intp_t int64_t"
676 rxvt_u_intp_define="#define u_intp_t u_int64_t"
678 if test "$ac_cv_sizeof_int_p" -eq 4; then
679 rxvt_intp_define="#define intp_t int32_t"
680 rxvt_u_intp_define="#define u_intp_t u_int32_t"
682 if test "$ac_cv_sizeof_int_p" -eq 2; then
683 rxvt_intp_define="#define intp_t int16_t"
684 rxvt_u_intp_define="#define u_intp_t u_int16_t"
686 rxvt_intp_define="#error set intp_t"
687 rxvt_u_intp_define="#error set u_intp_t"
691 AC_SUBST(rxvt_intp_define)
692 AC_SUBST(rxvt_u_intp_define)
694 dnl# --------------------------------------------------------------------------
695 dnl# CHECKING FOR LIBRARY FUNCTIONS
696 dnl# --------------------------------------------------------------------------
708 dnl# --------------------------------------------------------------------------
710 dnl# find ttys/ttytab
711 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
712 [for ttys_file in dnl
713 /etc/ttys /etc/ttytab;
715 if test -f "$ttys_file" ; then
716 rxvt_cv_path_ttytab=$ttys_file
721 if test x$rxvt_cv_path_ttytab != x; then
722 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
725 dnl# --------------------------------------------------------------------------
726 dnl# --------------------------------------------------------------------------
728 dnl# this is a really hack test for some basic Xlocale stuff
730 ac_save_CFLAGS=$CFLAGS
731 CFLAGS="$CFLAGS $X_CFLAGS"
732 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
733 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
734 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
736 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
737 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
741 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
742 exit (XSupportsLocale() ? 0 : 1);
745 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
747 if test x$support_xim = xyes; then
748 if test x$rxvt_cv_func_xlocale = xyes; then
749 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
753 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
754 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
755 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
756 if test x$rxvt_cv_func_xsetlocale = xyes; then
757 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
760 CFLAGS=$ac_save_CFLAGS
762 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
763 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
764 if test x$rxvt_cv_func_setlocale = xyes; then
765 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
768 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
769 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
770 if test x$rxvt_cv_func_nl_langinfo = xyes; then
771 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
776 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
778 #include <X11/Xlib.h>
780 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
784 cb.callback = im_destroy_cb;
786 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
788 if test x$rxvt_broken_ximcb = xyes; then
789 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
796 dnl# --------------------------------------------------------------------------
797 dnl# now add and remove other stuff
798 dnl# --------------------------------------------------------------------------
799 if test x$support_xft = xyes; then
800 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
801 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then
802 LIBS="$LIBS `$PKG_CONFIG xft --libs`"
803 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`"
805 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
806 if test $XFT_CONFIG != no; then
807 LIBS="$LIBS `$XFT_CONFIG --libs`"
808 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
812 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
813 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
815 if test x$support_xft = xyes; then
816 AC_DEFINE(XFT, 1, Define to enable xft support)
819 if test x$support_styles = xyes; then
820 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
822 if test x$support_iso14755 = xyes; then
823 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
825 if test x$support_8bitctrls = xyes; then
826 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
828 if test x$support_fading = xyes; then
829 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
831 if test x$support_tinting = xyes; then
832 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
834 if test x$support_inheritpixmap = xyes; then
835 AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
837 if test x$support_keepscrolling = xno; then
838 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
840 if test x$support_selectionscrolling = xyes; then
841 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
843 if test x$support_frills = xyes; then
844 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
846 if test x$support_mousewheel = xyes; then
847 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
849 if test x$support_mouseslipwheel = xyes; then
850 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
852 if test x$support_xpm = xyes -o x$support_afterimage = xyes ; then
853 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm or libAfterImage)
856 if test x$support_afterimage = xyes; then
857 AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
860 if test x$support_afterstep = xyes; then
861 AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager)
864 if test x$support_scroll_rxvt = xyes; then
865 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
868 if test x$support_scroll_next = xyes; then
869 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
870 scrolltypes="$scrolltypes next"
872 if test x$support_scroll_xterm = xyes; then
873 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
874 scrolltypes="$scrolltypes xterm"
876 if test x$support_scroll_plain = xyes; then
877 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
878 scrolltypes="$scrolltypes plain"
880 if test x$support_pointer_blank = xyes; then
881 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
883 if test x$support_text_blink = xyes; then
884 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
886 if test x$support_unicode3 = xyes; then
887 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
889 if test x$support_combining = xyes; then
890 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
892 if test x$codesets = xall; then
893 codesets=jp,jp-ext,kr,zh,zh-ext
895 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
896 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
897 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
899 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
900 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
901 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
902 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
903 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
908 if test x$support_perl = xyes; then
909 AC_PATH_PROG(PERL, perl5)
910 AC_PATH_PROG(PERL, perl)
912 AC_MSG_CHECKING(for $PERL suitability)
913 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
915 save_CXXFLAGS="$CXXFLAGS"
917 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
918 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
924 PerlInterpreter *perl = perl_alloc ();
925 ],[rxvt_perl_link=yes],[rxvt_perl_link=no])
926 CXXFLAGS="$save_CXXFLAGS"
929 if test x$rxvt_perl_link = xyes; then
931 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
934 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
935 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
936 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
938 AC_MSG_ERROR([no, unable to link])
941 AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
946 AC_SUBST(PERLPRIVLIBEXP)
951 if test x$support_perl = xyes; then
961 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
962 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
963 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
964 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
965 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
969 AC_SUBST(X_EXTRA_LIBS)
971 AC_SUBST(LIBAFTERIMAGE_CFLAGS)
972 AC_SUBST(AFTERIMAGE_LIBS)
976 dnl# test for "sun" or "__sun__" before include sys_ioctl
978 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
979 AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
980 [if test "$$3" = "$4" -o "$$5" = "$6"; then
983 $1="/* #include <$2> */"
987 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
988 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
989 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
990 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
991 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
992 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
993 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
994 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
995 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
996 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
997 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
998 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
999 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
1001 AC_CONFIG_FILES([Makefile \
1008 echo "Configuration:
1010 Rxvt version: $VERSION : $DATE
1011 Source code location: $srcdir
1012 Install path: ${prefix}/bin
1014 Compiler flags: $CXXFLAGS
1017 if test x$support_xpm = xyes; then
1018 echo " Xpm library: $XPM_LIBS"
1021 if test x$support_afterimage = xyes; then
1022 echo " AfterImage support: yes"
1025 if test x$support_afterstep = xyes; then
1026 echo " AfterStep integration: yes"
1029 if test x$term != x; then
1030 echo " set TERM to: $term"
1032 if test x$terminfo != x; then
1033 echo " set TERMINFO to: $terminfo"
1035 echo " default resource name: $RESNAME"
1036 echo " resource class: $RESCLASS"
1037 if test x$RESFALLBACK != x; then
1038 echo " resource class fallback: $RESFALLBACK"
1041 echo " embedded perl: $support_perl"
1043 if test x$support_xpm = xneedsmanualspecification; then
1044 echo ".----------------------------------------------------------------."
1045 echo ". WARNING: --enable-xpm-background was specified however the ."
1046 echo ". XPM includes files and libraries could not be found. ."
1047 echo ". XPM backgrounds are now being DISABLED! If you want ."
1048 echo ". to use them you should rerun configure with the ."
1049 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
1050 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
1051 echo ".----------------------------------------------------------------."
1053 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1054 echo ".----------------------------------------------------------------."
1055 echo ". WARNING: --enable-xim was specified however the locale support ."
1056 echo ". functions could not be found. ."
1057 echo ". XIM is now being DISABLED! ."
1058 echo ".----------------------------------------------------------------."
1061 echo "*** Optionally check src/feature.h for further, rarely used options ***"