Enlightenment CVS committal Author : doursse Project : e17 Module : libs/ecore
Dir : e17/libs/ecore Modified Files: configure.in Log Message: Here is ecore_x with XCB backend. * The XCB backend is disabled by default during the configuration. To enable it, add --enable-ecore-x-xcb. See the messages that configure displays when it finishes. * The way XCB is detected, and used in src/lib/ecore_x/Makefile.am should be improved * Any program that uses ecore_evas does not need to be modified. Any program that uses ecore_x may need some changes. That is, adding some functions (_prefetch and _fetch ones). No other change is needed. See the documention of any _get functions, as these are the ones that need those functions. * There are some missing parts, especially everything that involves the keyboard, as porting Xlib functions related to strings (utf8 stuff, XKeysymToString, etc...) is an horror. So keyboard events are not working yet. * I tried to write as much documentation as I could. But there is certainly some missing doc here and there. there are certainly other things that I have forgotten. Improvements of that backend: * the creation of an ecore_evas is faster. Especially when done over an ssh connection (on my computer, 7-10s with Xlib, 1.5s with XCB, over an ssh) * A Window Manager should be more responsive. But it's not tomorrow that e17 will use it :) Have fun ! =================================================================== RCS file: /cvs/e/e17/libs/ecore/configure.in,v retrieving revision 1.191 retrieving revision 1.192 diff -u -3 -r1.191 -r1.192 --- configure.in 4 Apr 2007 12:28:16 -0000 1.191 +++ configure.in 13 Apr 2007 17:15:19 -0000 1.192 @@ -142,11 +142,92 @@ ECORE_CHECK_MODULE([Txt], [yes], [$have_iconv], [ecore_txt_libs="$ecore_txt_libs $iconv_libs"]) +dnl Check for XCB +have_ecore_x="no" +have_ecore_x_xcb="no" + +AC_ARG_ENABLE(ecore-x-xcb, + AC_HELP_STRING( + [--enable-ecore-x-xcb], + [enable the ecore_x module with XCB backend. [[default=disabled]]]), + [ want_ecore_x_xcb=$enableval ], + [ want_ecore_x_xcb="no" ]) + +AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built) +AC_MSG_RESULT($want_ecore_x_xcb) + +if test "x$want_ecore_x_xcb" = "xyes" ; then + PKG_CHECK_MODULES(XCB, xcb xcb-icccm xcb-image xcb-keysyms, + [ have_ecore_x_xcb="yes" ], + [ have_ecore_x_xcb="no" ]) + + if test "x$have_ecore_x_xcb" = "xyes" ; then + PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage, + [ have_ecore_x_xcb_damage="yes" + AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ], + [ have_ecore_x_xcb_damage="no" ]) + + PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms, + [ have_ecore_x_xcb_dpms="yes" + AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ], + [ have_ecore_x_xcb_dpms="no" ]) + + PKG_CHECK_MODULES(XCB_RANDR, xcb-randr, + [ have_ecore_x_xcb_randr="yes" + AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ], + [ have_ecore_x_xcb_randr="no" ]) + + PKG_CHECK_MODULES(XCB_RENDER, xcb-render, + [ have_ecore_x_xcb_render="yes" + AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ], + [ have_ecore_x_xcb_render="no" ]) + + PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver, + [ have_ecore_x_xcb_screensaver="yes" + AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ], + [ have_ecore_x_xcb_screensaver="no" ]) + + PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape, + [ have_ecore_x_xcb_shape="yes" + AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ], + [ have_ecore_x_xcb_shape="no" ]) + + PKG_CHECK_MODULES(XCB_SYNC, xcb-sync, + [ have_ecore_x_xcb_sync="yes" + AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ], + [ have_ecore_x_xcb_sync="no" ]) + + PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes, + [ have_ecore_x_xcb_xfixes="yes" + AC_DEFINE(ECORE_XCB_FIXES, 1, [Build support for XCB xfixes]) ], + [ have_ecore_x_xcb_xfixes="no" ]) + + PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama, + [ have_ecore_x_xcb_xinerama="yes" + AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ], + [ have_ecore_x_xcb_xinerama="no" ]) + + PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint, + [ have_ecore_x_xcb_xprint="yes" + AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ], + [ have_ecore_x_xcb_xprint="no" ]) + + AC_DEFINE(BUILD_ECORE_X, 1, [Build Ecore_X Module (XCB backend)]) + AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB backend is enabled.]) + + requirements_ecore_evas="$requirements_ecore_evas ecore-x" + have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB" + have_ecore_x="yes" + AC_SUBST(have_ecore_x_xcb_define) + fi +fi + have_x="no" x_dir=""; x_includes=""; x_cflags=""; x_libs=""; +if test "x$have_ecore_x_xcb" != "xyes" ; then AC_PATH_XTRA AC_CHECK_HEADER(X11/X.h, [ @@ -214,6 +295,8 @@ requirements_ecore_evas="$requirements_ecore_evas ecore-x" fi +fi + ECORE_CHECK_MODULE([Job], [yes]) PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16, @@ -630,6 +713,8 @@ AC_SUBST(requirements_ecore_x) # set up conditionals +AM_CONDITIONAL(BUILD_ECORE_X, test "x$have_ecore_x" = "xyes") +AM_CONDITIONAL(BUILD_ECORE_X_XCB, test "x$have_ecore_x_xcb" = "xyes") AM_CONDITIONAL(BUILD_ECORE_EVAS_GL, test $have_ecore_evas_gl = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_XRENDER, test $have_ecore_evas_xrender = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_DIRECTFB, test $have_ecore_evas_dfb = yes) @@ -683,7 +768,11 @@ echo " Ecore_Job....................: $have_ecore_job" echo " Ecore_Con....................: $have_ecore_con (OpenSSL: $use_openssl)" echo " Ecore_Txt....................: $have_ecore_txt" -echo " Ecore_X......................: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms)" +if test "x$have_ecore_x_xcb" = "xyes" ; then +echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms)" +else + echo " Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms)" +fi echo " Ecore_FB.....................: $have_ecore_fb" echo " Ecore_DFB....................: $have_ecore_directfb" echo " Ecore_Evas...................: $have_ecore_evas" ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs