up expedite to 0.9.999
[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.9.999], [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}" = "xstatic" ; then
38       have_software_xlib="yes"
39    fi
40    if test "x${have_software_xlib}" = "xyes" ; then
41       AC_DEFINE(HAVE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
42    fi
43    have_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
44    if test "x${have_software_xcb}" = "xstatic" ; then
45       have_software_xcb="yes"
46    fi
47    if test "x${have_software_xcb}" = "xyes" ; then
48       AC_DEFINE(HAVE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
49    fi
50 fi
51
52 AM_CONDITIONAL([BUILD_SOFTWARE_XLIB], [test "x${have_software_xlib}" = "xyes"])
53 AM_CONDITIONAL([BUILD_SOFTWARE_XCB], [test "x${have_software_xcb}" = "xyes"])
54
55 # XRender X11
56 EXPEDITE_CHECK_ENGINE([xrender-x11], [XRender X11], "yes")
57
58 # OpenGL X11
59 EXPEDITE_CHECK_ENGINE([opengl-x11], [OpenGL X11], "yes")
60
61 # XRender XCB
62 EXPEDITE_CHECK_ENGINE([xrender-xcb], [XRender XCB], "yes")
63
64 # GDI
65 EXPEDITE_CHECK_ENGINE([software-gdi], [Software GDI], "yes", [gdi_libs="-lgdi32"])
66 AC_SUBST(gdi_libs)
67
68 # DirectDraw
69 EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid -lgdi32"])
70 AC_SUBST(ddraw_libs)
71
72 # Direct3D
73 EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d -lgdi32"])
74 AC_SUBST(d3d_libs)
75
76 # Software SDL
77 EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes")
78
79 # PSL1GHT
80 EXPEDITE_CHECK_ENGINE([psl1ght], [PSL1GHT], "yes")
81
82 # GL SDL
83 EXPEDITE_CHECK_ENGINE([opengl-sdl], [OpenGL SDL], "yes")
84
85 # FB
86 EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes")
87
88 # DIRECTFB
89 EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes")
90
91 # GL Cocoa
92 EXPEDITE_CHECK_ENGINE([opengl-cocoa], [OpenGL Cocoa], "yes", [gl_cocoa_libs="-framework Cocoa"])
93 AC_SUBST(gl_cocoa_libs)
94
95 # Software 16bit X11
96 EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes")
97
98 # 16bit DirectDraw
99 EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_16_libs="-lddraw -ldxguid"])
100 AC_SUBST(ddraw_16_libs)
101
102 # 16bit WinCE
103 EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"])
104 AC_SUBST(wince_16_libs)
105
106 ### Checks for programs
107
108 AC_ISC_POSIX
109 m4_ifdef([AC_PROG_OBJC],
110    [
111     AC_PROG_OBJC
112     _AM_DEPENDENCIES(OBJC)
113    ],
114    [
115     AC_CHECK_TOOL([OBJC], [gcc])
116     AC_SUBST([OBJC])
117     AC_SUBST([OBJCFLAGS])
118    ]
119 )
120 AC_PROG_CXX
121 AC_PROG_CC
122
123 LT_PROG_RC
124
125
126
127 ### Checks for libraries
128
129 # Evil library for compilation on Windows
130
131 case "$host_os" in
132    mingw32ce*)
133       PKG_CHECK_MODULES([EVIL], [evil])
134       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
135       ;;
136 esac
137
138 # Eina
139
140 PKG_CHECK_MODULES([EINA], eina >= 1.0.0)
141
142 # Evas
143
144 PKG_CHECK_MODULES([EVAS], evas >= 1.0.0 eet >= 1.4.0)
145
146 # Xlib
147
148 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
149    AC_PATH_XTRA
150    AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h],
151       [have_xlib="yes"],
152       [have_xlib="no"])
153    if test "x$want_evas_simple_x11" = "xyes"; then
154       x_libs="${x_libs} -lX11 -lXext -lXrender"
155    else
156       x_dir=${x_dir:-/usr/X11R6}
157       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
158       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
159    fi
160 fi
161 AM_CONDITIONAL(BUILD_X11, [test "x$have_xlib" = "xyes"])
162
163 AC_SUBST(x_cflags)
164 AC_SUBST(x_libs)
165
166 # XCB
167
168 if test "x$have_software_xcb" = "xyes"; then
169    PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [have_xcb="yes"], [have_xcb="no"])
170 fi
171 AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes")
172 if test "x$have_xcb" = "xyes"; then
173    AC_DEFINE(BUILD_XCB, 1, [build xcb support])
174 fi
175
176 # SDL
177
178 if test "x$have_software_sdl" = "xyes" -o "x$have_gl_sdl" = "xyes"; then
179    PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no"])
180 fi
181 AM_CONDITIONAL(BUILD_SDL, test "x$have_sdl" = "xyes")
182
183 # PSL1GHT
184 AM_CONDITIONAL(BUILD_PSL1GHT, test "x$have_psl1ght" = "xyes")
185
186 # DirectFB
187
188 if test "x$have_directfb" = "xyes"; then
189    PKG_CHECK_MODULES([DIRECTFB], [directfb], [have_directfb="yes"], [have_directfb="no"])
190 fi
191 AM_CONDITIONAL(BUILD_DIRECTFB, test "x$have_directfb" = "xyes")
192
193
194 ### Checks for header files
195
196
197 ### Checks for types
198
199
200 ### Checks for structures
201
202
203 ### Checks for compiler characteristics
204
205 AM_PROG_CC_STDC
206 AC_HEADER_STDC
207 AC_C_CONST
208 AM_PROG_CC_C_O
209 AC_C___ATTRIBUTE__
210
211 WIN32_CFLAGS=""
212 case "$host_os" in
213    cegcc*)
214       WIN32_CFLAGS="-mwin32"
215       ;;
216 esac
217 AC_SUBST(WIN32_CFLAGS)
218
219 EXPEDITE_CXXFLAGS=""
220 AC_LANG_PUSH([C++])
221 CXXFLAGS_save="${CXXFLAGS}"
222 CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions"
223 AC_LINK_IFELSE(
224    [AC_LANG_PROGRAM([[]])],
225    [have_cxx_flags="yes"],
226    [have_cxx_flags="no"])
227 AC_MSG_CHECKING([whether the compiler supports -fno-rtti -fno-exceptions])
228 AC_MSG_RESULT([${have_cxx_flags}])
229 CXXFLAGS="${CXXFLAGS_save}"
230 if test "x${have_cxx_flags}" = "xyes" ; then
231    EXPEDITE_CXXFLAGS="-fno-rtti -fno-exceptions"
232 fi
233 AC_LANG_POP([C++])
234 AC_SUBST(EXPEDITE_CXXFLAGS)
235
236
237 ### Checks for linker characteristics
238
239 lt_enable_auto_import=""
240 case "$host_os" in
241    mingw* | cegcc*)
242       lt_enable_auto_import="-Wl,--enable-auto-import"
243       ;;
244 esac
245 AC_SUBST(lt_enable_auto_import)
246
247
248 ### Checks for library functions
249
250 AC_CHECK_FUNCS([sync])
251
252
253 AC_OUTPUT([
254 Makefile
255 src/Makefile
256 src/bin/Makefile
257 data/Makefile
258 ])
259
260 echo
261 echo "  $PACKAGE $VERSION"
262 echo
263 echo "  Engines:"
264 echo "    Software X11.................: ${have_software_x11} (Xlib: ${have_software_xlib}) (XCB: ${have_software_xcb})"
265 echo "    X Render X11.................: ${have_xrender_x11}"
266 echo "    Open GL X11..................: ${have_opengl_x11}"
267 echo "    X Render XCB.................: ${have_xrender_xcb}"
268 echo "    Software GDI.................: ${have_software_gdi}"
269 echo "    Software DirectDraw..........: ${have_software_ddraw}"
270 echo "    Direct3D.....................: ${have_direct3d}"
271 echo "    Software SDL.................: ${have_software_sdl}"
272 echo "    Open GL SDL..................: ${have_opengl_sdl}"
273 echo "    Open GL Cocoa................: ${have_opengl_cocoa}"
274 echo "    FB...........................: ${have_fb}"
275 echo "    DirectFB.....................: ${have_directfb}"
276 echo "    PSL1GHT......................: ${have_psl1ght}"
277 echo "    Software X11 16 bits.........: ${have_software_16_x11}"
278 echo "    Software DirectDraw 16 bits..: ${have_software_16_ddraw}"
279 echo "    Software WinCE 16 bits.......: ${have_software_16_wince}"
280 echo
281 echo "  Installation:"
282 echo "    prefix.......................: ${prefix}"
283 echo