Add support for new Evas GL_SDL engine
[framework/uifw/expedite.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 # get rid of that stupid cache mechanism
4 rm -f config.cache
5
6 AC_INIT([expedite], [0.7.0], [enlightenment-devel@lists.sourceforge.net])
7 AC_PREREQ([2.52])
8 AC_CONFIG_SRCDIR([configure.ac])
9 AC_CONFIG_HEADERS([config.h])
10 AC_CANONICAL_BUILD
11 AC_CANONICAL_HOST
12
13 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
14 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
15
16 PKG_PROG_PKG_CONFIG
17
18
19 ### Additional options to configure
20
21 ## Simple X11 build/link
22
23 ## Evas engines
24
25 AC_ARG_ENABLE(simple-x11,
26    [AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking])],
27    [want_evas_simple_x11=$enableval]
28 )
29
30 # Software X11
31 have_software_xlib="no"
32 have_software_xcb="no"
33 EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes")
34
35 if test "x${have_software_x11}" = "xyes" ; then
36    have_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
37    if test "x${have_software_xlib}" = "xyes" ; then
38       AC_DEFINE(HAVE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
39    fi
40    have_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
41    if test "x${have_software_xcb}" = "xyes" ; then
42       AC_DEFINE(HAVE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
43    fi
44 fi
45
46 AM_CONDITIONAL([BUILD_SOFTWARE_XLIB], [test "x${have_software_xlib}" = "xyes"])
47 AM_CONDITIONAL([BUILD_SOFTWARE_XCB], [test "x${have_software_xcb}" = "xyes"])
48
49 # XRender X11
50 EXPEDITE_CHECK_ENGINE([xrender-x11], [XRender X11], "yes")
51
52 # OpenGL X11
53 EXPEDITE_CHECK_ENGINE([opengl-x11], [OpenGL X11], "yes")
54
55 # XRender XCB
56 EXPEDITE_CHECK_ENGINE([xrender-xcb], [XRender XCB], "yes")
57
58 # GDI
59 EXPEDITE_CHECK_ENGINE([software-gdi], [Software GDI], "yes", [gdi_libs="-lgdi32"])
60 AC_SUBST(gdi_libs)
61
62 # DirectDraw
63 EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid -lgdi32"])
64 AC_SUBST(ddraw_libs)
65
66 # Direct3D
67 EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d -lgdi32"])
68 AC_SUBST(d3d_libs)
69
70 # OpenGL GLEW
71 EXPEDITE_CHECK_ENGINE([opengl-glew], [OpenGL Glew], "yes", [glew_libs="-lglew32 -lgdi32"])
72 AC_SUBST(glew_libs)
73
74 # Software SDL
75 EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes")
76
77 # GL SDL
78 EXPEDITE_CHECK_ENGINE([opengl-sdl], [OpenGL SDL], "yes")
79
80 # FB
81 EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes")
82
83 # DIRECTFB
84 EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes")
85
86 # Quartz
87 EXPEDITE_CHECK_ENGINE([quartz], [Quartz], "yes", [quartz_libs="-framework Cocoa -framework ApplicationServices"])
88 AC_SUBST(quartz_libs)
89
90 # Software 16bit X11
91 EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes")
92
93 # 16bit DirectDraw
94 EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_16_libs="-lddraw -ldxguid"])
95 AC_SUBST(ddraw_16_libs)
96
97 # 16bit WinCE
98 EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"])
99 AC_SUBST(wince_16_libs)
100
101 ### Checks for programs
102
103 AC_ISC_POSIX
104 m4_ifdef([AC_PROG_OBJC],
105    [
106     AC_PROG_OBJC
107     _AM_DEPENDENCIES(OBJC)
108    ],
109    [
110     AC_CHECK_TOOL([OBJC], [gcc])
111     AC_SUBST([OBJC])
112     AC_SUBST([OBJCFLAGS])
113    ]
114 )
115 AC_PROG_CXX
116 AC_PROG_CC
117
118 LT_PROG_RC
119
120
121 ### Checks for libraries
122
123 # Evil library for compilation on Windows
124
125 case "$host_os" in
126    mingw32ce*)
127       PKG_CHECK_MODULES([EVIL], [evil])
128       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
129       ;;
130 esac
131
132 # Eina
133
134 PKG_CHECK_MODULES([EINA], eina-0)
135
136 # Evas
137
138 PKG_CHECK_MODULES([EVAS], evas)
139
140 # Xlib
141
142 if test "x$have_software_xlib" = "xyes" -o "x$have_software_16_x11" = "xyes" -o "x$have_xrender_x11" = "xyes" -o "x$have_opengl_x11" = "xyes"; then
143    AC_PATH_XTRA
144    AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h],
145       [have_xlib="yes"],
146       [have_xlib="no"])
147    if test "x$want_evas_simple_x11" = "xyes"; then
148       x_libs="${x_libs} -lX11 -lXext"
149    else
150       x_dir=${x_dir:-/usr/X11R6}
151       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
152       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
153    fi
154 fi
155 AM_CONDITIONAL(BUILD_X11, [test "x$have_xlib" = "xyes"])
156
157 AC_SUBST(x_cflags)
158 AC_SUBST(x_libs)
159
160 # XCB
161
162 if test "x$have_software_xcb" = "xyes"; then
163    PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [have_xcb="yes"], [have_xcb="no"])
164 fi
165 AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes")
166 if test "x$have_xcb" = "xyes"; then
167    AC_DEFINE(BUILD_XCB, 1, [build xcb support])
168 fi
169
170 # SDL
171
172 if test "x$have_software_sdl" = "xyes" -o "x$have_gl_sdl" = "xyes"; then
173    PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no"])
174 fi
175 AM_CONDITIONAL(BUILD_SDL, test "x$have_sdl" = "xyes")
176
177 # DirectFB
178
179 if test "x$have_directfb" = "xyes"; then
180    PKG_CHECK_MODULES([DIRECTFB], [directfb], [have_directfb="yes"], [have_directfb="no"])
181 fi
182 AM_CONDITIONAL(BUILD_DIRECTFB, test "x$have_directfb" = "xyes")
183
184
185 ### Checks for header files
186
187
188 ### Checks for types
189
190
191 ### Checks for structures
192
193
194 ### Checks for compiler characteristics
195
196 AM_PROG_CC_STDC
197 AC_HEADER_STDC
198 AC_C_CONST
199 AM_PROG_CC_C_O
200
201 WIN32_CFLAGS=""
202 case "$host_os" in
203    cegcc*)
204       WIN32_CFLAGS="-mwin32"
205       ;;
206 esac
207 AC_SUBST(WIN32_CFLAGS)
208
209 EXPEDITE_CXXFLAGS=""
210 AC_LANG_PUSH([C++])
211 CXXFLAGS_save="${CXXFLAGS}"
212 CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions"
213 AC_LINK_IFELSE(
214    [AC_LANG_PROGRAM([[]])],
215    [have_cxx_flags="yes"],
216    [have_cxx_flags="no"])
217 AC_MSG_CHECKING([whether the compiler supports -fno-rtti -fno-exceptions])
218 AC_MSG_RESULT([${have_cxx_flags}])
219 CXXFLAGS="${CXXFLAGS_save}"
220 if test "x${have_cxx_flags}" = "xyes" ; then
221    EXPEDITE_CXXFLAGS="-fno-rtti -fno-exceptions"
222 fi
223 AC_LANG_POP([C++])
224 AC_SUBST(EXPEDITE_CXXFLAGS)
225
226
227 ### Checks for linker characteristics
228
229 lt_enable_auto_import=""
230 case "$host_os" in
231    mingw* | cegcc*)
232       lt_enable_auto_import="-Wl,--enable-auto-import"
233       ;;
234 esac
235 AC_SUBST(lt_enable_auto_import)
236
237
238 ### Checks for library functions
239
240
241 AC_OUTPUT([
242 Makefile
243 src/Makefile
244 src/bin/Makefile
245 data/Makefile
246 ])
247
248 echo
249 echo "  $PACKAGE $VERSION"
250 echo
251 echo "  Engines:"
252 echo "    Software X11.................: ${have_software_x11} (Xlib: ${have_software_xlib}) (XCB: ${have_software_xcb})"
253 echo "    X Render X11.................: ${have_xrender_x11}"
254 echo "    Open GL X11..................: ${have_opengl_x11}"
255 echo "    X Render XCB.................: ${have_xrender_xcb}"
256 echo "    Software GDI.................: ${have_software_gdi}"
257 echo "    Software DirectDraw..........: ${have_software_ddraw}"
258 echo "    Direct3D.....................: ${have_direct3d}"
259 echo "    Open GL Glew.................: ${have_opengl_glew}"
260 echo "    Software SDL.................: ${have_software_sdl}"
261 echo "    Open GL SDL..................: ${have_opengl_sdl}"
262 echo "    FB...........................: ${have_fb}"
263 echo "    DirectFB.....................: ${have_directfb}"
264 echo "    Quartz.......................: ${have_quartz}"
265 echo "    Software X11 16 bits.........: ${have_software_16_x11}"
266 echo "    Software DirectDraw 16 bits..: ${have_software_16_ddraw}"
267 echo "    Software WinCE 16 bits.......: ${have_software_16_wince}"
268 echo
269 echo "  Installation:"
270 echo "    prefix.......................: ${prefix}"
271 echo