1 dnl Process this file with autogen.sh to produce a working configure
5 AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
7 dnl Require at least automake 2.52
10 dnl Initialize the automake stuff
11 dnl set the $host variable based on local machine/os
13 AM_INIT_AUTOMAKE(FlightGear, 2.0.0)
15 dnl Checks for programs.
24 AX_BOOST_BASE([1.37.0])
26 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
27 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
30 # specify the simgear location
31 AC_ARG_WITH(simgear, [ --with-simgear=PREFIX Specify the prefix path to SimGear])
33 if test "x$with_simgear" != "x" ; then
34 echo "SimGear prefix path is $with_simgear"
35 EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
36 CXXFLAGS="$CXXFLAGS -I$with_simgear"
39 # specify the plib location
40 AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
42 if test "x$with_plib" != "x" ; then
43 echo "plib prefix is $with_plib"
44 EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
47 # specify the osg location
48 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
50 if test "x$with_osg" != "x" ; then
51 echo "osg prefix is $with_osg"
52 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
55 # specify framework related locations for Mac OS X
59 dnl Thank you Christian Bauer from SheepSaver
60 dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
61 dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_FOUND) ;
62 AC_DEFUN([AC_CHECK_FRAMEWORK], [
63 AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
64 AC_CACHE_CHECK([whether compiler supports framework $1],
67 FRAMEWORKS="$FRAMEWORKS -framework $1"
68 if test "$3" = ""; then
69 FRAMEWORKS="$FRAMEWORKS $ADD2LD"
70 elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
71 FRAMEWORKS="$FRAMEWORKS -F$3"
72 CXXFLAGS="$CXXFLAGS -F$3"
73 CCFLAGS="$CCFLAGS -F$3"
74 CPPFLAGS="$CPPFLAGS -F$3"
75 dnl This is needed for AC_TRY_LINK when a framework path is specified
76 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
80 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
83 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
84 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
86 AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
87 AS_VAR_POPDEF([ac_Framework])dnl
90 # Mac OS X specific configure options
91 AC_ARG_WITH(cocoa_framework, [ --with-cocoa-framework Use the Cocoa rather than Carbon]])
92 if test "x$with_cocoa_framework" != "x" ; then
94 AC_MSG_NOTICE([Using Cocoa framework])
97 AC_MSG_NOTICE([Using Carbon framework])
100 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to osg frameworks [default=standard framework paths]])
101 if test "x$with_osg_framework" != "x" ; then
102 echo "osg prefix is $with_osg_framework"
103 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
106 AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX Specify the prefix path to PLIB framework [default=standard framework paths]])
107 if test "x$with_plib_framework" != "x" ; then
108 echo "plib prefix is $with_plib_framework"
109 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_plib_framework"
112 AC_ARG_WITH(alut_framework, [ --with-alut-framework=PREFIX Specify the prefix path to ALUT.framework ])
113 if test "x$with_alut_framework" != "x"; then
114 echo "ALUT framework prefix is $with_alut_framework"
120 dnl Determine an extra directories to add to include/lib search paths
122 *-apple-darwin* | *-*-mingw32*)
123 echo no EXTRA_DIRS for $host
127 if test -d /usr/local ; then
128 EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
133 if test -d /usr/X11R6 ; then
134 EXTRA_DIR1="/usr/X11R6"
136 if test -d /opt/X11R6 ; then
137 EXTRA_DIR2="/opt/X11R6"
139 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
143 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
148 if test "$CXX" = "CC"; then
151 CXXFLAGS="$CXXFLAGS -c99 -I$with_simgear/include/simgear/compatibility"
152 CFLAGS="$CFLAGS -c99"
166 dnl set logging; default value of with_logging=yes
167 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
168 if test "x$with_logging" = "xno" ; then
169 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
172 AC_ARG_ENABLE(sp_fdms, [ --enable-sp-fdms Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
173 if test "x$enable_sp_fdms" != "xno"; then
174 AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
176 AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
178 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
180 # Specify whether we want to compile ATCDCL.
181 # default to with_atcdcl=yes
182 AC_ARG_ENABLE(atcdcl, [ --enable-atcdcl Compile and link the depricated atc/ai module], [enable_atcdcl="$enableval"] )
183 if test "x$enable_atcdcl" != "xno"; then
184 AC_DEFINE([ENABLE_ATCDCL], 1, [Define to include old ATC/AI module])
186 AC_DEFINE([ENABLE_ATCDCL], 0, [Define to include old ATC/AI module])
188 AM_CONDITIONAL(ENABLE_ATCDCL, test "x$enable_atcdcl" != "xno")
192 dnl EXPERIMENTAL generic event driven input device
194 AC_ARG_WITH(eventinput, [ --with-eventinput Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
195 if test "x$with_eventinput" = "xyes"; then
196 AC_DEFINE([WITH_EVENTINPUT], 1, [Define to enable generic event driven input device])
198 dnl OS specific sources for event driven input
199 dnl Linux and Mac OS X are supported at this moment
201 eventinput_EXTRA_OBJS="FGMacOSXEventInput.o"
202 eventinput_INCUDES=""
207 dnl FIXME: include paths for dbus are hard-coded at this moment.
208 dnl FIXME: these must be found in configure
210 eventinput_EXTRA_OBJS="FGLinuxEventInput.o"
211 eventinput_INCLUDES="-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include"
212 eventinput_LIBS="-ldbus-1 -lhal"
215 echo "Event driven input is not supported on ${host}."
218 AC_SUBST(eventinput_EXTRA_OBJS)
219 AC_SUBST(eventinput_INCLUDES)
220 AC_SUBST(eventinput_LIBS)
222 AM_CONDITIONAL(WITH_EVENTINPUT, test "x$with_eventinput" = "xyes")
224 dnl Thread related checks
226 AC_ARG_WITH(threads, [ --with-threads Include tile loading threads [default=yes]], [], [with_threads=yes])
227 if test "x$with_threads" = "xyes"; then
228 AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
229 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
230 CFLAGS="$CFLAGS -D_REENTRANT"
232 AC_CHECK_HEADER(pthread.h)
235 dnl Used by JSBSim to conditionally compile in fgfs interface code
236 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
238 # Check for MS Windows environment
239 AC_CHECK_HEADER(windows.h)
241 dnl Using AM_CONDITIONAL is a step out of the protected little
242 dnl automake fold so it is potentially dangerous. But, we are
243 dnl beginning to run into cases where the standard checks are not
244 dnl enough. AM_CONDITIONALS are then referenced to conditionally
245 dnl build a Makefile.in from a Makefile.am which lets us define custom
246 dnl includes, compile alternative source files, etc.
248 dnl Check for external variables daylight and timezone.
250 if test "$have_daylight" = yes; then
251 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
255 if test "$have_timezone" = yes; then
256 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
260 dnl add joystick support libraries
261 dnl search for FreeBSD library
262 AC_SEARCH_LIBS(hid_init, usbhid)
263 joystick_LIBS="$LIBS"
267 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
268 dnl just assuming we have audio support on all platform. We can
269 dnl depend on plib to hide the details.
270 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
272 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
273 dnl to use it if it is.
275 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
276 echo no fancy X11 check
285 dnl Checks for libraries.
287 dnl Thread related checks
288 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
289 if test "x$ac_cv_header_pthread_h" = "xyes"; then
290 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
291 CXXFLAGS="-pthread $CXXFLAGS"
292 CFLAGS="-pthread $CFLAGS"
293 LIBS="-lsgthreads $LIBS"
300 dnl search for network related libraries
301 AC_SEARCH_LIBS(inet_addr, xnet)
302 AC_SEARCH_LIBS(socket, socket)
303 AC_SEARCH_LIBS(main, nsl)
308 dnl check for some default libraries
309 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
310 AC_SEARCH_LIBS(ceil, m)
311 AC_SEARCH_LIBS(dlclose, dl)
312 AC_SEARCH_LIBS(clock_gettime, rt)
316 dnl Check for SDL or glut if enabled.
317 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer(default)], [enable_osgviewer="$enableval"])
318 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
319 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
320 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
321 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
322 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
323 enable_osgviewer="yes"
325 if test \( "x$enable_osgviewer" = "xyes" \
326 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
327 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
328 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
332 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
334 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
336 dnl check for OpenGL related libraries
338 *-*-cygwin* | *-*-mingw32*)
339 dnl CygWin under Windoze.
341 echo Win32 specific hacks...
342 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
343 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
345 if test "x$enable_sdl" = "xyes"; then
346 AC_SEARCH_LIBS(SDL_Init, SDL)
348 LIBS="$LIBS -lglut32"
351 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
352 joystick_LIBS="$joystick_LIBS -lwinmm"
354 dnl add -lwsock32 for mingwin
357 echo "********** BUILDING FOR MINGW32 *************"
358 network_LIBS="$network_LIBS -lws2_32"
362 echo "Will link apps with $LIBS"
369 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
370 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
374 dnl X-Windows based machines
376 dnl Skip X11 library tests if requested.
377 if test "x$no_x" != "xyes"; then
378 AC_SEARCH_LIBS(XCreateWindow, X11)
379 AC_SEARCH_LIBS(XShmCreateImage, Xext)
380 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
381 AC_SEARCH_LIBS(IceOpenConnection, ICE)
382 AC_SEARCH_LIBS(SmcOpenConnection, SM)
383 AC_SEARCH_LIBS(XtMalloc, Xt)
384 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
387 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
388 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
389 dnl if GLcore found, then also check for GL
390 AC_SEARCH_LIBS(glXCreateContext, GL)
393 dnl if using mesa, check for xmesa.h
394 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
395 AC_CHECK_HEADER(GL/fxmesa.h)
396 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
397 AC_DEFINE([XMESA], 1, [Define for fxmesa])
398 AC_DEFINE([FX], 1, [Define for fxmesa])
402 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
403 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
404 if test "x$enable_sdl" = "xyes"; then
405 AC_SEARCH_LIBS(SDL_Init, SDL)
412 LIBS="$base_LIBS $joystick_LIBS"
414 dnl check for OpenAL libraries
418 *-*-cygwin* | *-*-mingw32*)
419 dnl CygWin under Windoze.
420 INCLUDES="$INCLUDES -I/usr/local/include/"
421 LIBS="$LIBS -L/usr/local/lib"
422 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
423 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
424 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
426 OPENAL_OK="$ac_cv_search_alGenBuffers"
427 ALUT_OK="$ac_cv_search_alutInit"
433 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
434 # require use of a non-Apple ALUT.framework which we provide
435 LIBS="$LIBS -framework IOKit -framework OpenAL"
438 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
439 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
441 LIBS = "$LIBS -framework ALUT"
446 dnl default unix style machines
449 LIBS="$LIBS $thread_LIBS"
450 AC_SEARCH_LIBS(alGenBuffers, openal)
451 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
452 OPENAL_OK="$ac_cv_search_alGenBuffers"
453 ALUT_OK="$ac_cv_search_alutInit"
460 if test "$OPENAL_OK" == "no"; then
462 echo "You *must* have the openal library installed on your system to build"
465 echo "Please see README.OpenAL for more details."
467 echo "configure aborted."
471 if test "$ALUT_OK" == "no"; then
473 echo "You *must* have the alut library installed on your system to build"
476 echo "Please see README.OpenAL for more details."
478 echo "configure aborted."
486 AC_SUBST(openal_LIBS)
487 AC_SUBST(opengl_LIBS)
488 AC_SUBST(thread_LIBS)
489 AC_SUBST(network_LIBS)
490 AC_SUBST(joystick_LIBS)
492 # The following are C++ items that need to be tested for with the c++
497 dnl Check for the presence of SimGear
498 if test "x$with_simgear" != "x"; then
499 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
501 AC_CHECK_HEADER(simgear/version.h)
503 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
505 echo "You *must* have the SimGear support library installed on your system"
506 echo "to build the FGFS simulator!"
508 echo "Please see README.SimGear for more details."
510 echo "configure aborted."
514 AC_MSG_CHECKING([for SimGear 2.0.0 or newer])
518 #include <simgear/version.h>
520 #define STRINGIFY(X) XSTRINGIFY(X)
521 #define XSTRINGIFY(X) #X
528 int major, minor, micro;
530 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
531 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
533 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
535 if ( (major < MIN_MAJOR) ||
536 (major == MIN_MAJOR && minor < MIN_MINOR) ||
537 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
546 [AC_MSG_RESULT(wrong version);
547 AC_MSG_ERROR([Install latest SimGear first...])],
553 dnl Check if SimGear was built with Norman's JPEG factory support
554 if test "x$with_simgear" != "x"; then
555 AC_CHECK_HEADER($with_simgear/include/simgear/screen/jpgfactory.hxx,[ac_cv_header_simgear_screen_jpgfactory_hxx=yes],[ac_cv_header_simgear_screen_jpgfactory_hxx=no])
557 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
559 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
560 AC_CHECK_LIB(jpeg, jpeg_start_compress)
561 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
563 echo "The JPEG factory code was built and installed with SimGear."
564 echo "However it appears the libjpeg is no longer installed."
565 echo "You need to install libjpeg or remove jpgfactory support from"
568 echo "libjpeg is available at :"
569 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
572 AC_DEFINE([FG_JPEG_SERVER], 1,
573 [Define to build with jpeg screen shot server])
575 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
577 # Check for "plib" without which we cannot go on
580 if test "x$with_plib_framework" != "x"; then
581 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
582 plib_FRAMEWORK="$FRAMEWORKS"
583 AC_SUBST(plib_FRAMEWORK)
588 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
590 AC_CHECK_HEADER(plib/ul.h)
591 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
593 echo "You *must* have the plib library installed on your system to build"
594 echo "the FGFS simulator!"
596 echo "Please see README.plib for more details."
598 echo "configure aborted."
602 echo "$DYLD_FRAMEWORK_PATH"
603 AC_MSG_CHECKING([for plib 1.8.5 or newer])
607 #define MIN_PLIB_VERSION 185
610 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
619 [AC_MSG_RESULT(wrong version);
620 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
624 dnl If we get here then plib is available, so force use of plib
626 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
628 # Find the OSG libraries. Note special handling for OS X frameworks
629 if test "x$with_osg_framework" = "x"; then
630 if test "x$enable_osgdebug" = "xyes"; then
631 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
632 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
633 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
634 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
635 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
636 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
637 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
638 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
639 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
640 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
642 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
643 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
644 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
645 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
646 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
647 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
648 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
649 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
650 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
651 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
654 # Checking osg frameworks.
655 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
656 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
657 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
658 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
659 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
660 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
661 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
662 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
663 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
664 osg_FRAMEWORKS="$FRAMEWORKS"
666 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
667 openthreads_FRAMEWORK="$FRAMEWORKS"
668 AC_SUBST(osg_FRAMEWORKS)
669 AC_SUBST(openthreads_FRAMEWORK)
671 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
673 AC_CHECK_HEADER(osg/Version)
674 if test "x$ac_cv_header_osg_Version" != "xyes"; then
676 echo "You *must* have the OpenSceneGraph support library installed on your system"
677 echo "to build the FGFS simulator!"
679 echo "Please see README.OSG for more details."
681 echo "configure aborted."
686 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
688 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
689 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
690 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
691 AC_MSG_RESULT([yes])],
692 [AC_MSG_RESULT([no])])
694 # Special handling for static version of OSG
695 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
698 #***** Check image support (needed for static build) *****
699 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
700 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
701 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
705 if test "x$with_osg" != "x" ; then
706 osg_prefix="$with_osg"
710 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
711 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
712 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
713 -losgVolume -losgTerrain $LIBS -losgUtil"
715 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
716 LIBS="$LIBS -losgdb_jpeg"
718 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
719 LIBS="$LIBS -losgdb_png"
721 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
722 LIBS="$LIBS -losgdb_tiff"
725 LIBS="$LIBS $img_LIBS"
730 dnl Check for system installed zlib
731 AC_CHECK_HEADER(zlib.h)
732 if test "x$ac_cv_header_zlib_h" != "xyes"; then
734 echo "zlib library not found."
736 echo "If your OS does not provide an installable package for zlib"
737 echo "you will have to compile and install it first yourself. A copy"
738 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
739 echo "have to untar this source code, and follow it's included instructions"
740 echo "to compile and install on your system."
742 echo "configure aborted."
746 dnl Check for Subversion library support
748 save_CPPFLAGS=$CPPFLAGS
750 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
751 AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
752 AC_CHECK_HEADERS([svn_client.h glut.h])
753 if test "x$ac_cv_header_svn_client_h" != "xyes"; then
754 echo "TerraSync will shell out for command line subversion"
758 echo "TerraSync will use integrated subversion library"
759 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
761 svn_CPPFLAGS=$CPPFLAGS
763 AC_SUBST(svn_CPPFLAGS)
766 CPPFLAGS=$save_CPPFLAGS
768 AC_MSG_CHECKING([for feenableexcept])
769 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
770 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
771 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
772 AC_MSG_RESULT([yes]),
775 dnl Checks for header files.
778 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
779 sys/time.h sys/timeb.h unistd.h windows.h values.h )
781 dnl Checks for typedefs, structures, and compiler characteristics.
787 dnl Checks for library functions.
789 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
793 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
794 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
798 AM_CONFIG_HEADER(src/Include/config.h)
810 scripts/debug/Makefile \
811 scripts/perl/Makefile \
812 scripts/perl/examples/Makefile \
813 scripts/python/Makefile \
815 src/Include/Makefile \
816 src/Include/version.h \
817 src/Include/config.h-msvc6 \
818 src/Include/config.h-msvc71 \
819 src/Include/config.h-msvc8 \
820 src/Include/config.h-msvc90 \
821 src/Aircraft/Makefile \
822 src/Airports/Makefile \
824 src/ATCDCL/Makefile \
825 src/Autopilot/Makefile \
826 src/Cockpit/Makefile \
827 src/Cockpit/built_in/Makefile \
828 src/Environment/Makefile \
829 src/FDM/ExternalNet/Makefile \
830 src/FDM/ExternalPipe/Makefile \
831 src/FDM/JSBSim/Makefile \
832 src/FDM/JSBSim/initialization/Makefile \
833 src/FDM/JSBSim/input_output/Makefile \
834 src/FDM/JSBSim/math/Makefile \
835 src/FDM/JSBSim/models/Makefile \
836 src/FDM/JSBSim/models/flight_control/Makefile \
837 src/FDM/JSBSim/models/atmosphere/Makefile \
838 src/FDM/JSBSim/models/propulsion/Makefile \
839 src/FDM/LaRCsim/Makefile \
840 src/FDM/SP/Makefile \
841 src/FDM/UIUCModel/Makefile \
842 src/FDM/YASim/Makefile \
846 src/Instrumentation/Makefile \
847 src/Instrumentation/KLN89/Makefile \
848 src/Instrumentation/HUD/Makefile \
851 src/Main/runfgfs.bat \
853 src/AIModel/Makefile \
854 src/MultiPlayer/Makefile \
855 src/Navaids/Makefile \
856 src/Network/Makefile \
857 src/Scenery/Makefile \
858 src/Scripting/Makefile \
860 src/Systems/Makefile \
862 src/Traffic/Makefile \
865 utils/GPSsmooth/Makefile \
866 utils/fgadmin/Makefile
867 utils/fgadmin/src/Makefile \
868 utils/js_server/Makefile \
869 utils/Modeller/Makefile \
870 utils/propmerge/Makefile \
871 utils/TerraSync/Makefile \
872 utils/xmlgrep/Makefile \
873 utils/fgviewer/Makefile
877 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
880 echo "Configure Summary"
881 echo "================="
883 echo "Prefix: $prefix"
885 if test "x$with_logging" != "x"; then
886 echo "Debug messages: $with_logging"
888 echo "Debug messages: yes"
891 echo -n "Automake version: "
892 automake --version | head -n 1
894 if test "x$with_multiplayer" != "xno"; then
895 echo "Building with multiplayer support"
898 if test "x$with_threads" = "xyes"; then
904 if test "x$with_eventinput" = "xyes"; then
905 echo "event input: yes"
907 echo "event input: no"
910 if test "x$enable_sp_fdms" != "xno"; then
911 echo "Include special purpose flight models: yes"
913 echo "Include special purpose flight models: no"
916 if test "x$enable_atcdcl" != "xno"; then
917 echo "Build depricated ATC/AI module: yes"
919 echo "Build depricated ATC/AI module: no"