--- rxvt-unicode/configure.ac 2011/01/05 17:36:18 1.127 +++ rxvt-unicode/configure.ac 2015/06/16 12:00:07 1.154 @@ -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 @@ -26,7 +26,6 @@ dnl# Checks for programs. AC_PROG_CC AC_PROG_CXX -AC_PROG_CPP AC_PROG_INSTALL AC_AIX @@ -34,6 +33,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 +42,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 +68,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) @@ -96,7 +89,7 @@ support_scroll_xterm=yes support_xim=yes support_pixbuf=yes -support_afterimage=yes +support_startup_notification=yes support_xft=yes support_unicode3=no support_combining=yes @@ -132,7 +125,7 @@ support_wtmp=no support_xim=no support_pixbuf=no - support_afterimage=no + support_startup_notification=no support_xft=no support_unicode3=no support_combining=no @@ -160,7 +153,7 @@ support_wtmp=yes support_xim=yes support_pixbuf=yes - support_afterimage=yes + support_startup_notification=yes support_xft=yes support_unicode3=yes support_combining=yes @@ -172,26 +165,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" @@ -232,24 +225,18 @@ support_styles=$enableval fi]) -AC_ARG_ENABLE(afterimage, - [ --enable-afterimage enable integration with libAfterImage for background images], - [if test x$enableval = xyes -o x$enableval = xno; then - 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]) - 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], [if test x$enableval = xyes -o x$enableval = xno; then @@ -308,10 +295,11 @@ AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key) fi]) +support_resources=yes AC_ARG_ENABLE(resources, [ --disable-resources disable all resource checking], [if test x$enableval = xno; then - AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) + support_resources=no fi]) AC_ARG_ENABLE(8bitctrls, @@ -425,6 +413,14 @@ AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" fi]) +if test x$support_resources = xno; then + if test x$support_frills = xyes || test x$support_perl = xyes; then + AC_MSG_ERROR([--disable-resources requires --disable-frills --disable-perl]) + fi + + AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) +fi + dnl# -------------------------------------------------------------------------- LIBEV_M4_AVOID_LIBRT=1 @@ -436,75 +432,42 @@ AC_PATH_XTRA +AC_PATH_TOOL(PKG_CONFIG, pkg-config, no) + 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) + RXVT_CHECK_MODULES([PIXBUF], [gdk-pixbuf-2.0], [ 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) -AFTERIMAGE_CFLAGS= -AFTERIMAGE_LIBS= -AFTERIMAGE_VERSION= - -if test x$support_afterimage = xyes; then - support_afterimage=no +STARTUP_NOTIFICATION_CFLAGS= +STARTUP_NOTIFICATION_LIBS= - 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) - 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) - fi - fi +if test x$support_startup_notification = xyes; then + RXVT_CHECK_MODULES([STARTUP_NOTIFICATION], [libstartup-notification-1.0], [ + AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported) + ], [:]) fi -AC_SUBST(AFTERIMAGE_CFLAGS) -AC_SUBST(AFTERIMAGE_LIBS) +AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) +AC_SUBST(STARTUP_NOTIFICATION_LIBS) + +if test x$support_frills = xyes; then + RXVT_CHECK_MODULES([XMU], [xmu], [ + X_LIBS="$XMU_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XMU_CFLAGS" + AC_DEFINE(HAVE_XMU, 1, Define to enable Xmu support) + ], [:]) +fi dnl# -------------------------------------------------------------------------- dnl# CHECKING FOR HEADER FILES @@ -516,7 +479,6 @@ sys/strredir.h \ stdint.h \ wchar.h \ - cwchar \ ) AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_cv_xlib_illegal_access, @@ -560,21 +522,22 @@ dnl# this is a really hack test for some basic Xlocale stuff save_LIBS=$LIBS -save_CFLAGS=$CFLAGS -CFLAGS="$CFLAGS $X_CFLAGS" +save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="$CXXFLAGS $X_CFLAGS" 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, @@ -602,13 +565,7 @@ AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) fi 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])]) -if test x$rxvt_cv_func_setlocale = xyes; then - AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) -fi +CXXFLAGS=$save_CXXFLAGS AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) @@ -625,12 +582,15 @@ dnl# -------------------------------------------------------------------------- dnl# now add and remove other stuff dnl# -------------------------------------------------------------------------- -if test x$support_xft = xyes || test x$support_inheritpixmap = xyes; then +support_image=no +if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then + support_image=yes +fi +if test x$support_xft = xyes || test x$support_image = 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_CHECK_MODULES([XRENDER], [xrender], [ + X_LIBS="$XRENDER_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS" rxvt_have_xrender=yes save_LIBS="$LIBS" @@ -638,39 +598,53 @@ 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" - CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" - else + RXVT_CHECK_MODULES([XFT], [fontconfig xft], [ + X_LIBS="$XFT_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" + ], [ AC_PATH_PROG(XFT_CONFIG, xft-config, no) if test $XFT_CONFIG != no; then X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" 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]) + AC_CHECK_HEADERS(X11/Xft/Xft.h fontconfig/fontconfig.h,,[support_xft=no]) + AC_CHECK_FUNCS(XftDrawString32 FcPatternGet,,[support_xft=no]) LIBS="$save_LIBS" if test x$support_xft = xyes; then AC_DEFINE(XFT, 1, Define to enable xft support) fi fi + +if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then + AC_MSG_CHECKING(for Render >= 0.11) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#if RENDER_MAJOR == 0 && RENDER_MINOR <= 10 +error +#endif +]])],[],[support_image=no]) + if test x$support_image = xyes; then + AC_MSG_RESULT(ok) + LIBS="$LIBS -lm" + AC_DEFINE(XRENDER, 1, Define to enable xrender support) + + if test x$support_inheritpixmap = xyes; then + AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) + fi + else + AC_MSG_RESULT(no) + fi +fi + if test x$support_styles = xyes; then AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support) fi @@ -683,13 +657,6 @@ 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_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 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed) fi @@ -750,8 +717,7 @@ IF_PERL=\# if test x$support_perl = xyes; then - AC_PATH_PROG(PERL, perl5) - AC_PATH_PROG(PERL, perl) + AC_PATH_PROG(PERL, perl5, perl) AC_MSG_CHECKING(for $PERL suitability) if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then