--- rxvt-unicode/configure.ac 2010/10/13 23:04:56 1.118 +++ rxvt-unicode/configure.ac 2011/11/13 16:03:31 1.130 @@ -95,6 +95,8 @@ support_scroll_next=yes support_scroll_xterm=yes support_xim=yes +support_pixbuf=yes +support_startup_notification=yes support_afterimage=yes support_xft=yes support_unicode3=no @@ -130,6 +132,8 @@ support_utmp=no support_wtmp=no support_xim=no + support_pixbuf=no + support_startup_notification=no support_afterimage=no support_xft=no support_unicode3=no @@ -157,6 +161,8 @@ support_utmp=yes support_wtmp=yes support_xim=yes + support_pixbuf=yes + support_startup_notification=yes support_afterimage=yes support_xft=yes support_unicode3=yes @@ -247,6 +253,12 @@ support_pixbuf=$enableval fi]) +AC_ARG_ENABLE(startup-notification, + [ --enable-startup-notification enable freedesktop startup notification support], + [if test x$enableval = xyes -o x$enableval = xno; then + support_startup_notification=$enableval + fi]) + AC_ARG_ENABLE(transparency, [ --enable-transparency enable transparent backgrounds], [if test x$enableval = xyes -o x$enableval = xno; then @@ -433,6 +445,8 @@ AC_PATH_XTRA +image_lib=none + PIXBUF_CFLAGS= PIXBUF_LIBS= @@ -440,14 +454,15 @@ support_pixbuf=no AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(for gdk-pixbuf) - if test $PKG_CONFIG != no && $PKG_CONFIG --exists gdk-pixbuf-xlib-2.0; then - PIXBUF_CFLAGS="`$PKG_CONFIG gdk-pixbuf-xlib-2.0 --cflags`" - PIXBUF_LIBS="`$PKG_CONFIG gdk-pixbuf-xlib-2.0 --libs`" + if test $PKG_CONFIG != no && $PKG_CONFIG --exists gdk-pixbuf-2.0; then + PIXBUF_CFLAGS="`$PKG_CONFIG gdk-pixbuf-2.0 --cflags`" + PIXBUF_LIBS="`$PKG_CONFIG gdk-pixbuf-2.0 --libs`" support_pixbuf=yes fi if test x$support_pixbuf = xyes; then AC_MSG_RESULT(ok) + image_lib=gdk-pixbuf support_afterimage=no AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing) AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.) @@ -459,6 +474,30 @@ AC_SUBST(PIXBUF_CFLAGS) AC_SUBST(PIXBUF_LIBS) +STARTUP_NOTIFICATION_CFLAGS= +STARTUP_NOTIFICATION_LIBS= + +if test x$support_startup_notification = xyes; then + support_startup_notification=no + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + AC_MSG_CHECKING(for libstartup-notification) + if test $PKG_CONFIG != no && $PKG_CONFIG --exists libstartup-notification-1.0; then + STARTUP_NOTIFICATION_CFLAGS="`$PKG_CONFIG libstartup-notification-1.0 --cflags`" + STARTUP_NOTIFICATION_LIBS="`$PKG_CONFIG libstartup-notification-1.0 --libs`" + support_startup_notification=yes + fi + + if test x$support_startup_notification = xyes; then + AC_MSG_RESULT(ok) + AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported) + else + AC_MSG_RESULT(no) + fi +fi + +AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) +AC_SUBST(STARTUP_NOTIFICATION_LIBS) + AFTERIMAGE_CFLAGS= AFTERIMAGE_LIBS= AFTERIMAGE_VERSION= @@ -488,6 +527,7 @@ fi if test "x$support_afterimage" = "xyes"; then AC_MSG_RESULT($AFTERIMAGE_LIBS) + image_lib=libafterimage 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.) else @@ -512,12 +552,6 @@ cwchar \ ) -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 - AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_cv_xlib_illegal_access, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([ @@ -564,20 +598,21 @@ LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" if test x$support_xim = xyes; then AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, - [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include + [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 - :])]) + int main() { + char *p; + if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) + exit (XSupportsLocale() ? 0 : 1); + else + exit (1); + } + ]])],[rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[:])]) 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_cv_broken_ximcb, - [AC_COMPILE_IFELSE([ + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #include void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); @@ -586,7 +621,7 @@ XIMCallback cb; cb.callback = im_destroy_cb; } - ],rxvt_cv_broken_ximcb=yes,rxvt_cv_broken_ximcb=no)]) + ]])],rxvt_cv_broken_ximcb=yes,rxvt_cv_broken_ximcb=no)]) if test x$rxvt_cv_broken_ximcb = xyes; then AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) @@ -624,7 +659,23 @@ dnl# -------------------------------------------------------------------------- dnl# now add and remove other stuff dnl# -------------------------------------------------------------------------- -if test x$support_xft = xyes; then +if test x$support_xft = xyes || test x$support_inheritpixmap = xyes; then + rxvt_have_xrender=no + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + if test $PKG_CONFIG != no && $PKG_CONFIG --exists xrender; then + X_LIBS="`$PKG_CONFIG xrender --libs` $X_LIBS" + CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xrender --cflags`" + rxvt_have_xrender=yes + + save_LIBS="$LIBS" + LIBS="$LIBS $X_LIBS" + AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no]) + AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no]) + LIBS="$save_LIBS" + fi +fi + +if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then X_LIBS="`$PKG_CONFIG xft --libs` $X_LIBS" @@ -637,10 +688,17 @@ fi fi + if test $PKG_CONFIG != no && $PKG_CONFIG --exists fontconfig; then + X_LIBS="`$PKG_CONFIG fontconfig --libs` $X_LIBS" + CPPFLAGS="$CPPFLAGS `$PKG_CONFIG fontconfig --cflags`" + fi + save_LIBS="$LIBS" LIBS="$LIBS $X_LIBS" AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) AC_CHECK_LIB(Xft,XftDrawString32,:,[support_xft=no]) + AC_CHECK_HEADERS(fontconfig/fontconfig.h,,[support_xft=no]) + AC_CHECK_LIB(fontconfig,FcPatternGet,:,[support_xft=no]) LIBS="$save_LIBS" if test x$support_xft = xyes; then @@ -660,8 +718,11 @@ AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost) fi if test x$support_inheritpixmap = xyes; then + if test x$rxvt_have_xrender = xyes; then + LIBS="$LIBS -lm" + AC_DEFINE(XRENDER, 1, Define to enable xrender support) + fi AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) - test x$support_xft = xyes && LIBS="$LIBS -lm" 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) @@ -794,7 +855,7 @@ fi echo echo " embedded perl: $support_perl" -echo " libafterimage: $support_afterimage" +echo " image library: $image_lib" echo if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then echo ".----------------------------------------------------------------."