When using the _XCB engines in Evas, there seems to be an issue with the detection in Ecore that causes errors. Here's what I did to reproduce the steps.
I first tried to compile Evas with the following engines enabled. ---------------------------------------- Engines: Software X11............: yes Software XCB............: yes Software Framebuffer....: no Software Qtopia.........: no Software Memory Buffer..: yes DirectFB................: no OpenGL X11..............: yes Cairo X11...............: no XRender X11.............: yes XRender Xcb.............: yes Glitz X11...............: no ---------------------------------------- The XRender XCB engine fails to compile. I disabled the XRender_XCB engine and everything compiles in Evas. Then I get to Ecore. Ecore is compiled with the following options enabled. ---------------------------------------- Ecore_Job....................: yes Ecore_Con....................: yes (OpenSSL: yes) Ecore_Txt....................: yes Ecore_X (XCB backend)........: yes (Xprint: yes) (Xinerama: yes) (Xrandr: yes) (Xscreensaver: yes) (Xshape: yes) (Xsync: yes) (Xrender: yes) (Xfixes: yes) (Xdamage: yes) (Xdpms: yes) Ecore_FB.....................: no Ecore_DFB....................: no Ecore_Evas...................: yes Ecore_Evas GL Support........: yes Ecore_Evas XRender Support...: yes Ecore_Evas FB Support........: no Ecore_Evas DFB Support.......: no Ecore_Evas Buffer Support....: yes Ecore_Ipc....................: yes (OpenSSL: yes) Ecore_Config.................: yes Ecore_DBUS...................: yes Ecore_Desktop................: yes Ecore_File...................: yes (Inotify: yes) (Poll: yes) (CURL: yes) ---------------------------------------- Even though I have the XRender_XCB engine disabled in Evas, Ecore seems to think it is still there. ---------------------------------------- Making all in ecore_evas make[4]: Entering directory `/home/presutti/Code/e17/e17/libs/ecore/src/lib/ecore_evas' /bin/sh ../../../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib/ecore -I../../../src/lib/ecore_evas -I../../../src/lib/ecore -I../../../src/lib/ecore_evas -I../../../src/lib/ecore_x -g -O2 -Wall -MT ecore_evas.lo -MD -MP -MF .deps/ecore_evas.Tpo -c -o ecore_evas.lo ecore_evas.c mkdir .libs i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib/ecore -I../../../src/lib/ecore_evas -I../../../src/lib/ecore -I../../../src/lib/ecore_evas -I../../../src/lib/ecore_x -g -O2 -Wall -MT ecore_evas.lo -MD -MP -MF .deps/ecore_evas.Tpo -c ecore_evas.c -fPIC -DPIC -o .libs/ecore_evas.o In file included from ecore_evas.c:4: ecore_evas_private.h:34:40: error: Evas_Engine_XRender_Xcb.h: No such file or directory ecore_evas_private.h:127:2: warning: #warning [XCB] No Region code make[4]: *** [ecore_evas.lo] Error 1 make[4]: Leaving directory `/home/presutti/Code/e17/e17/libs/ecore/src/lib/ecore_evas' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/presutti/Code/e17/e17/libs/ecore/src/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/presutti/Code/e17/e17/libs/ecore/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/presutti/Code/e17/e17/libs/ecore' make: *** [all] Error 2 ---------------------------------------- Doing some code investigation, it appears to me as though Evas selects the XRender_X11 or XRender_XCB engine based on whether or not XCB support is enabled in Evas. ---------------------------------------- File : src/lib/ecore_evas/ecore_evas_private.h ---------------------------------------- 25 #ifdef BUILD_ECORE_X 26 # include "Ecore_X.h" 27 # ifdef HAVE_ECORE_X_XCB 28 # include <Evas_Engine_Software_Xcb.h> 29 # include <xcb/xcb.h> 30 # ifdef ECORE_XCB_RENDER 31 # include <xcb/render.h> 32 # endif 33 # ifdef BUILD_ECORE_EVAS_XRENDER 34 # include <Evas_Engine_XRender_Xcb.h> 35 # endif 36 # else 37 # include <Evas_Engine_Software_X11.h> 38 # include <X11/Xlib.h> 39 # include <X11/Xutil.h> 40 # ifdef ECORE_XRENDER 41 # include <X11/extensions/Xrender.h> 42 # endif 43 # ifdef BUILD_ECORE_EVAS_GL 44 # include <Evas_Engine_GL_X11.h> 45 # endif 46 # ifdef BUILD_ECORE_EVAS_XRENDER 47 # include <Evas_Engine_XRender_X11.h> 48 # endif 49 # endif /* HAVE_ECORE_X_XCB */ 50 #endif ---------------------------------------- Is this the correct behavior? If I enable XRender and XCB, do I have to have the XRender_XCB engine built in Evas? If that's the case, any idea when the XRender_XCB will compile again in Evas? :-) Thanks, Ed Presutti (ekrunch on freenode) -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
