1 | # Configure paths for FreeType2
|
---|
2 | # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
|
---|
3 |
|
---|
4 | dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
---|
5 | dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
|
---|
6 | dnl
|
---|
7 | AC_DEFUN([AC_CHECK_FT2],
|
---|
8 | [dnl
|
---|
9 | dnl Get the cflags and libraries from the freetype-config script
|
---|
10 | dnl
|
---|
11 | AC_ARG_WITH(ft-prefix,
|
---|
12 | [ --with-ft-prefix=PREFIX
|
---|
13 | Prefix where FreeType is installed (optional)],
|
---|
14 | ft_config_prefix="$withval", ft_config_prefix="")
|
---|
15 | AC_ARG_WITH(ft-exec-prefix,
|
---|
16 | [ --with-ft-exec-prefix=PREFIX
|
---|
17 | Exec prefix where FreeType is installed (optional)],
|
---|
18 | ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
|
---|
19 | AC_ARG_ENABLE(freetypetest,
|
---|
20 | [ --disable-freetypetest Do not try to compile and run
|
---|
21 | a test FreeType program],
|
---|
22 | [], enable_fttest=yes)
|
---|
23 |
|
---|
24 | if test x$ft_config_exec_prefix != x ; then
|
---|
25 | ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
|
---|
26 | if test x${FT2_CONFIG+set} != xset ; then
|
---|
27 | FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
|
---|
28 | fi
|
---|
29 | fi
|
---|
30 | if test x$ft_config_prefix != x ; then
|
---|
31 | ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
|
---|
32 | if test x${FT2_CONFIG+set} != xset ; then
|
---|
33 | FT2_CONFIG=$ft_config_prefix/bin/freetype-config
|
---|
34 | fi
|
---|
35 | fi
|
---|
36 | AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
|
---|
37 |
|
---|
38 | min_ft_version=ifelse([$1], ,9.1.0,$1)
|
---|
39 | AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
|
---|
40 | no_ft=""
|
---|
41 | if test "$FT2_CONFIG" = "no" ; then
|
---|
42 | no_ft=yes
|
---|
43 | else
|
---|
44 | FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
|
---|
45 | FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
|
---|
46 | ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
|
---|
47 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
---|
48 | ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
|
---|
49 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
---|
50 | ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
|
---|
51 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
---|
52 | ft_min_major_version=`echo $min_ft_version | \
|
---|
53 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
---|
54 | ft_min_minor_version=`echo $min_ft_version | \
|
---|
55 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
---|
56 | ft_min_micro_version=`echo $min_ft_version | \
|
---|
57 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
---|
58 | if test x$enable_fttest = xyes ; then
|
---|
59 | ft_config_is_lt=""
|
---|
60 | if test $ft_config_major_version -lt $ft_min_major_version ; then
|
---|
61 | ft_config_is_lt=yes
|
---|
62 | else
|
---|
63 | if test $ft_config_major_version -eq $ft_min_major_version ; then
|
---|
64 | if test $ft_config_minor_version -lt $ft_min_minor_version ; then
|
---|
65 | ft_config_is_lt=yes
|
---|
66 | else
|
---|
67 | if test $ft_config_minor_version -eq $ft_min_minor_version ; then
|
---|
68 | if test $ft_config_micro_version -lt $ft_min_micro_version ; then
|
---|
69 | ft_config_is_lt=yes
|
---|
70 | fi
|
---|
71 | fi
|
---|
72 | fi
|
---|
73 | fi
|
---|
74 | fi
|
---|
75 | if test x$ft_config_is_lt = xyes ; then
|
---|
76 | no_ft=yes
|
---|
77 | else
|
---|
78 | ac_save_CFLAGS="$CFLAGS"
|
---|
79 | ac_save_LIBS="$LIBS"
|
---|
80 | CFLAGS="$CFLAGS $FT2_CFLAGS"
|
---|
81 | LIBS="$FT2_LIBS $LIBS"
|
---|
82 | dnl
|
---|
83 | dnl Sanity checks for the results of freetype-config to some extent
|
---|
84 | dnl
|
---|
85 | AC_TRY_RUN([
|
---|
86 | #include <ft2build.h>
|
---|
87 | #include FT_FREETYPE_H
|
---|
88 | #include <stdio.h>
|
---|
89 | #include <stdlib.h>
|
---|
90 |
|
---|
91 | int
|
---|
92 | main()
|
---|
93 | {
|
---|
94 | FT_Library library;
|
---|
95 | FT_Error error;
|
---|
96 |
|
---|
97 | error = FT_Init_FreeType(&library);
|
---|
98 |
|
---|
99 | if (error)
|
---|
100 | return 1;
|
---|
101 | else
|
---|
102 | {
|
---|
103 | FT_Done_FreeType(library);
|
---|
104 | return 0;
|
---|
105 | }
|
---|
106 | }
|
---|
107 | ],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
---|
108 | CFLAGS="$ac_save_CFLAGS"
|
---|
109 | LIBS="$ac_save_LIBS"
|
---|
110 | fi # test $ft_config_version -lt $ft_min_version
|
---|
111 | fi # test x$enable_fttest = xyes
|
---|
112 | fi # test "$FT2_CONFIG" = "no"
|
---|
113 | if test x$no_ft = x ; then
|
---|
114 | AC_MSG_RESULT(yes)
|
---|
115 | ifelse([$2], , :, [$2])
|
---|
116 | else
|
---|
117 | AC_MSG_RESULT(no)
|
---|
118 | if test "$FT2_CONFIG" = "no" ; then
|
---|
119 | echo "*** The freetype-config script installed by FreeType 2 could not be found."
|
---|
120 | echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
|
---|
121 | echo "*** your path, or set the FT2_CONFIG environment variable to the"
|
---|
122 | echo "*** full path to freetype-config."
|
---|
123 | else
|
---|
124 | if test x$ft_config_is_lt = xyes ; then
|
---|
125 | echo "*** Your installed version of the FreeType 2 library is too old."
|
---|
126 | echo "*** If you have different versions of FreeType 2, make sure that"
|
---|
127 | echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
|
---|
128 | echo "*** are used, or set the FT2_CONFIG environment variable to the"
|
---|
129 | echo "*** full path to freetype-config."
|
---|
130 | else
|
---|
131 | echo "*** The FreeType test program failed to run. If your system uses"
|
---|
132 | echo "*** shared libraries and they are installed outside the normal"
|
---|
133 | echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
|
---|
134 | echo "*** (or whatever is appropiate for your system) is correctly set."
|
---|
135 | fi
|
---|
136 | fi
|
---|
137 | FT2_CFLAGS=""
|
---|
138 | FT2_LIBS=""
|
---|
139 | ifelse([$3], , :, [$3])
|
---|
140 | fi
|
---|
141 | AC_SUBST(FT2_CFLAGS)
|
---|
142 | AC_SUBST(FT2_LIBS)
|
---|
143 | ])
|
---|
144 |
|
---|
145 | AC_DEFUN([OGRE_USE_STLPORT],
|
---|
146 | [AC_ARG_WITH(stlport,
|
---|
147 | AC_HELP_STRING([--with-stlport=PATH],
|
---|
148 | [the path to STLPort.]),
|
---|
149 | ac_cv_use_stlport=$withval,
|
---|
150 | ac_cv_use_stlport=no)
|
---|
151 | AC_CACHE_CHECK([whether to use STLPort], ac_cv_use_stlport,
|
---|
152 | ac_cv_use_stlport=no)
|
---|
153 | if test x$ac_cv_use_stlport != xno; then
|
---|
154 | STLPORT_CFLAGS="-I$ac_cv_use_stlport/stlport"
|
---|
155 | STLPORT_LIBS="-L$ac_cv_use_stlport/lib -lstlport"
|
---|
156 | fi
|
---|
157 | AC_SUBST(STLPORT_CFLAGS)
|
---|
158 | AC_SUBST(STLPORT_LIBS)
|
---|
159 | ])
|
---|
160 |
|
---|
161 | AC_DEFUN([OGRE_GET_PLATFORM],
|
---|
162 | [OGRE_PLATFORM=GLX
|
---|
163 | AC_ARG_WITH(platform,
|
---|
164 | AC_HELP_STRING([--with-platform=PLATFORM],
|
---|
165 | [the platform to build, currently GLX or Win32]),
|
---|
166 | OGRE_PLATFORM=$withval,
|
---|
167 | OGRE_PLATFORM=GLX)
|
---|
168 |
|
---|
169 | PLATFORM_CFLAGS=""
|
---|
170 | PLATFORM_LIBS=""
|
---|
171 |
|
---|
172 | dnl Do the extra checks per type here
|
---|
173 | case $OGRE_PLATFORM in
|
---|
174 | GLX)
|
---|
175 | AC_CHECK_HEADERS([X11/Intrinsic.h],, [AC_MSG_ERROR("libxt headers not found")])
|
---|
176 | AC_CHECK_HEADERS([X11/Xaw/Command.h],, [AC_MSG_ERROR("libxaw headers not found")])
|
---|
177 | AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],, [AC_MSG_ERROR("libxf86vm headers not found")],[#include <X11/Xlib.h>])
|
---|
178 | AC_CHECK_HEADERS([X11/extensions/Xrandr.h],, [AC_MSG_ERROR("libxrandr headers not found")],[#include <X11/Xlib.h>])
|
---|
179 | AC_PATH_X
|
---|
180 | if test x"$x_includes" != x; then
|
---|
181 | if test x"$x_includes" != xNONE; then
|
---|
182 | PLATFORM_CFLAGS="-I$x_includes"
|
---|
183 | fi
|
---|
184 | fi
|
---|
185 | if test x"$x_libraries" != x; then
|
---|
186 | if test x"$x_libraries" != xNONE; then
|
---|
187 | PLATFORM_LIBS="-L$x_libraries -lX11 -lXaw"
|
---|
188 | fi
|
---|
189 | dnl In case of xorg 7.x, $x_libraries is empty
|
---|
190 | else
|
---|
191 | PLATFORM_LIBS="-lX11 -lXaw"
|
---|
192 | fi
|
---|
193 | ;;
|
---|
194 | Win32)
|
---|
195 | PLATFORM_CFLAGS=""
|
---|
196 | PLATFORM_LIBS="-lgdi32 -lwinmm -ldinput8 -ldxguid"
|
---|
197 | ;;
|
---|
198 | esac
|
---|
199 |
|
---|
200 | AC_SUBST(PLATFORM_CFLAGS)
|
---|
201 | AC_SUBST(PLATFORM_LIBS)
|
---|
202 | AC_SUBST(OGRE_PLATFORM)
|
---|
203 | ])
|
---|
204 |
|
---|
205 | AC_DEFUN([OGRE_GET_GLSUPPORT],
|
---|
206 | [OGRE_GLSUPPORT=none
|
---|
207 | AC_ARG_WITH(gl-support,
|
---|
208 | AC_HELP_STRING([--with-gl-support=PLATFORM],
|
---|
209 | [ The GLsupport to build (GLX or Win32). Defaults to the platform. Only set this if you know what you are doing. Use --with-platform otherwise.]),
|
---|
210 | OGRE_GLSUPPORT=$withval,
|
---|
211 | OGRE_GLSUPPORT=none)
|
---|
212 |
|
---|
213 | if test "$OGRE_GLSUPPORT" = "none" ; then
|
---|
214 | OGRE_GLSUPPORT="$OGRE_PLATFORM"
|
---|
215 | AC_MSG_NOTICE([setting gl-support to platform: $OGRE_GLSUPPORT])
|
---|
216 | fi
|
---|
217 | if test "$OGRE_GLSUPPORT" = "Win32" ; then
|
---|
218 | # Uppercase/lowercase
|
---|
219 | OGRE_GLSUPPORT=win32
|
---|
220 | fi
|
---|
221 |
|
---|
222 | GLSUPPORT_CFLAGS=""
|
---|
223 | GLSUPPORT_LIBS=""
|
---|
224 |
|
---|
225 | dnl Do the extra checks per type here
|
---|
226 | case $OGRE_GLSUPPORT in
|
---|
227 | GLX)
|
---|
228 | AC_PATH_X
|
---|
229 | if test x"$x_includes" != x; then
|
---|
230 | if test x"$x_includes" != xNONE; then
|
---|
231 | GLSUPPORT_CFLAGS="-I$x_includes"
|
---|
232 | fi
|
---|
233 | fi
|
---|
234 | if test x"$x_libraries" != x; then
|
---|
235 | if test x"$x_libraries" != xNONE; then
|
---|
236 | GLSUPPORT_LIBS="-L$x_libraries -lX11 -lXext -lGL -lXrandr -lXxf86vm"
|
---|
237 | fi
|
---|
238 | dnl In case of xorg 7.x $x_libraries might be empty
|
---|
239 | else
|
---|
240 | GLSUPPORT_LIBS="-lX11 -lXext -lGL -lXrandr -lXxf86vm"
|
---|
241 | fi
|
---|
242 | ;;
|
---|
243 | win32)
|
---|
244 | GLSUPPORT_CFLAGS=""
|
---|
245 | GLSUPPORT_LIBS="-lgdi32 -lwinmm"
|
---|
246 | ;;
|
---|
247 | esac
|
---|
248 |
|
---|
249 | AC_SUBST(GLSUPPORT_CFLAGS)
|
---|
250 | AC_SUBST(GLSUPPORT_LIBS)
|
---|
251 | AC_SUBST(OGRE_GLSUPPORT)
|
---|
252 | AC_CONFIG_FILES([RenderSystems/GL/src/GLX/Makefile
|
---|
253 | RenderSystems/GL/src/win32/Makefile])
|
---|
254 | ])
|
---|
255 |
|
---|
256 | AC_DEFUN([OGRE_SETUP_FOR_TARGET],
|
---|
257 | [case $host in
|
---|
258 | *-*-cygwin* | *-*-mingw* | *-*-pw32*)
|
---|
259 | AC_SUBST(SHARED_FLAGS, "-shared -no-undefined -Xlinker --export-all-symbols")
|
---|
260 | AC_SUBST(PLUGIN_FLAGS, "-shared -no-undefined -avoid-version")
|
---|
261 | AC_SUBST(GL_LIBS, "-lopengl32 -lglu32")
|
---|
262 | AC_CHECK_TOOL(RC, windres)
|
---|
263 | nt=true
|
---|
264 | ;;
|
---|
265 | *-*-darwin*)
|
---|
266 | AC_SUBST(SHARED_FLAGS, "-shared")
|
---|
267 | AC_SUBST(PLUGIN_FLAGS, "-shared -avoid-version")
|
---|
268 | AC_SUBST(GL_LIBS, "-lGL -lGLU")
|
---|
269 | osx=true
|
---|
270 | ;;
|
---|
271 | *) dnl default to standard linux
|
---|
272 | AC_SUBST(SHARED_FLAGS, "-shared")
|
---|
273 | AC_SUBST(PLUGIN_FLAGS, "-shared -avoid-version")
|
---|
274 | AC_SUBST(GL_LIBS, "-lGL -lGLU")
|
---|
275 | linux=true
|
---|
276 | ;;
|
---|
277 | esac
|
---|
278 | dnl you must arrange for every AM_conditional to run every time configure runs
|
---|
279 | AM_CONDITIONAL(OGRE_NT, test x$nt = xtrue)
|
---|
280 | AM_CONDITIONAL(OGRE_LINUX, test x$linux = xtrue)
|
---|
281 | AM_CONDITIONAL(OGRE_OSX,test x$osx = xtrue )
|
---|
282 | ])
|
---|
283 |
|
---|
284 |
|
---|
285 | AC_DEFUN([OGRE_DETECT_ENDIAN],
|
---|
286 | [AC_TRY_RUN([
|
---|
287 | int main()
|
---|
288 | {
|
---|
289 | short s = 1;
|
---|
290 | short* ptr = &s;
|
---|
291 | unsigned char c = *((char*)ptr);
|
---|
292 | return c;
|
---|
293 | }
|
---|
294 | ]
|
---|
295 | ,[AC_DEFINE(OGRE_CONFIG_BIG_ENDIAN,,[Big endian machine])
|
---|
296 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_CONFIG_BIG_ENDIAN"]
|
---|
297 | ,[AC_DEFINE(OGRE_CONFIG_LITTLE_ENDIAN,,[Little endian machine])
|
---|
298 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_CONFIG_LITTLE_ENDIAN"])
|
---|
299 | ])
|
---|
300 |
|
---|
301 | AC_DEFUN([OGRE_CHECK_OPENEXR],
|
---|
302 | [AC_ARG_ENABLE(openexr,
|
---|
303 | AC_HELP_STRING([--enable-openexr],
|
---|
304 | [Build the OpenEXR plugin]),
|
---|
305 | [build_exr=$enableval],
|
---|
306 | [build_exr=no])
|
---|
307 |
|
---|
308 | if test "x$build_exr" = "xyes" ; then
|
---|
309 | PKG_CHECK_MODULES(OPENEXR, OpenEXR, [build_exr=yes], [build_exr=no])
|
---|
310 |
|
---|
311 | if test "x$build_exr" = "xyes" ; then
|
---|
312 | AC_CONFIG_FILES([ PlugIns/EXRCodec/Makefile \
|
---|
313 | PlugIns/EXRCodec/src/Makefile \
|
---|
314 | PlugIns/EXRCodec/include/Makefile])
|
---|
315 | AC_SUBST(OPENEXR_CFLAGS)
|
---|
316 | AC_SUBST(OPENEXR_LIBS)
|
---|
317 |
|
---|
318 | fi
|
---|
319 |
|
---|
320 | fi
|
---|
321 |
|
---|
322 | AM_CONDITIONAL(BUILD_EXRPLUGIN, test x$build_exr = xyes)
|
---|
323 |
|
---|
324 | ])
|
---|
325 |
|
---|
326 | AC_DEFUN([OGRE_CHECK_CG],
|
---|
327 | [AC_ARG_ENABLE(cg,
|
---|
328 | AC_HELP_STRING([--disable-cg],
|
---|
329 | [Do not build the Cg plugin (recommended you do so!)]),
|
---|
330 | [build_cg=$enableval],
|
---|
331 | [build_cg=yes])
|
---|
332 |
|
---|
333 | if test "x$build_cg" = "xyes" ; then
|
---|
334 | AC_CHECK_LIB(Cg, cgCreateProgram,,AC_MSG_ERROR([
|
---|
335 | ****************************************************************
|
---|
336 | * You do not have the nVidia Cg libraries installed. *
|
---|
337 | * Go to http://developer.nvidia.com/object/cg_toolkit.html *
|
---|
338 | * (Click on Cg_Linux.tar.gz). *
|
---|
339 | * You can disable the building of Cg support by providing *
|
---|
340 | * --disable-cg to this configure script but this is highly *
|
---|
341 | * discouraged as this breaks many of the examples. *
|
---|
342 | ****************************************************************])
|
---|
343 | )
|
---|
344 | fi
|
---|
345 |
|
---|
346 | AM_CONDITIONAL(BUILD_CGPLUGIN, test x$build_cg = xyes)
|
---|
347 |
|
---|
348 | ])
|
---|
349 |
|
---|
350 | AC_DEFUN([OGRE_CHECK_CPPUNIT],
|
---|
351 | [
|
---|
352 | AM_PATH_CPPUNIT([1.10.0], [build_unit_tests=true])
|
---|
353 | AM_CONDITIONAL([BUILD_UNIT_TESTS], [test x$build_unit_tests = xtrue])
|
---|
354 | ])
|
---|
355 |
|
---|
356 |
|
---|
357 | AC_DEFUN([OGRE_CHECK_DX9],
|
---|
358 | [AC_ARG_ENABLE(direct3d,
|
---|
359 | AC_HELP_STRING([--enable-direct3d],
|
---|
360 | [Build the DirectX 9 Render System]),
|
---|
361 | [build_dx9=$enableval],
|
---|
362 | [build_dx9=no])
|
---|
363 |
|
---|
364 | AM_CONDITIONAL(BUILD_DX9RENDERSYSTEM, test x$build_dx9 = xyes)
|
---|
365 |
|
---|
366 | ])
|
---|
367 |
|
---|
368 |
|
---|
369 | AC_DEFUN([OGRE_CHECK_FREEIMAGE],
|
---|
370 | [AC_ARG_ENABLE(freeimage,
|
---|
371 | AC_HELP_STRING([--disable-freeimage],
|
---|
372 | [Don't use FreeImage for image loading. This is not recommended unless you provide your own image loading codecs.]),
|
---|
373 | [build_freeimage=$enableval],
|
---|
374 | [build_freeimage=yes])
|
---|
375 |
|
---|
376 |
|
---|
377 | AM_CONDITIONAL(USE_FREEIMAGE, test x$build_freeimage = xyes)
|
---|
378 |
|
---|
379 | if test "x$build_freeimage" = "xyes" ; then
|
---|
380 | AC_CHECK_LIB(freeimage, FreeImage_Load,,AC_MSG_ERROR([
|
---|
381 | ****************************************************************
|
---|
382 | * You do not have FreeImage installed. This is required. *
|
---|
383 | * You may find it at http://freeimage.sourceforge.net/. *
|
---|
384 | * Note: You can also provide --disable-freeimage to the build *
|
---|
385 | * process to build without it. This is an advanced option *
|
---|
386 | * useful only if you provide your own image loading codecs. *
|
---|
387 | ****************************************************************]), -lstdc++)
|
---|
388 | AC_DEFINE([OGRE_NO_FREEIMAGE], [0], [Do not use freeimage to load images])
|
---|
389 | else
|
---|
390 | AC_DEFINE([OGRE_NO_FREEIMAGE], [1], [Load images using the freeimage library])
|
---|
391 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_NO_FREEIMAGE"
|
---|
392 | fi
|
---|
393 |
|
---|
394 |
|
---|
395 | ])
|
---|
396 |
|
---|
397 |
|
---|
398 | AC_DEFUN([OGRE_CHECK_DEVIL],
|
---|
399 | [AC_ARG_ENABLE(devil,
|
---|
400 | AC_HELP_STRING([--disable-devil],
|
---|
401 | [Don't use DevIL for image loading. This is not recommended unless you provide your own image loading codecs.]),
|
---|
402 | [build_il=$enableval],
|
---|
403 | [build_il=yes])
|
---|
404 |
|
---|
405 | AM_CONDITIONAL(USE_DEVIL, test x$build_il = xyes && test x$build_freeimage = xno)
|
---|
406 |
|
---|
407 | if test "x$build_freeimage" = "xyes"; then
|
---|
408 | AC_MSG_NOTICE([Freeimage is being built, disabling check for DevIL.])
|
---|
409 | [build_il=no]
|
---|
410 | AC_DEFINE([OGRE_NO_DEVIL], [1], [Build devil])
|
---|
411 | else
|
---|
412 | if test "x$build_il" = "xyes"; then
|
---|
413 | AC_CHECK_LIB(IL, ilInit,,AC_MSG_ERROR([
|
---|
414 | ****************************************************************
|
---|
415 | * You do not have DevIL installed. This is required to build. *
|
---|
416 | * You may find it at http://openil.sourceforge.net/. *
|
---|
417 | * Note: You can also provide --disable-devil to the build *
|
---|
418 | * process to build without DevIL. This is an advanced option *
|
---|
419 | * useful only if you provide your own image loading codecs. *
|
---|
420 | ****************************************************************]))
|
---|
421 | AC_CHECK_LIB(ILU, iluFlipImage)
|
---|
422 | AC_DEFINE([OGRE_NO_DEVIL], [0], [Build devil])
|
---|
423 | else
|
---|
424 | AC_DEFINE([OGRE_NO_DEVIL], [1], [Build devil])
|
---|
425 | fi
|
---|
426 | fi
|
---|
427 |
|
---|
428 | ])
|
---|
429 |
|
---|
430 |
|
---|
431 |
|
---|
432 | AC_DEFUN([OGRE_CHECK_PIC],
|
---|
433 | [
|
---|
434 | AC_MSG_CHECKING([whether -fPIC is needed])
|
---|
435 | case $host in
|
---|
436 | x86_64-*)
|
---|
437 | CXXFLAGS="$CXXFLAGS -fPIC"
|
---|
438 | AC_MSG_RESULT(yes)
|
---|
439 | ;;
|
---|
440 | *)
|
---|
441 | AC_MSG_RESULT(no)
|
---|
442 | ;;
|
---|
443 | esac
|
---|
444 | ])
|
---|
445 |
|
---|
446 | AC_DEFUN([OGRE_CHECK_CEGUI], [
|
---|
447 | PKG_CHECK_MODULES(CEGUI, CEGUI >= 0.5.0,
|
---|
448 | [build_cegui_sample=true], [build_cegui_sample=false])
|
---|
449 | if test x$build_cegui_sample = xtrue; then
|
---|
450 | AC_CONFIG_FILES([Samples/Common/CEGUIRenderer/Makefile \
|
---|
451 | Samples/Common/CEGUIRenderer/CEGUI-OGRE.pc
|
---|
452 | Samples/Common/CEGUIRenderer/src/Makefile \
|
---|
453 | Samples/Common/CEGUIRenderer/include/Makefile \
|
---|
454 | Samples/Gui/Makefile \
|
---|
455 | Samples/Gui/src/Makefile])
|
---|
456 | AC_SUBST(CEGUI_CFLAGS)
|
---|
457 | AC_SUBST(CEGUI_LIBS)
|
---|
458 | AC_MSG_RESULT([CEGUI available, Gui and FacialAnimation samples will be built])
|
---|
459 | else
|
---|
460 | AC_MSG_RESULT([CEGUI not available, Gui and FacialAnimation samples will not be built])
|
---|
461 | fi
|
---|
462 | AM_CONDITIONAL([HAVE_CEGUI], [test x$build_cegui_sample = xtrue])
|
---|
463 | ])
|
---|
464 |
|
---|
465 | AC_DEFUN([OGRE_CHECK_DOUBLE],
|
---|
466 | [
|
---|
467 | AC_ARG_ENABLE(double,
|
---|
468 | AC_HELP_STRING([--enable-double],
|
---|
469 | [Build OGRE in double floating point precision mode. This is not recommended for normal use as it is slower.]),
|
---|
470 | [build_double=$enableval],
|
---|
471 | [build_double=no])
|
---|
472 | AC_MSG_CHECKING([whether to use double floating point precision])
|
---|
473 | case $build_double in
|
---|
474 | yes)
|
---|
475 | AC_DEFINE([OGRE_DOUBLE_PRECISION], [1], [Build with double precision])
|
---|
476 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_DOUBLE_PRECISION"
|
---|
477 | AC_MSG_RESULT(yes)
|
---|
478 | ;;
|
---|
479 | *)
|
---|
480 | AC_DEFINE([OGRE_DOUBLE_PRECISION], [0], [Build with single precision])
|
---|
481 | AC_MSG_RESULT(no)
|
---|
482 | ;;
|
---|
483 | esac
|
---|
484 | ])
|
---|
485 |
|
---|
486 | AC_DEFUN([OGRE_CHECK_THREADING],
|
---|
487 | [
|
---|
488 | AC_ARG_ENABLE(threading,
|
---|
489 | AC_HELP_STRING([--enable-threading],
|
---|
490 | [Indicate general support for multithreading. This will enable threading support in certain parts of the engine, mainly resource loading and SharedPtr handling. WARNING: highly experimental, use with caution.]),
|
---|
491 | [build_threads=$enableval],
|
---|
492 | [build_threads=no])
|
---|
493 | case $build_threads in
|
---|
494 | yes)
|
---|
495 | AC_DEFINE([OGRE_THREAD_SUPPORT], [1], [Build with thread support])
|
---|
496 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_THREAD_SUPPORT"
|
---|
497 | # Check for the C++ Boost library
|
---|
498 | AC_CHECK_LIB(boost_thread, main, OGRE_THREAD_LIBS="-lboost_thread", [
|
---|
499 | AC_CHECK_LIB(boost_thread-mt, main, OGRE_THREAD_LIBS="-lboost_thread-mt", [
|
---|
500 | AC_MSG_ERROR([You need the C++ boost libraries.])])])
|
---|
501 | ;;
|
---|
502 | *)
|
---|
503 | AC_DEFINE([OGRE_THREAD_SUPPORT], [0], [Build with thread support])
|
---|
504 | OGRE_THREAD_LIBS=""
|
---|
505 | AC_MSG_RESULT(no)
|
---|
506 | ;;
|
---|
507 | esac
|
---|
508 | AC_SUBST(OGRE_THREAD_LIBS)
|
---|
509 | ])
|
---|
510 |
|
---|
511 | AC_DEFUN([OGRE_BUILD_DEMOS], [
|
---|
512 | AC_ARG_ENABLE(ogre_demos,
|
---|
513 | AC_HELP_STRING([--disable-ogre-demos],
|
---|
514 | [Do not build Ogre demos (CEGUI Renderer - if enabled/disabled, is not affected by this]),
|
---|
515 | [build_ogre_demos=$enableval], [build_ogre_demos=yes])
|
---|
516 |
|
---|
517 | if test "x$build_ogre_demos" = "xyes" ; then
|
---|
518 | PKG_CHECK_MODULES(OIS, OIS >= 1.0.0, [ois_found=yes],[ois_found=no])
|
---|
519 | AC_SUBST(OIS_CFLAGS)
|
---|
520 | AC_SUBST(OIS_LIBS)
|
---|
521 |
|
---|
522 | if test "x$ois_found" = "xyes" ; then
|
---|
523 | AC_MSG_NOTICE([*** Ogre Demos will be built ***])
|
---|
524 | else
|
---|
525 | build_ogre_demos=no
|
---|
526 | AC_MSG_NOTICE([
|
---|
527 | ****************************************************************
|
---|
528 | * You do not have OIS installed. This is required to build *
|
---|
529 | * Ogre demos. You may find it at: *
|
---|
530 | * http://www.sourceforge.net/projects/wgois. *
|
---|
531 | * If you do not want to build the demos, you can safely ignore *
|
---|
532 | * this. *
|
---|
533 | ****************************************************************])
|
---|
534 | fi
|
---|
535 | else
|
---|
536 | build_ogre_demos=no
|
---|
537 | AC_MSG_NOTICE([*** Building of Ogre demos disabled ***])
|
---|
538 | fi
|
---|
539 |
|
---|
540 | AM_CONDITIONAL([OGRE_BUILDING_DEMOS], [test x$build_ogre_demos = xyes])
|
---|
541 | ])
|
---|
542 |
|
---|
543 | dnl GUI selection support for configuration/error dialogs
|
---|
544 | AC_DEFUN([OGRE_CHECK_GUI],
|
---|
545 | [
|
---|
546 | AC_ARG_WITH([gui],
|
---|
547 | AC_HELP_STRING([--with-gui=type], [Select the GUI type to use for dialogs (win32, gtk, Xt) (default: auto)]),
|
---|
548 | [with_gui=${withval}], [with_gui=auto])
|
---|
549 |
|
---|
550 | #remove any old files
|
---|
551 | rm -f OgreMain/src/OgreConfigDialog.lo OgreMain/src/OgreErrorDialog.lo
|
---|
552 |
|
---|
553 | # Prefer win32, then gtk, then Xt
|
---|
554 | if test "x$with_gui" == "xauto" && test "x$OGRE_PLATFORM" == "xWIN32"; then
|
---|
555 | with_gui=win32
|
---|
556 | fi
|
---|
557 |
|
---|
558 | if test "x$with_gui" == "xauto" || test "x$with_gui" == "xgtk"; then
|
---|
559 | PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.0.0, [with_gui=gtk], [
|
---|
560 | if test "x$with_gui" == "xgtk"; then
|
---|
561 | AC_MSG_ERROR([You chose gtk for the GUI but gtk is not available.])
|
---|
562 | fi
|
---|
563 | ])
|
---|
564 | fi
|
---|
565 |
|
---|
566 | if test "x$with_gui" == "xauto"; then
|
---|
567 | with_gui=Xt
|
---|
568 | fi
|
---|
569 |
|
---|
570 | if test "x$with_gui" == "xwin32"; then
|
---|
571 | OGRE_GUI=WIN32
|
---|
572 | elif test "x$with_gui" == "xgtk"; then
|
---|
573 | OGRE_GUI=gtk
|
---|
574 | elif test "x$with_gui" == "xXt"; then
|
---|
575 | OGRE_GUI=GLX
|
---|
576 | PLATFORM_LIBS="$PLATFORM_LIBS -lXt -lSM -lICE"
|
---|
577 | else
|
---|
578 | AC_MSG_ERROR([The GUI dialogs for $with_gui are not available.])
|
---|
579 | fi
|
---|
580 |
|
---|
581 | # Add the OGRE_GUI_xxx flag to compiler command line
|
---|
582 | PLATFORM_CFLAGS="$PLATFORM_CFLAGS -DOGRE_GUI_$OGRE_GUI"
|
---|
583 | # And export it to client applications as well
|
---|
584 | OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_GUI_$OGRE_GUI"
|
---|
585 |
|
---|
586 | AC_SUBST(OGRE_GUI)
|
---|
587 | AC_SUBST(GTK_CFLAGS)
|
---|
588 | AC_SUBST(GTK_LIBS)
|
---|
589 | ])
|
---|
590 |
|
---|
591 | dnl Check whether Ogre platform and GUI to be built are the same
|
---|
592 | dnl Fixes problem with running make distclean
|
---|
593 | AC_DEFUN([OGRE_PLATFORM_AND_GUI],
|
---|
594 | [AM_CONDITIONAL(SAME_PLATFORM_AND_GUI, test "x$OGRE_PLATFORM" = "x$OGRE_GUI")
|
---|
595 | ])
|
---|
596 |
|
---|
597 | dnl SSE support
|
---|
598 | AC_DEFUN([OGRE_CHECK_SSE],
|
---|
599 | [
|
---|
600 | AC_MSG_CHECKING(whether to use SSE)
|
---|
601 | case $target_cpu in
|
---|
602 | i386 | i486 | i586 | i686 | x86_64 | amd64)
|
---|
603 | build_sse=yes
|
---|
604 | ;;
|
---|
605 | *)
|
---|
606 | build_sse=no
|
---|
607 | ;;
|
---|
608 | esac
|
---|
609 | AC_MSG_RESULT($build_sse)
|
---|
610 | AM_CONDITIONAL(OGRE_BUILD_SSE, test x$build_sse = xyes)
|
---|
611 | ])
|
---|