* configure reorganisation

* add gdi backend to the Windows CE engine


SVN revision: 37715
This commit is contained in:
Vincent Torri 2008-11-19 17:40:05 +00:00
parent f329fb2d60
commit d8ecd625fd
4 changed files with 153 additions and 108 deletions

View File

@ -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

View File

@ -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@

View File

@ -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)
{

View File

@ -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"