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