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 # Specify whether we want to compile ATCDCL.
213 # default to with_atcdcl=yes
214 AC_ARG_ENABLE(atcdcl, [ --enable-atcdcl Compile and link the deprecated atc/ai module], [], [enable_atcdcl="$enableval"] )
215 if test "x$enable_atcdcl" = "xyes"; then
216 AC_DEFINE([ENABLE_ATCDCL], 1, [Define to include old ATC/AI module])
218 AC_DEFINE([ENABLE_ATCDCL], 0, [Define to include old ATC/AI module])
220 AM_CONDITIONAL(ENABLE_ATCDCL, test "x$enable_atcdcl" = "xyes")
222 dnl EXPERIMENTAL generic event driven input device
224 AC_ARG_WITH(eventinput, [ --with-eventinput Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
225 if test "x$with_eventinput" = "xyes"; then
226 AC_DEFINE([WITH_EVENTINPUT], 1, [Define to enable generic event driven input device])
228 dnl OS specific sources for event driven input
229 dnl Linux and Mac OS X are supported at this moment
231 eventinput_EXTRA_OBJS="FGMacOSXEventInput.o"
232 eventinput_INCUDES=""
237 dnl FIXME: include paths for dbus are hard-coded at this moment.
238 dnl FIXME: these must be found in configure
240 eventinput_EXTRA_OBJS="FGLinuxEventInput.o"
241 eventinput_INCLUDES="-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include"
242 eventinput_LIBS="-ldbus-1 -lhal"
245 echo "Event driven input is not supported on ${host}."
248 AC_SUBST(eventinput_EXTRA_OBJS)
249 AC_SUBST(eventinput_INCLUDES)
250 AC_SUBST(eventinput_LIBS)
252 AM_CONDITIONAL(WITH_EVENTINPUT, test "x$with_eventinput" = "xyes")
254 dnl Thread related checks
256 AC_ARG_WITH(threads, [ --with-threads Include tile loading threads [default=yes]], [], [with_threads=yes])
257 if test "x$with_threads" = "xyes"; then
258 AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
259 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
260 CFLAGS="$CFLAGS -D_REENTRANT"
262 AC_CHECK_HEADER(pthread.h)
264 dnl Used by JSBSim to conditionally compile in fgfs interface code
265 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
267 # Check for MS Windows environment
268 AC_CHECK_HEADER(windows.h)
270 dnl Using AM_CONDITIONAL is a step out of the protected little
271 dnl automake fold so it is potentially dangerous. But, we are
272 dnl beginning to run into cases where the standard checks are not
273 dnl enough. AM_CONDITIONALS are then referenced to conditionally
274 dnl build a Makefile.in from a Makefile.am which lets us define custom
275 dnl includes, compile alternative source files, etc.
277 dnl Check for external variables daylight and timezone.
279 if test "$have_daylight" = yes; then
280 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
284 if test "$have_timezone" = yes; then
285 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
289 dnl add joystick support libraries
290 dnl search for FreeBSD library
291 AC_SEARCH_LIBS(hid_init, usbhid)
292 joystick_LIBS="$LIBS"
296 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
297 dnl just assuming we have audio support on all platform. We can
298 dnl depend on plib to hide the details.
299 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
301 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
302 dnl to use it if it is.
304 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
305 echo no fancy X11 check
314 dnl Checks for libraries.
316 dnl Thread related checks
317 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
318 if test "x$ac_cv_header_pthread_h" = "xyes"; then
319 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
320 CXXFLAGS="-pthread $CXXFLAGS"
321 CFLAGS="-pthread $CFLAGS"
322 LIBS="-lsgthreads $LIBS"
329 dnl search for network related libraries
330 AC_SEARCH_LIBS(inet_addr, xnet)
331 AC_SEARCH_LIBS(socket, socket)
332 AC_SEARCH_LIBS(main, nsl)
337 dnl check for some default libraries
338 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
339 AC_SEARCH_LIBS(ceil, m)
340 AC_SEARCH_LIBS(dlclose, dl)
341 AC_SEARCH_LIBS(clock_gettime, rt)
345 dnl Check for SDL or glut if enabled.
346 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
347 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
348 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
349 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
350 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
351 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
352 enable_osgviewer="yes"
354 if test \( "x$enable_osgviewer" = "xyes" \
355 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
356 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
357 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
361 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
363 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
365 dnl check for OpenGL related libraries
367 *-*-cygwin* | *-*-mingw32*)
368 dnl CygWin under Windoze.
370 echo Win32 specific hacks...
371 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
372 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
374 if test "x$enable_sdl" = "xyes"; then
375 AC_SEARCH_LIBS(SDL_Init, SDL)
377 LIBS="$LIBS -lglut32"
380 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
381 joystick_LIBS="$joystick_LIBS -lwinmm"
383 dnl add -lwsock32 for mingwin
386 echo "********** BUILDING FOR MINGW32 *************"
387 network_LIBS="$network_LIBS -lws2_32"
391 echo "Will link apps with $LIBS"
398 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
399 LDFLAGS="$LDFLAGS -headerpad_max_install_names"
400 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
404 dnl X-Windows based machines
406 dnl Skip X11 library tests if requested.
407 if test "x$no_x" != "xyes"; then
408 AC_SEARCH_LIBS(XCreateWindow, X11)
409 AC_SEARCH_LIBS(XShmCreateImage, Xext)
410 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
411 AC_SEARCH_LIBS(IceOpenConnection, ICE)
412 AC_SEARCH_LIBS(SmcOpenConnection, SM)
413 AC_SEARCH_LIBS(XtMalloc, Xt)
414 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
417 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
418 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
419 dnl if GLcore found, then also check for GL
420 AC_SEARCH_LIBS(glXCreateContext, GL)
423 dnl if using mesa, check for xmesa.h
424 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
425 AC_CHECK_HEADER(GL/fxmesa.h)
426 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
427 AC_DEFINE([XMESA], 1, [Define for fxmesa])
428 AC_DEFINE([FX], 1, [Define for fxmesa])
432 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
433 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
434 if test "x$enable_sdl" = "xyes"; then
435 AC_SEARCH_LIBS(SDL_Init, SDL)
442 LIBS="$base_LIBS $joystick_LIBS"
444 dnl check for OpenAL libraries
448 *-*-cygwin* | *-*-mingw32*)
449 dnl CygWin under Windoze.
450 INCLUDES="$INCLUDES -I/usr/local/include/"
451 LIBS="$LIBS -L/usr/local/lib"
452 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
453 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
454 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
456 OPENAL_OK="$ac_cv_search_alGenBuffers"
457 ALUT_OK="$ac_cv_search_alutInit"
463 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
464 # require use of a non-Apple ALUT.framework which we provide
465 openal_LIBS="-framework IOKit -framework OpenAL"
467 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
468 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
470 openal_LIBS="$openal_LIBS -framework ALUT"
475 dnl default unix style machines
478 LIBS="$LIBS $thread_LIBS"
479 AC_SEARCH_LIBS(alGenBuffers, openal)
480 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
481 OPENAL_OK="$ac_cv_search_alGenBuffers"
482 ALUT_OK="$ac_cv_search_alutInit"
489 if test "$OPENAL_OK" == "no"; then
491 echo "You *must* have the openal library installed on your system to build"
494 echo "Please see README.OpenAL for more details."
496 echo "configure aborted."
500 if test "$ALUT_OK" == "no"; then
502 echo "You *must* have the alut library installed on your system to build"
505 echo "Please see README.OpenAL for more details."
507 echo "configure aborted."
515 AC_SUBST(openal_LIBS)
516 AC_SUBST(opengl_LIBS)
517 AC_SUBST(thread_LIBS)
518 AC_SUBST(network_LIBS)
519 AC_SUBST(joystick_LIBS)
521 # The following are C++ items that need to be tested for with the c++
526 dnl Check for the presence of SimGear
527 if test "x$with_simgear" != "x"; then
528 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
530 AC_CHECK_HEADER(simgear/version.h)
532 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
534 echo "You *must* have the SimGear support library installed on your system"
535 echo "to build the FGFS simulator!"
537 echo "Please see README.SimGear for more details."
539 echo "configure aborted."
543 AC_MSG_CHECKING([for SimGear 2.0.0 or newer])
547 #include <simgear/version.h>
549 #define STRINGIFY(X) XSTRINGIFY(X)
550 #define XSTRINGIFY(X) #X
557 int major, minor, micro;
559 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
560 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
562 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
564 if ( (major < MIN_MAJOR) ||
565 (major == MIN_MAJOR && minor < MIN_MINOR) ||
566 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
575 [AC_MSG_RESULT(wrong version);
576 AC_MSG_ERROR([Install latest SimGear first...])],
582 dnl Check if SimGear was built with Norman's JPEG factory support
583 if test "x$with_simgear" != "x"; then
584 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])
586 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
588 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
589 AC_CHECK_LIB(jpeg, jpeg_start_compress)
590 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
592 echo "The JPEG factory code was built and installed with SimGear."
593 echo "However it appears the libjpeg is no longer installed."
594 echo "You need to install libjpeg or remove jpgfactory support from"
597 echo "libjpeg is available at :"
598 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
601 AC_DEFINE([FG_JPEG_SERVER], 1,
602 [Define to build with jpeg screen shot server])
604 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
606 # Check for "plib" without which we cannot go on
609 if test "x$with_plib_framework" != "x"; then
610 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
611 plib_FRAMEWORK="$FRAMEWORKS"
612 AC_SUBST(plib_FRAMEWORK)
617 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
619 AC_CHECK_HEADER(plib/ul.h)
620 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
622 echo "You *must* have the plib library installed on your system to build"
623 echo "the FGFS simulator!"
625 echo "Please see README.plib for more details."
627 echo "configure aborted."
631 echo "$DYLD_FRAMEWORK_PATH"
632 AC_MSG_CHECKING([for plib 1.8.5 or newer])
636 #define MIN_PLIB_VERSION 185
639 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
648 [AC_MSG_RESULT(wrong version);
649 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
653 dnl If we get here then plib is available, so force use of plib
655 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
657 # Find the OSG libraries. Note special handling for OS X frameworks
658 if test "x$with_osg_framework" = "x"; then
659 if test "x$enable_osgdebug" = "xyes"; then
660 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
661 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
662 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
663 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
664 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
665 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
666 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
667 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
668 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
669 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
671 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
672 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
673 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
674 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
675 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
676 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
677 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
678 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
679 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
680 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
683 # Checking osg frameworks.
684 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
685 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
686 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
687 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
688 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
689 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
690 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
691 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
692 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
693 osg_FRAMEWORKS="$FRAMEWORKS"
695 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
696 openthreads_FRAMEWORK="$FRAMEWORKS"
697 AC_SUBST(osg_FRAMEWORKS)
698 AC_SUBST(openthreads_FRAMEWORK)
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
776 # libsvn support defaults to yes
778 save_CPPFLAGS=$CPPFLAGS
779 AC_ARG_WITH(libsvn, [ --without-libsvn Do not use libsvn for terrasync [default=no]], [], [with_libsvn=yes])
780 if test "x$with_libsvn" = "xyes"; then
781 LIBS="`apr-1-config --link-ld`"
782 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
783 AC_CHECK_HEADERS([svn_client.h])
784 if test "x$ac_cv_header_svn_client_h" = "xyes"; then
785 echo "TerraSync will use libsvn"
786 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
787 AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
789 svn_CPPFLAGS=$CPPFLAGS
791 AC_SUBST(svn_CPPFLAGS)
793 echo "Libsvn not found. TerraSync will use command line subversion"
798 echo "Libsvn explicitly disabled. TerraSync will use command line subversion"
803 CPPFLAGS=$save_CPPFLAGS
805 AC_MSG_CHECKING([for feenableexcept])
806 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
807 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
808 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
809 AC_MSG_RESULT([yes]),
812 dnl Checks for header files.
815 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
816 sys/time.h sys/timeb.h unistd.h windows.h values.h )
818 dnl Checks for typedefs, structures, and compiler characteristics.
824 dnl Checks for library functions.
826 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
830 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
831 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
835 AM_CONFIG_HEADER(src/Include/config.h)
847 scripts/debug/Makefile \
848 scripts/perl/Makefile \
849 scripts/perl/examples/Makefile \
850 scripts/python/Makefile \
852 src/Include/Makefile \
853 src/Include/version.h \
854 src/Aircraft/Makefile \
855 src/Airports/Makefile \
857 src/ATCDCL/Makefile \
858 src/Autopilot/Makefile \
859 src/Cockpit/Makefile \
860 src/Cockpit/built_in/Makefile \
861 src/Environment/Makefile \
862 src/FDM/ExternalNet/Makefile \
863 src/FDM/ExternalPipe/Makefile \
864 src/FDM/JSBSim/Makefile \
865 src/FDM/JSBSim/initialization/Makefile \
866 src/FDM/JSBSim/input_output/Makefile \
867 src/FDM/JSBSim/math/Makefile \
868 src/FDM/JSBSim/models/Makefile \
869 src/FDM/JSBSim/models/flight_control/Makefile \
870 src/FDM/JSBSim/models/atmosphere/Makefile \
871 src/FDM/JSBSim/models/propulsion/Makefile \
872 src/FDM/LaRCsim/Makefile \
873 src/FDM/SP/Makefile \
874 src/FDM/UIUCModel/Makefile \
875 src/FDM/YASim/Makefile \
879 src/Instrumentation/Makefile \
880 src/Instrumentation/KLN89/Makefile \
881 src/Instrumentation/HUD/Makefile \
884 src/Main/runfgfs.bat \
886 src/AIModel/Makefile \
887 src/MultiPlayer/Makefile \
888 src/Navaids/Makefile \
889 src/Network/Makefile \
890 src/Scenery/Makefile \
891 src/Scripting/Makefile \
893 src/Systems/Makefile \
895 src/Traffic/Makefile \
898 utils/GPSsmooth/Makefile \
899 utils/fgadmin/Makefile
900 utils/fgadmin/src/Makefile \
901 utils/js_server/Makefile \
902 utils/Modeller/Makefile \
903 utils/propmerge/Makefile \
904 utils/TerraSync/Makefile \
905 utils/xmlgrep/Makefile \
906 utils/fgviewer/Makefile
910 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
913 echo "Configure Summary"
914 echo "================="
916 echo "Prefix: $prefix"
918 if test "x$with_logging" != "x"; then
919 echo "Log messages: $with_logging"
921 echo "Log messages: yes"
924 echo -n "Automake version: "
925 automake --version | head -n 1
927 if test "x$with_multiplayer" != "xno"; then
928 echo "Building with multiplayer support"
931 if test "x$with_threads" = "xyes"; then
937 if test "x$with_eventinput" = "xyes"; then
938 echo "Event input: yes"
940 echo "Event input: no"
943 if test "x$enable_sp_fdms" != "xno"; then
944 echo "Include special purpose flight models: yes"
946 echo "Include special purpose flight models: no"
949 if test "x$enable_atcdcl" = "xyes"; then
950 echo "Build deprecated ATC/AI module: yes"
952 echo "Build deprecated ATC/AI module: no"