--- rxvt-unicode/configure.ac 2010/08/30 18:14:38 1.114 +++ rxvt-unicode/configure.ac 2012/01/19 11:08:19 1.137 @@ -11,8 +11,8 @@ dnl RXVT version changequote(, )dnl -VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` -DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` +VERSION=`sed -n -e 's/^.* VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` +DATE=`sed -n -e 's/^.* DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` changequote([, ])dnl AC_SUBST(VERSION)dnl AC_SUBST(DATE)dnl @@ -34,6 +34,7 @@ AC_ISC_POSIX AC_LANG(C++) +LINKER="$CXX" dnl check whether we can link with gcc -lsupc++ if test x$GCC = xyes && test x$GXX = xyes; then dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it @@ -42,14 +43,13 @@ save_LIBS="$LIBS" CXX="$CC" LIBS="$LIBS -lsupc++" - LINKER="$CC" AC_LINK_IFELSE( [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], - [AC_MSG_RESULT(ok)], + [AC_MSG_RESULT(ok) + LINKER="$CC"], [ AC_MSG_RESULT([no, making everything bigger and slower]) LIBS="$save_LIBS" - LINKER="$save_CXX" ] ) CXX="$save_CXX" @@ -69,12 +69,6 @@ CFLAGS="$CXXFLAGS" fi -case $host in - *-*-solaris* ) - AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris) - ;; -esac - dnl# FreeBSD needs to link libxpg4 AC_SEARCH_LIBS(setlocale, xpg4) @@ -95,8 +89,8 @@ support_scroll_next=yes support_scroll_xterm=yes support_xim=yes -support_afterimage=yes -support_afterstep=yes +support_pixbuf=yes +support_startup_notification=yes support_xft=yes support_unicode3=no support_combining=yes @@ -131,8 +125,8 @@ support_utmp=no support_wtmp=no support_xim=no - support_afterimage=no - support_afterstep=no + support_pixbuf=no + support_startup_notification=no support_xft=no support_unicode3=no support_combining=no @@ -159,8 +153,8 @@ support_utmp=yes support_wtmp=yes support_xim=yes - support_afterimage=yes - support_afterstep=yes + support_pixbuf=yes + support_startup_notification=yes support_xft=yes support_unicode3=yes support_combining=yes @@ -172,26 +166,26 @@ fi ]) -ASSERTIONS=no +support_assertions=no AC_ARG_ENABLE(assert, [ --enable-assert enable assertions], [if test x$enableval = xyes; then - ASSERTIONS=yes + support_assertions=yes fi]) -if test x$ASSERTIONS = xno; then +if test x$support_assertions = xno; then AC_DEFINE(NDEBUG, 1, Disable assertions (good for debugging)) fi -WARNINGS=no +support_warnings=no AC_ARG_ENABLE(warnings, [ --enable-warnings turn on g++ warnings], [if test x$enableval = xyes; then - WARNINGS=yes + support_warnings=yes fi]) if test x$GXX = xyes; then - if test $WARNINGS = yes; then + if test $support_warnings = yes; then save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-non-virtual-dtor" + CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-unused-value" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"]) else CXXFLAGS="$CXXFLAGS -w" @@ -233,7 +227,7 @@ fi]) AC_ARG_ENABLE(afterimage, - [ --enable-afterimage enable integration with libAfterImage for background images], + [ --enable-afterimage enable integration with libAfterImage for background images (deprecated)], [if test x$enableval = xyes -o x$enableval = xno; then support_afterimage=$enableval fi]) @@ -244,11 +238,17 @@ 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(pixbuf, + [ --enable-pixbuf enable integration with gdk-pixbuf for background images], + [if test x$enableval = xyes -o x$enableval = xno; then + 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], @@ -436,9 +436,61 @@ AC_PATH_XTRA +image_lib=none + +PIXBUF_CFLAGS= +PIXBUF_LIBS= + +if test x$support_pixbuf = xyes; then + 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-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.) + else + AC_MSG_RESULT(no) + fi +fi + +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= if test x$support_afterimage = xyes; then support_afterimage=no @@ -448,27 +500,27 @@ 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 .` + AFTERIMAGE_VERSION=`$afterimage_config --version` + if test -n "$AFTERIMAGE_VERSION" ; then + AFTERIMAGE_CFLAGS=`$afterimage_config --cflags` + AFTERIMAGE_LIBS=`$afterimage_config --libs` + if test "x$AFTERIMAGE_LIBS" != "x"; then + libai_ver_major=`echo $AFTERIMAGE_VERSION | cut -f 1 -d .` + libai_ver_minor=`echo $AFTERIMAGE_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) + 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 AC_MSG_RESULT(no) + AFTERIMAGE_CFLAGS= + AFTERIMAGE_LIBS= fi fi fi @@ -489,12 +541,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([ @@ -541,20 +587,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); @@ -563,7 +610,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.) @@ -601,7 +648,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" @@ -614,10 +677,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 @@ -637,6 +707,10 @@ 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) fi if test x$support_keepscrolling = xno; then @@ -655,10 +729,6 @@ AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) 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 - scrolltypes=plain AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars) @@ -675,7 +745,7 @@ scrolltypes="$scrolltypes xterm" fi if test x$support_pointer_blank = xyes; then - AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing) + AC_DEFINE(POINTER_BLANK, 1, Define if you want to hide the pointer while typing) fi if test x$support_text_blink = xyes; then AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support) @@ -774,8 +844,7 @@ fi echo echo " embedded perl: $support_perl" -echo " libafterimage: $support_afterimage" -dnl echo " AfterStep integration: $support_afterstep" +echo " image library: $image_lib" echo if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then echo ".----------------------------------------------------------------."