1 dnl Process this file with autogen.sh to produce a working configure
4 AC_INIT(FlightGear, m4_esyscmd([cat ./version | tr -d '\n']), [http://www.flightgear.org])
6 dnl Ensure touching the version causes autoconf to re-run
7 AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/version'])
9 AC_CONFIG_SRCDIR([src/Airports/simple.cxx])
11 dnl Require at least automake 2.52
14 dnl Initialize the automake stuff
15 dnl set the $host variable based on local machine/os
17 AM_INIT_AUTOMAKE([dist-bzip2])
19 # variables for version.h
20 AC_DEFINE([HAVE_VERSION_H], 1, [Set if version.h is generated])
22 # are we running under Hudson? (defines BUILD_ID, BUILD_NUMBER in the environment)
23 if test "x$BUILD_ID" != "x" ; then
24 AC_SUBST([HUDSON_BUILD_ID], $BUILD_ID)
25 AC_SUBST([HUDSON_BUILD_NUMBER], $BUILD_NUMBER)
27 AC_SUBST([HUDSON_BUILD_ID], [none])
28 AC_SUBST([HUDSON_BUILD_NUMBER], 0)
31 AC_CHECK_PROG([HAVE_GIT], git, 1)
32 if test "x$HAVE_GIT" != "x" ; then
33 # git might be installed, but we might be building from a tarball
34 if git rev-parse ; then
35 AC_SUBST([REVISION], `git rev-parse HEAD`)
37 AC_SUBST([REVISION], [none])
40 AC_SUBST([REVISION], [none])
43 dnl Checks for programs.
52 AX_BOOST_BASE([1.37.0])
54 # Show all compiler warnings by default
55 CXXFLAGS="$CXXFLAGS -Wall"
56 CFLAGS="$CFLAGS -Wall"
58 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
59 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
62 # specify the simgear location
63 AC_ARG_WITH(simgear, [ --with-simgear=PREFIX Specify the prefix path to SimGear])
65 if test "x$with_simgear" != "x" ; then
66 echo "SimGear prefix path is $with_simgear"
67 EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
68 CXXFLAGS="$CXXFLAGS -I$with_simgear"
71 # specify the plib location
72 AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
74 if test "x$with_plib" != "x" ; then
75 echo "plib prefix is $with_plib"
76 EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
79 # specify the osg location
80 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
82 if test "x$with_osg" != "x" ; then
83 echo "osg prefix is $with_osg"
84 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
87 # specify framework related locations for Mac OS X
91 dnl Thank you Christian Bauer from SheepSaver
92 dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
93 dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_FOUND) ;
94 AC_DEFUN([AC_CHECK_FRAMEWORK], [
95 AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
96 AC_CACHE_CHECK([whether compiler supports framework $1],
99 FRAMEWORKS="$FRAMEWORKS -framework $1"
100 if test "$3" = ""; then
101 FRAMEWORKS="$FRAMEWORKS $ADD2LD"
102 elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
103 FRAMEWORKS="$FRAMEWORKS -F$3"
104 CXXFLAGS="$CXXFLAGS -F$3"
105 CCFLAGS="$CCFLAGS -F$3"
106 CPPFLAGS="$CPPFLAGS -F$3"
107 dnl This is needed for AC_TRY_LINK when a framework path is specified
108 export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
112 [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
115 AS_IF([test AS_VAR_GET(ac_Framework) = yes],
116 [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
118 AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
119 AS_VAR_POPDEF([ac_Framework])dnl
122 # Mac OS X specific configure options
123 AC_ARG_WITH(cocoa_framework, [ --with-cocoa-framework Use the Cocoa rather than Carbon])
124 if test "x$with_cocoa_framework" != "x" ; then
126 AC_MSG_NOTICE([Using Cocoa framework])
129 AC_MSG_NOTICE([Using Carbon framework])
132 AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to osg frameworks [default=standard framework paths]])
133 if test "x$with_osg_framework" != "x" ; then
134 echo "osg prefix is $with_osg_framework"
135 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
138 AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX Specify the prefix path to PLIB framework [default=standard framework paths]])
139 if test "x$with_plib_framework" != "x" ; then
140 echo "plib prefix is $with_plib_framework"
141 export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_plib_framework"
144 AC_ARG_WITH(alut_framework, [ --with-alut-framework=PREFIX Specify the prefix path to ALUT.framework ])
145 if test "x$with_alut_framework" != "x"; then
146 echo "ALUT framework prefix is $with_alut_framework"
152 dnl Determine an extra directories to add to include/lib search paths
154 *-apple-darwin* | *-*-mingw32*)
155 echo no EXTRA_DIRS for $host
159 if test -d /usr/local ; then
160 EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
165 if test -d /usr/X11R6 ; then
166 EXTRA_DIR1="/usr/X11R6"
168 if test -d /opt/X11R6 ; then
169 EXTRA_DIR2="/opt/X11R6"
171 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
175 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
180 if test "$CXX" = "CC"; then
183 CXXFLAGS="$CXXFLAGS -c99 -I$with_simgear/include/simgear/compatibility"
184 CFLAGS="$CFLAGS -c99"
198 dnl set logging; default value of with_logging=yes
199 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
200 if test "x$with_logging" = "xno" ; then
201 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
204 AC_ARG_ENABLE(sp_fdms, [ --enable-sp-fdms Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
205 if test "x$enable_sp_fdms" != "xno"; then
206 AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
208 AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
210 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
212 dnl EXPERIMENTAL generic event driven input device
214 AC_ARG_WITH(eventinput, [ --with-eventinput Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
215 if test "x$with_eventinput" = "xyes"; then
216 AC_DEFINE([WITH_EVENTINPUT], 1, [Define to enable generic event driven input device])
218 dnl OS specific sources for event driven input
219 dnl Linux and Mac OS X are supported at this moment
221 eventinput_EXTRA_OBJS="FGMacOSXEventInput.o"
222 eventinput_INCUDES=""
227 dnl FIXME: include paths for dbus are hard-coded at this moment.
228 dnl FIXME: these must be found in configure
230 eventinput_EXTRA_OBJS="FGLinuxEventInput.o"
231 eventinput_INCLUDES="-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include"
232 eventinput_LIBS="-ldbus-1 -lhal"
235 echo "Event driven input is not supported on ${host}."
238 AC_SUBST(eventinput_EXTRA_OBJS)
239 AC_SUBST(eventinput_INCLUDES)
240 AC_SUBST(eventinput_LIBS)
242 AM_CONDITIONAL(WITH_EVENTINPUT, test "x$with_eventinput" = "xyes")
244 dnl Thread related checks
246 AC_ARG_WITH(threads, [ --with-threads Include tile loading threads [default=yes]], [], [with_threads=yes])
247 if test "x$with_threads" = "xyes"; then
248 AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
249 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
250 CFLAGS="$CFLAGS -D_REENTRANT"
252 AC_CHECK_HEADER(pthread.h)
254 dnl Used by JSBSim to conditionally compile in fgfs interface code
255 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
257 # Check for MS Windows environment
258 AC_CHECK_HEADER(windows.h)
260 dnl Using AM_CONDITIONAL is a step out of the protected little
261 dnl automake fold so it is potentially dangerous. But, we are
262 dnl beginning to run into cases where the standard checks are not
263 dnl enough. AM_CONDITIONALS are then referenced to conditionally
264 dnl build a Makefile.in from a Makefile.am which lets us define custom
265 dnl includes, compile alternative source files, etc.
267 dnl Check for external variables daylight and timezone.
269 if test "$have_daylight" = yes; then
270 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
274 if test "$have_timezone" = yes; then
275 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
279 dnl add joystick support libraries
280 dnl search for FreeBSD library
281 AC_SEARCH_LIBS(hid_init, usbhid)
282 joystick_LIBS="$LIBS"
286 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
287 dnl just assuming we have audio support on all platform. We can
288 dnl depend on plib to hide the details.
289 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
291 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
292 dnl to use it if it is.
294 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
295 echo no fancy X11 check
304 dnl Checks for libraries.
306 dnl Thread related checks
307 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
308 if test "x$ac_cv_header_pthread_h" = "xyes"; then
309 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
310 CXXFLAGS="-pthread $CXXFLAGS"
311 CFLAGS="-pthread $CFLAGS"
312 LIBS="-lsgthreads $LIBS"
319 dnl search for network related libraries
320 AC_SEARCH_LIBS(inet_addr, xnet)
321 AC_SEARCH_LIBS(socket, socket)
322 AC_SEARCH_LIBS(main, nsl)
327 dnl check for some default libraries
328 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
329 AC_SEARCH_LIBS(ceil, m)
330 AC_SEARCH_LIBS(dlclose, dl)
331 AC_SEARCH_LIBS(clock_gettime, rt)
335 dnl Check for SDL or glut if enabled.
336 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
337 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
338 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
339 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
340 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
341 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
342 enable_osgviewer="yes"
344 if test \( "x$enable_osgviewer" = "xyes" \
345 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
346 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
347 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
351 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
353 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
355 dnl check for OpenGL related libraries
357 *-*-cygwin* | *-*-mingw32*)
358 dnl CygWin under Windoze.
360 echo Win32 specific hacks...
361 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
362 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
364 if test "x$enable_sdl" = "xyes"; then
365 AC_SEARCH_LIBS(SDL_Init, SDL)
367 LIBS="$LIBS -lglut32"
370 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
371 joystick_LIBS="$joystick_LIBS -lwinmm"
373 dnl add -lwsock32 for mingwin
376 echo "********** BUILDING FOR MINGW32 *************"
377 network_LIBS="$network_LIBS -lws2_32"
381 echo "Will link apps with $LIBS"
388 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
389 LDFLAGS="$LDFLAGS -headerpad_max_install_names"
390 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
394 dnl X-Windows based machines
396 dnl Skip X11 library tests if requested.
397 if test "x$no_x" != "xyes"; then
398 AC_SEARCH_LIBS(XCreateWindow, X11)
399 AC_SEARCH_LIBS(XShmCreateImage, Xext)
400 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
401 AC_SEARCH_LIBS(IceOpenConnection, ICE)
402 AC_SEARCH_LIBS(SmcOpenConnection, SM)
403 AC_SEARCH_LIBS(XtMalloc, Xt)
404 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
407 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
408 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
409 dnl if GLcore found, then also check for GL
410 AC_SEARCH_LIBS(glXCreateContext, GL)
413 dnl if using mesa, check for xmesa.h
414 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
415 AC_CHECK_HEADER(GL/fxmesa.h)
416 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
417 AC_DEFINE([XMESA], 1, [Define for fxmesa])
418 AC_DEFINE([FX], 1, [Define for fxmesa])
422 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
423 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
424 if test "x$enable_sdl" = "xyes"; then
425 AC_SEARCH_LIBS(SDL_Init, SDL)
432 LIBS="$base_LIBS $joystick_LIBS"
434 dnl check for OpenAL libraries
438 *-*-cygwin* | *-*-mingw32*)
439 dnl CygWin under Windoze.
440 INCLUDES="$INCLUDES -I/usr/local/include/"
441 LIBS="$LIBS -L/usr/local/lib"
442 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
443 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
444 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
446 OPENAL_OK="$ac_cv_search_alGenBuffers"
447 ALUT_OK="$ac_cv_search_alutInit"
453 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
454 # require use of a non-Apple ALUT.framework which we provide
455 openal_LIBS="-framework IOKit -framework OpenAL"
457 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
458 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
460 openal_LIBS="$openal_LIBS -framework ALUT"
465 dnl default unix style machines
468 LIBS="$LIBS $thread_LIBS"
469 AC_SEARCH_LIBS(alGenBuffers, openal)
470 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
471 OPENAL_OK="$ac_cv_search_alGenBuffers"
472 ALUT_OK="$ac_cv_search_alutInit"
479 if test "$OPENAL_OK" == "no"; then
481 echo "You *must* have the openal library installed on your system to build"
484 echo "Please see README.OpenAL for more details."
486 echo "configure aborted."
490 if test "$ALUT_OK" == "no"; then
492 echo "You *must* have the alut library installed on your system to build"
495 echo "Please see README.OpenAL for more details."
497 echo "configure aborted."
505 AC_SUBST(openal_LIBS)
506 AC_SUBST(opengl_LIBS)
507 AC_SUBST(thread_LIBS)
508 AC_SUBST(network_LIBS)
509 AC_SUBST(joystick_LIBS)
511 # The following are C++ items that need to be tested for with the c++
516 dnl Check for the presence of SimGear
517 if test "x$with_simgear" != "x"; then
518 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
520 AC_CHECK_HEADER(simgear/version.h)
522 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
524 echo "You *must* have the SimGear support library installed on your system"
525 echo "to build the FGFS simulator!"
527 echo "Please see README.SimGear for more details."
529 echo "configure aborted."
533 AC_MSG_CHECKING([for SimGear 2.2.0 or newer])
537 #include <simgear/version.h>
539 #define STRINGIFY(X) XSTRINGIFY(X)
540 #define XSTRINGIFY(X) #X
547 int major, minor, micro;
549 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
550 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
552 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
554 if ( (major < MIN_MAJOR) ||
555 (major == MIN_MAJOR && minor < MIN_MINOR) ||
556 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
565 [AC_MSG_RESULT(wrong version);
566 AC_MSG_ERROR([Install latest SimGear first...])],
572 dnl Check if SimGear was built with Norman's JPEG factory support
573 if test "x$with_simgear" != "x"; then
574 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])
576 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
578 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
579 AC_CHECK_LIB(jpeg, jpeg_start_compress)
580 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
582 echo "The JPEG factory code was built and installed with SimGear."
583 echo "However it appears the libjpeg is no longer installed."
584 echo "You need to install libjpeg or remove jpgfactory support from"
587 echo "libjpeg is available at :"
588 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
591 AC_DEFINE([FG_JPEG_SERVER], 1,
592 [Define to build with jpeg screen shot server])
594 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
596 # Check for "plib" without which we cannot go on
599 if test "x$with_plib_framework" != "x"; then
600 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
601 plib_FRAMEWORK="$FRAMEWORKS"
602 AC_SUBST(plib_FRAMEWORK)
607 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
609 AC_CHECK_HEADER(plib/ul.h)
610 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
612 echo "You *must* have the plib library installed on your system to build"
613 echo "the FGFS simulator!"
615 echo "Please see README.plib for more details."
617 echo "configure aborted."
621 echo "$DYLD_FRAMEWORK_PATH"
622 AC_MSG_CHECKING([for plib 1.8.5 or newer])
626 #define MIN_PLIB_VERSION 185
629 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
638 [AC_MSG_RESULT(wrong version);
639 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
643 dnl If we get here then plib is available, so force use of plib
645 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
647 # Find the OSG libraries. Note special handling for OS X frameworks
648 if test "x$with_osg_framework" = "x"; then
649 if test "x$enable_osgdebug" = "xyes"; then
650 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
651 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
652 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
653 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
654 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
655 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
656 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
657 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
658 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
659 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
661 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
662 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
663 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
664 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
665 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
666 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
667 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
668 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
669 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
670 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
673 # Checking osg frameworks.
674 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
675 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
676 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
677 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
678 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
679 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
680 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
681 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
682 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
683 osg_FRAMEWORKS="$FRAMEWORKS"
685 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
686 openthreads_FRAMEWORK="$FRAMEWORKS"
687 AC_SUBST(osg_FRAMEWORKS)
688 AC_SUBST(openthreads_FRAMEWORK)
690 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
692 AC_CHECK_HEADER(osg/Version)
693 if test "x$ac_cv_header_osg_Version" != "xyes"; then
695 echo "You *must* have the OpenSceneGraph support library installed on your system"
696 echo "to build the FGFS simulator!"
698 echo "Please see README.OSG for more details."
700 echo "configure aborted."
705 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
707 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
708 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
709 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
710 AC_MSG_RESULT([yes])],
711 [AC_MSG_RESULT([no])])
713 # Special handling for static version of OSG
714 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
717 #***** Check image support (needed for static build) *****
718 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
719 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
720 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
724 if test "x$with_osg" != "x" ; then
725 osg_prefix="$with_osg"
729 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
730 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
731 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
732 -losgVolume -losgTerrain $LIBS -losgUtil"
734 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
735 LIBS="$LIBS -losgdb_jpeg"
737 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
738 LIBS="$LIBS -losgdb_png"
740 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
741 LIBS="$LIBS -losgdb_tiff"
744 LIBS="$LIBS $img_LIBS"
749 dnl Check for system installed zlib
750 AC_CHECK_HEADER(zlib.h)
751 if test "x$ac_cv_header_zlib_h" != "xyes"; then
753 echo "zlib library not found."
755 echo "If your OS does not provide an installable package for zlib"
756 echo "you will have to compile and install it first yourself. A copy"
757 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
758 echo "have to untar this source code, and follow it's included instructions"
759 echo "to compile and install on your system."
761 echo "configure aborted."
765 dnl Check for Subversion library support
766 # libsvn support defaults to yes
768 save_CPPFLAGS=$CPPFLAGS
769 AC_ARG_WITH(libsvn, [ --without-libsvn Do not use libsvn for terrasync [default=no]], [], [with_libsvn=yes])
770 if test "x$with_libsvn" = "xyes"; then
771 LIBS="`apr-1-config --link-ld`"
772 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
773 AC_CHECK_HEADERS([svn_client.h])
774 if test "x$ac_cv_header_svn_client_h" = "xyes"; then
775 echo "TerraSync will use libsvn"
776 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
777 AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
779 svn_CPPFLAGS=$CPPFLAGS
781 AC_SUBST(svn_CPPFLAGS)
783 echo "Libsvn not found. TerraSync will use command line subversion"
788 echo "Libsvn explicitly disabled. TerraSync will use command line subversion"
793 CPPFLAGS=$save_CPPFLAGS
795 AC_MSG_CHECKING([for feenableexcept])
796 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
797 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
798 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
799 AC_MSG_RESULT([yes]),
802 dnl Checks for header files.
805 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
806 sys/time.h sys/timeb.h unistd.h windows.h values.h )
808 dnl Checks for typedefs, structures, and compiler characteristics.
814 dnl Checks for library functions.
816 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
820 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
821 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
825 AM_CONFIG_HEADER(src/Include/config.h)
837 scripts/debug/Makefile \
838 scripts/perl/Makefile \
839 scripts/perl/examples/Makefile \
840 scripts/perl/traffic/Makefile \
841 scripts/python/Makefile \
843 src/Include/Makefile \
844 src/Include/version.h \
845 src/Aircraft/Makefile \
846 src/Airports/Makefile \
848 src/ATCDCL/Makefile \
849 src/Autopilot/Makefile \
850 src/Cockpit/Makefile \
851 src/Cockpit/built_in/Makefile \
852 src/Environment/Makefile \
853 src/FDM/ExternalNet/Makefile \
854 src/FDM/ExternalPipe/Makefile \
855 src/FDM/JSBSim/Makefile \
856 src/FDM/JSBSim/initialization/Makefile \
857 src/FDM/JSBSim/input_output/Makefile \
858 src/FDM/JSBSim/math/Makefile \
859 src/FDM/JSBSim/models/Makefile \
860 src/FDM/JSBSim/models/flight_control/Makefile \
861 src/FDM/JSBSim/models/atmosphere/Makefile \
862 src/FDM/JSBSim/models/propulsion/Makefile \
863 src/FDM/LaRCsim/Makefile \
864 src/FDM/SP/Makefile \
865 src/FDM/UIUCModel/Makefile \
866 src/FDM/YASim/Makefile \
870 src/Instrumentation/Makefile \
871 src/Instrumentation/KLN89/Makefile \
872 src/Instrumentation/HUD/Makefile \
875 src/Main/runfgfs.bat \
877 src/AIModel/Makefile \
878 src/MultiPlayer/Makefile \
879 src/Navaids/Makefile \
880 src/Network/Makefile \
881 src/Scenery/Makefile \
882 src/Scripting/Makefile \
884 src/Systems/Makefile \
886 src/Traffic/Makefile \
889 utils/GPSsmooth/Makefile \
890 utils/fgadmin/Makefile
891 utils/fgadmin/src/Makefile \
892 utils/js_server/Makefile \
893 utils/Modeller/Makefile \
894 utils/propmerge/Makefile \
895 utils/TerraSync/Makefile \
896 utils/xmlgrep/Makefile \
897 utils/fgviewer/Makefile
901 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
904 echo "Configure Summary"
905 echo "================="
907 echo "Prefix: $prefix"
909 if test "x$with_logging" != "x"; then
910 echo "Log messages: $with_logging"
912 echo "Log messages: yes"
915 echo -n "Automake version: "
916 automake --version | head -n 1
918 if test "x$with_multiplayer" != "xno"; then
919 echo "Building with multiplayer support"
922 if test "x$with_threads" = "xyes"; then
928 if test "x$with_eventinput" = "xyes"; then
929 echo "Event input: yes"
931 echo "Event input: no"
934 if test "x$enable_sp_fdms" != "xno"; then
935 echo "Include special purpose flight models: yes"
937 echo "Include special purpose flight models: no"