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_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
80 AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
81 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
85 dnl if test x$GXX = xyes; then
86 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
89 dnl# FreeBSD needs to link libxpg4
90 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
92 dnl# solaris needs to link libnsl and socket
93 AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
94 AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
96 dnl AC_ENABLE_SHARED(no)dnl# libtool
97 dnl AC_ENABLE_STATIC(yes)dnl# libtool
98 dnl AC_PROG_LIBTOOL()dnl# libtool
101 support_inheritpixmap=yes
104 support_keepscrolling=yes
105 support_selectionscrolling=yes
106 support_mousewheel=yes
107 support_mouseslipwheel=yes
108 support_text_blink=yes
109 support_pointer_blank=yes
110 support_scroll_rxvt=yes
111 support_scroll_next=yes
112 support_scroll_xterm=yes
113 support_scroll_plain=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
169 if test x$enableval = xyes; then
171 support_inheritpixmap=yes
174 support_keepscrolling=yes
175 support_selectionscrolling=yes
177 support_mousewheel=yes
178 support_mouseslipwheel=yes
179 support_text_blink=yes
180 support_pointer_blank=yes
181 support_scroll_rxvt=yes
182 support_scroll_next=yes
183 support_scroll_xterm=yes
184 support_scroll_plain=yes
191 support_combining=yes
192 #support_8bitctrls=yes
200 AC_ARG_ENABLE(unicode3,
201 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
202 [if test x$enableval = xyes -o x$enableval = xno; then
203 support_unicode3=$enableval
206 AC_ARG_ENABLE(combining,
207 [ --enable-combining enable composition of base and combining characters],
208 [if test x$enableval = xyes -o x$enableval = xno; then
209 support_combining=$enableval
213 [ --enable-xft enable xft support on systems that have it],
214 [if test x$enableval = xyes -o x$enableval = xno; then
215 support_xft=$enableval
218 AC_ARG_ENABLE(font-styles,
219 [ --enable-font-styles enable bold and italic support],
220 [if test x$enableval = xyes -o x$enableval = xno; then
221 support_styles=$enableval
224 AC_ARG_ENABLE(xpm-background,
225 [ --enable-xpm-background enable XPM background pixmaps],
226 [if test x$enableval = xyes -o x$enableval = xno; then
227 support_xpm=$enableval
230 AC_ARG_ENABLE(transparency,
231 [ --enable-transparency enable transparent backgrounds],
232 [if test x$enableval = xyes -o x$enableval = xno; then
233 support_inheritpixmap=$enableval
236 AC_ARG_ENABLE(tinting,
237 [ --enable-tinting enable tinting of transparent bg],
238 [if test x$enableval = xyes -o x$enableval = xno; then
239 support_tinting=$enableval
242 AC_ARG_ENABLE(fading,
243 [ --enable-fading enable colors fading when off focus],
244 [if test x$enableval = xyes -o x$enableval = xno; then
245 support_fading=$enableval
248 AC_ARG_ENABLE(rxvt-scroll,
249 [ --enable-rxvt-scroll enable rxvt style scrollbar],
250 [if test x$enableval = xyes -o x$enableval = xno; then
251 support_scroll_rxvt=$enableval
254 AC_ARG_ENABLE(next-scroll,
255 [ --enable-next-scroll enable NeXT style scrollbar],
256 [if test x$enableval = xyes -o x$enableval = xno; then
257 support_scroll_next=$enableval
260 AC_ARG_ENABLE(xterm-scroll,
261 [ --enable-xterm-scroll enable Xterm style scrollbar],
262 [if test x$enableval = xyes -o x$enableval = xno; then
263 support_scroll_xterm=$enableval
267 [ --enable-perl enable embedded perl interpreter],
268 [if test x$enableval = xyes -o x$enableval = xno; then
269 support_perl=$enableval
272 AC_ARG_ENABLE(plain-scroll,
273 [ --enable-plain-scroll enable plain style scrollbar],
274 [if test x$enableval = xyes -o x$enableval = xno; then
275 support_scroll_plain=$enableval
278 AC_ARG_WITH(codesets,
279 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
280 [codesets="$withval"])
283 [ --enable-xim XIM (X Input Method) protocol support],
284 [if test x$enableval = xyes -o x$enableval = xno; then
285 support_xim=$enableval
288 AC_ARG_ENABLE(backspace-key,
289 [ --disable-backspace-key disable handling of the backspace key],
290 [if test x$enableval = xno; then
291 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
294 AC_ARG_ENABLE(delete-key,
295 [ --disable-delete-key disable handling of the delete key],
296 [if test x$enableval = xno; then
297 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
300 AC_ARG_ENABLE(resources,
301 [ --disable-resources disable all resource checking],
302 [if test x$enableval = xno; then
303 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
306 AC_ARG_ENABLE(8bitctrls,
307 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
308 [if test x$enableval = xyes -o x$enableval = xno; then
309 support_8bitctrls=$enableval
313 AC_ARG_ENABLE(fallback,
314 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
316 test x$enableval = xyes && enableval=Rxvt
317 test x$enableval = xno && enableval=
318 RESFALLBACK="$enableval"
321 if test x$RESFALLBACK != x; then
322 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
326 AC_ARG_WITH(res-name,
327 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
328 [RESNAME="$withval"])
329 AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
332 AC_ARG_WITH(res-class,
333 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
334 [RESCLASS="$withval"])
335 AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
339 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
340 [RXVTNAME="$withval"])
341 AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
343 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
346 AC_ARG_ENABLE(swapscreen,
347 [ --disable-swapscreen disable swap screen support],
348 [if test x$enableval = xno; then
349 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
352 AC_ARG_ENABLE(iso14755,
353 [ --enable-iso14755 enable support for extended ISO 14755 modes],
354 [if test x$enableval = xyes -o x$enableval = xno; then
355 support_iso14755=$enableval
358 AC_ARG_ENABLE(frills,
359 [ --enable-frills enable support for rarely used features],
360 [if test x$enableval = xyes -o x$enableval = xno; then
361 support_frills=$enableval
364 AC_ARG_ENABLE(keepscrolling,
365 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press],
366 [if test x$enableval = xyes -o x$enableval = xno; then
367 support_keepscrolling=$enableval
370 AC_ARG_ENABLE(selectionscrolling,
371 [ --enable-selectionscrolling enable scrolling during selections],
372 [if test x$enableval = xyes -o x$enableval = xno; then
373 support_selectionscrolling=$enableval
376 AC_ARG_ENABLE(mousewheel,
377 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5],
378 [if test x$enableval = xyes -o x$enableval = xno; then
379 support_mousewheel=$enableval
382 AC_ARG_ENABLE(slipwheeling,
383 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
384 [if test x$enableval = xyes -o x$enableval = xno; then
385 support_mouseslipwheel=$enableval
388 AC_ARG_ENABLE(smart-resize,
389 [ --enable-smart-resize enable smart growth/shrink behaviour],
390 [if test x$enableval = xyes; then
391 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
394 AC_ARG_ENABLE(text-blink,
395 [ --enable-text-blink enable blinking text],
396 [if test x$enableval = xyes -o x$enableval = xno; then
397 support_text_blink=$enableval
400 AC_ARG_ENABLE(pointer-blank,
401 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
402 [if test x$enableval = xyes -o x$enableval = xno; then
403 support_pointer_blank=$enableval
407 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
408 [if test x$withval != x; then
409 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
412 AC_ARG_WITH(terminfo,
413 [ --with-terminfo=PATH set the path to the terminfo tree to PATH],
414 [if test x$withval != x; then
415 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
418 dnl# --------------------------------------------------------------------------
420 AC_PATH_PROG(MV, mv, mv)
421 AC_PATH_PROG(CP, cp, cp)
422 AC_PATH_PROG(LN, ln, ln)
423 AC_PATH_PROG(SED, sed, sed)
424 AC_PATH_PROG(ECHO, echo, echo)
425 AC_PATH_PROG(CMP, cmp, cmp)
426 AC_PATH_PROG(TIC, tic)
428 dnl# need a neat way to detect SVR4 or its features
429 dnl# in src/command.c we use these functions:
430 dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
431 dnl# - but are these also defined for other systems?
433 dnl# hack to find if this is SVR4 -- who knows?
434 dnl## AC_MSG_CHECKING(for SVR4)
435 dnl## AC_EGREP_CPP(yes,
436 dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
439 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
443 dnl# the only reasonable way to find libXpm is do-it-yourself
444 dnl# only check if we want xpm-background
446 if test x$support_xpm = xyes; then
448 if test x$no_xpm = xyes; then
449 support_xpm=needsmanualspecification
453 dnl# --------------------------------------------------------------------------
454 dnl# CHECKING FOR HEADER FILES
455 dnl# --------------------------------------------------------------------------
479 dnl# check to allow both <termios.h> and <sys/ioctl.h>
480 AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
481 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
482 #include <sys/ioctl.h>
483 #ifdef HAVE_TERMIOS_H
485 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
487 dnl# ELF systems may want to store paths for dynamic libraries.
488 dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
489 dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
490 if test -n "$GCC"; then
496 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g'
499 ac_save_CFLAGS=$CFLAGS
501 CFLAGS="$CFLAGS $X_CFLAGS"
502 LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
503 AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
504 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
509 (void) XOpenDisplay("foobar");
510 }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
511 AC_MSG_WARN(You may need to check the LIBS line)])])
512 if test x$rxvt_cv_rpath != xyes; then
514 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
516 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
517 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
518 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
523 (void) XOpenDisplay("foobar");
524 }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
525 if test x$rxvt_cv_R != xyes; then
526 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
530 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
531 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
532 if test x$rxvt_cv_xpointer = xyes; then
533 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
536 CFLAGS=$ac_save_CFLAGS
538 AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access,
541 #define XLIB_ILLEGAL_ACCESS
542 #include <X11/Xlib.h>
545 dpy->xdefaults = (char *)0;
547 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no]
549 if test x$rxvt_xlib_illegal_access = xyes; then
550 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
556 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
558 dnl# --------------------------------------------------------------------------
559 dnl# CHECKING FOR MISSING TYPEDEFS
560 dnl# --------------------------------------------------------------------------
561 dnl# Missing typedefs and replacements
563 dnl> AC_CHECK_TYPE(umode_t, int)
564 dnl> AC_CHECK_TYPE(off_t, long)
568 AC_CHECK_SIZEOF(short, 2)
569 AC_CHECK_SIZEOF(int, 4)
570 dnl AC_CHECK_SIZEOF(long, 4)
571 AC_CHECK_SIZEOF(long long, 8)
572 AC_CHECK_SIZEOF(int *, 4)
575 AC_DEFUN([RXVT_CHECK_SIZE],
576 [AC_CACHE_CHECK([for $2], $1,
577 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
578 if test "$ac_cv_sizeof_char" -ge $3; then
581 if test "$ac_cv_sizeof_short" -ge $3; then
584 if test "$ac_cv_sizeof_int" -ge $3; then
587 if test "$ac_cv_sizeof_long" -ge $3; then
590 if test "$ac_cv_sizeof_long_long" -ge $3; then
593 $1="$4 $5" # we _must_ have a (possibly wrong) default
599 if test x"$$1" != xyes; then
602 if test x"$4" = x; then
603 $6="/* typedef $5 $2; */"
605 $6="/* typedef $4 $5 $2; */"
610 dnl# Look for types the system may know about anyway.
612 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
613 AC_SUBST(rxvt_int16_typedef)
614 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
615 AC_SUBST(rxvt_uint16_typedef)
616 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
617 AC_SUBST(rxvt_int32_typedef)
618 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
619 AC_SUBST(rxvt_uint32_typedef)
620 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
621 dnl AC_SUBST(rxvt_int64_typedef)
622 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
623 dnl AC_SUBST(rxvt_uint64_typedef)
625 dnl# Now look for another we use
627 if test "$ac_cv_sizeof_int_p" -eq 8; then
628 rxvt_intp_define="#define intp_t int64_t"
629 rxvt_u_intp_define="#define u_intp_t u_int64_t"
631 if test "$ac_cv_sizeof_int_p" -eq 4; then
632 rxvt_intp_define="#define intp_t int32_t"
633 rxvt_u_intp_define="#define u_intp_t u_int32_t"
635 if test "$ac_cv_sizeof_int_p" -eq 2; then
636 rxvt_intp_define="#define intp_t int16_t"
637 rxvt_u_intp_define="#define u_intp_t u_int16_t"
639 rxvt_intp_define="#error set intp_t"
640 rxvt_u_intp_define="#error set u_intp_t"
644 AC_SUBST(rxvt_intp_define)
645 AC_SUBST(rxvt_u_intp_define)
647 dnl# --------------------------------------------------------------------------
648 dnl# CHECKING FOR LIBRARY FUNCTIONS
649 dnl# --------------------------------------------------------------------------
661 dnl# --------------------------------------------------------------------------
663 dnl# find ttys/ttytab
664 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
665 [for ttys_file in dnl
666 /etc/ttys /etc/ttytab;
668 if test -f "$ttys_file" ; then
669 rxvt_cv_path_ttytab=$ttys_file
674 if test x$rxvt_cv_path_ttytab != x; then
675 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
678 dnl# --------------------------------------------------------------------------
679 dnl# --------------------------------------------------------------------------
681 dnl# this is a really hack test for some basic Xlocale stuff
683 ac_save_CFLAGS=$CFLAGS
684 CFLAGS="$CFLAGS $X_CFLAGS"
685 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
686 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
687 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
689 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
690 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
694 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
695 exit (XSupportsLocale() ? 0 : 1);
698 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
699 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
700 if test x$rxvt_cv_func_xlocale = xyes; then
701 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
704 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
705 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
706 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
707 if test x$rxvt_cv_func_xsetlocale = xyes; then
708 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
711 CFLAGS=$ac_save_CFLAGS
713 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
714 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
715 if test x$rxvt_cv_func_setlocale = xyes; then
716 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
719 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
720 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
721 if test x$rxvt_cv_func_nl_langinfo = xyes; then
722 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
727 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
729 #include <X11/Xlib.h>
731 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
735 cb.callback = im_destroy_cb;
737 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
739 if test x$rxvt_broken_ximcb = xyes; then
740 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
747 dnl# --------------------------------------------------------------------------
748 dnl# now add and remove other stuff
749 dnl# --------------------------------------------------------------------------
750 if test x$support_xft = xyes; then
751 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
752 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then
753 LIBS="$LIBS `$PKG_CONFIG xft --libs`"
754 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`"
756 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
757 if test $XFT_CONFIG != no; then
758 LIBS="$LIBS `$XFT_CONFIG --libs`"
759 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
763 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
764 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
766 if test x$support_xft = xyes; then
767 AC_DEFINE(XFT, 1, Define to enable xft support)
770 if test x$support_styles = xyes; then
771 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
773 if test x$support_iso14755 = xyes; then
774 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
776 if test x$support_8bitctrls = xyes; then
777 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
779 if test x$support_fading = xyes; then
780 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
782 if test x$support_tinting = xyes; then
783 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
785 if test x$support_inheritpixmap = xyes; then
786 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background)
788 if test x$support_keepscrolling = xno; then
789 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
791 if test x$support_selectionscrolling = xyes; then
792 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
794 if test x$support_frills = xyes; then
795 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
797 if test x$support_mousewheel = xyes; then
798 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
800 if test x$support_mouseslipwheel = xyes; then
801 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
803 if test x$support_xim = xyes -o x$multichar_set = xyes; then
804 if test x$rxvt_cv_func_xlocale = xyes; then
805 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
808 if test x$support_xpm = xyes; then
809 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm)
811 if test x$support_scroll_rxvt = xyes; then
812 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
815 if test x$support_scroll_next = xyes; then
816 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
817 scrolltypes="$scrolltypes next"
819 if test x$support_scroll_xterm = xyes; then
820 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
821 scrolltypes="$scrolltypes xterm"
823 if test x$support_scroll_plain = xyes; then
824 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
825 scrolltypes="$scrolltypes plain"
827 if test x$support_pointer_blank = xyes; then
828 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
830 if test x$support_text_blink = xyes; then
831 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
833 if test x$support_unicode3 = xyes; then
834 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
836 if test x$support_combining = xyes; then
837 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
839 if test x$codesets = xall; then
840 codesets=jp,jp-ext,kr,zh,zh-ext
842 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
843 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
844 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
846 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
847 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
848 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
849 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
850 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
855 if test x$support_perl = xyes; then
856 AC_PATH_PROG(PERL, perl5)
857 AC_PATH_PROG(PERL, perl)
859 AC_MSG_CHECKING(for $PERL suitability)
860 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
862 save_CXXFLAGS="$CXXFLAGS"
864 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
865 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
871 PerlInterpreter *perl = perl_alloc ();
872 ],[rxvt_perl_link=yes],[rxvt_perl_link=no])
873 CXXFLAGS="$save_CXXFLAGS"
876 if test x$rxvt_perl_link = xyes; then
878 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
881 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
882 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
883 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
885 AC_MSG_ERROR([no, unable to link])
888 AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
893 AC_SUBST(PERLPRIVLIBEXP)
898 if test x$support_perl = xyes; then
910 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
911 DLIB=`echo $DLIB | sed "$R_TRANSLATE"`
912 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
913 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
914 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
915 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
920 AC_SUBST(X_EXTRA_LIBS)
924 dnl# test for "sun" or "__sun__" before include sys_ioctl
926 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
927 AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
928 [if test "$$3" = "$4" -o "$$5" = "$6"; then
931 $1="/* #include <$2> */"
935 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
936 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
937 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
938 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
939 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
940 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
941 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
942 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
943 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
944 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
945 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
946 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
947 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
949 AC_CONFIG_FILES([Makefile \
958 Rxvt version: $VERSION : $DATE
959 Source code location: $srcdir
960 Install path: ${prefix}/bin
962 Compiler flags: $CXXFLAGS
965 if test x$support_xpm = xyes; then
966 echo " Xpm library: $XPM_LIBS"
969 if test x$term != x; then
970 echo " set TERM to: $term"
972 if test x$terminfo != x; then
973 echo " set TERMINFO to: $terminfo"
975 echo " default resource name: $RESNAME"
976 echo " resource class: $RESCLASS"
977 if test x$RESFALLBACK != x; then
978 echo " resource class fallback: $RESFALLBACK"
981 echo " embedded perl: $support_perl"
983 if test x$support_xpm = xneedsmanualspecification; then
984 echo ".----------------------------------------------------------------."
985 echo ". WARNING: --enable-xpm-background was specified however the ."
986 echo ". XPM includes files and libraries could not be found. ."
987 echo ". XPM backgrounds are now being DISABLED! If you want ."
988 echo ". to use them you should rerun configure with the ."
989 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
990 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
991 echo ".----------------------------------------------------------------."
993 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
994 echo ".----------------------------------------------------------------."
995 echo ". WARNING: --enable-xim was specified however the locale support ."
996 echo ". functions could not be found. ."
997 echo ". XIM is now being DISABLED! ."
998 echo ".----------------------------------------------------------------."
1001 echo "*** Optionally check src/feature.h for further, rarely used options ***"