diff --git a/configure.ac b/configure.ac index 3992d6a..cb7fed2 100644 --- a/configure.ac +++ b/configure.ac @@ -29,15 +29,26 @@ AC_ARG_ENABLE(simple-x11, # Software X11 EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes") +if test "x${have_software_x11}" = "xyes" ; then + have_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11` + if test "x${have_software_xlib}" = "xyes" ; then + AC_DEFINE(HAVE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support]) + fi + have_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11` + if test "x${have_software_xcb}" = "xyes" ; then + AC_DEFINE(HAVE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support]) + fi +fi + +AM_CONDITIONAL([BUILD_SOFTWARE_XLIB], [test "x${have_software_xlib}" = "xyes"]) +AM_CONDITIONAL([BUILD_SOFTWARE_XCB], [test "x${have_software_xcb}" = "xyes"]) + # XRender X11 EXPEDITE_CHECK_ENGINE([xrender-x11], [XRender X11], "yes") # OpenGL X11 EXPEDITE_CHECK_ENGINE([opengl-x11], [OpenGL X11], "yes") -# Software XCB -EXPEDITE_CHECK_ENGINE([software-xcb], [Software XCB], "yes") - # XRender XCB EXPEDITE_CHECK_ENGINE([xrender-xcb], [XRender XCB], "yes") @@ -120,11 +131,11 @@ PKG_CHECK_MODULES([EVAS], evas) # Xlib -if test "x$have_software_x11" = "xyes" -o "x$have_software_16_x11" = "xyes" -o "x$have_xrender_x11" = "xyes" -o "x$have_opengl_x11" = "xyes"; then +if test "x$have_software_xlib" = "xyes" -o "x$have_software_16_x11" = "xyes" -o "x$have_xrender_x11" = "xyes" -o "x$have_opengl_x11" = "xyes"; then AC_PATH_XTRA AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h], - [have_x11="yes"], - [have_x11="no"]) + [have_xlib="yes"], + [have_xlib="no"]) if test "x$want_evas_simple_x11" = "xyes"; then x_libs="${x_libs} -lX11 -lXext" else @@ -133,7 +144,7 @@ if test "x$have_software_x11" = "xyes" -o "x$have_software_16_x11" = "xyes" -o " x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext" fi fi -AM_CONDITIONAL(BUILD_X11, test "x$have_x11" = "xyes") +AM_CONDITIONAL(BUILD_X11, [test "x$have_xlib" = "xyes"]) AC_SUBST(x_cflags) AC_SUBST(x_libs) @@ -141,7 +152,7 @@ AC_SUBST(x_libs) # XCB if test "x$have_software_xcb" = "xyes"; then - PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [have_software_xcb="yes"], [have_software_xcb="no"]) + PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [have_xcb="yes"], [have_xcb="no"]) fi AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes") if test "x$have_xcb" = "xyes"; then @@ -213,10 +224,9 @@ echo echo " $PACKAGE $VERSION" echo echo " Engines:" -echo " Software X11.................: ${have_software_x11}" +echo " Software X11.................: ${have_software_xlib} (Xlib: ${have_software_xlib}) (XCB: ${have_software_xcb})" echo " X Render X11.................: ${have_xrender_x11}" echo " Open GL X11..................: ${have_opengl_x11}" -echo " Software XCB.................: ${have_software_xcb}" echo " X Render XCB.................: ${have_xrender_xcb}" echo " Software GDI.................: ${have_software_gdi}" echo " Software DirectDraw..........: ${have_software_ddraw}" diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 624a323..e2d21bc 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -81,9 +81,9 @@ expedite_CXXFLAGS = -fno-rtti -fno-exceptions expedite_LDADD = @EVAS_LIBS@ @SDL_LIBS@ @x_libs@ @gdi_libs@ @ddraw_libs@ @ddraw_16_libs@ @d3d_libs@ @wince_16_libs@ @glew_libs@ @DIRECTFB_LIBS@ @XCB_LIBS@ @EVIL_LIBS@ @quartz_libs@ -lm expedite_LDFLAGS = @lt_enable_auto_import@ -if BUILD_SOFTWARE_X11 +if BUILD_SOFTWARE_XLIB expedite_SOURCES += \ -engine_software_x11.c engine_software_x11.h +engine_software_xlib.c engine_software_xlib.h endif if BUILD_XRENDER_X11 diff --git a/src/bin/engine_software_x11.h b/src/bin/engine_software_x11.h deleted file mode 100644 index 7ea1e69..0000000 --- a/src/bin/engine_software_x11.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ENGINE_SOFTWARE_X11_H -#define ENGINE_SOFTWARE_X11_H - -int engine_software_x11_args(int argc, char **argv); -void engine_software_x11_loop(void); - -#endif diff --git a/src/bin/engine_software_x11.c b/src/bin/engine_software_xlib.c similarity index 95% rename from src/bin/engine_software_x11.c rename to src/bin/engine_software_xlib.c index e01bf54..1cc4555 100644 --- a/src/bin/engine_software_x11.c +++ b/src/bin/engine_software_xlib.c @@ -9,7 +9,7 @@ static Window win = 0; static int first_expose = 0; int -engine_software_x11_args(int argc, char **argv) +engine_software_xlib_args(int argc, char **argv) { XSetWindowAttributes attr; XClassHint chint; @@ -23,7 +23,7 @@ engine_software_x11_args(int argc, char **argv) if ((!strcmp(argv[i], "-e")) && (i < (argc - 1))) { i++; - if (!strcmp(argv[i], "x11")) ok = 1; + if (!strcmp(argv[i], "xlib")) ok = 1; } } if (!ok) return 0; @@ -35,7 +35,7 @@ engine_software_x11_args(int argc, char **argv) einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas); if (!einfo) { - printf("Evas does not support the Software X11 Engine\n"); + printf("Evas does not support the Software Xlib Engine\n"); return 0; } @@ -67,7 +67,7 @@ engine_software_x11_args(int argc, char **argv) einfo->info.drawable = win; if (!evas_engine_info_set(evas, (Evas_Engine_Info *) einfo)) { - printf("Evas can not setup the informations of the Software X11 Engine\n"); + printf("Evas can not setup the informations of the Software Xlib Engine\n"); return 0; } @@ -82,12 +82,12 @@ engine_software_x11_args(int argc, char **argv) XMapWindow(disp, win); XSync(disp, False); while (!first_expose) - engine_software_x11_loop(); + engine_software_xlib_loop(); return 1; } void -engine_software_x11_loop(void) +engine_software_xlib_loop(void) { XEvent ev; KeySym ks; diff --git a/src/bin/engine_software_xlib.h b/src/bin/engine_software_xlib.h new file mode 100644 index 0000000..7964ef7 --- /dev/null +++ b/src/bin/engine_software_xlib.h @@ -0,0 +1,7 @@ +#ifndef ENGINE_SOFTWARE_XLIB_H +#define ENGINE_SOFTWARE_XLIB_H + +int engine_software_xlib_args(int argc, char **argv); +void engine_software_xlib_loop(void); + +#endif diff --git a/src/bin/main.c b/src/bin/main.c index 4f158ac..58590ab 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -1199,9 +1199,9 @@ _engine_args(int argc, char **argv) /* FIXME: parse args for geometry, engine etc. */ profile_ok = _profile_parse(argc, argv); -#if HAVE_EVAS_SOFTWARE_X11 - if (engine_software_x11_args(argc, argv)) - loop_func = engine_software_x11_loop; +#if HAVE_EVAS_SOFTWARE_XLIB + if (engine_software_xlib_args(argc, argv)) + loop_func = engine_software_xlib_loop; #endif #if HAVE_EVAS_XRENDER_X11 if (engine_xrender_x11_args(argc, argv)) @@ -1278,8 +1278,8 @@ _engine_args(int argc, char **argv) "\n" "Where ENGINE can be one of:\n" " " -#if HAVE_EVAS_SOFTWARE_X11 - " x11" +#if HAVE_EVAS_SOFTWARE_XLIB + " xlib" #endif #if HAVE_EVAS_XRENDER_X11 " xr" diff --git a/src/bin/main.h b/src/bin/main.h index f3b7a07..60d3579 100644 --- a/src/bin/main.h +++ b/src/bin/main.h @@ -21,8 +21,8 @@ #endif #include -#if HAVE_EVAS_SOFTWARE_X11 -#include "engine_software_x11.h" +#if HAVE_EVAS_SOFTWARE_XLIB +#include "engine_software_xlib.h" #endif #if HAVE_EVAS_XRENDER_X11 #include "engine_xrender_x11.h" @@ -33,7 +33,7 @@ #if HAVE_EVAS_SOFTWARE_XCB #include "engine_software_xcb.h" #endif -#if HAVE_EVAS_XRENDER_X11 +#if HAVE_EVAS_XRENDER_XCB #include "engine_xrender_xcb.h" #endif #if HAVE_EVAS_SOFTWARE_GDI