better check of the objective c compiler
[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.6.0], [enlightenment-devel@lists.sourceforge.net])
7 AC_PREREQ([2.52])
8 AC_CONFIG_SRCDIR([configure.ac])
9 AC_CANONICAL_BUILD
10 AC_CANONICAL_HOST
11
12 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
13 AM_CONFIG_HEADER(config.h)
14
15 PKG_PROG_PKG_CONFIG
16
17
18 ### Additional options to configure
19
20 ## Simple X11 build/link
21
22 ## Evas engines
23
24 AC_ARG_ENABLE(simple-x11,
25    [AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking])],
26    [want_evas_simple_x11=$enableval]
27 )
28
29 # Software X11
30 EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes")
31
32 # XRender X11
33 EXPEDITE_CHECK_ENGINE([xrender-x11], [XRender X11], "yes")
34
35 # OpenGL X11
36 EXPEDITE_CHECK_ENGINE([opengl-x11], [OpenGL X11], "yes")
37
38 # Software XCB
39 EXPEDITE_CHECK_ENGINE([software-xcb], [Software XCB], "yes")
40
41 # XRender XCB
42 EXPEDITE_CHECK_ENGINE([xrender-xcb], [XRender XCB], "yes")
43
44 # GDI
45 EXPEDITE_CHECK_ENGINE([software-gdi], [Software GDI], "yes", [gdi_libs="-lgdi32"])
46 AC_SUBST(gdi_libs)
47
48 # DirectDraw
49 EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid -lgdi32"])
50 AC_SUBST(ddraw_libs)
51
52 # Direct3D
53 EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d -lgdi32"])
54 AC_SUBST(d3d_libs)
55
56 # OpenGL GLEW
57 EXPEDITE_CHECK_ENGINE([opengl-glew], [OpenGL Glew], "yes", [glew_libs="-lglew32 -lgdi32"])
58 AC_SUBST(glew_libs)
59
60 # Software SDL
61 EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes")
62
63 # FB
64 EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes")
65
66 # DIRECTFB
67 EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes")
68
69 # Quartz
70 EXPEDITE_CHECK_ENGINE([quartz], [Quartz], "yes", [quartz_libs="-framework Cocoa -framework ApplicationServices"])
71 AC_SUBST(quartz_libs)
72
73 AM_CONDITIONAL(BUILD_QUARTZ, test "x$have_quartz" = "xyes")
74
75 # Software 16bit X11
76 EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes")
77
78 # 16bit DirectDraw
79 EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_16_libs="-lddraw -ldxguid"])
80 AC_SUBST(ddraw_16_libs)
81
82 # 16bit WinCE
83 EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"])
84 AC_SUBST(wince_16_libs)
85
86 ### Checks for programs
87
88 AC_ISC_POSIX
89 m4_ifdef([AC_PROG_OBJC],
90    [
91     AC_PROG_OBJC
92     _AM_DEPENDENCIES(OBJC)
93    ],
94    [
95     AC_CHECK_TOOL([OBJC], [gcc])
96     AC_SUBST([OBJC])
97     AC_SUBST([OBJCFLAGS])
98    ]
99 )
100 AC_PROG_CXX
101 AC_PROG_CC
102
103
104 ### Checks for libraries
105
106 # Evil library for compilation on Windows
107
108 case "$host_os" in
109    mingw32ce*)
110       PKG_CHECK_MODULES([EVIL], [evil])
111       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
112       ;;
113 esac
114
115 # Evas
116
117 PKG_CHECK_MODULES([EVAS], evas)
118
119 # Xlib
120
121 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
122    AC_PATH_XTRA
123    AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h],
124       [have_x11="yes"],
125       [have_x11="no"])
126    if test "x$want_evas_simple_x11" = "xyes"; then
127       x_libs="${x_libs} -lX11 -lXext"
128    else
129       x_dir=${x_dir:-/usr/X11R6}
130       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
131       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
132    fi
133 fi
134 AM_CONDITIONAL(BUILD_X11, test "x$have_x11" = "xyes")
135
136 AC_SUBST(x_cflags)
137 AC_SUBST(x_libs)
138
139 # XCB
140
141 if test "x$have_software_xcb" = "xyes"; then
142    PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [have_software_xcb="yes"], [have_software_xcb="no"])
143 fi
144 AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes")
145 if test "x$have_xcb" = "xyes"; then
146    AC_DEFINE(BUILD_XCB, 1, [build xcb support])
147 fi
148
149 # SDL
150
151 if test "x$have_software_sdl" = "xyes"; then
152    PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no"])
153 fi
154 AM_CONDITIONAL(BUILD_SDL, test "x$have_sdl" = "xyes")
155
156 # DirectFB
157
158 if test "x$have_directfb" = "xyes"; then
159    PKG_CHECK_MODULES([DIRECTFB], [directfb], [have_directfb="yes"], [have_directfb="no"])
160 fi
161 AM_CONDITIONAL(BUILD_DIRECTFB, test "x$have_directfb" = "xyes")
162
163
164 ### Checks for header files
165
166
167 ### Checks for types
168
169
170 ### Checks for structures
171
172
173 ### Checks for compiler characteristics
174
175 AM_PROG_CC_STDC
176 AC_HEADER_STDC
177 AC_C_CONST
178 AM_PROG_CC_C_O
179
180 WIN32_CFLAGS=""
181 case "$host_os" in
182    cegcc*)
183       WIN32_CFLAGS="-mwin32"
184       ;;
185 esac
186 AC_SUBST(WIN32_CFLAGS)
187
188
189 ### Checks for linker characteristics
190
191 lt_enable_auto_import=""
192 case "$host_os" in
193    mingw* | cegcc*)
194       lt_enable_auto_import="-Wl,--enable-auto-import"
195       ;;
196 esac
197 AC_SUBST(lt_enable_auto_import)
198
199
200 ### Checks for library functions
201
202
203 AC_OUTPUT([
204 Makefile
205 src/Makefile
206 src/bin/Makefile
207 data/Makefile
208 ])
209
210 echo
211 echo "  $PACKAGE $VERSION"
212 echo
213 echo "  Engines:"
214 echo "    Software X11.................: ${have_software_x11}"
215 echo "    X Render X11.................: ${have_xrender_x11}"
216 echo "    Open GL X11..................: ${have_opengl_x11}"
217 echo "    Software XCB.................: ${have_software_xcb}"
218 echo "    X Render XCB.................: ${have_xrender_xcb}"
219 echo "    Software GDI.................: ${have_software_gdi}"
220 echo "    Software DirectDraw..........: ${have_software_ddraw}"
221 echo "    Direct3D.....................: ${have_direct3d}"
222 echo "    Open GL Glew.................: ${have_opengl_glew}"
223 echo "    Software SDL.................: ${have_software_sdl}"
224 echo "    FB...........................: ${have_fb}"
225 echo "    DirectFB.....................: ${have_directfb}"
226 echo "    Quartz.......................: ${have_quartz}"
227 echo "    Software X11 16 bits.........: ${have_software_16_x11}"
228 echo "    Software DirectDraw 16 bits..: ${have_software_16_ddraw}"
229 echo "    Software WinCE 16 bits.......: ${have_software_16_wince}"
230 echo
231 echo "  Installation:"
232 echo "    prefix.......................: ${prefix}"
233 echo