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)
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_ARG_ENABLE(headless,
28 AS_HELP_STRING([--enable-headless],[Enable only packages for headless build]))
30 AC_MSG_CHECKING([for headless mode])
31 AC_MSG_RESULT([$enable_headless])
33 AM_CONDITIONAL(WANT_HEADLESS,[test "x$enable_headless" = "xyes"])
35 AC_MSG_CHECKING([CXX])
40 dnl Checks for programs.
49 AX_BOOST_BASE([1.37.0])
51 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
52 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
55 dnl set the $host variable based on local machine/os
58 dnl Used on the Irix platform
61 if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
64 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro740"
65 compatibility_DIR="compatibility"
66 MIPSpro_DIRS="MIPSpro740"
67 AC_MSG_CHECKING([for MIPSpro compiler version 7.4 or newer])
70 if ( _COMPILER_VERSION < 740 ) {
76 ], AC_MSG_RESULT(yes),
78 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro721"
79 MIPSpro_DIRS="$(MIPSpro_DIRS) MIPSpro721"
80 AC_MSG_WARN([Using our own subset of the STL headers])
81 ], AC_MSG_RESULT(yes))
82 AC_SUBST(MIPSpro_DIRS)
93 AC_SUBST(compatibility_DIR)
95 if echo $includedir | egrep "simgear$" > /dev/null; then
96 echo "includedir is" $includedir "libdir is" $libdir
98 includedir="${includedir}/simgear"
99 echo "includedir changed to" $includedir "libdir is" $libdir
102 dnl set logging; default value of with_logging=yes
103 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
104 if test "x$with_logging" = "xno" ; then
105 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
108 # Specify if we want to build with Norman's jpeg image server support.
109 # This requires libjpeg to be installed and available.
110 # Default to with_jpeg_server=no
112 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
113 if test "x$with_jpeg_factory" = "xyes" ; then
114 echo "Building with Norman's jpeg image factory support"
115 AC_CHECK_LIB(jpeg, jpeg_start_compress)
116 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
118 echo "In order to build the jpeg factory code you need libjpeg installed."
119 echo "otherwise please configure with the --with-jpeg-sever=no option"
121 echo "libjpeg is available at :"
122 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
126 echo "Building without Norman's jpeg image server support"
128 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
130 # specify the plib location
131 AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
133 if test "x$with_plib" != "x" ; then
134 echo "plib prefix is $with_plib"
135 EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
138 AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX Specify the prefix path to PLIB.framework ])
140 if test "x$with_plib_framework" != "x"; then
141 echo "plib framework prefix is $with_plib_framework"
144 # specify the osg location
145 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
147 if test "x$with_osg" != "x" ; then
148 echo "osg prefix is $with_osg"
149 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
152 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to OSG.framework ])
154 if test "x$with_osg_framework" != "x"; then
155 echo "osg framework prefix is $with_osg_framework"
156 CPPFLAGS = "$CPPFLAGS -F$with-osg-framework"
157 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
160 dnl specifying ALUT.framework (for user provided ALUT.framework)
161 AC_ARG_WITH(alut_framework, [ --with-alut-framework=PREFIX Specify the prefix path to ALUT.framework ])
163 if test "x$with_alut_framework" != "x"; then
164 echo "ALUT framework prefix is $with_alut_framework"
167 dnl Determine an extra directories to add to include/lib search paths
169 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
170 echo no EXTRA_DIRS for $host
174 if test -d /usr/X11R6 ; then
175 EXTRA_DIR1="/usr/X11R6"
177 if test -d /opt/X11R6 ; then
178 EXTRA_DIR2="/opt/X11R6"
180 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
184 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
187 dnl Using AM_CONDITIONAL is a step out of the protected little
188 dnl automake fold so it is potentially dangerous. But, we are
189 dnl beginning to run into cases where the standard checks are not
190 dnl enough. AM_CONDITIONALS are then referenced to conditionally
191 dnl build a Makefile.in from a Makefile.am which lets us define custom
192 dnl includes, compile alternative source files, etc.
194 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
195 dnl to use it if it is.
197 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
198 echo no fancy X11 check
207 dnl Checks for libraries.
209 dnl Thread related checks
210 AC_CHECK_HEADER(pthread.h)
211 AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
212 if test "x$ac_cv_header_pthread_h" = "xyes"; then
213 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
214 CFLAGS="$CFLAGS -D_REENTRANT"
216 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
217 CXXFLAGS="-pthread $CXXFLAGS"
218 CFLAGS="-pthread $CFLAGS"
222 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
227 dnl search for network related libraries
228 AC_SEARCH_LIBS(inet_addr, xnet)
229 AC_SEARCH_LIBS(socket, socket)
234 dnl check for some default libraries
235 AC_SEARCH_LIBS(cos, m)
236 AC_SEARCH_LIBS(clock_gettime, rt)
240 dnl check for OpenGL related libraries
242 *-*-cygwin* | *-*-mingw32*)
243 dnl CygWin under Windoze.
245 echo Win32 specific hacks...
246 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
247 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
249 LIBS="$LIBS -lglu32 -lopengl32"
250 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
252 dnl add -lwsock32 for mingwin
255 base_LIBS="$base_LIBS -lws2_32"
259 echo "Will link apps with $LIBS"
265 LIBS="$LIBS -framework OpenGL -framework Carbon -lobjc"
269 dnl X-Windows based machines
271 AC_SEARCH_LIBS(XCreateWindow, X11)
272 AC_SEARCH_LIBS(XShmCreateImage, Xext)
273 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
274 AC_SEARCH_LIBS(IceOpenConnection, ICE)
275 AC_SEARCH_LIBS(SmcOpenConnection, SM)
276 AC_SEARCH_LIBS(XtMalloc, Xt)
277 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
279 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
280 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
281 dnl if GLcore found, then also check for GL
282 AC_SEARCH_LIBS(glXCreateContext, GL)
285 dnl if using mesa, check for xmesa.h
286 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
287 AC_CHECK_HEADER(GL/fxmesa.h)
288 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
289 AC_DEFINE([XMESA], 1, [Define for fxmesa])
290 AC_DEFINE([FX], 1, [Define for fxmesa])
294 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
299 AC_SEARCH_LIBS(glutGetModifiers, [ glut glut32 freeglut ], have_glut=yes, have_glut=no)
300 AM_CONDITIONAL(HAVE_GLUT, test "x$have_glut" = "xyes")
305 dnl check for OpenAL libraries
309 *-*-cygwin* | *-*-mingw32*)
310 dnl CygWin under Windoze.
311 INCLUDES="$INCLUDES -I/usr/local/include/"
312 LIBS="$LIBS -L/usr/local/lib"
313 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
314 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
315 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
317 OPENAL_OK="$ac_cv_search_alGenBuffers"
318 ALUT_OK="$ac_cv_search_alutInit"
324 LIBS="$LIBS -framework IOKit -framework OpenAL -framework ALUT"
327 if test "x$with_openal_lib" != "x"; then
328 echo "libopenal is not supported on Mac OS platform."
332 AC_CHECK_HEADERS([OpenAL/al.h],[OPENAL_OK="yes"])
334 AC_CHECK_HEADERS([ALUT/alut.h],[ALUT_OK="yes"])
336 dnl Thank you Christian Bauer from SheepSaver
337 dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
338 dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_TRUE) ; $3 is optional
339 AC_DEFUN([AC_CHECK_FRAMEWORK], [
340 AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
341 AC_CACHE_CHECK([whether compiler supports framework $1],
344 FRAMEWORKS="$FRAMEWORKS -framework $1"
345 if test "$3" = ""; then
346 FRAMEWORKS="$FRAMEWORKS $ADD2LD"
347 elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
348 FRAMEWORKS="$FRAMEWORKS -F$3"
349 CXXFLAGS="$CXXFLAGS -F$3"
350 CPPFLAGS="$CPPFLAGS -F$3"
351 CCFLAGS="$CCFLAGS -F$3"
352 dnl This is needed for AC_TRY_LINK when a framework path is specified
353 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
357 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
360 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
361 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
363 AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
365 AS_VAR_POPDEF([ac_Framework])dnl
368 dnl Check for ALUT.framework when --with-alut-framework is specified
369 if test "x$with_alut_framework" != "x"; then
370 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [ALUT_OK="yes"])
376 dnl default unix style machines
379 LIBS="$LIBS $thread_LIBS"
380 AC_SEARCH_LIBS(alGenBuffers, openal)
381 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
382 OPENAL_OK="$ac_cv_search_alGenBuffers"
383 ALUT_OK="$ac_cv_search_alutInit"
390 if test "$OPENAL_OK" == "no" -a "x$enable_headless" != "xyes"; then
392 echo "You *must* have the openal library installed on your system to build"
395 echo "Please see README.OpenAL for more details."
397 echo "configure aborted."
401 if test "$ALUT_OK" == "no" -a "x$enable_headless" != "xyes"; then
403 echo "You *must* have the alut library installed on your system to build"
406 echo "Please see README.OpenAL for more details."
408 echo "configure aborted."
417 AC_SUBST(openal_LIBS)
418 AC_SUBST(opengl_LIBS)
419 AC_SUBST(thread_LIBS)
420 AC_SUBST(network_LIBS)
422 dnl Check for MS Windows environment
423 AC_CHECK_HEADER(windows.h)
424 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
426 # The following are C++ items that need to be tested for with the c++
432 dnl Check for "plib" without which we cannot go on
435 # Check PLIB framework availability when with-plib-framework is specified
436 if test "x$with_plib_framework" != "x"; then
437 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework)
438 plib_FRAMEWORK="$FRAMEWORKS"
440 AC_SUBST(plib_FRAMEWORK)
444 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
446 AC_CHECK_HEADER(plib/ul.h)
448 AC_CHECK_LIB(plibul,ulInit)
449 if test "x$ac_cv_header_plib_ul_h" != "xyes" \
450 -o "x$ac_cv_lib_plibul_ulInit" != "xyes" ; then
452 echo "You *must* have the plib library installed on your system to build"
455 echo " LIBS: '$LIBS'"
456 echo " LDFLAGS: '$LDFLAGS'"
457 echo " CPPFLAGS: '$CPPFLAGS'"
459 echo "Please see README.plib for more details."
461 echo "configure aborted."
465 AC_MSG_CHECKING([for plib 1.8.5 or newer])
469 #define MIN_PLIB_VERSION 185
472 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
481 [AC_MSG_RESULT(wrong version);
482 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
491 if test "x$with_osg_framework" != "x"; then
492 # AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
493 # AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
494 # AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
495 # AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
496 # AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
497 # AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
498 # AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
499 # AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
500 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
501 # osg_FRAMEWORKS="$FRAMEWORKS"
503 # AC_SUBST(osg_FRAMEWORKS)
504 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
505 openthreads_FRAMEWORK="$FRAMEWORKS"
507 AC_SUBST(openthreads_FRAMEWORK)
510 dnl This is needed when osg dynamic libs are specified
511 dnl instead of OSG frameworks on Mac OS X
513 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
517 if test "x$enable_osgdebug" = "xyes"; then
518 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
520 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
525 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
527 AC_CHECK_HEADER(osg/Version)
529 if test "x$ac_cv_header_osg_Version" != "xyes" -o "x$ac_cv_lib_OpenThreads_OpenThreadsGetVersion" != "xyes"; then
530 if test "x$ac_cv_framework_osg" != "xyes"; then
532 echo "You *must* have the OpenThreads library installed on your system"
533 echo "to build this version of SimGear!"
534 echo " Maybe you need to specify --with-osg=DIR."
535 echo " Maybe you need to specify some LDFLAGS to help the linker."
537 echo " LIBS: '$LIBS'"
538 echo " LDFLAGS: '$LDFLAGS'"
539 echo " CPPFLAGS: '$CPPFLAGS'"
541 echo "Please see README.OSG for more details."
543 echo "configure aborted."
548 AC_CHECK_HEADER(boost/version.hpp)
549 if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then
551 echo "You *must* have the Boost library installed on your system"
552 echo "to build this version of SimGear!"
554 echo " LIBS: '$LIBS'"
555 echo " LDFLAGS: '$LDFLAGS'"
556 echo " CPPFLAGS: '$CPPFLAGS'"
558 echo "configure aborted."
564 dnl Check for system installed zlib
565 AC_CHECK_HEADER(zlib.h)
566 if test "x$ac_cv_header_zlib_h" != "xyes"; then
568 echo "zlib library not found."
570 echo "If your OS does not provide an installable package for zlib"
571 echo "you will have to compile and install it first yourself. A copy"
572 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
573 echo "have to untar this source code, and follow its included instructions"
574 echo "to compile and install on your system."
576 echo "configure aborted."
580 dnl Checks for header files.
583 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
584 sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
586 if test "x$ac_cv_header_stdint_h" = "xyes"; then
587 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
590 dnl Checks for typedefs, structures, and compiler characteristics.
597 dnl Checks for library functions.
599 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
603 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
604 random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
607 AM_CONFIG_HEADER(simgear/simgear_config.h)
614 simgear/compatibility/Makefile \
615 simgear/compatibility/MIPSpro721/Makefile \
616 simgear/compatibility/MIPSpro740/Makefile \
617 simgear/bucket/Makefile \
618 simgear/debug/Makefile \
619 simgear/ephemeris/Makefile \
620 simgear/io/Makefile \
621 simgear/magvar/Makefile \
622 simgear/math/Makefile \
623 simgear/environment/Makefile \
624 simgear/misc/Makefile \
625 simgear/nasal/Makefile \
626 simgear/props/Makefile \
627 simgear/route/Makefile \
628 simgear/scene/Makefile \
629 simgear/scene/bvh/Makefile \
630 simgear/scene/material/Makefile \
631 simgear/scene/model/Makefile \
632 simgear/scene/sky/Makefile \
633 simgear/scene/tgdb/Makefile \
634 simgear/scene/util/Makefile \
635 simgear/screen/Makefile \
636 simgear/serial/Makefile \
637 simgear/sound/Makefile \
638 simgear/structure/Makefile \
639 simgear/threads/Makefile \
640 simgear/timing/Makefile \
641 simgear/xml/Makefile \
647 echo "Configure Summary"
648 echo "================="
650 echo "Prefix: $prefix"
652 if test "x$with_logging" != "x"; then
653 echo "Debug messages: $with_logging"
655 echo "Debug messages: yes"
658 echo -n "Automake version: "
659 automake --version | head -1
661 if test "x$with_jpeg_factory" = "xyes"; then
662 echo "With JPEG Factory support"
664 echo "Without JPEG Factory support"
667 if test "x$ac_cv_header_pthread_h" = "xyes"; then
668 echo "Threads: pthread lib found."
670 echo "Threads: no threads (pthread lib not found.)"