add Windows XP support

SVN revision: 38701
This commit is contained in:
Vincent Torri 2009-01-22 21:43:07 +00:00
parent fbce5a6f7f
commit c5d296b658
7 changed files with 55 additions and 7 deletions

View File

@ -31,30 +31,33 @@ SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN" version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
AC_SUBST(version_info) AC_SUBST(version_info)
requirement_elm=""
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
lt_enable_auto_import="" lt_enable_auto_import=""
ELM_UNIX_DEF="#undef" ELM_UNIX_DEF="#undef"
ELM_WIN32_DEF="#undef" ELM_WIN32_DEF="#undef"
ELM_WINCE_DEF="#undef" ELM_WINCE_DEF="#undef"
have_windows="no"
case "$host_os" in case "$host_os" in
mingw32* | cegcc*) mingw32ce* | cegcc*)
PKG_CHECK_MODULES([EVIL], [evil]) PKG_CHECK_MODULES([EVIL], [evil])
AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.]) AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
dnl needed for correct definition of EAPI
AC_DEFINE(ELEMENTARY_BUILD, 1, [Define to mention that evas is built])
lt_enable_auto_import="-Wl,--enable-auto-import" lt_enable_auto_import="-Wl,--enable-auto-import"
ELM_WINCE_DEF="#define" ELM_WINCE_DEF="#define"
have_windows="yes"
dnl managed by evil dnl managed by evil
AC_DEFINE(HAVE_DLADDR) AC_DEFINE(HAVE_DLADDR)
requirement_elm="evil"
;; ;;
mingw*) mingw*)
PKG_CHECK_MODULES([EVIL], [evil]) PKG_CHECK_MODULES([EVIL], [evil])
AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.]) AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
dnl needed for correct definition of EAPI
AC_DEFINE(ELEMENTARY_BUILD, 1, [Define to mention that evas is built])
lt_enable_auto_import="-Wl,--enable-auto-import" lt_enable_auto_import="-Wl,--enable-auto-import"
ELM_WIN32_DEF="#define" ELM_WIN32_DEF="#define"
have_windows="yes"
requirement_elm="evil"
;; ;;
*) *)
ELM_UNIX_DEF="#define" ELM_UNIX_DEF="#define"
@ -78,6 +81,8 @@ AC_SUBST(ELM_UNIX_DEF)
AC_SUBST(ELM_WIN32_DEF) AC_SUBST(ELM_WIN32_DEF)
AC_SUBST(ELM_WINCE_DEF) AC_SUBST(ELM_WINCE_DEF)
AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
PKG_CHECK_MODULES([ELEMENTARY], PKG_CHECK_MODULES([ELEMENTARY],
[ [
eina-0 eina-0
@ -92,12 +97,15 @@ PKG_CHECK_MODULES([ELEMENTARY],
] ]
) )
requirement_elm="edje ecore-file ecore-txt ecore-job ecore-evas ecore evas eet eina-0 ${requirement_elm}"
have_elementary_x="no" have_elementary_x="no"
PKG_CHECK_MODULES([ELEMENTARY_X], PKG_CHECK_MODULES([ELEMENTARY_X],
[ecore-x], [ecore-x],
[ [
AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary]) AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
have_elementary_x="yes" have_elementary_x="yes"
requirement_elm="ecore-x ${requirement_elm}"
], ],
[have_elementary_x="no"] [have_elementary_x="no"]
) )
@ -108,16 +116,29 @@ PKG_CHECK_MODULES([ELEMENTARY_FB],
[ [
AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary]) AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
have_elementary_fb="yes" have_elementary_fb="yes"
requirement_elm="ecore-fb ${requirement_elm}"
], ],
[have_elementary_fb="no"] [have_elementary_fb="no"]
) )
have_elementary_win32="no"
PKG_CHECK_MODULES([ELEMENTARY_WIN32],
[ecore-win32],
[
AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for Elementary])
have_elementary_win32="yes"
requirement_elm="ecore-win32 ${requirement_elm}"
],
[have_elementary_win32="no"]
)
have_elementary_wince="no" have_elementary_wince="no"
PKG_CHECK_MODULES([ELEMENTARY_WINCE], PKG_CHECK_MODULES([ELEMENTARY_WINCE],
[ecore-wince], [ecore-wince],
[ [
AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary]) AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary])
have_elementary_wince="yes" have_elementary_wince="yes"
requirement_elm="ecore-wince ${requirement_elm}"
], ],
[have_elementary_wince="no"] [have_elementary_wince="no"]
) )
@ -133,6 +154,7 @@ PKG_CHECK_MODULES([ELEMENTARY_EDBUS],
AC_DEFINE(HAVE_ELEMENTARY_EDBUS, 1, [EDBus support for Elementary]) AC_DEFINE(HAVE_ELEMENTARY_EDBUS, 1, [EDBus support for Elementary])
have_elementary_edbus="yes" have_elementary_edbus="yes"
ELM_EDBUS_DEF="#define" ELM_EDBUS_DEF="#define"
requirement_elm="ehal edbus ${requirement_elm}"
], ],
[have_elementary_edbus="no"] [have_elementary_edbus="no"]
) )
@ -144,6 +166,7 @@ AC_SUBST(ELM_ALLOCA_H_DEF)
my_libs="-lm" my_libs="-lm"
AC_SUBST(my_libs) AC_SUBST(my_libs)
AC_SUBST(requirement_elm)
AC_OUTPUT([ AC_OUTPUT([
Makefile Makefile
@ -174,6 +197,7 @@ echo
echo "Engines:" echo "Engines:"
echo " X11...........: ${have_elementary_x}" echo " X11...........: ${have_elementary_x}"
echo " Framebuffer...: ${have_elementary_fb}" echo " Framebuffer...: ${have_elementary_fb}"
echo " Windows XP....: ${have_elementary_win32}"
echo " Windows CE....: ${have_elementary_wince}" echo " Windows CE....: ${have_elementary_wince}"
echo echo
echo "Features:" echo "Features:"

View File

@ -5,7 +5,7 @@ includedir=@includedir@
Name: elementary Name: elementary
Description: Mobile device touchscreen widget library Description: Mobile device touchscreen widget library
Requires: evas ecore ecore-x ecore-evas ecore-job ecore-txt ecore-file eet edje Requires: @requirement_elm@
Version: @VERSION@ Version: @VERSION@
Libs: -L${libdir} -lelementary Libs: -L${libdir} -lelementary
Libs.private: @dlopen_libs@ @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ Libs.private: @dlopen_libs@ @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@

View File

@ -10,9 +10,14 @@ AM_CPPFLAGS = \
@ELEMENTARY_CFLAGS@ \ @ELEMENTARY_CFLAGS@ \
@ELEMENTARY_X_CFLAGS@ \ @ELEMENTARY_X_CFLAGS@ \
@ELEMENTARY_FB_CFLAGS@ \ @ELEMENTARY_FB_CFLAGS@ \
@ELEMENTARY_WIN32_CFLAGS@ \
@ELEMENTARY_WINCE_CFLAGS@ \ @ELEMENTARY_WINCE_CFLAGS@ \
@ELEMENTARY_EDBUS_CFLAGS@ @ELEMENTARY_EDBUS_CFLAGS@
if ELEMENTARY_WINDOWS_BUILD
AM_CPPFLAGS += -DELEMENTARY_BUILD
endif
bin_PROGRAMS = elementary_test bin_PROGRAMS = elementary_test
elementary_test_SOURCES = test.c elementary_test_SOURCES = test.c

View File

@ -10,9 +10,14 @@ AM_CPPFLAGS = \
@ELEMENTARY_CFLAGS@ \ @ELEMENTARY_CFLAGS@ \
@ELEMENTARY_X_CFLAGS@ \ @ELEMENTARY_X_CFLAGS@ \
@ELEMENTARY_FB_CFLAGS@ \ @ELEMENTARY_FB_CFLAGS@ \
@ELEMENTARY_WIN32_CFLAGS@ \
@ELEMENTARY_WINCE_CFLAGS@ \ @ELEMENTARY_WINCE_CFLAGS@ \
@ELEMENTARY_EDBUS_CFLAGS@ @ELEMENTARY_EDBUS_CFLAGS@
if ELEMENTARY_WINDOWS_BUILD
AM_CPPFLAGS += -DELEMENTARY_BUILD
endif
lib_LTLIBRARIES = libelementary.la lib_LTLIBRARIES = libelementary.la
include_HEADERS = Elementary.h include_HEADERS = Elementary.h
@ -61,5 +66,5 @@ els_icon.h
libelementary_la_CFLAGS = libelementary_la_CFLAGS =
libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@
libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@

View File

@ -173,6 +173,10 @@ elm_init(int argc, char **argv)
(!strcasecmp(elm_engine, "opengl-x11")) || (!strcasecmp(elm_engine, "opengl-x11")) ||
(!strcasecmp(elm_engine, "opengl_x11"))) (!strcasecmp(elm_engine, "opengl_x11")))
_elm_config->engine = ELM_OPENGL_X11; _elm_config->engine = ELM_OPENGL_X11;
else if ((!strcasecmp(elm_engine, "ddraw")) ||
(!strcasecmp(elm_engine, "software-ddraw")) ||
(!strcasecmp(elm_engine, "software_ddraw")))
_elm_config->engine = ELM_SOFTWARE_WIN32;
else if ((!strcasecmp(elm_engine, "wince-gdi")) || else if ((!strcasecmp(elm_engine, "wince-gdi")) ||
(!strcasecmp(elm_engine, "software-16-wince-gdi")) || (!strcasecmp(elm_engine, "software-16-wince-gdi")) ||
(!strcasecmp(elm_engine, "software_16_wince_gdi"))) (!strcasecmp(elm_engine, "software_16_wince_gdi")))
@ -192,6 +196,7 @@ elm_init(int argc, char **argv)
(_elm_config->engine == ELM_SOFTWARE_16_X11) || (_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) || (_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11) || (_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_WIN32) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE)) (_elm_config->engine == ELM_SOFTWARE_16_WINCE))
{ {
#ifdef HAVE_ELEMENTARY_X #ifdef HAVE_ELEMENTARY_X
@ -255,6 +260,7 @@ elm_shutdown(void)
(_elm_config->engine == ELM_SOFTWARE_16_X11) || (_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) || (_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11) || (_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_WIN32) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE)) (_elm_config->engine == ELM_SOFTWARE_16_WINCE))
{ {
#ifdef HAVE_ELEMENTARY_X #ifdef HAVE_ELEMENTARY_X

View File

@ -28,6 +28,7 @@ typedef enum _Elm_Engine
ELM_SOFTWARE_16_X11, ELM_SOFTWARE_16_X11,
ELM_XRENDER_X11, ELM_XRENDER_X11,
ELM_OPENGL_X11, ELM_OPENGL_X11,
ELM_SOFTWARE_WIN32,
ELM_SOFTWARE_16_WINCE ELM_SOFTWARE_16_WINCE
} Elm_Engine; } Elm_Engine;

View File

@ -124,6 +124,9 @@ _elm_win_xwindow_get(Elm_Win *win)
case ELM_OPENGL_X11: case ELM_OPENGL_X11:
if (win->ee) win->xwin = ecore_evas_gl_x11_window_get(win->ee); if (win->ee) win->xwin = ecore_evas_gl_x11_window_get(win->ee);
break; break;
case ELM_SOFTWARE_WIN32:
if (win->ee) win->xwin = (int)ecore_evas_win32_window_get(win->ee);
break;
default: default:
break; break;
} }
@ -262,6 +265,9 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
case ELM_OPENGL_X11: case ELM_OPENGL_X11:
win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1); win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1);
break; break;
case ELM_SOFTWARE_WIN32:
win->ee = ecore_evas_software_ddraw_new(NULL, 0, 0, 1, 1);
break;
case ELM_SOFTWARE_16_WINCE: case ELM_SOFTWARE_16_WINCE:
win->ee = ecore_evas_software_wince_gdi_new(NULL, 0, 0, 1, 1); win->ee = ecore_evas_software_wince_gdi_new(NULL, 0, 0, 1, 1);
break; break;
@ -327,6 +333,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
case ELM_SOFTWARE_16_X11: case ELM_SOFTWARE_16_X11:
case ELM_XRENDER_X11: case ELM_XRENDER_X11:
case ELM_OPENGL_X11: case ELM_OPENGL_X11:
case ELM_SOFTWARE_WIN32:
default: default:
break; break;
} }