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 Configure HLA support
255 AC_ARG_WITH(rti13, [ --with-rti13[[=PATH]] Enable the HLA/RTI 1.3 interface, set a path to the RTI13 RTI libraries (default=no)])
256 if test "x$with_rti13" != "xno"; then
257 if test "x$with_rti13" != "xyes"; then
258 AC_SUBST(HLA_CPPFLAGS, "-I$with_rti13/include")
259 AC_SUBST(HLA_LDFLAGS, "-L$with_rti13/lib")
262 dnl Configure HLA support
263 AC_MSG_CHECKING([for simgear HLA/RTI support])
266 #include <simgear/hla/HLA13Federate.hxx>
268 new simgear::HLA13Federate;
269 ], simgear_hla=yes, simgear_hla=no)
270 AC_MSG_RESULT($simgear_hla)
271 if test "x$simgear_hla" = "xyes" ; then
272 AC_MSG_CHECKING([for hla libraries])
274 saved_LDFLAGS="$LDFLAGS"
275 for rti13libs in "-lRTI-NG -lFedTime" "-lRTI-NGd -lFedTimed" ; do
276 if test "x$hla_libs" = "x" ; then
277 LIBS="-lsghla13 -lsghla -lsgxml -lsgstructure -lsgmath -lsgdebug -lsgtiming $rti13libs -lrt $saved_LIBS"
278 LDFLAGS="$HLA_LDFLAGS $saved_LDFLAGS"
280 #include <simgear/hla/HLA13Federate.hxx>
282 new simgear::HLA13Federate;
283 ], [hla_libs="$rti13libs"; have_rti13=yes],)
287 LDFLAGS="$saved_LDFLAGS"
288 AC_MSG_RESULT($hla_libs)
292 dnl Currently only the rti13 variant, but in the future also rti1516
293 AM_CONDITIONAL(WITH_HLA, test "x$have_rti13" = "xyes")
294 if test "x$have_rti13" = "xyes" ; then
295 AC_DEFINE([FG_HAVE_HLA], 1, [Define if HLA/RTI is available.])
296 AC_SUBST(HLA_LIBS, "-lsghla13 -lsghla $hla_libs")
299 dnl EXPERIMENTAL fgpanel application
301 AC_ARG_WITH(fgpanel, [ --with-fgpanel Include fgpanel application (EXPERIMENTAL) [default=no]], [], [with_fgpanel=no])
302 if test "x$with_fgpanel" = "xyes"; then
303 AC_DEFINE([WITH_FGPANEL], 1, [Define to enable fgpanel application])
305 AM_CONDITIONAL(WITH_FGPANEL, test "x$with_fgpanel" = "xyes")
307 dnl Used by JSBSim to conditionally compile in fgfs interface code
308 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
310 # Check for MS Windows environment
311 AC_CHECK_HEADER(windows.h)
313 dnl Using AM_CONDITIONAL is a step out of the protected little
314 dnl automake fold so it is potentially dangerous. But, we are
315 dnl beginning to run into cases where the standard checks are not
316 dnl enough. AM_CONDITIONALS are then referenced to conditionally
317 dnl build a Makefile.in from a Makefile.am which lets us define custom
318 dnl includes, compile alternative source files, etc.
320 dnl Check for external variables daylight and timezone.
322 if test "$have_daylight" = yes; then
323 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
327 if test "$have_timezone" = yes; then
328 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
332 dnl add joystick support libraries
333 dnl search for FreeBSD library
334 AC_SEARCH_LIBS(hid_init, usbhid)
335 joystick_LIBS="$LIBS"
339 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
340 dnl just assuming we have audio support on all platform. We can
341 dnl depend on plib to hide the details.
342 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
344 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
345 dnl to use it if it is.
347 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
348 echo no fancy X11 check
357 dnl Checks for libraries.
359 dnl Thread related checks
360 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
361 if test "x$ac_cv_header_pthread_h" = "xyes"; then
362 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
363 CXXFLAGS="-pthread $CXXFLAGS"
364 CFLAGS="-pthread $CFLAGS"
365 LIBS="-lsgthreads $LIBS"
372 dnl search for network related libraries
373 AC_SEARCH_LIBS(inet_addr, xnet)
374 AC_SEARCH_LIBS(socket, socket)
375 AC_SEARCH_LIBS(main, nsl)
380 dnl check for some default libraries
381 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
382 AC_SEARCH_LIBS(ceil, m)
383 AC_SEARCH_LIBS(dlclose, dl)
384 AC_SEARCH_LIBS(clock_gettime, rt)
388 dnl Check for SDL or glut if enabled.
389 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
390 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
391 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
392 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
393 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
394 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
395 enable_osgviewer="yes"
397 if test \( "x$enable_osgviewer" = "xyes" \
398 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
399 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
400 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
404 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
406 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
408 dnl check for OpenGL related libraries
410 *-*-cygwin* | *-*-mingw32*)
411 dnl CygWin under Windoze.
413 echo Win32 specific hacks...
414 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
415 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
417 if test "x$enable_sdl" = "xyes"; then
418 AC_SEARCH_LIBS(SDL_Init, SDL)
420 LIBS="$LIBS -lglut32"
423 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
424 joystick_LIBS="$joystick_LIBS -lwinmm"
426 dnl add -lwsock32 for mingwin
429 echo "********** BUILDING FOR MINGW32 *************"
430 network_LIBS="$network_LIBS -lws2_32"
434 echo "Will link apps with $LIBS"
441 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
442 LDFLAGS="$LDFLAGS -headerpad_max_install_names"
443 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
447 dnl X-Windows based machines
449 dnl Skip X11 library tests if requested.
450 if test "x$no_x" != "xyes"; then
451 AC_SEARCH_LIBS(XCreateWindow, X11)
452 AC_SEARCH_LIBS(XShmCreateImage, Xext)
453 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
454 AC_SEARCH_LIBS(IceOpenConnection, ICE)
455 AC_SEARCH_LIBS(SmcOpenConnection, SM)
456 AC_SEARCH_LIBS(XtMalloc, Xt)
457 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
460 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
461 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
462 dnl if GLcore found, then also check for GL
463 AC_SEARCH_LIBS(glXCreateContext, GL)
466 dnl if using mesa, check for xmesa.h
467 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
468 AC_CHECK_HEADER(GL/fxmesa.h)
469 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
470 AC_DEFINE([XMESA], 1, [Define for fxmesa])
471 AC_DEFINE([FX], 1, [Define for fxmesa])
475 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
476 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
477 if test "x$enable_sdl" = "xyes"; then
478 AC_SEARCH_LIBS(SDL_Init, SDL)
485 LIBS="$base_LIBS $joystick_LIBS"
487 dnl check for OpenAL libraries
491 *-*-cygwin* | *-*-mingw32*)
492 dnl CygWin under Windoze.
493 INCLUDES="$INCLUDES -I/usr/local/include/"
494 LIBS="$LIBS -L/usr/local/lib"
495 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
496 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
497 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
499 OPENAL_OK="$ac_cv_search_alGenBuffers"
500 ALUT_OK="$ac_cv_search_alutInit"
506 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
507 # require use of a non-Apple ALUT.framework which we provide
508 openal_LIBS="-framework IOKit -framework OpenAL"
510 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
511 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
513 openal_LIBS="$openal_LIBS -framework ALUT"
518 dnl default unix style machines
521 LIBS="$LIBS $thread_LIBS"
522 AC_SEARCH_LIBS(alGenBuffers, openal)
523 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
524 OPENAL_OK="$ac_cv_search_alGenBuffers"
525 ALUT_OK="$ac_cv_search_alutInit"
532 if test "$OPENAL_OK" == "no"; then
534 echo "You *must* have the openal library installed on your system to build"
537 echo "Please see README.OpenAL for more details."
539 echo "configure aborted."
543 if test "$ALUT_OK" == "no"; then
545 echo "You *must* have the alut library installed on your system to build"
548 echo "Please see README.OpenAL for more details."
550 echo "configure aborted."
558 AC_SUBST(openal_LIBS)
559 AC_SUBST(opengl_LIBS)
560 AC_SUBST(thread_LIBS)
561 AC_SUBST(network_LIBS)
562 AC_SUBST(joystick_LIBS)
564 # The following are C++ items that need to be tested for with the c++
569 dnl Check for the presence of SimGear
570 if test "x$with_simgear" != "x"; then
571 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
573 AC_CHECK_HEADER(simgear/version.h)
575 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
577 echo "You *must* have the SimGear support library installed on your system"
578 echo "to build the FGFS simulator!"
580 echo "Please see README.SimGear for more details."
582 echo "configure aborted."
586 AC_MSG_CHECKING([for SimGear 2.5.0 or newer])
590 #include <simgear/version.h>
592 #define STRINGIFY(X) XSTRINGIFY(X)
593 #define XSTRINGIFY(X) #X
600 int major, minor, micro;
602 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
603 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
605 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
607 if ( (major < MIN_MAJOR) ||
608 (major == MIN_MAJOR && minor < MIN_MINOR) ||
609 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
618 [AC_MSG_RESULT(wrong version);
619 AC_MSG_ERROR([Install latest SimGear first...])],
625 dnl Check if SimGear was built with Norman's JPEG factory support
626 if test "x$with_simgear" != "x"; then
627 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])
629 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
631 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
632 AC_CHECK_LIB(jpeg, jpeg_start_compress)
633 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
635 echo "The JPEG factory code was built and installed with SimGear."
636 echo "However it appears the libjpeg is no longer installed."
637 echo "You need to install libjpeg or remove jpgfactory support from"
640 echo "libjpeg is available at :"
641 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
644 AC_DEFINE([FG_JPEG_SERVER], 1,
645 [Define to build with jpeg screen shot server])
647 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
649 # Check for "plib" without which we cannot go on
652 if test "x$with_plib_framework" != "x"; then
653 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
654 plib_FRAMEWORK="$FRAMEWORKS"
655 AC_SUBST(plib_FRAMEWORK)
660 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
662 AC_CHECK_HEADER(plib/ul.h)
663 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
665 echo "You *must* have the plib library installed on your system to build"
666 echo "the FGFS simulator!"
668 echo "Please see README.plib for more details."
670 echo "configure aborted."
674 echo "$DYLD_FRAMEWORK_PATH"
675 AC_MSG_CHECKING([for plib 1.8.5 or newer])
679 #define MIN_PLIB_VERSION 185
682 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
691 [AC_MSG_RESULT(wrong version);
692 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
696 dnl If we get here then plib is available, so force use of plib
698 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
700 # Find the OSG libraries. Note special handling for OS X frameworks
701 if test "x$with_osg_framework" = "x"; then
702 if test "x$enable_osgdebug" = "xyes"; then
703 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
704 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
705 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
706 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
707 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
708 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
709 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
710 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
711 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
712 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
714 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
715 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
716 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
717 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
718 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
719 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
720 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
721 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
722 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
723 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
726 # Checking osg frameworks.
727 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
728 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
729 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
730 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
731 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
732 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
733 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
734 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
735 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
736 osg_FRAMEWORKS="$FRAMEWORKS"
738 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
739 openthreads_FRAMEWORK="$FRAMEWORKS"
740 AC_SUBST(osg_FRAMEWORKS)
741 AC_SUBST(openthreads_FRAMEWORK)
743 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
745 AC_CHECK_HEADER(osg/Version)
746 if test "x$ac_cv_header_osg_Version" != "xyes"; then
748 echo "You *must* have the OpenSceneGraph support library installed on your system"
749 echo "to build the FGFS simulator!"
751 echo "Please see README.OSG for more details."
753 echo "configure aborted."
758 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
760 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
761 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
762 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
763 AC_MSG_RESULT([yes])],
764 [AC_MSG_RESULT([no])])
766 # Special handling for static version of OSG
767 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
770 #***** Check image support (needed for static build) *****
771 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
772 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
773 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
777 if test "x$with_osg" != "x" ; then
778 osg_prefix="$with_osg"
782 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
783 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
784 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
785 -losgVolume -losgTerrain $LIBS -losgUtil"
787 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
788 LIBS="$LIBS -losgdb_jpeg"
790 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
791 LIBS="$LIBS -losgdb_png"
793 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
794 LIBS="$LIBS -losgdb_tiff"
797 LIBS="$LIBS $img_LIBS"
802 dnl Check for system installed zlib
803 AC_CHECK_HEADER(zlib.h)
804 if test "x$ac_cv_header_zlib_h" != "xyes"; then
806 echo "zlib library not found."
808 echo "If your OS does not provide an installable package for zlib"
809 echo "you will have to compile and install it first yourself. A copy"
810 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
811 echo "have to untar this source code, and follow it's included instructions"
812 echo "to compile and install on your system."
814 echo "configure aborted."
818 dnl Check for Subversion library support
819 # libsvn support defaults to yes
821 save_CPPFLAGS=$CPPFLAGS
822 AC_ARG_WITH(libsvn, [ --without-libsvn Do not use built-in subversion (libsvn) for terrasync/fgfs [default=no]], [], [with_libsvn=yes])
823 if test "x$with_libsvn" = "xyes"; then
824 LIBS="`apr-1-config --link-ld`"
825 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
826 AC_CHECK_HEADERS([svn_client.h])
827 if test "x$ac_cv_header_svn_client_h" = "xyes"; then
828 echo "Using built-in subversion (libsvn) for scenery downloads."
829 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1,
830 [AC_DEFINE([HAVE_LIBSVN_CLIENT_1], [1], [Define to 1 if you have libsvn_client-1])],
831 [AC_MSG_ERROR(svn_client-1 library not found.)],)
832 AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1, , [AC_MSG_ERROR(svn_subr-1 library not found.)],)
833 AC_SEARCH_LIBS(svn_ra_initialize, svn_ra-1, , [AC_MSG_ERROR(svn_ra-1 library not found.)],)
835 svn_CPPFLAGS=$CPPFLAGS
837 AC_SUBST(svn_CPPFLAGS)
839 echo "Libsvn not found. Will use command line subversion for scenery downloads."
844 echo "Libsvn explicitly disabled. Will use command line subversion for scenery downloads."
849 CPPFLAGS=$save_CPPFLAGS
851 AC_MSG_CHECKING([for feenableexcept])
852 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
853 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
854 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
855 AC_MSG_RESULT([yes]),
858 dnl Checks for header files.
861 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
862 sys/time.h sys/timeb.h unistd.h windows.h values.h )
864 dnl Checks for typedefs, structures, and compiler characteristics.
870 dnl Checks for library functions.
872 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
876 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
877 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
881 AM_CONFIG_HEADER(src/Include/config.h)
893 scripts/debug/Makefile \
894 scripts/perl/Makefile \
895 scripts/perl/examples/Makefile \
896 scripts/perl/traffic/Makefile \
897 scripts/python/Makefile \
899 src/Include/Makefile \
900 src/Include/version.h \
901 src/Aircraft/Makefile \
902 src/Airports/Makefile \
904 src/ATCDCL/Makefile \
905 src/Autopilot/Makefile \
906 src/Cockpit/Makefile \
907 src/Cockpit/built_in/Makefile \
908 src/Environment/Makefile \
909 src/FDM/ExternalNet/Makefile \
910 src/FDM/ExternalPipe/Makefile \
911 src/FDM/JSBSim/Makefile \
912 src/FDM/JSBSim/initialization/Makefile \
913 src/FDM/JSBSim/input_output/Makefile \
914 src/FDM/JSBSim/math/Makefile \
915 src/FDM/JSBSim/models/Makefile \
916 src/FDM/JSBSim/models/flight_control/Makefile \
917 src/FDM/JSBSim/models/atmosphere/Makefile \
918 src/FDM/JSBSim/models/propulsion/Makefile \
919 src/FDM/LaRCsim/Makefile \
920 src/FDM/SP/Makefile \
921 src/FDM/UIUCModel/Makefile \
922 src/FDM/YASim/Makefile \
926 src/Instrumentation/Makefile \
927 src/Instrumentation/KLN89/Makefile \
928 src/Instrumentation/HUD/Makefile \
931 src/Main/runfgfs.bat \
933 src/AIModel/Makefile \
934 src/MultiPlayer/Makefile \
935 src/Navaids/Makefile \
936 src/Network/Makefile \
937 src/Network/HLA/Makefile \
938 src/Scenery/Makefile \
939 src/Scripting/Makefile \
941 src/Systems/Makefile \
943 src/Traffic/Makefile \
946 utils/GPSsmooth/Makefile \
947 utils/fgadmin/Makefile
948 utils/fgadmin/src/Makefile \
949 utils/js_server/Makefile \
950 utils/Modeller/Makefile \
951 utils/propmerge/Makefile \
952 utils/TerraSync/Makefile \
953 utils/xmlgrep/Makefile \
954 utils/fgviewer/Makefile \
955 utils/fgpanel/Makefile
959 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
962 echo "Configure Summary"
963 echo "================="
965 echo "Prefix: $prefix"
967 if test "x$with_logging" != "x"; then
968 echo "Log messages: $with_logging"
970 echo "Log messages: yes"
973 echo -n "Automake version: "
974 automake --version | head -n 1
976 if test "x$with_multiplayer" != "xno"; then
977 echo "Building with multiplayer support"
980 if test "x$with_threads" = "xyes"; then
986 if test "x$with_eventinput" = "xyes"; then
987 echo "Event input: yes"
989 echo "Event input: no"
992 if test "x$with_fgpanel" = "xyes"; then
998 if test "x$enable_sp_fdms" != "xno"; then
999 echo "Include special purpose flight models: yes"
1001 echo "Include special purpose flight models: no"