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) ; $3 is optional
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 dnl This is needed for AC_TRY_LINK when a framework path is specified
75 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
79 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
82 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
83 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
85 AS_VAR_POPDEF([ac_Framework])dnl
88 # Mac OS X specific configure options
89 AC_ARG_WITH(cocoa_framework, [ --with-cocoa-framework Use the Cocoa rather than Carbon]])
90 if test "x$with_cocoa_framework" != "x" ; then
92 AC_MSG_NOTICE([Using Cocoa framework])
95 AC_MSG_NOTICE([Using Carbon framework])
98 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to osg frameworks [default=standard framework paths]])
99 if test "x$with_osg_framework" != "x" ; then
100 echo "osg prefix is $with_osg_framework"
101 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
104 AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX Specify the prefix path to PLIB framework [default=standard framework paths]])
105 if test "x$with_plib_framework" != "x" ; then
106 echo "plib prefix is $with_plib_framework"
107 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_plib_framework"
110 AC_ARG_WITH(openal_framework, [ --with-openal-framework=PREFIX Speicfy the prefix path to OpenAL.framework ])
111 if test "x$with_openal_framework" != "x"; then
112 echo "OpenAL framework prefix is $with_openal_framework"
118 dnl Determine an extra directories to add to include/lib search paths
120 *-apple-darwin* | *-*-mingw32*)
121 echo no EXTRA_DIRS for $host
125 if test -d /usr/local ; then
126 EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
131 if test -d /usr/X11R6 ; then
132 EXTRA_DIR1="/usr/X11R6"
134 if test -d /opt/X11R6 ; then
135 EXTRA_DIR2="/opt/X11R6"
137 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
141 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
146 if test "$CXX" = "CC"; then
149 CXXFLAGS="$CXXFLAGS -c99 -I$with_simgear/include/simgear/compatibility"
150 CFLAGS="$CFLAGS -c99"
164 dnl set logging; default value of with_logging=yes
165 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
166 if test "x$with_logging" = "xno" ; then
167 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
170 AC_ARG_ENABLE(sp_fdms, [ --enable-sp-fdms Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
171 if test "x$enable_sp_fdms" != "xno"; then
172 AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
174 AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
176 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
179 dnl EXPERIMENTAL generic event driven input device
181 AC_ARG_WITH(eventinput, [ --with-eventinput Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
182 if test "x$with_eventinput" = "xyes"; then
183 AC_DEFINE([WITH_EVENTINPUT], 1, [Define to enable generic event driven input device])
185 dnl OS specific sources for event driven input
186 dnl Linux and Mac OS X are supported at this moment
188 eventinput_EXTRA_OBJS="FGMacOSXEventInput.o"
189 eventinput_INCUDES=""
194 dnl FIXME: include paths for dbus are hard-coded at this moment.
195 dnl FIXME: these must be found in configure
197 eventinput_EXTRA_OBJS="FGLinuxEventInput.o"
198 eventinput_INCLUDES="-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include"
199 eventinput_LIBS="-ldbus-1 -lhal"
202 echo "Event driven input is not supported on ${host}."
205 AC_SUBST(eventinput_EXTRA_OBJS)
206 AC_SUBST(eventinput_INCLUDES)
207 AC_SUBST(eventinput_LIBS)
209 AM_CONDITIONAL(WITH_EVENTINPUT, test "x$with_eventinput" = "xyes")
211 dnl Thread related checks
213 AC_ARG_WITH(threads, [ --with-threads Include tile loading threads [default=yes]], [], [with_threads=yes])
214 if test "x$with_threads" = "xyes"; then
215 AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
216 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
217 CFLAGS="$CFLAGS -D_REENTRANT"
219 AC_CHECK_HEADER(pthread.h)
221 dnl Used by JSBSim to conditionally compile in fgfs interface code
222 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
224 # Check for MS Windows environment
225 AC_CHECK_HEADER(windows.h)
227 dnl Using AM_CONDITIONAL is a step out of the protected little
228 dnl automake fold so it is potentially dangerous. But, we are
229 dnl beginning to run into cases where the standard checks are not
230 dnl enough. AM_CONDITIONALS are then referenced to conditionally
231 dnl build a Makefile.in from a Makefile.am which lets us define custom
232 dnl includes, compile alternative source files, etc.
234 dnl Check for external variables daylight and timezone.
236 if test "$have_daylight" = yes; then
237 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
241 if test "$have_timezone" = yes; then
242 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
246 dnl add joystick support libraries
247 dnl search for FreeBSD library
248 AC_SEARCH_LIBS(hid_init, usbhid)
249 joystick_LIBS="$LIBS"
253 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
254 dnl just assuming we have audio support on all platform. We can
255 dnl depend on plib to hide the details.
256 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
258 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
259 dnl to use it if it is.
261 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
262 echo no fancy X11 check
271 dnl Checks for libraries.
273 dnl Thread related checks
274 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
275 if test "x$ac_cv_header_pthread_h" = "xyes"; then
276 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
277 CXXFLAGS="-pthread $CXXFLAGS"
278 CFLAGS="-pthread $CFLAGS"
279 LIBS="-lsgthreads $LIBS"
286 dnl search for network related libraries
287 AC_SEARCH_LIBS(inet_addr, xnet)
288 AC_SEARCH_LIBS(socket, socket)
289 AC_SEARCH_LIBS(main, nsl)
294 dnl check for some default libraries
295 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
296 AC_SEARCH_LIBS(ceil, m)
297 AC_SEARCH_LIBS(dlclose, dl)
298 AC_SEARCH_LIBS(clock_gettime, rt)
302 dnl Check for SDL or glut if enabled.
303 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer(default)], [enable_osgviewer="$enableval"])
304 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
305 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
306 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
307 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
308 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
309 enable_osgviewer="yes"
311 if test \( "x$enable_osgviewer" = "xyes" \
312 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
313 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
314 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
318 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
320 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
322 dnl check for OpenGL related libraries
324 *-*-cygwin* | *-*-mingw32*)
325 dnl CygWin under Windoze.
327 echo Win32 specific hacks...
328 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
329 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
331 if test "x$enable_sdl" = "xyes"; then
332 AC_SEARCH_LIBS(SDL_Init, SDL)
334 LIBS="$LIBS -lglut32"
337 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
338 joystick_LIBS="$joystick_LIBS -lwinmm"
340 dnl add -lwsock32 for mingwin
343 echo "********** BUILDING FOR MINGW32 *************"
344 network_LIBS="$network_LIBS -lws2_32"
348 echo "Will link apps with $LIBS"
355 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
356 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
360 dnl X-Windows based machines
362 dnl Skip X11 library tests if requested.
363 if test "x$no_x" != "xyes"; then
364 AC_SEARCH_LIBS(XCreateWindow, X11)
365 AC_SEARCH_LIBS(XShmCreateImage, Xext)
366 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
367 AC_SEARCH_LIBS(IceOpenConnection, ICE)
368 AC_SEARCH_LIBS(SmcOpenConnection, SM)
369 AC_SEARCH_LIBS(XtMalloc, Xt)
370 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
373 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
374 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
375 dnl if GLcore found, then also check for GL
376 AC_SEARCH_LIBS(glXCreateContext, GL)
379 dnl if using mesa, check for xmesa.h
380 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
381 AC_CHECK_HEADER(GL/fxmesa.h)
382 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
383 AC_DEFINE([XMESA], 1, [Define for fxmesa])
384 AC_DEFINE([FX], 1, [Define for fxmesa])
388 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
389 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
390 if test "x$enable_sdl" = "xyes"; then
391 AC_SEARCH_LIBS(SDL_Init, SDL)
398 LIBS="$base_LIBS $joystick_LIBS"
400 dnl check for OpenAL libraries
404 *-*-cygwin* | *-*-mingw32*)
405 dnl CygWin under Windoze.
406 INCLUDES="$INCLUDES -I/usr/local/include/"
407 LIBS="$LIBS -L/usr/local/lib"
408 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
409 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
410 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
412 OPENAL_OK="$ac_cv_search_alGenBuffers"
413 ALUT_OK="$ac_cv_search_alutInit"
419 # Mac OS X has OpenAL.framework with ALUT by default
420 # so we can use it without checking it.
421 # Note: SimGear needs to check the existance of alut.h since it includes the header.
422 LIBS="$LIBS -framework IOKit -framework OpenAL"
427 dnl Check for OpenAL.framework when --with-openal-framework is specified
428 if test "x$with_openal_framework" != "x"; then
429 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/alut.h>], $with_openal_framework)
435 dnl default unix style machines
438 LIBS="$LIBS $thread_LIBS"
439 AC_SEARCH_LIBS(alGenBuffers, openal)
440 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
441 OPENAL_OK="$ac_cv_search_alGenBuffers"
442 ALUT_OK="$ac_cv_search_alutInit"
449 if test "$OPENAL_OK" == "no"; then
451 echo "You *must* have the openal library installed on your system to build"
454 echo "Please see README.OpenAL for more details."
456 echo "configure aborted."
460 if test "$ALUT_OK" == "no"; then
462 echo "You *must* have the alut library installed on your system to build"
465 echo "Please see README.OpenAL for more details."
467 echo "configure aborted."
475 AC_SUBST(openal_LIBS)
476 AC_SUBST(opengl_LIBS)
477 AC_SUBST(thread_LIBS)
478 AC_SUBST(network_LIBS)
479 AC_SUBST(joystick_LIBS)
481 # The following are C++ items that need to be tested for with the c++
486 dnl Check for the presence of SimGear
487 if test "x$with_simgear" != "x"; then
488 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
490 AC_CHECK_HEADER(simgear/version.h)
492 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
494 echo "You *must* have the SimGear support library installed on your system"
495 echo "to build the FGFS simulator!"
497 echo "Please see README.SimGear for more details."
499 echo "configure aborted."
503 AC_MSG_CHECKING([for SimGear 1.9.0 or newer])
507 #include <simgear/version.h>
509 #define STRINGIFY(X) XSTRINGIFY(X)
510 #define XSTRINGIFY(X) #X
517 int major, minor, micro;
519 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
520 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
522 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
524 if ( (major < MIN_MAJOR) ||
525 (major == MIN_MAJOR && minor < MIN_MINOR) ||
526 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
535 [AC_MSG_RESULT(wrong version);
536 AC_MSG_ERROR([Install latest SimGear first...])],
542 dnl Check if SimGear was built with Norman's JPEG factory support
543 if test "x$with_simgear" != "x"; then
544 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])
546 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
548 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
549 AC_CHECK_LIB(jpeg, jpeg_start_compress)
550 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
552 echo "The JPEG factory code was built and installed with SimGear."
553 echo "However it appears the libjpeg is no longer installed."
554 echo "You need to install libjpeg or remove jpgfactory support from"
557 echo "libjpeg is available at :"
558 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
561 AC_DEFINE([FG_JPEG_SERVER], 1,
562 [Define to build with jpeg screen shot server])
564 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
566 # Check for "plib" without which we cannot go on
569 if test "x$with_plib_framework" != "x"; then
570 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
571 plib_FRAMEWORK="$FRAMEWORKS"
572 AC_SUBST(plib_FRAMEWORK)
577 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
579 AC_CHECK_HEADER(plib/ul.h)
580 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
582 echo "You *must* have the plib library installed on your system to build"
583 echo "the FGFS simulator!"
585 echo "Please see README.plib for more details."
587 echo "configure aborted."
591 echo "$DYLD_FRAMEWORK_PATH"
592 AC_MSG_CHECKING([for plib 1.8.5 or newer])
596 #define MIN_PLIB_VERSION 185
599 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
608 [AC_MSG_RESULT(wrong version);
609 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
613 dnl If we get here then plib is available, so force use of plib
615 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
617 # Find the OSG libraries. Note special handling for OS X frameworks
618 if test "x$with_osg_framework" = "x"; then
619 if test "x$enable_osgdebug" = "xyes"; then
620 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
621 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
622 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
623 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
624 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
625 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
626 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
627 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
628 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
629 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
631 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
632 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
633 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
634 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
635 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
636 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
637 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
638 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
639 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
640 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
643 # Checking osg frameworks.
644 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
645 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
646 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
647 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
648 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
649 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
650 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
651 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
652 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
653 osg_FRAMEWORKS="$FRAMEWORKS"
655 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
656 openthreads_FRAMEWORK="$FRAMEWORKS"
657 AC_SUBST(osg_FRAMEWORKS)
658 AC_SUBST(openthreads_FRAMEWORK)
660 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
662 AC_CHECK_HEADER(osg/Version)
663 if test "x$ac_cv_header_osg_Version" != "xyes"; then
665 echo "You *must* have the OpenSceneGraph support library installed on your system"
666 echo "to build the FGFS simulator!"
668 echo "Please see README.OSG for more details."
670 echo "configure aborted."
675 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
677 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
678 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
679 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
680 AC_MSG_RESULT([yes])],
681 [AC_MSG_RESULT([no])])
683 # Special handling for static version of OSG
684 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
687 #***** Check image support (needed for static build) *****
688 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
689 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
690 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
694 if test "x$with_osg" != "x" ; then
695 osg_prefix="$with_osg"
699 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
700 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
701 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
702 -losgVolume -losgTerrain $LIBS -losgUtil"
704 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
705 LIBS="$LIBS -losgdb_jpeg"
707 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
708 LIBS="$LIBS -losgdb_png"
710 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
711 LIBS="$LIBS -losgdb_tiff"
714 LIBS="$LIBS $img_LIBS"
719 dnl Check for system installed zlib
720 AC_CHECK_HEADER(zlib.h)
721 if test "x$ac_cv_header_zlib_h" != "xyes"; then
723 echo "zlib library not found."
725 echo "If your OS does not provide an installable package for zlib"
726 echo "you will have to compile and install it first yourself. A copy"
727 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
728 echo "have to untar this source code, and follow it's included instructions"
729 echo "to compile and install on your system."
731 echo "configure aborted."
735 dnl Check for Subversion library support
737 save_CPPFLAGS=$CPPFLAGS
739 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
740 AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
741 AC_CHECK_HEADERS([svn_client.h glut.h])
742 if test "x$ac_cv_header_svn_client_h" != "xyes"; then
743 echo "TerraSync will shell out for command line subversion"
747 echo "TerraSync will use integrated subversion library"
748 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
750 svn_CPPFLAGS=$CPPFLAGS
752 AC_SUBST(svn_CPPFLAGS)
755 CPPFLAGS=$save_CPPFLAGS
757 AC_MSG_CHECKING([for feenableexcept])
758 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
759 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
760 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
761 AC_MSG_RESULT([yes]),
764 dnl Checks for header files.
767 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
768 sys/time.h sys/timeb.h unistd.h windows.h values.h )
770 dnl Checks for typedefs, structures, and compiler characteristics.
776 dnl Checks for library functions.
778 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
782 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
783 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
787 AM_CONFIG_HEADER(src/Include/config.h)
799 scripts/debug/Makefile \
800 scripts/perl/Makefile \
801 scripts/perl/examples/Makefile \
802 scripts/python/Makefile \
804 src/Include/Makefile \
805 src/Include/version.h \
806 src/Include/config.h-msvc6 \
807 src/Include/config.h-msvc71 \
808 src/Include/config.h-msvc8 \
809 src/Include/config.h-msvc90 \
810 src/Aircraft/Makefile \
811 src/Airports/Makefile \
813 src/ATCDCL/Makefile \
814 src/Autopilot/Makefile \
815 src/Cockpit/Makefile \
816 src/Cockpit/built_in/Makefile \
817 src/Environment/Makefile \
818 src/FDM/ExternalNet/Makefile \
819 src/FDM/ExternalPipe/Makefile \
820 src/FDM/JSBSim/Makefile \
821 src/FDM/JSBSim/initialization/Makefile \
822 src/FDM/JSBSim/input_output/Makefile \
823 src/FDM/JSBSim/math/Makefile \
824 src/FDM/JSBSim/models/Makefile \
825 src/FDM/JSBSim/models/flight_control/Makefile \
826 src/FDM/JSBSim/models/atmosphere/Makefile \
827 src/FDM/JSBSim/models/propulsion/Makefile \
828 src/FDM/LaRCsim/Makefile \
829 src/FDM/SP/Makefile \
830 src/FDM/UIUCModel/Makefile \
831 src/FDM/YASim/Makefile \
835 src/Instrumentation/Makefile \
836 src/Instrumentation/KLN89/Makefile \
837 src/Instrumentation/HUD/Makefile \
840 src/Main/runfgfs.bat \
842 src/AIModel/Makefile \
843 src/MultiPlayer/Makefile \
844 src/Navaids/Makefile \
845 src/Network/Makefile \
846 src/Scenery/Makefile \
847 src/Scripting/Makefile \
849 src/Systems/Makefile \
851 src/Traffic/Makefile \
854 utils/GPSsmooth/Makefile \
855 utils/fgadmin/Makefile
856 utils/fgadmin/src/Makefile \
857 utils/js_server/Makefile \
858 utils/Modeller/Makefile \
859 utils/propmerge/Makefile \
860 utils/TerraSync/Makefile \
861 utils/xmlgrep/Makefile \
862 utils/fgviewer/Makefile
866 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
869 echo "Configure Summary"
870 echo "================="
872 echo "Prefix: $prefix"
874 if test "x$with_logging" != "x"; then
875 echo "Debug messages: $with_logging"
877 echo "Debug messages: yes"
880 echo -n "Automake version: "
881 automake --version | head -n 1
883 if test "x$with_multiplayer" != "xno"; then
884 echo "Building with multiplayer support"
887 if test "x$with_threads" = "xyes"; then
893 if test "x$with_eventinput" = "xyes"; then
894 echo "event input: yes"
896 echo "event input: no"
899 if test "x$enable_sp_fdms" != "xno"; then
900 echo "Include special purpose flight models: yes"
902 echo "Include special purpose flight models: no"