From d8ecd625fddd2148fe53733c45ed87321a3010cf Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Wed, 19 Nov 2008 17:40:05 +0000 Subject: [PATCH] * configure reorganisation * add gdi backend to the Windows CE engine SVN revision: 37715 --- configure.ac | 257 +++++++++++++++++------------ src/bin/Makefile.am | 1 + src/bin/engine_software_16_wince.c | 2 + src/bin/main.c | 1 + 4 files changed, 153 insertions(+), 108 deletions(-) diff --git a/configure.ac b/configure.ac index 3546c25..f15250e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,151 +3,192 @@ dnl Process this file with autoconf to produce a configure script. # get rid of that stupid cache mechanism rm -f config.cache -AC_INIT(expedite, 0.6.0, enlightenment-devel@lists.sourceforge.net) -AC_PREREQ(2.52) -AC_CONFIG_SRCDIR(configure.ac) +AC_INIT([expedite], [0.6.0], [enlightenment-devel@lists.sourceforge.net]) +AC_PREREQ([2.52]) +AC_CONFIG_SRCDIR([configure.ac]) AC_CANONICAL_BUILD AC_CANONICAL_HOST AM_INIT_AUTOMAKE(1.6 dist-bzip2) AM_CONFIG_HEADER(config.h) -AC_ISC_POSIX -m4_ifdef([AC_PROG_OBJC], - [AC_PROG_OBJC], - [AC_CHECK_TOOL([OBJC], [gcc]) - AC_SUBST([OBJC]) - AC_SUBST([OBJCFLAGS]) - ]) -AC_PROG_CXX -AC_PROG_CC -AM_PROG_CC_STDC -AC_HEADER_STDC -AC_C_CONST -AM_PROG_CC_C_O PKG_PROG_PKG_CONFIG -WIN32_CFLAGS="" -lt_enable_auto_import="" + +### Additional options to configure + +## Simple X11 build/link + +## Evas engines + +AC_ARG_ENABLE(simple-x11, + [AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking])], + [want_evas_simple_x11=$enableval] +) + +# Software X11 +EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes") + +# 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") + +# DirectDraw +EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"]) +AC_SUBST(ddraw_libs) + +# Direct3D +EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d"]) +AC_SUBST(d3d_libs) + +# OpenGL GLEW +EXPEDITE_CHECK_ENGINE([opengl-glew], [OpenGL Glew], "yes", [glew_libs="-lglew32 -lgdi32"]) +AC_SUBST(glew_libs) + +# Software SDL +EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes") + +# FB +EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes") + +# DIRECTFB +EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes") + +# Quartz +EXPEDITE_CHECK_ENGINE([quartz], [Quartz], "yes", [quartz_libs="-framework Cocoa -framework ApplicationServices"]) +AC_SUBST(quartz_libs) + +AM_CONDITIONAL(BUILD_QUARTZ, test "x$have_quartz" = "xyes") + +# Software 16bit X11 +EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes") + +# 16bit DirectDraw +EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"]) +AC_SUBST(ddraw_16_libs) + +# 16bit WinCE +EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"]) +AC_SUBST(wince_16_libs) + +### Checks for programs + +AC_ISC_POSIX +m4_ifdef([AC_PROG_OBJC], + [AC_PROG_OBJC], + [ + AC_CHECK_TOOL([OBJC], [gcc]) + AC_SUBST([OBJC]) + AC_SUBST([OBJCFLAGS]) + ] +) +AC_PROG_CXX +AC_PROG_CC + + +### Checks for libraries + +# Evil library for compilation on Windows + case "$host_os" in mingw32ce*) PKG_CHECK_MODULES([EVIL], [evil]) AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed]) - lt_enable_auto_import="-Wl,--enable-auto-import" - ;; - cegcc*) - WIN32_CFLAGS="-mwin32" - lt_enable_auto_import="-Wl,--enable-auto-import" ;; esac -AC_SUBST(WIN32_CFLAGS) -AC_SUBST(lt_enable_auto_import) -PKG_CHECK_MODULES([EVAS], [evas]) +# Evas -####################################### -## Simple X11 build/link +PKG_CHECK_MODULES([EVAS], evas) -AC_ARG_ENABLE(simple-x11, - AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]), - [ want_evas_simple_x11=$enableval ] -) - -### Software X11 -EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes") - -### 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") - -# TODO: Check availability of libs -### DirectDraw -EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"]) - -# TODO: Check availability of libs -### Direct3D -EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d"]) - -### OpenGL GLEW -EXPEDITE_CHECK_ENGINE([opengl-glew], [OpenGL Glew], "yes", [glew_libs="-lglew32 -lgdi32"]) - -### Software SDL -EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes") - -### FB -EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes") - -### DIRECTFB -EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes") - -### Quartz -EXPEDITE_CHECK_ENGINE([quartz], [Quartz], "yes", [quartz_libs="-framework Cocoa -framework ApplicationServices"]) - -### Software 16bit X11 -EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes") - -# TODO: Check availability of libs -### 16bit DirectDraw -EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"]) - -# TODO: Check availability of libs -### 16bit WinCE -EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"]) +# 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 - AC_PATH_XTRA - AC_CHECK_HEADERS(X11/Xlib.h X11/Xutil.h, - [ have_x11="yes" ], - [ have_x11="no" ]) - if test "x$want_evas_simple_x11" = "xyes"; then - x_libs="${x_libs} -lX11 -lXext" - else - 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" - fi + AC_PATH_XTRA + AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h], + [have_x11="yes"], + [have_x11="no"]) + if test "x$want_evas_simple_x11" = "xyes"; then + x_libs="${x_libs} -lX11 -lXext" + else + 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" + fi fi AM_CONDITIONAL(BUILD_X11, test "x$have_x11" = "xyes") +AC_SUBST(x_cflags) +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_software_xcb="yes"], [have_software_xcb="no"]) fi AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes") if test "x$have_xcb" = "xyes"; then - AC_DEFINE(BUILD_XCB, 1, [build xcb support]) + AC_DEFINE(BUILD_XCB, 1, [build xcb support]) fi +# SDL + if test "x$have_software_sdl" = "xyes"; then - PKG_CHECK_MODULES([SDL], sdl, - [ have_sdl="yes" ], - [ have_sdl="no" ]) + PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no"]) fi AM_CONDITIONAL(BUILD_SDL, test "x$have_sdl" = "xyes") +# DirectFB + if test "x$have_directfb" = "xyes"; then - PKG_CHECK_MODULES([DIRECTFB], directfb, - [ have_directfb="yes" ], - [ have_directfb="no" ]) + PKG_CHECK_MODULES([DIRECTFB], [directfb], [have_directfb="yes"], [have_directfb="no"]) fi AM_CONDITIONAL(BUILD_DIRECTFB, test "x$have_directfb" = "xyes") -AM_CONDITIONAL(BUILD_QUARTZ, test "x$have_quartz" = "xyes") -AC_SUBST(x_cflags) -AC_SUBST(x_libs) -AC_SUBST(ddraw_libs) -AC_SUBST(ddraw_16_libs) -AC_SUBST(d3d_libs) -AC_SUBST(wince_16_libs) -AC_SUBST(glew_libs) -AC_SUBST(quartz_libs) +### Checks for header files + + +### Checks for types + + +### Checks for structures + + +### Checks for compiler characteristics + +AM_PROG_CC_STDC +AC_HEADER_STDC +AC_C_CONST +AM_PROG_CC_C_O + +WIN32_CFLAGS="" +case "$host_os" in + cegcc*) + WIN32_CFLAGS="-mwin32" + ;; +esac +AC_SUBST(WIN32_CFLAGS) + + +### Checks for linker characteristics + +lt_enable_auto_import="" +case "$host_os" in + mingw* | cegcc*) + lt_enable_auto_import="-Wl,--enable-auto-import" + ;; +esac +AC_SUBST(lt_enable_auto_import) + + +### Checks for library functions + AC_OUTPUT([ Makefile diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index bde63dc..fda7516 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -64,6 +64,7 @@ image_blend_occlude3_very_many.c \ poly_blend.c expedite_CFLAGS = @WIN32_CFLAGS@ +expedite_CXXFLAGS = -fno-rtti -fno-exceptions expedite_LDADD = @EVAS_LIBS@ @SDL_LIBS@ @x_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@ diff --git a/src/bin/engine_software_16_wince.c b/src/bin/engine_software_16_wince.c index b58b55a..2a8175f 100644 --- a/src/bin/engine_software_16_wince.c +++ b/src/bin/engine_software_16_wince.c @@ -165,6 +165,7 @@ engine_software_16_wince_args(int argc, char **argv) if (!strcmp(argv[i], "wince-fb")) { ok = 1; backend = 1; } if (!strcmp(argv[i], "wince-gapi")) { ok = 1; backend = 2; } if (!strcmp(argv[i], "wince-ddraw")) { ok = 1; backend = 3; } + if (!strcmp(argv[i], "wince-gdi")) { ok = 1; backend = 4; } } } if (!ok) return 0; @@ -221,6 +222,7 @@ engine_software_16_wince_args(int argc, char **argv) } evas_output_method_set(evas, evas_render_method_lookup("software_16_wince")); + einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(evas); if (!einfo) { diff --git a/src/bin/main.c b/src/bin/main.c index 1d31bd5..63a22a1 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -1312,6 +1312,7 @@ _engine_args(int argc, char **argv) " wince-fb" " wince-gapi" " wince-ddraw" + " wince-gdi" #endif "\n" "Where PROFILE can be one of:\n"