1 dnl Process this file with autoget.sh to produce a working configure
5 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
7 dnl Require at least automake 2.52
10 dnl Initialize the automake stuff
11 AM_INIT_AUTOMAKE(SimGear, 2.0.0-rc2)
13 dnl Specify KAI C++ compiler and flags.
14 dnl Borrowed with slight modification from blitz distribution.
16 [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)],
18 KCC*) # KAI C++ http://www.kai.com/
19 echo "Configuring for KAI C++"
20 AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings")
21 CXX_OPTIMIZE_FLAGS=="+K3 -O3"
22 CXX_DEBUG_FLAGS="-g +K0"
27 AC_MSG_CHECKING([CXX])
32 dnl Checks for programs.
40 AX_BOOST_BASE([1.37.0])
42 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
43 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
46 dnl set the $host variable based on local machine/os
49 dnl Used on the Irix platform
52 if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
55 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro740"
56 compatibility_DIR="compatibility"
57 MIPSpro_DIRS="MIPSpro740"
58 AC_MSG_CHECKING([for MIPSpro compiler version 7.4 or newer])
61 if ( _COMPILER_VERSION < 740 ) {
67 ], AC_MSG_RESULT(yes),
69 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro721"
70 MIPSpro_DIRS="$(MIPSpro_DIRS) MIPSpro721"
71 AC_MSG_WARN([Using our own subset of the STL headers])
72 ], AC_MSG_RESULT(yes))
73 AC_SUBST(MIPSpro_DIRS)
84 AC_SUBST(compatibility_DIR)
86 if echo $includedir | egrep "simgear$" > /dev/null; then
87 echo "includedir is" $includedir "libdir is" $libdir
89 includedir="${includedir}/simgear"
90 echo "includedir changed to" $includedir "libdir is" $libdir
93 dnl set logging; default value of with_logging=yes
94 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
95 if test "x$with_logging" = "xno" ; then
96 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
99 # Specify if we want to build with Norman's jpeg image server support.
100 # This requires libjpeg to be installed and available.
101 # Default to with_jpeg_server=no
103 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
104 if test "x$with_jpeg_factory" = "xyes" ; then
105 echo "Building with Norman's jpeg image factory support"
106 AC_CHECK_LIB(jpeg, jpeg_start_compress)
107 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
109 echo "In order to build the jpeg factory code you need libjpeg installed."
110 echo "otherwise please configure with the --with-jpeg-sever=no option"
112 echo "libjpeg is available at :"
113 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
117 echo "Building without Norman's jpeg image server support"
119 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
121 # specify the plib location
122 AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
124 if test "x$with_plib" != "x" ; then
125 echo "plib prefix is $with_plib"
126 EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
129 AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX Specify the prefix path to PLIB.framework ])
131 if test "x$with_plib_framework" != "x"; then
132 echo "plib framework prefix is $with_plib_framework"
135 # specify the osg location
136 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
138 if test "x$with_osg" != "x" ; then
139 echo "osg prefix is $with_osg"
140 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
143 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to OSG.framework ])
145 if test "x$with_osg_framework" != "x"; then
146 echo "osg framework prefix is $with_osg_framework"
147 CPPFLAGS = "$CPPFLAGS -F$with-osg-framework"
148 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
151 dnl specifying OpenAL.framework (for user provided OpenAL.framework / ALUT)
152 AC_ARG_WITH(openal_framework, [ --with-openal-framework=PREFIX Speicfy the prefix path to OpenAL.framework ])
154 if test "x$with_openal_framework" != "x"; then
155 echo "OpenAL framework prefix is $with_openal_framework"
158 dnl Determine an extra directories to add to include/lib search paths
160 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
161 echo no EXTRA_DIRS for $host
165 if test -d /usr/X11R6 ; then
166 EXTRA_DIR1="/usr/X11R6"
168 if test -d /opt/X11R6 ; then
169 EXTRA_DIR2="/opt/X11R6"
171 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
175 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
178 dnl Using AM_CONDITIONAL is a step out of the protected little
179 dnl automake fold so it is potentially dangerous. But, we are
180 dnl beginning to run into cases where the standard checks are not
181 dnl enough. AM_CONDITIONALS are then referenced to conditionally
182 dnl build a Makefile.in from a Makefile.am which lets us define custom
183 dnl includes, compile alternative source files, etc.
185 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
186 dnl to use it if it is.
188 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
189 echo no fancy X11 check
198 dnl Checks for libraries.
200 dnl Thread related checks
201 AC_CHECK_HEADER(pthread.h)
202 AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
203 if test "x$ac_cv_header_pthread_h" = "xyes"; then
204 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
205 CFLAGS="$CFLAGS -D_REENTRANT"
207 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
208 CXXFLAGS="-pthread $CXXFLAGS"
209 CFLAGS="-pthread $CFLAGS"
213 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
218 dnl search for network related libraries
219 AC_SEARCH_LIBS(inet_addr, xnet)
220 AC_SEARCH_LIBS(socket, socket)
225 dnl check for some default libraries
226 AC_SEARCH_LIBS(cos, m)
227 AC_SEARCH_LIBS(clock_gettime, rt)
231 dnl check for OpenGL related libraries
233 *-*-cygwin* | *-*-mingw32*)
234 dnl CygWin under Windoze.
236 echo Win32 specific hacks...
237 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
238 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
240 LIBS="$LIBS -lglu32 -lopengl32"
241 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
243 dnl add -lwsock32 for mingwin
246 base_LIBS="$base_LIBS -lws2_32"
250 echo "Will link apps with $LIBS"
256 LIBS="$LIBS -framework OpenGL -framework Carbon -lobjc"
260 dnl X-Windows based machines
262 AC_SEARCH_LIBS(XCreateWindow, X11)
263 AC_SEARCH_LIBS(XShmCreateImage, Xext)
264 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
265 AC_SEARCH_LIBS(IceOpenConnection, ICE)
266 AC_SEARCH_LIBS(SmcOpenConnection, SM)
267 AC_SEARCH_LIBS(XtMalloc, Xt)
268 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
270 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
271 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
272 dnl if GLcore found, then also check for GL
273 AC_SEARCH_LIBS(glXCreateContext, GL)
276 dnl if using mesa, check for xmesa.h
277 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
278 AC_CHECK_HEADER(GL/fxmesa.h)
279 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
280 AC_DEFINE([XMESA], 1, [Define for fxmesa])
281 AC_DEFINE([FX], 1, [Define for fxmesa])
285 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
290 AC_SEARCH_LIBS(glutGetModifiers, [ glut glut32 freeglut ], have_glut=yes, have_glut=no)
291 AM_CONDITIONAL(HAVE_GLUT, test "x$have_glut" = "xyes")
296 dnl check for OpenAL libraries
300 *-*-cygwin* | *-*-mingw32*)
301 dnl CygWin under Windoze.
302 INCLUDES="$INCLUDES -I/usr/local/include/"
303 LIBS="$LIBS -L/usr/local/lib"
304 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal ] )
305 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
306 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
308 OPENAL_OK="$ac_cv_search_alGenBuffers"
309 ALUT_OK="$ac_cv_search_alutInit"
315 LIBS="$LIBS -framework IOKit -framework OpenAL"
320 if test "x$with_openal_lib" != "x"; then
321 echo "libopenal is not supported on Mac OS platform."
325 # Looking for alut.h, if found assume that it is a part of
326 # the OpenAL package.
327 AC_CHECK_HEADERS([OpenAL/alut.h],[ALUT_OK="yes"])
330 dnl Thank you Christian Bauer from SheepSaver
331 dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
332 dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH) ; $3 is optional
333 AC_DEFUN([AC_CHECK_FRAMEWORK], [
334 AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
335 AC_CACHE_CHECK([whether compiler supports framework $1],
338 FRAMEWORKS="$FRAMEWORKS -framework $1"
339 if test "$3" = ""; then
340 FRAMEWORKS="$FRAMEWORKS $ADD2LD"
341 elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
342 FRAMEWORKS="$FRAMEWORKS -F$3"
343 CXXFLAGS="$CXXFLAGS -F$3"
344 CCFLAGS="$CCFLAGS -F$3"
345 dnl This is needed for AC_TRY_LINK when a framework path is specified
346 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
350 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
353 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
354 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
356 AS_VAR_POPDEF([ac_Framework])dnl
359 dnl Check for OpenAL.framework when --with-openal-framework is specified
360 dnl Of cource OpenAL.framework needs to have alut.h
361 if test "x$with_openal_framework" != "x"; then
362 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/alut.h>], $with_openal_framework)
368 dnl default unix style machines
371 LIBS="$LIBS $thread_LIBS"
372 AC_SEARCH_LIBS(alGenBuffers, openal)
373 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
374 OPENAL_OK="$ac_cv_search_alGenBuffers"
375 ALUT_OK="$ac_cv_search_alutInit"
382 if test "$OPENAL_OK" == "no"; then
384 echo "You *must* have the openal library installed on your system to build"
387 echo "Please see README.OpenAL for more details."
389 echo "configure aborted."
393 if test "$ALUT_OK" == "no"; then
395 echo "You *must* have the alut library installed on your system to build"
398 echo "Please see README.OpenAL for more details."
400 echo "configure aborted."
409 AC_SUBST(openal_LIBS)
410 AC_SUBST(opengl_LIBS)
411 AC_SUBST(thread_LIBS)
412 AC_SUBST(network_LIBS)
414 dnl Check for MS Windows environment
415 AC_CHECK_HEADER(windows.h)
416 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
418 # The following are C++ items that need to be tested for with the c++
424 dnl Check for "plib" without which we cannot go on
427 # Check PLIB framework availability when with-plib-framework is specified
428 if test "x$with_plib_framework" != "x"; then
429 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework)
430 plib_FRAMEWORK="$FRAMEWORKS"
432 AC_SUBST(plib_FRAMEWORK)
436 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
438 AC_CHECK_HEADER(plib/ul.h)
439 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
441 echo "You *must* have the plib library installed on your system to build"
444 echo "Please see README.plib for more details."
446 echo "configure aborted."
450 AC_MSG_CHECKING([for plib 1.8.5 or newer])
454 #define MIN_PLIB_VERSION 185
457 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
466 [AC_MSG_RESULT(wrong version);
467 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
476 if test "x$with_osg_framework" != "x"; then
477 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
478 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
479 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
480 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
481 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
482 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
483 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
484 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
485 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
486 osg_FRAMEWORKS="$FRAMEWORKS"
488 AC_SUBST(osg_FRAMEWORKS)
489 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
490 openthreads_FRAMEWORK="$FRAMEWORKS"
492 AC_SUBST(openthreads_FRAMEWORK)
495 dnl This is needed when osg dynamic libs are specified
496 dnl instead of OSG frameworks on Mac OS X
498 LDFLAGS="$LDFLAGS -L$with_osg"
502 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
504 AC_CHECK_HEADER(osg/Version)
505 if test "x$ac_cv_header_osg_Version" != "xyes"; then
506 if test "x$ac_cv_framework_osg" != "xyes"; then
508 echo "You *must* have the OpenSceneGraph support library installed on your system"
509 echo "to build this version of SimGear!"
511 echo "Please see README.OSG for more details."
513 echo "configure aborted."
518 AC_CHECK_HEADER(boost/version.hpp)
519 if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then
521 echo "You *must* have the Boost library installed on your system"
522 echo "to build this version of SimGear!"
524 echo "configure aborted."
530 dnl Check for system installed zlib
531 AC_CHECK_HEADER(zlib.h)
532 if test "x$ac_cv_header_zlib_h" != "xyes"; then
534 echo "zlib library not found."
536 echo "If your OS does not provide an installable package for zlib"
537 echo "you will have to compile and install it first yourself. A copy"
538 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
539 echo "have to untar this source code, and follow its included instructions"
540 echo "to compile and install on your system."
542 echo "configure aborted."
546 dnl Checks for header files.
549 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
550 sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
552 if test "x$ac_cv_header_stdint_h" = "xyes"; then
553 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
556 dnl Checks for typedefs, structures, and compiler characteristics.
563 dnl Checks for library functions.
565 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
569 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
570 random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
573 AM_CONFIG_HEADER(simgear/simgear_config.h)
580 simgear/compatibility/Makefile \
581 simgear/compatibility/MIPSpro721/Makefile \
582 simgear/compatibility/MIPSpro740/Makefile \
583 simgear/bucket/Makefile \
584 simgear/debug/Makefile \
585 simgear/ephemeris/Makefile \
586 simgear/io/Makefile \
587 simgear/magvar/Makefile \
588 simgear/math/Makefile \
589 simgear/environment/Makefile \
590 simgear/misc/Makefile \
591 simgear/nasal/Makefile \
592 simgear/props/Makefile \
593 simgear/route/Makefile \
594 simgear/scene/Makefile \
595 simgear/scene/bvh/Makefile \
596 simgear/scene/material/Makefile \
597 simgear/scene/model/Makefile \
598 simgear/scene/sky/Makefile \
599 simgear/scene/tgdb/Makefile \
600 simgear/scene/util/Makefile \
601 simgear/screen/Makefile \
602 simgear/serial/Makefile \
603 simgear/sound/Makefile \
604 simgear/structure/Makefile \
605 simgear/threads/Makefile \
606 simgear/timing/Makefile \
607 simgear/xml/Makefile \
613 echo "Configure Summary"
614 echo "================="
616 echo "Prefix: $prefix"
618 if test "x$with_logging" != "x"; then
619 echo "Debug messages: $with_logging"
621 echo "Debug messages: yes"
624 echo -n "Automake version: "
625 automake --version | head -1
627 if test "x$with_jpeg_factory" = "xyes"; then
628 echo "With JPEG Factory support"
630 echo "Without JPEG Factory support"
633 if test "x$ac_cv_header_pthread_h" = "xyes"; then
634 echo "Threads: pthread lib found."
636 echo "Threads: no threads (pthread lib not found.)"