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
620 if test "x$with_osg_framework" = "x"; then
621 if test "x$enable_osgdebug" = "xyes"; then
622 # debug version of osg libs
623 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
624 openthreads_LIBS="$LIBS"
626 AC_CHECK_LIB(osgd,osgGetVersion)
627 AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
628 AC_CHECK_LIB(osgDBd,osgDBGetVersion)
629 AC_CHECK_LIB(osgTextd,osgTextGetVersion)
630 AC_CHECK_LIB(osgGAd,osgGAGetVersion)
631 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
632 AC_CHECK_LIB(osgSimd,osgSimGetVersion)
633 AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
634 OSG_LIBS="$LIBS -losgFXd $openthreads_LIBS"
637 # release version of osg libs
638 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
639 openthreads_LIBS="$LIBS"
641 AC_CHECK_LIB(osg,osgGetVersion)
642 AC_CHECK_LIB(osgUtil,osgUtilGetVersion)
643 AC_CHECK_LIB(osgDB,osgDBGetVersion)
644 AC_CHECK_LIB(osgText,osgTextGetVersion)
645 AC_CHECK_LIB(osgGA,osgGAGetVersion)
646 AC_CHECK_LIB(osgViewer,osgViewerGetVersion)
647 AC_CHECK_LIB(osgSim,osgSimGetVersion)
648 AC_CHECK_LIB(osgParticle,osgParticleGetVersion)
649 OSG_LIBS="$LIBS -losgFX $openthreads_LIBS"
653 AC_SUBST(openthreads_LIBS)
656 # Checking osg frameworks.
657 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
658 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
659 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
660 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
661 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
662 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
663 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
664 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
665 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
666 osg_FRAMEWORKS="$FRAMEWORKS"
668 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
669 openthreads_FRAMEWORK="$FRAMEWORKS"
670 AC_SUBST(osg_FRAMEWORKS)
671 AC_SUBST(openthreads_FRAMEWORK)
675 if test "x$enable_osgdebug" = "xyes"; then
676 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
677 AC_CHECK_LIB(osgd,osgGetVersion)
678 AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
679 AC_CHECK_LIB(osgDBd,osgDBGetVersion)
680 AC_CHECK_LIB(osgTextd,osgTextGetVersion)
681 AC_CHECK_LIB(osgGAd,osgGAGetVersion)
682 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
683 AC_CHECK_LIB(osgSimd,osgSimGetVersion)
684 AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
685 LIBS="$LIBS -losgFXd $opengl_LIBS"
687 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
688 AC_CHECK_LIB(osg,osgGetVersion)
689 AC_CHECK_LIB(osgUtil,osgUtilGetVersion)
690 AC_CHECK_LIB(osgDB,osgDBGetVersion)
691 AC_CHECK_LIB(osgText,osgTextGetVersion)
692 AC_CHECK_LIB(osgGA,osgGAGetVersion)
693 AC_CHECK_LIB(osgViewer,osgViewerGetVersion)
694 AC_CHECK_LIB(osgSim,osgSimGetVersion)
695 AC_CHECK_LIB(osgParticle,osgParticleGetVersion)
696 LIBS="$LIBS -losgFX $opengl_LIBS"
700 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
702 AC_CHECK_HEADER(osg/Version)
703 if test "x$ac_cv_header_osg_Version" != "xyes"; then
705 echo "You *must* have the OpenSceneGraph support library installed on your system"
706 echo "to build the FGFS simulator!"
708 echo "Please see README.OSG for more details."
710 echo "configure aborted."
715 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
717 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
718 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
719 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
720 AC_MSG_RESULT([yes])],
721 [AC_MSG_RESULT([no])])
723 # Special handling for static version of OSG
724 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
727 #***** Check image support (needed for static build) *****
728 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
729 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
730 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
734 if test "x$with_osg" != "x" ; then
735 osg_prefix="$with_osg"
739 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
740 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
741 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
742 -losgVolume -losgTerrain $LIBS -losgUtil"
744 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
745 LIBS="$LIBS -losgdb_jpeg"
747 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
748 LIBS="$LIBS -losgdb_png"
750 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
751 LIBS="$LIBS -losgdb_tiff"
754 LIBS="$LIBS $img_LIBS"
759 dnl Check for system installed zlib
760 AC_CHECK_HEADER(zlib.h)
761 if test "x$ac_cv_header_zlib_h" != "xyes"; then
763 echo "zlib library not found."
765 echo "If your OS does not provide an installable package for zlib"
766 echo "you will have to compile and install it first yourself. A copy"
767 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
768 echo "have to untar this source code, and follow it's included instructions"
769 echo "to compile and install on your system."
771 echo "configure aborted."
775 dnl Check for Subversion library support
777 save_CPPFLAGS=$CPPFLAGS
779 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
780 AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
781 AC_CHECK_HEADERS([svn_client.h glut.h])
782 if test "x$ac_cv_header_svn_client_h" != "xyes"; then
783 echo "TerraSync will shell out for command line subversion"
787 echo "TerraSync will use integrated subversion library"
788 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
790 svn_CPPFLAGS=$CPPFLAGS
792 AC_SUBST(svn_CPPFLAGS)
795 CPPFLAGS=$save_CPPFLAGS
797 AC_MSG_CHECKING([for feenableexcept])
798 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
799 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
800 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
801 AC_MSG_RESULT([yes]),
804 dnl Checks for header files.
807 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
808 sys/time.h sys/timeb.h unistd.h windows.h values.h )
810 dnl Checks for typedefs, structures, and compiler characteristics.
816 dnl Checks for library functions.
818 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
822 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
823 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
827 AM_CONFIG_HEADER(src/Include/config.h)
839 scripts/debug/Makefile \
840 scripts/perl/Makefile \
841 scripts/perl/examples/Makefile \
842 scripts/python/Makefile \
844 src/Include/Makefile \
845 src/Include/version.h \
846 src/Include/config.h-msvc6 \
847 src/Include/config.h-msvc71 \
848 src/Include/config.h-msvc8 \
849 src/Include/config.h-msvc90 \
850 src/Aircraft/Makefile \
851 src/Airports/Makefile \
853 src/ATCDCL/Makefile \
854 src/Autopilot/Makefile \
855 src/Cockpit/Makefile \
856 src/Cockpit/built_in/Makefile \
857 src/Environment/Makefile \
858 src/FDM/ExternalNet/Makefile \
859 src/FDM/ExternalPipe/Makefile \
860 src/FDM/JSBSim/Makefile \
861 src/FDM/JSBSim/initialization/Makefile \
862 src/FDM/JSBSim/input_output/Makefile \
863 src/FDM/JSBSim/math/Makefile \
864 src/FDM/JSBSim/models/Makefile \
865 src/FDM/JSBSim/models/flight_control/Makefile \
866 src/FDM/JSBSim/models/atmosphere/Makefile \
867 src/FDM/JSBSim/models/propulsion/Makefile \
868 src/FDM/LaRCsim/Makefile \
869 src/FDM/SP/Makefile \
870 src/FDM/UIUCModel/Makefile \
871 src/FDM/YASim/Makefile \
875 src/Instrumentation/Makefile \
876 src/Instrumentation/KLN89/Makefile \
877 src/Instrumentation/HUD/Makefile \
880 src/Main/runfgfs.bat \
882 src/AIModel/Makefile \
883 src/MultiPlayer/Makefile \
884 src/Navaids/Makefile \
885 src/Network/Makefile \
886 src/Scenery/Makefile \
887 src/Scripting/Makefile \
889 src/Systems/Makefile \
891 src/Traffic/Makefile \
894 utils/GPSsmooth/Makefile \
895 utils/fgadmin/Makefile
896 utils/fgadmin/src/Makefile \
897 utils/js_server/Makefile \
898 utils/Modeller/Makefile \
899 utils/propmerge/Makefile \
900 utils/TerraSync/Makefile \
901 utils/xmlgrep/Makefile \
902 utils/fgviewer/Makefile
906 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
909 echo "Configure Summary"
910 echo "================="
912 echo "Prefix: $prefix"
914 if test "x$with_logging" != "x"; then
915 echo "Debug messages: $with_logging"
917 echo "Debug messages: yes"
920 echo -n "Automake version: "
921 automake --version | head -n 1
923 if test "x$with_multiplayer" != "xno"; then
924 echo "Building with multiplayer support"
927 if test "x$with_threads" = "xyes"; then
933 if test "x$with_eventinput" = "xyes"; then
934 echo "event input: yes"
936 echo "event input: no"
939 if test "x$enable_sp_fdms" != "xno"; then
940 echo "Include special purpose flight models: yes"
942 echo "Include special purpose flight models: no"