efl: share more of x11/xlib/xcb in ecore, ecore-evas and evas.

SVN revision: 80499
This commit is contained in:
Gustavo Sverzut Barbieri 2012-12-07 20:23:45 +00:00
parent cc2e0f63d4
commit ddba28a921
1 changed files with 52 additions and 94 deletions

View File

@ -1072,8 +1072,21 @@ AC_ARG_WITH([x11],
[AC_HELP_STRING([--with-x11=xlib|xcb|none],
[X11 method to use: xlib, xcb or none])])
want_x11_xlib="no"
want_x11_xcb="no"
want_x11_none="no"
want_x11_any="no"
case "${with_x11}" in
xlib|xcb|none)
xlib)
want_x11_xlib="yes"
want_x11_any="yes"
;;
xcb)
want_x11_xcb="yes"
want_x11_any="yes"
;;
none)
want_x11_none="yes"
;;
*)
AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
@ -1099,6 +1112,14 @@ case "${with_opengl}" in
;;
esac
want_x11_xlib_opengl="no"
want_x11_xcb_opengl="no"
if test "${with_opengl}" != "none"; then
want_x11_xlib_opengl="${want_x11_xlib}"
want_x11_xcb_opengl="${want_x11_xcb}"
want_x11_any_opengl="${want_x11_any}"
fi
# Wayland
AC_ARG_ENABLE([wayland],
[AC_HELP_STRING([--enable-wayland],
@ -1307,7 +1328,7 @@ AC_ARG_ENABLE([image-loader-gif],
[want_evas_image_loader_gif="yes"])
AC_ARG_ENABLE([image-loader-svg],
[AC_HELP_STRING([--enable-image-loader-svg], [enable SVG image loader. @<:@default=enabled@:>@])],
[AC_HELP_STRING([--enable-image-loader-svg], [enable SVG image loader. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_svg="yes"
@ -1319,7 +1340,7 @@ AC_ARG_ENABLE([image-loader-svg],
fi
fi
],
[want_evas_image_loader_svg="yes"])
[want_evas_image_loader_svg="no"])
AC_ARG_ENABLE([image-loader-tiff],
[AC_HELP_STRING([--enable-image-loader-tiff], [enable Tiff image loader. @<:@default=enabled@:>@])],
@ -1337,7 +1358,7 @@ AC_ARG_ENABLE([image-loader-tiff],
[want_evas_image_loader_tiff="yes"])
AC_ARG_ENABLE([image-loader-webp],
[AC_HELP_STRING([--enable-image-loader-webp], [enable WEBP image loader. @<:@default=enabled@:>@])],
[AC_HELP_STRING([--enable-image-loader-webp], [enable WEBP image loader. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_webp="yes"
@ -1349,18 +1370,14 @@ AC_ARG_ENABLE([image-loader-webp],
fi
fi
],
[want_evas_image_loader_webp="yes"])
[want_evas_image_loader_webp="no"])
### Default values
want_evas_cserve2="yes"
want_evas_engine_software_xlib="no"
want_evas_engine_software_xcb="no"
want_evas_engine_software_gdi="no"
want_evas_engine_software_ddraw="no"
want_evas_engine_gl_xlib="no"
want_evas_engine_gl_xcb="no"
want_evas_engine_gl_cocoa="no"
want_evas_engine_wayland_egl="no"
@ -1393,24 +1410,17 @@ case "$host_os" in
want_evas_engine_software_ddraw="yes"
;;
darwin*)
want_evas_engine_software_xlib="auto"
want_evas_engine_gl_cocoa="auto"
;;
*)
want_evas_engine_software_xlib="auto"
want_evas_engine_gl_xlib="auto"
want_evas_engine_software_xcb="no"
want_evas_engine_gl_xcb="no"
;;
esac
EFL_CHECK_FUNC([DLSYM], [dlsym])
requirements_libs_evas="${requirements_libs_evas} ${DLSYM_LIBS}"
if test "x${efl_func_dlsym}" = "xno" ; then
want_evas_engine_gl_xlib="no"
want_evas_engine_gl_xcb="no"
want_gl_sdl="no"
if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
AC_MSG_ERROR([OpenGL cannot work without dlsym()])
fi
### Checks for programs
@ -1501,7 +1511,7 @@ EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayla
have_evas_engine_software_xcb="no"
if test "${with_x11}" = "xcb" ; then
EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
else
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
@ -1513,8 +1523,8 @@ AC_MSG_RESULT([${have_evas_engine_software_xcb}])
# No Software XCB ? Then try Software Xlib
have_evas_engine_software_xlib="no"
if test "x${have_evas_engine_software_xcb}" = "xno" ; then
EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [no], [Software Xlib])
if test "x${want_x11_xcb}" = "xno" ; then
EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
else
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [false])
@ -1555,8 +1565,8 @@ fi
# OpenGL XCB
have_evas_engine_gl_xcb="no"
if test "${want_x11}" = "xcb" && test "${want_opengl}" != "none" ; then
EVAS_CHECK_ENGINE([gl-xcb], [${want_evas_engine_gl_xcb}], [no], [OpenGL XCB])
if test "${want_x11_xcb_opengl}" = "yes"; then
EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
else
AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
@ -1569,7 +1579,7 @@ AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
have_evas_engine_gl_xlib="no"
if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
EVAS_CHECK_ENGINE([gl-xlib], [${want_evas_engine_gl_xlib}], [no], [OpenGL XLib])
EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
else
AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
@ -2606,23 +2616,6 @@ AC_MSG_NOTICE([Ecore_X checks])
### Additional options to configure
# FIXME: recycle that with evas
case "${with_x11}" in
xlib)
have_ecore_x_xlib="yes"
;;
xcb)
have_ecore_x_xcb="yes"
;;
none)
have_ecore_x_xcb="no"
have_ecore_x_xlib="no"
;;
*)
AC_MSG_ERROR([Unknown x11 backend --with-x11=${with_x11}])
;;
esac
AC_ARG_ENABLE(ecore-x-composite,
[AC_HELP_STRING([--disable-ecore-x-composite],
[disable the ecore_x support for Xcomposite extension. @<:@default=detect@:>@])],
@ -2732,7 +2725,6 @@ AC_ARG_ENABLE([xim],
### Default values
have_ecore_x="no"
use_Xcursor="no"
### Checks for programs
@ -2744,7 +2736,7 @@ use_Xcursor="no"
requirements_pc_ecore_x="ecore-input >= ${PACKAGE_VERSION} ecore >= ${PACKAGE_VERSION} eina >= ${PACKAGE_VERSION} ${requirements_pc_ecore_x}"
## Xlib
if test "x${have_ecore_x_xlib}" = "xyes" ; then
if test "x${want_x11_xlib}" = "xyes" ; then
AC_PATH_XTRA
fi
@ -2792,15 +2784,7 @@ int h = MAXHOSTNAMELEN;
fi
## Xlib
if test "x${have_ecore_x_xlib}" = "xyes" ; then
AC_CHECK_HEADERS([X11/X.h],
[
x_dir=${x_dir:-/usr/X11R6}
x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
have_ecore_x_xlib="yes"
])
if test "x${want_x11_xlib}" = "xyes" ; then
if test "x$want_ecore_x_cursor" = "xyes"; then
CFLAGS_save="${CFLAGS}"
CFLAGS="$x_cflags $x_includes"
@ -2813,7 +2797,7 @@ if test "x${have_ecore_x_xlib}" = "xyes" ; then
fi
## XCB
if test "x${have_ecore_x_xcb}" = "xyes" ; then
if test "x${want_x11_xcb}" = "xyes" ; then
KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
for i in $FILES; do
@ -2839,17 +2823,7 @@ fi
### Checks for library functions
## Xlib
if test "x${have_ecore_x_xlib}" = "xyes" ; then
AC_CHECK_LIB([X11], [XCreateImage], [have_ecore_x_xlib="yes"], [have_ecore_x_xlib="no"])
fi
if test "x${have_ecore_x_xlib}" = "xyes" ; then
AC_CHECK_LIB([Xext], [XShmCreateImage], [have_ecore_x_xlib="yes"], [have_ecore_x_xlib="no"])
have_ecore_x="yes"
fi
if test "x${have_ecore_x_xlib}" = "xyes" && test "x$want_ecore_x_cursor" = "xyes" ; then
if test "x${want_x11_xlib}" = "xyes" && test "x$want_ecore_x_cursor" = "xyes" ; then
AC_CHECK_LIB([Xcursor],
[XcursorImageLoadCursor],
[
@ -2863,7 +2837,7 @@ if test "x${have_ecore_x_xlib}" = "xyes" && test "x$want_ecore_x_cursor" = "xyes
ECORE_X_LIBS="${ECORE_X_LIBS} ${Xcursor_libs}"
fi
if test "x${have_ecore_x_xlib}" = "xyes" ; then
if test "x${want_x11_xlib}" = "xyes" ; then
ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat], [$want_ecore_x_xkb])
ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension], [$want_ecore_x_composite])
ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract], [$want_ecore_x_damage])
@ -2887,19 +2861,14 @@ fi
## XCB
if test "x${have_ecore_x_xcb}" = "xyes" ; then
if test "x${want_x11_xcb}" = "xyes" ; then
PKG_CHECK_EXISTS([x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8],
[
have_ecore_x_xcb="yes"
have_ecore_x="yes"
requirements_pc_ecore_x="${requirements_pc_ecore_x} x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"
requirements_pc_deps_ecore_x="${requirements_pc_deps_ecore_x} x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"
],
[AC_MSG_ERROR([Ecore_X with XCB backend enabled but XCB not available. Exiting...])])
fi
if test "x${have_ecore_x_xcb}" = "xyes" ; then
if test "x${have_pixman}" = "xyes" ; then
requirements_pc_ecore_x="${requirements_pc_ecore_x} pixman-1"
requirements_pc_deps_ecore_x="${requirements_pc_deps_ecore_x} pixman-1"
@ -3145,9 +3114,9 @@ requirements_libs_ecore_x="${requirements_libs_ecore_x} ${ECORE_X_LIBS}"
AC_SUBST([ECORE_X_CFLAGS])
AC_SUBST([ECORE_X_LIBS])
AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "x${have_ecore_x_xlib}" = "xyes"])
AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "x${have_ecore_x_xcb}" = "xyes"])
AM_CONDITIONAL([HAVE_ECORE_X], [test "x${have_ecore_x}" = "xyes"])
AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
AM_CONDITIONAL([HAVE_ECORE_X], [test "${want_x11_any}" = "yes"])
#### End of Ecore_X
@ -3271,9 +3240,6 @@ AC_MSG_NOTICE([Ecore_Evas checks])
have_ecore_evas="yes"
have_extn="yes"
want_ecore_evas_software_x11="no"
want_ecore_evas_opengl_x11="no"
want_ecore_evas_software_xcb="no"
want_ecore_evas_software_gdi="no"
want_ecore_evas_software_ddraw="no"
want_ecore_evas_gl_cocoa="no"
@ -3293,9 +3259,6 @@ case "$host_os" in
want_ecore_evas_gl_cocoa="yes"
;;
*)
want_ecore_evas_software_x11="yes"
want_ecore_evas_opengl_x11="yes"
want_ecore_evas_software_xcb="no"
want_ecore_evas_gl_cocoa="no"
;;
esac
@ -3376,7 +3339,7 @@ fi
# XXX TODO: ecore_evas_x11
ECORE_EVAS_MODULE([software-x11], [${want_ecore_evas_software_x11}])
ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
have_ecore_evas_software_xlib="no"
have_ecore_evas_software_xcb="no"
@ -3385,14 +3348,14 @@ if test "x$have_ecore_evas_software_x11" = "xyes" ; then
if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
have_ecore_evas_software_xlib="yes"
fi
if test "x${have_ecore_evas_software_xlib}" = "xyes" && test "x${have_ecore_x_xlib}" = "xyes" ; then
if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
fi
have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
have_ecore_evas_software_xcb="yes"
fi
if test "x$have_ecore_evas_software_xcb" = "xyes" && test "x${have_ecore_x_xcb}" = "xyes" ; then
if test "x$have_ecore_evas_software_xcb" = "xyes"; then
AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
fi
fi
@ -3401,9 +3364,9 @@ fi
ECORE_EVAS_CHECK_MODULE_FULL([opengl-x11],
[${have_evas_engine_gl_x11}],
[${want_ecore_evas_opengl_x11}],
[${want_x11_any_opengl}],
[OpenGL Xlib],
[${have_ecore_x}])
[${want_x11_any}])
have_ecore_evas_opengl_xlib="no"
have_ecore_evas_opengl_xcb="no"
@ -3418,7 +3381,7 @@ if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_op
if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
have_ecore_evas_opengl_xcb="yes"
fi
if test "x${have_ecore_evas_opengl_xcb}" = "xyes" && test "x${have_ecore_x_xcb}" = "xyes" ; then
if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
PKG_CHECK_MODULES([XCB_X11],
[x11-xcb],
[
@ -3798,9 +3761,8 @@ echo
echo "Ecore Graphic systems:"
echo
if test "x$have_ecore_x" = "xyes" ; then
if test "x$have_ecore_x_xcb" = "xyes" ; then
echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb"
echo " Ecore_X......................: ${with_x11}"
if test "${want_x11_xcb}" = "yes" ; then
echo " Xprint.....................: $have_ecore_x_xcb_xprint"
echo " Xinerama...................: $have_ecore_x_xcb_xinerama"
echo " Xrandr.....................: $have_ecore_x_xcb_randr"
@ -3814,8 +3776,7 @@ if test "x$have_ecore_x" = "xyes" ; then
echo " Xdamage....................: $have_ecore_x_xcb_damage"
echo " Xdpms......................: $have_ecore_x_xcb_dpms"
echo " Xtest......................: $have_ecore_x_xcb_xtest"
else
echo " Ecore_X (Xlib backend).......: $have_ecore_x"
elif test "${want_x11_xlib}" = "yes" ; then
echo " Xcursor....................: $use_Xcursor"
echo " Xkb........................: $use_xkb"
echo " Xprint.....................: $use_xprint"
@ -3832,9 +3793,6 @@ if test "x$have_ecore_x" = "xyes" ; then
echo " XIM........................: $want_xim"
echo " Xi2........................: $use_xi2"
echo " Xi2.2......................: $use_xi2_2"
fi
else
echo " Ecore_X....................: $have_ecore_x"
fi
echo " Ecore_Win32................: $have_win32"
echo " Ecore_Cocoa................: $have_ecore_cocoa"