--- rxvt-unicode/configure.ac 2006/01/28 21:25:47 1.32 +++ rxvt-unicode/configure.ac 2007/11/05 00:55:45 1.81 @@ -15,10 +15,10 @@ DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` changequote([, ])dnl -AC_SUBST(VERSION)dnl -AC_SUBST(DATE)dnl -AC_SUBST(LSMDATE)dnl -AC_SUBST(LIBVERSION)dnl +AC_SUBST(VERSION)dnl +AC_SUBST(DATE)dnl +AC_SUBST(LSMDATE)dnl +AC_SUBST(LIBVERSION)dnl echo "" echo "configuring for rxvt $VERSION" echo "" @@ -47,7 +47,7 @@ LIBS="$LIBS -lsupc++" LINKER="$CC" AC_LINK_IFELSE( - [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }])], + [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], [AC_MSG_RESULT(ok)], [ AC_MSG_RESULT([no, making everything bigger and slower]) @@ -59,14 +59,13 @@ fi AC_SUBST(LINKER,[$LINKER]) -AC_LANG(C++) dnl# -------------------------------------------------------------------------- dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure' dnl# if test -z "$orig_CXXFLAGS"; then if test x$GCC = xyes && test "x$GXX" = xyes; then - CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [], [CXXFLAGS="-g -O3"]) + CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"]) else CXXFLAGS="-O" fi @@ -77,9 +76,7 @@ case $host in *-*-solaris* ) - AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris) - AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris) - AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris) + AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris) ;; esac @@ -100,7 +97,6 @@ support_frills=yes support_inheritpixmap=yes -support_tinting=yes support_fading=yes support_keepscrolling=yes support_selectionscrolling=yes @@ -113,7 +109,8 @@ support_scroll_xterm=yes support_scroll_plain=yes support_xim=yes -support_xpm=yes +support_afterimage=yes +support_afterstep=yes support_xft=yes support_unicode3=no support_combining=yes @@ -141,7 +138,6 @@ if test x$enableval = xno; then support_frills=no support_inheritpixmap=no - support_tinting=no support_fading=no support_keepscrolling=no support_selectionscrolling=no @@ -157,7 +153,8 @@ support_utmp=no support_wtmp=no support_xim=no - support_xpm=no + support_afterimage=no + support_afterstep=no support_xft=no support_unicode3=no support_combining=no @@ -170,7 +167,6 @@ if test x$enableval = xyes; then support_frills=yes support_inheritpixmap=yes - support_tinting=yes support_fading=yes support_keepscrolling=yes support_selectionscrolling=yes @@ -186,7 +182,8 @@ support_utmp=yes support_wtmp=yes support_xim=yes - support_xpm=yes + support_afterimage=yes + support_afterstep=yes support_xft=yes support_unicode3=yes support_combining=yes @@ -198,6 +195,22 @@ fi ]) +WARNINGS=no +AC_ARG_ENABLE(warnings, + [ --enable-warnings turn on g++ warnings], + [if test x$enableval = xyes; then + WARNINGS=yes + fi]) +if test x$GXX = xyes; then + if test $WARNINGS = yes; then + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-non-virtual-dtor" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"]) + else + CXXFLAGS="$CXXFLAGS -w" + fi +fi + AC_ARG_ENABLE(unicode3, [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters], [if test x$enableval = xyes -o x$enableval = xno; then @@ -222,24 +235,30 @@ support_styles=$enableval fi]) -AC_ARG_ENABLE(xpm-background, - [ --enable-xpm-background enable XPM background pixmaps], +AC_ARG_ENABLE(afterimage, + [ --enable-afterimage enable integration with libAfterImage for background images], [if test x$enableval = xyes -o x$enableval = xno; then - support_xpm=$enableval + support_afterimage=$enableval fi]) +AC_ARG_WITH(afterimage_config, + [ --with-afterimage-config=DIR use libAfterImage config script in DIR], + [if test "x$withval" != x; then + afterimage_config=$withval/afterimage-config + fi]) + +dnl AC_ARG_ENABLE(afterstep, +dnl [ --enable-afterstep enable integration with AfterStep window manager], +dnl [if test x$enableval = xyes -o x$enableval = xno; then +dnl support_afterstep=$enableval +dnl fi]) + AC_ARG_ENABLE(transparency, [ --enable-transparency enable transparent backgrounds], [if test x$enableval = xyes -o x$enableval = xno; then support_inheritpixmap=$enableval fi]) -AC_ARG_ENABLE(tinting, - [ --enable-tinting enable tinting of transparent bg], - [if test x$enableval = xyes -o x$enableval = xno; then - support_tinting=$enableval - fi]) - AC_ARG_ENABLE(fading, [ --enable-fading enable colors fading when off focus], [if test x$enableval = xyes -o x$enableval = xno; then @@ -276,14 +295,8 @@ support_scroll_plain=$enableval fi]) -dnl AC_ARG_ENABLE(half-shadow, -dnl [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], -dnl [if test x$enableval = xyes; then -dnl AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less) -dnl fi]) - AC_ARG_WITH(codesets, - [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], + [ --with-codesets=CS,... compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], [codesets="$withval"]) AC_ARG_ENABLE(xim, @@ -318,7 +331,7 @@ RESFALLBACK=Rxvt AC_ARG_ENABLE(fallback, - [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], + [ --enable-fallback@<:@=CLASS@:>@ fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], [ test x$enableval = xyes && enableval=Rxvt test x$enableval = xno && enableval= @@ -387,7 +400,7 @@ fi]) AC_ARG_ENABLE(slipwheeling, - [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], + [ --enable-slipwheeling enable slip wheel scrolling (requires --enable-mousewheel)], [if test x$enableval = xyes -o x$enableval = xno; then support_mouseslipwheel=$enableval fi]) @@ -424,13 +437,7 @@ dnl# -------------------------------------------------------------------------- -AC_PATH_PROG(MV, mv, mv) -AC_PATH_PROG(CP, cp, cp) -AC_PATH_PROG(LN, ln, ln) -AC_PATH_PROG(SED, sed, sed) -AC_PATH_PROG(ECHO, echo, echo) -AC_PATH_PROG(CMP, cmp, cmp) -AC_PATH_PROG(TIC, tic) +AC_PATH_PROG(TIC, tic, :) dnl# need a neat way to detect SVR4 or its features dnl# in src/command.c we use these functions: @@ -447,13 +454,38 @@ AC_PATH_XTRA -dnl# the only reasonable way to find libXpm is do-it-yourself -dnl# only check if we want xpm-background - -if test x$support_xpm = xyes; then - VT_FIND_LIBXPM - if test x$no_xpm = xyes; then - support_xpm=needsmanualspecification +AFTERIMAGE_CFLAGS= +AFTERIMAGE_LIBS= +AFTERIMAGE_VERSION= + +if test x$support_afterimage = xyes; then + support_afterimage=no + + if test "x$afterimage_config" = "x" ; then + AC_PATH_PROG(afterimage_config, afterimage-config, no) + fi + if test "x$afterimage_config" != "xno" ; then + AC_MSG_CHECKING(for libAfterImage version >= 1.15) + xAFTERIMAGE_VERSION=`$afterimage_config --version` + if test -n "$xAFTERIMAGE_VERSION" ; then + xAFTERIMAGE_CFLAGS=`$afterimage_config --cflags` + xAFTERIMAGE_LIBS=`$afterimage_config --libs` + if test "x$xAFTERIMAGE_LIBS" != "x"; then + libai_ver_major=`echo $xAFTERIMAGE_VERSION | cut -f 1 -d .` + libai_ver_minor=`echo $xAFTERIMAGE_VERSION | cut -f 2 -d .` + if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then + support_afterimage=yes + AFTERIMAGE_CFLAGS="$xAFTERIMAGE_CFLAGS" + AFTERIMAGE_LIBS="$xAFTERIMAGE_LIBS" + AFTERIMAGE_VERSION="$xAFTERIMAGE_VERSION" + fi + fi + fi + if test "x$support_afterimage" = "xyes"; then + AC_MSG_RESULT($AFTERIMAGE_LIBS) + else + AC_MSG_RESULT(no) + fi fi fi @@ -491,55 +523,26 @@ #include #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) -dnl# ELF systems may want to store paths for dynamic libraries. -dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" -dnl# At least one version of SunOS wants "-R path" but it's not checked yet. -if test -n "$GCC"; then - LDARG="-Wl," -else - LDARG="" -fi -changequote(, )dnl -R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g' -changequote([, ])dnl - -ac_save_CFLAGS=$CFLAGS -ac_save_LIBS=$LIBS -CFLAGS="$CFLAGS $X_CFLAGS" -LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` -AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -main() -{ - exit(0); - (void) XOpenDisplay("foobar"); -}]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl - AC_MSG_WARN(You may need to check the LIBS line)])]) -if test x$rxvt_cv_rpath != xyes; then - changequote(, )dnl - R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' - changequote([, ])dnl - LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` - AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -main() -{ - exit(0); - (void) XOpenDisplay("foobar"); -}]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])]) - if test x$rxvt_cv_R != xyes; then - LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" - fi -fi - AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])]) if test x$rxvt_cv_xpointer = xyes; then AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) fi -LIBS=$ac_save_LIBS -CFLAGS=$ac_save_CFLAGS +AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access, +[AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ +#define XLIB_ILLEGAL_ACCESS +#include + ],[ + Display *dpy; + dpy->xdefaults = (char *)0; + ])], + [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no] +)]) +if test x$rxvt_xlib_illegal_access = xyes; then + AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) +fi AC_C_CONST AC_C_INLINE @@ -641,54 +644,50 @@ AC_TYPE_SIGNAL dnl> AC_FUNC_VPRINTF -AC_CHECK_FUNCS( \ - unsetenv \ - setutent \ - on_exit \ -) +AC_CHECK_FUNCS(unsetenv) UTMP_CHECK dnl# -------------------------------------------------------------------------- -dnl# find ttys/ttytab -AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, -[for ttys_file in dnl - /etc/ttys /etc/ttytab; -do - if test -f "$ttys_file" ; then - rxvt_cv_path_ttytab=$ttys_file - break - fi -done -]) -if test x$rxvt_cv_path_ttytab != x; then - AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab) -fi - dnl# -------------------------------------------------------------------------- dnl# -------------------------------------------------------------------------- dnl# this is a really hack test for some basic Xlocale stuff -ac_save_LIBS=$LIBS -ac_save_CFLAGS=$CFLAGS +save_LIBS=$LIBS +save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" -if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then - LIBS=`echo $LIBS | sed "$R_TRANSLATE"` -fi -AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -main() { -char *p; -if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) -exit (XSupportsLocale() ? 0 : 1); -else -exit (1);}]])],[dnl - rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl - AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])]) -if test x$rxvt_cv_func_xlocale = xyes; then - AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) +if test x$support_xim = xyes; then + AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include + #include + main() { + char *p; + if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) + exit (XSupportsLocale() ? 0 : 1); + else + exit (1);}]])],[dnl + rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl + :])]) + if test x$rxvt_cv_func_xlocale = xyes; then + AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) + AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, + [AC_COMPILE_IFELSE([ + #include + + void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); + + void f() { + XIMCallback cb; + cb.callback = im_destroy_cb; + } + ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)]) + + if test x$rxvt_broken_ximcb = xyes; then + AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) + fi + fi fi AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, @@ -697,8 +696,8 @@ if test x$rxvt_cv_func_xsetlocale = xyes; then AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) fi -LIBS=$ac_save_LIBS -CFLAGS=$ac_save_CFLAGS +LIBS=$save_LIBS +CFLAGS=$save_CFLAGS AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])]) @@ -714,22 +713,6 @@ SCM_RIGHTS_CHECK -AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, -[AC_COMPILE_IFELSE([ -#include - -void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); - -void f() { - XIMCallback cb; - cb.callback = im_destroy_cb; -} -],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)]) - -if test x$rxvt_broken_ximcb = xyes; then - AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) -fi - PTY_CHECK TTY_GROUP_CHECK @@ -769,11 +752,8 @@ if test x$support_fading = xyes; then AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost) fi -if test x$support_tinting = xyes; then - AC_DEFINE(TINTING, 1, Define if you want your background to be tinted) -fi if test x$support_inheritpixmap = xyes; then - AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background) + AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) fi if test x$support_keepscrolling = xno; then AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed) @@ -790,14 +770,15 @@ if test x$support_mouseslipwheel = xyes; then AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) fi -if test x$support_xim = xyes -o x$multichar_set = xyes; then - if test x$rxvt_cv_func_xlocale = xyes; then - AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) - fi -fi -if test x$support_xpm = xyes; then - AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm) +if test x$support_afterimage = xyes; then + AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing) + AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps. Needs libAfterImage) fi + +dnl if test x$support_afterstep = xyes; then +dnl AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager) +dnl fi + if test x$support_scroll_rxvt = xyes; then AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars) scrolltypes="rxvt" @@ -885,36 +866,19 @@ AC_SUBST(IF_PERL) AC_SUBST(PERL_O) -if test x$support_perl = xyes; then - support_frills=yes -fi - -dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket) - -CFLAGS=${CFLAGS--O} -LDFLAGS=${LDFLAGS--O} - -CPPFLAGS="$CPPFLAGS" -AC_SUBST(DEBUG) -AC_SUBST(DINCLUDE) AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(X_CFLAGS) dnl# Attack the libs -if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then - DLIB=`echo $DLIB | sed "$R_TRANSLATE"` - LIBS=`echo $LIBS | sed "$R_TRANSLATE"` - X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"` - X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"` - XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"` -fi -AC_SUBST(DLIB) AC_SUBST(LIBS) AC_SUBST(X_LIBS) AC_SUBST(X_EXTRA_LIBS) +AC_SUBST(AFTERIMAGE_CFLAGS) +AC_SUBST(AFTERIMAGE_LIBS) + AC_ARG_PROGRAM dnl# test for "sun" or "__sun__" before include sys_ioctl @@ -955,13 +919,9 @@ Source code location: $srcdir Install path: ${prefix}/bin Compiler: $CXX - Compiler flags: $CFLAGS + Compiler flags: $CXXFLAGS Linker: $LINKER" -if test x$support_xpm = xyes; then - echo " Xpm library: $XPM_LIBS" -fi - if test x$term != x; then echo " set TERM to: $term" fi @@ -975,17 +935,9 @@ fi echo echo " embedded perl: $support_perl" +echo " libafterimage: $support_afterimage" +dnl echo " AfterStep integration: $support_afterstep" echo -if test x$support_xpm = xneedsmanualspecification; then - echo ".----------------------------------------------------------------." - echo ". WARNING: --enable-xpm-background was specified however the ." - echo ". XPM includes files and libraries could not be found. ." - echo ". XPM backgrounds are now being DISABLED! If you want ." - echo ". to use them you should rerun configure with the ." - echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ." - echo ". and --with-xpm-library=/path/to/xpm/library lines. ." - echo ".----------------------------------------------------------------." -fi if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then echo ".----------------------------------------------------------------." echo ". WARNING: --enable-xim was specified however the locale support ." @@ -997,14 +949,3 @@ echo "*** Optionally check src/feature.h for further, rarely used options ***" echo -echo ".----------------------------------------------------------------." -echo ". NOTE: some features are disabled by default, try ." -echo ". configure --help to get an idea of the optional features, ." -echo ". or read ./README.configure ." -echo ". ." -echo ". The script ./reconf gives a reasonable baseline, try it if ." -echo ". you do not want to read documentation and still want some ." -echo ". useful features. ." -echo ".----------------------------------------------------------------." -echo -