Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/acinclude.m4 @ 5

Last change on this file since 5 was 5, checked in by anonymous, 17 years ago

=hoffentlich gehts jetzt

File size: 20.3 KB
Line 
1# Configure paths for FreeType2
2# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
3
4dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
5dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
6dnl
7AC_DEFUN([AC_CHECK_FT2],
8[dnl
9dnl Get the cflags and libraries from the freetype-config script
10dnl
11AC_ARG_WITH(ft-prefix,
12[  --with-ft-prefix=PREFIX
13                          Prefix where FreeType is installed (optional)],
14            ft_config_prefix="$withval", ft_config_prefix="")
15AC_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="")
19AC_ARG_ENABLE(freetypetest,
20[  --disable-freetypetest  Do not try to compile and run
21                          a test FreeType program],
22              [], enable_fttest=yes)
23
24if 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
29fi
30if 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
35fi
36AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
37
38min_ft_version=ifelse([$1], ,9.1.0,$1)
39AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
40no_ft=""
41if test "$FT2_CONFIG" = "no" ; then
42  no_ft=yes
43else
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"
82dnl
83dnl Sanity checks for the results of freetype-config to some extent
84dnl
85      AC_TRY_RUN([
86#include <ft2build.h>
87#include FT_FREETYPE_H
88#include <stdio.h>
89#include <stdlib.h>
90
91int
92main()
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
112fi                 # test "$FT2_CONFIG" = "no"
113if test x$no_ft = x ; then
114   AC_MSG_RESULT(yes)
115   ifelse([$2], , :, [$2])
116else
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])
140fi
141AC_SUBST(FT2_CFLAGS)
142AC_SUBST(FT2_LIBS)
143])
144
145AC_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
161AC_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
205AC_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
256AC_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;;
277esac
278dnl you must arrange for every AM_conditional to run every time configure runs
279AM_CONDITIONAL(OGRE_NT, test x$nt = xtrue)
280AM_CONDITIONAL(OGRE_LINUX, test x$linux = xtrue)
281AM_CONDITIONAL(OGRE_OSX,test x$osx = xtrue )
282])
283
284
285AC_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
301AC_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
308if 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
320fi
321
322AM_CONDITIONAL(BUILD_EXRPLUGIN, test x$build_exr = xyes)
323
324])
325
326AC_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
333if 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        )
344fi
345
346AM_CONDITIONAL(BUILD_CGPLUGIN, test x$build_cg = xyes)
347
348])
349
350AC_DEFUN([OGRE_CHECK_CPPUNIT],
351[
352AM_PATH_CPPUNIT([1.10.0], [build_unit_tests=true])
353AM_CONDITIONAL([BUILD_UNIT_TESTS], [test x$build_unit_tests = xtrue])
354])
355
356
357AC_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
364AM_CONDITIONAL(BUILD_DX9RENDERSYSTEM, test x$build_dx9 = xyes)
365
366])
367
368
369AC_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
377AM_CONDITIONAL(USE_FREEIMAGE, test x$build_freeimage = xyes)
378
379if 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])
389else
390        AC_DEFINE([OGRE_NO_FREEIMAGE], [1], [Load images using the freeimage library])
391        OGRE_CFLAGS="$OGRE_CFLAGS -DOGRE_NO_FREEIMAGE"
392fi
393
394
395])
396
397
398AC_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
405AM_CONDITIONAL(USE_DEVIL, test x$build_il = xyes && test x$build_freeimage = xno)
406
407if 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])
411else
412if 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])
423else
424        AC_DEFINE([OGRE_NO_DEVIL], [1], [Build devil])
425fi
426fi
427
428])
429
430
431
432AC_DEFUN([OGRE_CHECK_PIC],
433[
434AC_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
446AC_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
465AC_DEFUN([OGRE_CHECK_DOUBLE],
466[
467AC_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])
472AC_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
486AC_DEFUN([OGRE_CHECK_THREADING],
487[
488AC_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
511AC_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
543dnl GUI selection support for configuration/error dialogs
544AC_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
591dnl Check whether Ogre platform and GUI to be built are the same
592dnl Fixes problem with running make distclean
593AC_DEFUN([OGRE_PLATFORM_AND_GUI],
594[AM_CONDITIONAL(SAME_PLATFORM_AND_GUI, test "x$OGRE_PLATFORM" = "x$OGRE_GUI")
595])
596
597dnl SSE support
598AC_DEFUN([OGRE_CHECK_SSE],
599[
600AC_MSG_CHECKING(whether to use SSE)
601case $target_cpu in
602        i386 | i486 | i586 | i686 | x86_64 | amd64)
603                build_sse=yes
604        ;;
605        *)
606                build_sse=no
607        ;;
608esac
609AC_MSG_RESULT($build_sse)
610AM_CONDITIONAL(OGRE_BUILD_SSE, test x$build_sse = xyes)
611])
Note: See TracBrowser for help on using the repository browser.