Ecore: better check of ecore_evas_extn. This also fixes its compilation on Windows

SVN revision: 68105
This commit is contained in:
Vincent Torri 2012-02-18 12:56:53 +00:00
parent 85a36a8f7f
commit aab16f91a9
3 changed files with 63 additions and 31 deletions

View File

@ -174,6 +174,7 @@ want_ecore_evas_directfb="no"
want_ecore_evas_fb="no"
want_ecore_evas_software_16_wince="no"
want_ecore_evas_ews="yes"
want_ecore_evas_extn="yes"
want_ecore_evas_wayland_shm="no"
want_ecore_evas_wayland_egl="no"
@ -182,11 +183,12 @@ want_ecore_imf_xim="no"
want_ecore_imf_scim="no"
case "$host_os" in
mingw32ce* | cegcc*)
mingw32ce*)
want_ecore_con="no"
want_ecore_ipc="no"
want_ecore_wince="yes"
want_ecore_evas_software_16_wince="yes"
want_ecore_evas_extn="no"
;;
mingw*)
want_notify_win32="yes"
@ -1390,6 +1392,20 @@ if ! test "x${have_atfile_source}" = "xno" ; then
])
fi
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <mman.h>
]],
[[
int i = shm_open(NULL, 0, 0);
]])],
[have_shm_open="yes"],
[have_shm_open="no"])
AC_MSG_CHECKING([shm_open])
AC_MSG_RESULT([${have_shm_open}])
### Checks for optionnal feature
AC_CHECK_FUNC([mallinfo],
[
@ -1648,7 +1664,7 @@ ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}
# ecore_evas
ecore_evas_deps="no"
if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then
if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then
ecore_evas_deps="yes"
fi
@ -1837,6 +1853,21 @@ ECORE_EVAS_CHECK_MODULE_FULL([ews], [software-buffer],
[Ecore Evas Single Process Windowing System],
[yes], [])
# ecore_evas_extn
have_extn="yes"
if test "x${have_ecore_ipc}" = "xno" || \
test "x${have_ecore_evas_software_buffer}" = "xno" || \
test "x${have_shm_open}" = "xno" ; then
have_extn="no"
fi
ECORE_EVAS_CHECK_MODULE([extn],
[${want_ecore_evas_extn}],
[Extension],
[${have_extn}],
[requirements_ecore_evas="ecore-evas-software-buffer >= 1.1.99 ecore-ipc >= 1.1.99 ${requirements_ecore_evas}"])
# ecore_evas_psl1ght
ECORE_EVAS_CHECK_MODULE([psl1ght],

View File

@ -73,9 +73,9 @@ AC_ARG_ENABLE(ecore-evas-$1,
AC_MSG_CHECKING([whether ecore_evas $4 support is to be built])
AC_MSG_RESULT([${want_module}])
if test "x$5" = "xyes" -a \
"x$have_ecore_evas" = "xyes" -a \
"x$want_module" = "xyes" ; then
if test "x$5" = "xyes" && \
test "x$have_ecore_evas" = "xyes" && \
test "x$want_module" = "xyes" ; then
PKG_CHECK_EXISTS([evas-$2],
[
AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $4 Engine in Ecore_Evas])

View File

@ -2,24 +2,6 @@
# include <config.h>
#endif
#include <stdlib.h>
#include <unistd.h>
#include <Ecore.h>
#include "ecore_private.h"
#include <Ecore_Input.h>
#ifdef BUILD_ECORE_IPC
# ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
# define EXTN_ENABLED 1
# endif
#endif
#include "ecore_evas_private.h"
#include "Ecore_Evas.h"
#ifdef EXTN_ENABLED
#include "Ecore_Ipc.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
@ -31,6 +13,24 @@
#include <fcntl.h>
#include <string.h>
#include <sys/file.h>
#include <unistd.h>
#include <Ecore.h>
#include "ecore_private.h"
#include <Ecore_Input.h>
#ifdef BUILD_ECORE_EVAS_EXTN
#include <Ecore_Ipc.h>
#endif
#include "ecore_evas_private.h"
#include "Ecore_Evas.h"
#ifdef BUILD_ECORE_EVAS_EXTN
typedef struct _Shmfile Shmfile;
@ -1286,12 +1286,13 @@ void
_ecore_evas_extn_shutdown(void)
{
}
#endif
#endif /* BUILD_ECORE_EVAS_EXTN */
EAPI Evas_Object *
ecore_evas_extn_plug_new(Ecore_Evas *ee_target)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Evas_Object *o;
Ecore_Evas *ee;
int w = 1, h = 1;
@ -1408,7 +1409,7 @@ ecore_evas_extn_plug_new(Ecore_Evas *ee_target)
EAPI Eina_Bool
ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, Eina_Bool svcsys)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Extn *extn;
Ecore_Evas *ee = NULL;
@ -1459,7 +1460,7 @@ ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum,
EAPI void
ecore_evas_extn_plug_object_data_lock(Evas_Object *obj)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Ecore_Evas *ee;
ee = ecore_evas_object_ecore_evas_get(obj);
@ -1471,7 +1472,7 @@ ecore_evas_extn_plug_object_data_lock(Evas_Object *obj)
EAPI void
ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Ecore_Evas *ee;
ee = ecore_evas_object_ecore_evas_get(obj);
@ -1480,7 +1481,7 @@ ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj)
#endif
}
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
static void
_ecore_evas_socket_resize(Ecore_Evas *ee, int w, int h)
{
@ -1987,7 +1988,7 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func =
EAPI Ecore_Evas *
ecore_evas_extn_socket_new(int w, int h)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Evas_Engine_Info_Buffer *einfo;
Ecore_Evas *ee;
int rmethod;
@ -2077,7 +2078,7 @@ ecore_evas_extn_socket_new(int w, int h)
EAPI Eina_Bool
ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname, int svcnum, Eina_Bool svcsys)
{
#ifdef EXTN_ENABLED
#ifdef BUILD_ECORE_EVAS_EXTN
Extn *extn;
extn = calloc(1, sizeof(Extn));