Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/preferences/configure.ac @ 6773

Last change on this file since 6773 was 6423, checked in by bensch, 19 years ago

trunk: staticModel now uses vector instead of tArray (more portable)

File size: 18.1 KB
Line 
1##########################################################################
2#   orxonox - the future of 3D-vertical-scrollers                        #
3#                                                                        #
4#   Copyright (C) 2004 orx                                               #
5#                                                                        #
6#   This program is free software; you can redistribute it and/or modify #
7#   it under the terms of the GNU General Public License as published by #
8#   the Free Software Foundation; either version 2, or (at your option)  #
9#   any later version.                                                   #
10#                                                                        #
11#   ### File Specific:                                                   #
12#   main-programmer: Benjamin Grauer                                     #
13#   co-programmer: ...                                                   #
14#                                                                        #
15#   This is the main configuration File of autoconf.                     #
16#   Please edit this file only, if you exactly know what you are doing.  #
17#   It is quite fragile, and compiling orxonox on different Platforms    #
18#   is only guarantied, if build with the right config.                  #
19#                                                                        #
20#   be sure to visit us at http://www.orxonox.net                        #
21##########################################################################
22
23#########################
24## AUTOCONF INIT PHASE ##
25#########################
26AC_PREREQ(2.59)
27AC_INIT([orxonox], [0.3.2_alpha], [orxonox-dev at mail.datacore.ch])
28
29## Detect the canonical host and target build environment.
30AC_CANONICAL_BUILD
31AC_CANONICAL_HOST
32AC_CANONICAL_TARGET
33
34AM_INIT_AUTOMAKE
35
36AC_CONFIG_SRCDIR([./src])
37AC_CONFIG_HEADER([config.h])
38
39#########################
40## Checks for programs ##
41#########################
42AC_PROG_CXX
43AC_PROG_RANLIB
44AC_HEADER_STDC
45
46## THIS IS OUR DEFAULT-DATA-DIRECTORY
47
48##################################
49## CHECKING  OPTIONAL ARGUMENTS ##
50##################################
51#----------------#
52# Data-Directory #
53#----------------#
54DATA_DIR=$datadir
55echo \$\{prefix\}
56if test $DATA_DIR = \$\{prefix\}/share ; then
57        echo "not given"
58        DATA_DIR=/usr/share
59else
60        echo "given: $DATA_DIR"
61fi
62AC_DEFINE_UNQUOTED([DATADIR], ["$DATA_DIR"],
63                   [Define to the read-only architecture-independent
64                    data directory.])
65
66#-----------------#
67# shared-lib-path #
68#-----------------#
69SHARED_LIB_PATH=no
70AC_MSG_CHECKING([shared lib path])
71AC_ARG_WITH([shared-lib-path],
72        AS_HELP_STRING(--with-shared-lib-path,Tells the executable, where to look for the shared libraries.),
73         SHARED_LIB_PATH=$withval)
74if test x$SHARED_LIB_PATH != xno; then
75        echo "set to $SHARED_LIB_PATH"
76else
77        echo "no"
78fi
79
80
81#-----------------#
82# DEBUG-statement #
83#-----------------#
84DEBUG=no
85AC_MSG_CHECKING([if DEBUG-mode should be enabled])
86AC_ARG_ENABLE([debug],
87        AS_HELP_STRING(--enable-debug,compiles in debug mode. Lots of debug info about the game.),
88         DEBUG=$enableval)
89
90if test x$DEBUG = xno; then
91        echo "no"
92        echo " -> Setting debuglevel to 4. (orxonox is still in Development. It really is needed."
93        DEBUG=4
94elif test x$DEBUG = xyes; then
95        echo "yes"
96        echo " -> Setting debuglevel to 4. HARD DEBUG MODE!!."
97        DEBUG=4
98else
99        echo "yes: setting debuglevel to to $DEBUG"
100fi
101AC_DEFINE_UNQUOTED(DEBUG, $DEBUG, [in which debug mode we are])
102AC_SUBST(DEBUG)
103
104#---------------#
105# Modular Debug #
106#---------------#
107MODULAR_DEBUG=yes
108AC_MSG_CHECKING([if Modular-DEBUG-mode should be ebabled])
109AC_ARG_ENABLE([modular-debug],
110        AS_HELP_STRING(--disable-modular-debug,compiles in modular-debug mode, that logs differently on the many modules of orxonox.),
111         MODULAR_DEBUG=$enableval)
112
113if test x$MODULAR_DEBUG = xno; then
114        echo "no"
115elif test x$MODULAR_DEBUG = xyes; then
116        echo "yes"
117        AC_DEFINE_UNQUOTED(MODULAR_DEBUG, 1, [if Modular-DUBUG mode is enabled])
118fi
119
120#--------------#
121# GTK-disabled #
122#--------------#
123AC_MSG_CHECKING([if gtk should be enabled])
124AC_ARG_ENABLE([gtk],
125        AS_HELP_STRING(--disable-gtk,Prevents GTK from being loaded), [def_gtk=no], [def_gtk=yes])
126if test x$def_gtk = xyes; then
127  echo "yes"
128fi
129if test x$def_gtk = xno; then
130  echo "no"
131fi
132
133#------------------#
134# libCurl-disabled #
135#------------------#
136AC_MSG_CHECKING([if libcURL should be enabled])
137AC_ARG_ENABLE([curl],
138        AS_HELP_STRING(--disable-curl,Prevents libcURL from being loaded), [def_curl=no], [def_curl=yes])
139if test x$def_curl = xyes; then
140  echo "yes"
141fi
142if test x$def_curl = xno; then
143  echo "no"
144fi
145
146#-------------------#
147# SubProject-enable #
148#-------------------#
149def_sub_projects=no
150AC_MSG_CHECKING([if the SubProjects should be built])
151AC_ARG_WITH([sub-projects],
152        AS_HELP_STRING(--with-sub-projects,also builds the subProjects while make from srcdir), [def_sub_projects=yes])
153if test x$def_sub_projects = xyes; then
154  echo "yes"
155fi
156if test x$def_sub_projects = xno; then
157  echo "no"
158fi
159AM_CONDITIONAL(SUB_PROJECTS, test x$def_sub_projects = xyes)
160
161#-------------------#
162# Profiling Enabled #
163#-------------------#
164def_profiling=no
165AC_MSG_CHECKING([if Profiling should be enabled])
166AC_ARG_ENABLE([profile],
167        AS_HELP_STRING(--enable-profile,builds orxonox with profiling support), [def_profiling=yes])
168if test x$def_profiling = xyes; then
169  echo "yes"
170  CXXFLAGS="$CXXFLAGS -pg"
171fi
172if test x$def_profiling = xno; then
173  echo "no"
174fi
175
176#----------------#
177# efence Enabled #
178#----------------#
179def_efence=no
180AC_MSG_CHECKING([if efence should be enabled])
181AC_ARG_ENABLE([efence],
182        AS_HELP_STRING(--enable-efence,builds orxonox with efence support), [def_efence=yes])
183if test x$def_efence = xyes; then
184  echo "yes"
185fi
186if test x$def_efence = xno; then
187  echo "no"
188fi
189
190#----------------------#
191# Documentation-enable #
192#----------------------#
193def_documentation=no
194AC_MSG_CHECKING([if the Documentation should be build by default])
195AC_ARG_ENABLE([documentation],
196        AS_HELP_STRING(--enable-documentation,also builds the sDocumentation while make from srcdir), [def_documentation=yes])
197if test x$def_documentation = xyes; then
198  echo "yes"
199fi
200if test x$def_documentation = xno; then
201  echo "no"
202fi
203AM_CONDITIONAL(DOCUMENTATION, test x$def_documentation = xyes)
204
205
206
207#---------------------------#
208# WITH TARDIS (convenience) #
209#---------------------------#
210def_tardis=no
211GTKPATH=""
212AC_MSG_CHECKING([convenience flag for working at the taris in the ETH zurich])
213AC_ARG_WITH([tardis],
214        AS_HELP_STRING(--with-tardis,sets all the necesary environment flags for linux-TARDIS boxes at the ETH Zurich), [def_tardis=yes])
215if test x$def_tardis = xyes; then
216  ARCH=i686-debian-linux3.1
217   ## GAMELIBS
218  PREFIX=/usr/pack/gamelibs-1.0-to
219  CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include"
220  LDFLAGS="${LDFLAGS} -L$PREFIX/${ARCH}/lib -Wl,-rpath -Wl,${PREFIX}/${ARCH}/lib"
221  ## GTK
222  GTKPREFIX=/usr/pack/gtk-2.8.3-mo
223  GTKPATH=${GTKPREFIX}/${ARCH}/bin
224  CPPFLAGS="${CPPFLAGS} -I${GTKPREFIX}/include"
225  LDFLAGS="${LDFLAGS} -L${GTKPREFIX}/${ARCH}/lib -Wl,-rpath -Wl,${GTKPREFIX}/${ARCH}/lib"
226  echo "yes"
227fi
228if test x$def_tardis = xno; then
229  echo "no"
230fi
231
232#######################
233## PROGRAMM CHECKING ##
234## 3. party Programs ##
235#######################
236
237#----------------------#
238# checking for Doxygen #
239#----------------------#
240AC_PATH_PROG(DOXYGEN, doxygen)
241AM_CONDITIONAL(DOXYGEN, test $DOXYGEN)
242
243#--------------------#
244# checking for gprof #
245#--------------------#
246AC_PATH_PROG(GPROF, gprof)
247
248#-------------------------#
249# checking for pkg-config #
250#-------------------------#
251if test x$def_gtk = xyes; then
252 if test x${GTKPATH} != x; then
253   AC_PATH_PROG([PKG_CONFIG], [pkg-config],[], $GTKPATH )
254 else
255   AC_PATH_PROG(PKG_CONFIG, pkg-config )
256 fi
257fi
258
259
260#########################
261## CHECKING FOR SYSTEM ##
262#########################
263## here the system is checked, and openGL is included
264## also checking for SDL on differen Systems
265
266AC_MSG_CHECKING([for System])
267## checking for openGL-environment and other sys-specific parameters
268case "$target" in
269
270###########
271#---------#
272# WINDOWS #
273#---------#
274###########
275  *-*-mingw32*)
276echo "mingw-WINDOWS detected"
277
278CPPFLAGS="-I/usr/include -I/mingw/include $CPPFLAGS"
279
280    mingw="yes"
281    MSBITFIELDS="-mms-bitfields"
282    MWINDOWS="-mwindows"
283
284#--------#
285# MIN-GW #
286#--------#
287# checking for mingw32
288    AC_CHECK_LIB([mingw32], [main], FOUND_mingw32=yes)
289    if test x$FOUND_mingw32 = xyes; then
290        LIBS="$LIBS -lmingw32"
291    fi
292
293#---------------#
294# open-GL (win) #
295#---------------#
296# checking gl header
297   AC_CHECK_HEADERS(GL/gl.h ,,
298      [AC_MSG_ERROR([cannot find opengl headers])])
299#   checking for Windows openGl library
300    AC_CHECK_LIB([opengl32], [main], [FOUND_GL=yes; LIBS="$LIBS -lopengl32"])
301    if test x$FOUND_GL != xyes ; then
302         echo "------------------"
303         echo "opengl not found."
304         echo "please install the opengl package which can be found at http://www.opengl.org"
305         echo "------------------"
306         exit -1
307    fi
308
309# cheking for GLU-header
310    AC_CHECK_HEADERS([GL/glu.h] ,,
311      [AC_MSG_ERROR([cannot find opengl headers]) ])
312
313# checking for libGLU
314    AC_CHECK_LIB([glu32], [main], [FOUND_GLU=yes; LIBS="$LIBS -lGLU32"])
315    if test x$FOUND_GLU != xyes ; then
316         echo "------------------"
317         echo "GLU library not found."
318         echo "please install the GLU library, that should come with openGL, which can be found at http://www.opengl.org"
319         echo "------------------"
320         exit -1
321    fi
322
323# checking glew header
324   AC_CHECK_HEADERS(GL/glew.h ,,
325      [AC_MSG_ERROR([cannot find opengl extension wrangler headers]) ])
326#   checking for Windows glew library
327    AC_CHECK_LIB([glew32], [main], [FOUND_GLEW=yes; LIBS="$LIBS -lglew32"])
328    if test x$FOUND_GLEW != xyes ; then
329         echo "------------------"
330         echo "opengl extension wrangler not found."
331         echo "please install the glew package which can be found at http://glew.sourceforge.net"
332         echo "------------------"
333         exit -1
334    fi
335
336#--------#
337# openAL #
338#--------#
339# checking for openAL-headers
340  AC_CHECK_HEADERS([AL/al.h] ,,
341      [AC_MSG_ERROR([cannot find openAL header.])])
342# checking for openAL-lib
343  AC_CHECK_LIB([OpenAL32], [main], [FOUND_OPENAL=yes; LIBS="$LIBS -lOpenAL32"])
344  AC_CHECK_LIB([ALut], [main], [FOUND_ALUT=yes; LIBS="-lALut $LIBS"])
345     if test x$FOUND_OPENAL != xyes ; then
346        echo "------------------"
347        echo "openal library not found."
348        echo "please install the openal library, which can be found at http://www.openal.org"
349        echo "------------------"
350        exit -1
351     fi
352
353
354#-----------#
355# SDL(win) #
356#-----------#
357# checking for SDL-headers
358    AC_CHECK_HEADERS([SDL/SDL.h] ,,
359      [AC_MSG_ERROR([cannot find SDL headers]) ])
360
361#checking for libSDL
362    AC_CHECK_LIB([sdlmain], [main], [FOUND_sdlmain=yes; LIBS="$LIBS -lsdlmain"])
363    if test x$FOUND_sdlmain != xyes ; then
364        echo "------------------"
365        echo "SDL library not found."
366        echo "please install the SDL library, which can be found at http://www.libsdl.org"
367        echo "------------------"
368        exit 1
369    fi
370    AC_CHECK_LIB([sdl], [main], [FOUND_SDL=yes; LIBS="$LIBS -lsdl"])
371    if test x$FOUND_SDL != xyes ; then
372        echo "------------------"
373        echo "SDL library not found."
374        echo "please install the SDL library, which can be found at http://www.libsdl.org"
375        echo "------------------"
376        exit -1
377    fi
378
379  ;;
380
381#########
382#-------#
383# LINUX #
384#-------#
385#########
386 *-*-linux*)
387echo "Linux detected"
388
389 Linux="yes"
390
391##CPPFLAGS="-I/usr/include $CPPFLAGS"
392##LDFLAGS="-L/usr/lib $LDFLAGS"
393if test x$SHARED_LIB_PATH != xno; then
394        echo "setting new LDFLAGS with $SHARED_LIB_PATH"
395        LDFLAGS="-Wl,-rpath,$SHARED_LIB_PATH -L$SHARED_LIB_PATH $LDFLAGS"
396fi
397
398#--------#
399# openGL #
400#--------#
401AX_CHECK_REQUIRED_HEADER_LIB([GL/gl.h], [GL], [main],,, [http://www.opengl.org])
402AX_CHECK_REQUIRED_HEADER_LIB([GL/glu.h], [GLU], [main],,, [http://www.opengl.org])
403AX_CHECK_REQUIRED_HEADER_LIB([GL/glew.h], [GLEW], [main],,, [http://glew.sourceforge.net])
404
405#--------#
406# openAL #
407#--------#
408
409AX_CHECK_REQUIRED_HEADER_LIB([AL/al.h], [openal], [main],,, [http://www.openal.org])
410AX_CHECK_HEADER_LIB([AL/alut.h], [alut], [main],,, [http://www.openal.org])
411
412#-----#
413# SDL #
414#-----#
415# checking for SDL
416  AC_MSG_CHECKING([for SDL-version])
417  SDL_VERSION=`sdl-config --version`
418  echo $SDL_VERSION
419   CPPFLAGS="$CPPFLAGS `sdl-config --cflags`"
420
421  AX_CHECK_REQUIRED_HEADER_LIB([SDL.h SDL/SDL.h], [SDL], [main],,, [http://www.libsdl.org])
422
423    ;;
424
425#############
426#-----------#
427# MAC -OS X #
428#-----------#
429#############
430 *darwin*)
431 echo "OS X detected"
432
433 osX="yes"
434
435 CPPFLAGS="-I/sw/include -I/sw/include $CPPFLAGS"
436 LDFLAGS="$LDFLAGS -L/sw/lib"
437# checking gl header
438   AC_CHECK_HEADERS([OpenGL/gl.h] ,,
439      [AC_MSG_ERROR([cannot find opengl headers]) ])
440# cheking for GLU-header
441    AC_CHECK_HEADERS([OpenGL/glu.h] ,,
442      [AC_MSG_ERROR([cannot find opengl headers]) ])
443
444   LIBS="$LIBS -framework OpenGL"
445
446
447
448# checking for GLEW-headers
449   AC_CHECK_HEADERS([GL/glew.h] ,,
450      [AC_MSG_ERROR([cannot find glew headers]) ])
451# checking for GLEW-lib
452  AC_CHECK_LIB([GLEW], [main], [FOUND_GLEW=yes; LIBS="$LIBS -lGLEW"])
453   if test x$FOUND_GLEW != xyes ; then
454         echo "------------------"
455         echo "glew not found."
456         echo "please install the glew package which can be found at http://glew.sourceforge.net"
457         echo "------------------"
458         exit -1
459   fi
460
461
462   AC_CHECK_HEADERS([OpenAL/al.h] ,,
463      [AC_MSG_ERROR([cannot find opengl headers]) ])
464  HAVE_OPENAL=yes
465  LIBS="$LIBS -framework OpenAL"
466
467
468## SDL-check
469       SDL_CFLAGS=`sdl-config --cflags`
470       SDL_LIBS=`sdl-config --libs`
471       CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
472       LIBS="$LIBS $SDL_LIBS"
473   AC_CHECK_HEADERS([SDL/SDL.h] ,,
474      [AC_MSG_ERROR([cannot find SDL headers]) ])
475   HAVE_SDL=yes
476#   LIBS="$LIBS -framework SDL"
477
478# checking for SDL-headers
479#    AC_CHECK_HEADERS(SDL/SDL.h ,,
480#      [AC_MSG_ERROR([cannot find SDL headers]) ])
481
482## checking for SDL
483#    SDL_VERSION=1.2.7
484#    AM_PATH_SDL($SDL_VERSION,
485#      :,
486#      AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
487#      )
488
489
490    ;;
491
492  *)
493    ;;
494esac
495
496AC_SUBST(MSBITFIELDS)
497
498###################################
499## CHECKING FOR HEADERS AND LIBS ##
500###################################
501
502#---------#
503# SDL_ttf #
504#---------#
505AX_CHECK_REQUIRED_HEADER_LIB([SDL_ttf.h SDL/SDL_ttf.h], [SDL_ttf], [TTF_OpenFont],,, [http://www.libsdl.org/projects/SDL_ttf])
506#-----------#
507# SDL_Image #
508#-----------#
509AX_CHECK_REQUIRED_HEADER_LIB([SDL_image.h SDL/SDL_image.h], [SDL_image], [main],,, [http://www.libsdl.org/projects/SDL_image])
510#---------#
511# SDL_Net #
512#---------#
513AX_CHECK_REQUIRED_HEADER_LIB([SDL_net.h SDL/SDL_net.h], [SDL_net], [main],,, [http://www.libsdl.org/projects/SDL_net])
514
515#-----#
516# ogg #
517#-----#
518AX_CHECK_REQUIRED_HEADER_LIB([ogg/ogg.h], [ogg], [main],,, [http://www.xiph.org/ogg/vorbis/index.html])
519#--------#
520# vorbis #
521#--------#
522AX_CHECK_REQUIRED_HEADER_LIB([vorbis/codec.h], [vorbis], [main],,, [http://www.xiph.org/ogg/vorbis/index.html])
523AX_CHECK_REQUIRED_HEADER_LIB([vorbis/vorbisfile.h], [vorbisfile], [main],,, [http://www.xiph.org/ogg/vorbis/index.html])
524
525#---------#
526# libcURL #
527#---------#
528AX_CHECK_HEADER_LIB([curl/curl.h], [curl], [main], [
529 have_curl=yes
530  CURL_LIBS=`curl-config --libs`
531  CURLCFLAGS=`curl-config --cflags`
532  AC_DEFINE_UNQUOTED(HAVE_CURL, 1, [if we have CURL]) ]
533  ,, [http://curl.haxx.se/])
534
535AC_SUBST(CURL_LIBS)
536AC_SUBST(CURL_CFLAGS)
537AM_CONDITIONAL(HAVE_CURL, test "x$have_curl" = "xyes")
538
539#--------#
540# efence #
541#--------#
542if test x$def_efence = xyes ; then
543  AC_CHECK_LIB([efence], [main], [FOUND_efence=yes; LIBS="$LIBS -lefence"])
544   if test x$FOUND_efence != xyes ; then
545     echo "efence was requested, but is not installed!! going on"
546   fi
547
548fi
549
550#-----#
551# GTK #
552#-----#
553if test x$def_gtk = xyes; then
554#PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.0.3 gthread-2.0 >= 2.0.3, have_gtk2=yes, have_gtk2=no)
555        AC_MSG_CHECKING([for gtk2.0])
556        if `$PKG_CONFIG --exists gtk+-2.0`; then
557                echo "yes"
558                have_gtk2=yes
559                GTK2_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
560                GTK2_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
561                AC_DEFINE_UNQUOTED(HAVE_GTK2, 1, [if we have GTK2])
562                if test $DEBUG -ge 3; then
563                 echo "cflags: $GTK2_CFLAGS"
564                 echo "libs: $GTK2_LIBS"
565                fi
566        else
567                echo "no"
568        fi
569
570fi
571AC_SUBST(GTK2_LIBS)
572AC_SUBST(GTK2_CFLAGS)
573AM_CONDITIONAL(HAVE_GTK2, test x$have_gtk2 = xyes)
574
575
576# FIXME: Replace `main' with a function in `-lm':
577 AC_CHECK_LIB([m], [main])
578
579
580# Checks for header files.
581AC_HEADER_STDC
582AC_CHECK_HEADERS([stdlib.h string.h])
583
584# Checks for typedefs, structures, and compiler characteristics.
585AC_HEADER_STDBOOL
586
587# Checks for library functions.
588AC_FUNC_MALLOC
589AC_CHECK_FUNCS([bzero sqrt])
590
591######################
592## OUTPUT CONFIGURE ##
593######################
594AC_CONFIG_FILES([Makefile
595                 src/Makefile
596                 src/lib/Makefile
597                 src/lib/graphics/Makefile
598                 src/lib/graphics/importer/Makefile
599                 src/lib/graphics/spatial_separation/Makefile
600                 src/lib/sound/Makefile
601                 src/lib/event/Makefile
602                 src/lib/physics/Makefile
603                 src/lib/particles/Makefile
604                 src/lib/collision_detection/Makefile
605     src/lib/network/Makefile
606                 src/lib/shell/Makefile
607                 src/lib/gui/Makefile
608                 src/lib/gui/gtk_gui/Makefile
609                 src/lib/gui/gl_gui/Makefile
610                 src/lib/parser/Makefile
611                 src/lib/parser/tinyxml/Makefile
612                 src/lib/parser/ini_parser/Makefile
613                 src/util/Makefile
614                 src/subprojects/Makefile
615                 src/subprojects/testmain/Makefile
616                 src/subprojects/importer/Makefile
617                 src/subprojects/particles/Makefile
618                 src/subprojects/collision_detection/Makefile
619                 src/subprojects/network/Makefile
620                 ])
621
622AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.