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 # Show all compiler warnings by default
96 CXXFLAGS="$CXXFLAGS -Wall"
97 CFLAGS="$CFLAGS -Wall"
99 if echo $includedir | egrep "simgear$" > /dev/null; then
100 echo "includedir is" $includedir "libdir is" $libdir
102 includedir="${includedir}/simgear"
103 echo "includedir changed to" $includedir "libdir is" $libdir
106 dnl set logging; default value of with_logging=yes
107 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
108 if test "x$with_logging" = "xno" ; then
109 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
112 # Specify if we want to build with Norman's jpeg image server support.
113 # This requires libjpeg to be installed and available.
114 # Default to with_jpeg_server=no
116 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
117 if test "x$with_jpeg_factory" = "xyes" ; then
118 echo "Building with Norman's jpeg image factory support"
119 AC_CHECK_LIB(jpeg, jpeg_start_compress)
120 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
122 echo "In order to build the jpeg factory code you need libjpeg installed."
123 echo "otherwise please configure with the --with-jpeg-sever=no option"
125 echo "libjpeg is available at :"
126 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
130 echo "Building without Norman's jpeg image server support"
132 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
134 # specify the osg location
135 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
137 if test "x$with_osg" != "x" ; then
138 echo "osg prefix is $with_osg"
139 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
142 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to OSG.framework ])
144 if test "x$with_osg_framework" != "x"; then
145 echo "osg framework prefix is $with_osg_framework"
146 CPPFLAGS = "$CPPFLAGS -F$with-osg-framework"
147 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
150 dnl specifying ALUT.framework (for user provided ALUT.framework)
151 AC_ARG_WITH(alut_framework, [ --with-alut-framework=PREFIX Specify the prefix path to ALUT.framework ])
153 if test "x$with_alut_framework" != "x"; then
154 echo "ALUT framework prefix is $with_alut_framework"
157 dnl Determine an extra directories to add to include/lib search paths
159 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
160 echo no EXTRA_DIRS for $host
164 if test -d /usr/X11R6 ; then
165 EXTRA_DIR1="/usr/X11R6"
167 if test -d /opt/X11R6 ; then
168 EXTRA_DIR2="/opt/X11R6"
170 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
174 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
177 dnl Using AM_CONDITIONAL is a step out of the protected little
178 dnl automake fold so it is potentially dangerous. But, we are
179 dnl beginning to run into cases where the standard checks are not
180 dnl enough. AM_CONDITIONALS are then referenced to conditionally
181 dnl build a Makefile.in from a Makefile.am which lets us define custom
182 dnl includes, compile alternative source files, etc.
184 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
185 dnl to use it if it is.
187 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
188 echo no fancy X11 check
197 dnl Checks for libraries.
199 dnl Thread related checks
200 AC_CHECK_HEADER(pthread.h)
201 AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
202 if test "x$ac_cv_header_pthread_h" = "xyes"; then
203 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
204 CFLAGS="$CFLAGS -D_REENTRANT"
206 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
207 CXXFLAGS="-pthread $CXXFLAGS"
208 CFLAGS="-pthread $CFLAGS"
212 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
217 dnl search for network related libraries
218 AC_SEARCH_LIBS(inet_addr, xnet)
219 AC_SEARCH_LIBS(socket, socket)
224 dnl check for some default libraries
225 AC_SEARCH_LIBS(cos, m)
226 AC_SEARCH_LIBS(clock_gettime, rt)
230 dnl check for OpenGL related libraries
232 *-*-cygwin* | *-*-mingw32*)
233 dnl CygWin under Windoze.
235 echo Win32 specific hacks...
236 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
237 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
239 LIBS="$LIBS -lglu32 -lopengl32"
240 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
242 dnl add -lwsock32 for mingwin
245 base_LIBS="$base_LIBS -lws2_32"
249 echo "Will link apps with $LIBS"
255 LIBS="$LIBS -framework OpenGL -framework Carbon -lobjc"
259 dnl X-Windows based machines
261 AC_SEARCH_LIBS(XCreateWindow, X11)
262 AC_SEARCH_LIBS(XShmCreateImage, Xext)
263 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
264 AC_SEARCH_LIBS(IceOpenConnection, ICE)
265 AC_SEARCH_LIBS(SmcOpenConnection, SM)
266 AC_SEARCH_LIBS(XtMalloc, Xt)
267 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
269 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
270 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
271 dnl if GLcore found, then also check for GL
272 AC_SEARCH_LIBS(glXCreateContext, GL)
275 dnl if using mesa, check for xmesa.h
276 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
277 AC_CHECK_HEADER(GL/fxmesa.h)
278 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
279 AC_DEFINE([XMESA], 1, [Define for fxmesa])
280 AC_DEFINE([FX], 1, [Define for fxmesa])
284 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
292 dnl check for OpenAL libraries
296 *-*-cygwin* | *-*-mingw32*)
297 dnl CygWin under Windoze.
298 INCLUDES="$INCLUDES -I/usr/local/include/"
299 LIBS="$LIBS -L/usr/local/lib"
300 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
301 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
302 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
304 OPENAL_OK="$ac_cv_search_alGenBuffers"
305 ALUT_OK="$ac_cv_search_alutInit"
311 LIBS="$LIBS -framework IOKit -framework OpenAL -framework ALUT"
314 if test "x$with_openal_lib" != "x"; then
315 echo "libopenal is not supported on Mac OS platform."
319 AC_CHECK_HEADERS([OpenAL/al.h],[OPENAL_OK="yes"])
321 AC_CHECK_HEADERS([ALUT/alut.h],[ALUT_OK="yes"])
323 dnl Thank you Christian Bauer from SheepSaver
324 dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
325 dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_TRUE) ; $3 is optional
326 AC_DEFUN([AC_CHECK_FRAMEWORK], [
327 AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
328 AC_CACHE_CHECK([whether compiler supports framework $1],
331 FRAMEWORKS="$FRAMEWORKS -framework $1"
332 if test "$3" = ""; then
333 FRAMEWORKS="$FRAMEWORKS $ADD2LD"
334 elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
335 FRAMEWORKS="$FRAMEWORKS -F$3"
336 CXXFLAGS="$CXXFLAGS -F$3"
337 CPPFLAGS="$CPPFLAGS -F$3"
338 CCFLAGS="$CCFLAGS -F$3"
339 dnl This is needed for AC_TRY_LINK when a framework path is specified
340 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
344 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
347 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
348 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
350 AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
352 AS_VAR_POPDEF([ac_Framework])dnl
355 dnl Check for ALUT.framework when --with-alut-framework is specified
356 if test "x$with_alut_framework" != "x"; then
357 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [ALUT_OK="yes"])
363 dnl default unix style machines
366 LIBS="$LIBS $thread_LIBS"
367 AC_SEARCH_LIBS(alGenBuffers, openal)
368 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
369 OPENAL_OK="$ac_cv_search_alGenBuffers"
370 ALUT_OK="$ac_cv_search_alutInit"
377 if test "$OPENAL_OK" == "no" -a "x$enable_headless" != "xyes"; then
379 echo "You *must* have the openal library installed on your system to build"
382 echo "Please see README.OpenAL for more details."
384 echo "configure aborted."
388 if test "$ALUT_OK" == "no" -a "x$enable_headless" != "xyes"; then
390 echo "You *must* have the alut library installed on your system to build"
393 echo "Please see README.OpenAL for more details."
395 echo "configure aborted."
404 AC_SUBST(openal_LIBS)
405 AC_SUBST(opengl_LIBS)
406 AC_SUBST(thread_LIBS)
407 AC_SUBST(network_LIBS)
409 dnl Check for MS Windows environment
410 AC_CHECK_HEADER(windows.h)
411 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
413 # The following are C++ items that need to be tested for with the c++
422 if test "x$with_osg_framework" != "x"; then
423 # AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
424 # AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
425 # AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
426 # AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
427 # AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
428 # AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
429 # AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
430 # AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
431 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
432 # osg_FRAMEWORKS="$FRAMEWORKS"
434 # AC_SUBST(osg_FRAMEWORKS)
435 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
436 openthreads_FRAMEWORK="$FRAMEWORKS"
438 AC_SUBST(openthreads_FRAMEWORK)
441 dnl This is needed when osg dynamic libs are specified
442 dnl instead of OSG frameworks on Mac OS X
444 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
448 if test "x$enable_osgdebug" = "xyes"; then
449 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
451 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
456 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
458 AC_CHECK_HEADER(osg/Version)
460 if test "x$ac_cv_header_osg_Version" != "xyes" -o "x$ac_cv_lib_OpenThreads_OpenThreadsGetVersion" != "xyes"; then
461 if test "x$ac_cv_framework_osg" != "xyes"; then
463 echo "You *must* have the OpenThreads library installed on your system"
464 echo "to build this version of SimGear!"
465 echo " Maybe you need to specify --with-osg=DIR."
466 echo " Maybe you need to specify some LDFLAGS to help the linker."
468 echo " LIBS: '$LIBS'"
469 echo " LDFLAGS: '$LDFLAGS'"
470 echo " CPPFLAGS: '$CPPFLAGS'"
472 echo "Please see README.OSG for more details."
474 echo "configure aborted."
479 AC_CHECK_HEADER(boost/version.hpp)
480 if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then
482 echo "You *must* have the Boost library installed on your system"
483 echo "to build this version of SimGear!"
485 echo " LIBS: '$LIBS'"
486 echo " LDFLAGS: '$LDFLAGS'"
487 echo " CPPFLAGS: '$CPPFLAGS'"
489 echo "configure aborted."
495 dnl Check for system installed zlib
496 AC_CHECK_HEADER(zlib.h)
497 if test "x$ac_cv_header_zlib_h" != "xyes"; then
499 echo "zlib library not found."
501 echo "If your OS does not provide an installable package for zlib"
502 echo "you will have to compile and install it first yourself. A copy"
503 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
504 echo "have to untar this source code, and follow its included instructions"
505 echo "to compile and install on your system."
507 echo "configure aborted."
511 dnl Checks for header files.
514 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
515 sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
517 if test "x$ac_cv_header_stdint_h" = "xyes"; then
518 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
521 dnl Checks for typedefs, structures, and compiler characteristics.
528 dnl Checks for library functions.
530 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
534 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
535 random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
538 AM_CONFIG_HEADER(simgear/simgear_config.h)
545 simgear/compatibility/Makefile \
546 simgear/compatibility/MIPSpro721/Makefile \
547 simgear/compatibility/MIPSpro740/Makefile \
548 simgear/bucket/Makefile \
549 simgear/debug/Makefile \
550 simgear/ephemeris/Makefile \
551 simgear/io/Makefile \
552 simgear/magvar/Makefile \
553 simgear/math/Makefile \
554 simgear/environment/Makefile \
555 simgear/misc/Makefile \
556 simgear/nasal/Makefile \
557 simgear/props/Makefile \
558 simgear/route/Makefile \
559 simgear/scene/Makefile \
560 simgear/scene/bvh/Makefile \
561 simgear/scene/material/Makefile \
562 simgear/scene/model/Makefile \
563 simgear/scene/sky/Makefile \
564 simgear/scene/tgdb/Makefile \
565 simgear/scene/util/Makefile \
566 simgear/screen/Makefile \
567 simgear/serial/Makefile \
568 simgear/sound/Makefile \
569 simgear/structure/Makefile \
570 simgear/threads/Makefile \
571 simgear/timing/Makefile \
572 simgear/xml/Makefile \
578 echo "Configure Summary"
579 echo "================="
581 echo "Prefix: $prefix"
583 if test "x$with_logging" != "x"; then
584 echo "Debug messages: $with_logging"
586 echo "Debug messages: yes"
589 echo -n "Automake version: "
590 automake --version | head -1
592 if test "x$with_jpeg_factory" = "xyes"; then
593 echo "With JPEG Factory support"
595 echo "Without JPEG Factory support"
598 if test "x$ac_cv_header_pthread_h" = "xyes"; then
599 echo "Threads: pthread lib found."
601 echo "Threads: no threads (pthread lib not found.)"