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 for rti13libs in "-lRTI-NG -lFedTime" "-lRTI-NGd -lFedTimed" ; do
275 if test "x$hla_libs" = "x" ; then
276 LIBS="-lsghla13 -lsghla -lsgxml -lsgstructure -lsgmath -lsgdebug -lsgtiming $rti13libs -lrt $saved_LIBS"
278 #include <simgear/hla/HLA13Federate.hxx>
280 new simgear::HLA13Federate;
281 ], [hla_libs="$rti13libs"; have_rti13=yes],)
285 AC_MSG_RESULT($hla_libs)
289 dnl Currently only the rti13 variant, but in the future also rti1516
290 AM_CONDITIONAL(WITH_HLA, test "x$have_rti13" = "xyes")
291 if test "x$have_rti13" = "xyes" ; then
292 AC_DEFINE([FG_HAVE_HLA], 1, [Define if HLA/RTI is available.])
293 AC_SUBST(HLA_LIBS, "-lsghla13 -lsghla $hla_libs")
296 dnl Used by JSBSim to conditionally compile in fgfs interface code
297 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
299 # Check for MS Windows environment
300 AC_CHECK_HEADER(windows.h)
302 dnl Using AM_CONDITIONAL is a step out of the protected little
303 dnl automake fold so it is potentially dangerous. But, we are
304 dnl beginning to run into cases where the standard checks are not
305 dnl enough. AM_CONDITIONALS are then referenced to conditionally
306 dnl build a Makefile.in from a Makefile.am which lets us define custom
307 dnl includes, compile alternative source files, etc.
309 dnl Check for external variables daylight and timezone.
311 if test "$have_daylight" = yes; then
312 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
316 if test "$have_timezone" = yes; then
317 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
321 dnl add joystick support libraries
322 dnl search for FreeBSD library
323 AC_SEARCH_LIBS(hid_init, usbhid)
324 joystick_LIBS="$LIBS"
328 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
329 dnl just assuming we have audio support on all platform. We can
330 dnl depend on plib to hide the details.
331 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
333 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
334 dnl to use it if it is.
336 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
337 echo no fancy X11 check
346 dnl Checks for libraries.
348 dnl Thread related checks
349 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
350 if test "x$ac_cv_header_pthread_h" = "xyes"; then
351 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
352 CXXFLAGS="-pthread $CXXFLAGS"
353 CFLAGS="-pthread $CFLAGS"
354 LIBS="-lsgthreads $LIBS"
361 dnl search for network related libraries
362 AC_SEARCH_LIBS(inet_addr, xnet)
363 AC_SEARCH_LIBS(socket, socket)
364 AC_SEARCH_LIBS(main, nsl)
369 dnl check for some default libraries
370 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
371 AC_SEARCH_LIBS(ceil, m)
372 AC_SEARCH_LIBS(dlclose, dl)
373 AC_SEARCH_LIBS(clock_gettime, rt)
377 dnl Check for SDL or glut if enabled.
378 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
379 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
380 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
381 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
382 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
383 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
384 enable_osgviewer="yes"
386 if test \( "x$enable_osgviewer" = "xyes" \
387 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
388 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
389 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
393 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
395 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
397 dnl check for OpenGL related libraries
399 *-*-cygwin* | *-*-mingw32*)
400 dnl CygWin under Windoze.
402 echo Win32 specific hacks...
403 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
404 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
406 if test "x$enable_sdl" = "xyes"; then
407 AC_SEARCH_LIBS(SDL_Init, SDL)
409 LIBS="$LIBS -lglut32"
412 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
413 joystick_LIBS="$joystick_LIBS -lwinmm"
415 dnl add -lwsock32 for mingwin
418 echo "********** BUILDING FOR MINGW32 *************"
419 network_LIBS="$network_LIBS -lws2_32"
423 echo "Will link apps with $LIBS"
430 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
431 LDFLAGS="$LDFLAGS -headerpad_max_install_names"
432 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
436 dnl X-Windows based machines
438 dnl Skip X11 library tests if requested.
439 if test "x$no_x" != "xyes"; then
440 AC_SEARCH_LIBS(XCreateWindow, X11)
441 AC_SEARCH_LIBS(XShmCreateImage, Xext)
442 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
443 AC_SEARCH_LIBS(IceOpenConnection, ICE)
444 AC_SEARCH_LIBS(SmcOpenConnection, SM)
445 AC_SEARCH_LIBS(XtMalloc, Xt)
446 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
449 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
450 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
451 dnl if GLcore found, then also check for GL
452 AC_SEARCH_LIBS(glXCreateContext, GL)
455 dnl if using mesa, check for xmesa.h
456 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
457 AC_CHECK_HEADER(GL/fxmesa.h)
458 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
459 AC_DEFINE([XMESA], 1, [Define for fxmesa])
460 AC_DEFINE([FX], 1, [Define for fxmesa])
464 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
465 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
466 if test "x$enable_sdl" = "xyes"; then
467 AC_SEARCH_LIBS(SDL_Init, SDL)
474 LIBS="$base_LIBS $joystick_LIBS"
476 dnl check for OpenAL libraries
480 *-*-cygwin* | *-*-mingw32*)
481 dnl CygWin under Windoze.
482 INCLUDES="$INCLUDES -I/usr/local/include/"
483 LIBS="$LIBS -L/usr/local/lib"
484 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
485 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
486 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
488 OPENAL_OK="$ac_cv_search_alGenBuffers"
489 ALUT_OK="$ac_cv_search_alutInit"
495 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
496 # require use of a non-Apple ALUT.framework which we provide
497 openal_LIBS="-framework IOKit -framework OpenAL"
499 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
500 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
502 openal_LIBS="$openal_LIBS -framework ALUT"
507 dnl default unix style machines
510 LIBS="$LIBS $thread_LIBS"
511 AC_SEARCH_LIBS(alGenBuffers, openal)
512 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
513 OPENAL_OK="$ac_cv_search_alGenBuffers"
514 ALUT_OK="$ac_cv_search_alutInit"
521 if test "$OPENAL_OK" == "no"; then
523 echo "You *must* have the openal library installed on your system to build"
526 echo "Please see README.OpenAL for more details."
528 echo "configure aborted."
532 if test "$ALUT_OK" == "no"; then
534 echo "You *must* have the alut library installed on your system to build"
537 echo "Please see README.OpenAL for more details."
539 echo "configure aborted."
547 AC_SUBST(openal_LIBS)
548 AC_SUBST(opengl_LIBS)
549 AC_SUBST(thread_LIBS)
550 AC_SUBST(network_LIBS)
551 AC_SUBST(joystick_LIBS)
553 # The following are C++ items that need to be tested for with the c++
558 dnl Check for the presence of SimGear
559 if test "x$with_simgear" != "x"; then
560 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
562 AC_CHECK_HEADER(simgear/version.h)
564 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
566 echo "You *must* have the SimGear support library installed on your system"
567 echo "to build the FGFS simulator!"
569 echo "Please see README.SimGear for more details."
571 echo "configure aborted."
575 AC_MSG_CHECKING([for SimGear 2.2.0 or newer])
579 #include <simgear/version.h>
581 #define STRINGIFY(X) XSTRINGIFY(X)
582 #define XSTRINGIFY(X) #X
589 int major, minor, micro;
591 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
592 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
594 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
596 if ( (major < MIN_MAJOR) ||
597 (major == MIN_MAJOR && minor < MIN_MINOR) ||
598 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
607 [AC_MSG_RESULT(wrong version);
608 AC_MSG_ERROR([Install latest SimGear first...])],
614 dnl Check if SimGear was built with Norman's JPEG factory support
615 if test "x$with_simgear" != "x"; then
616 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])
618 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
620 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
621 AC_CHECK_LIB(jpeg, jpeg_start_compress)
622 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
624 echo "The JPEG factory code was built and installed with SimGear."
625 echo "However it appears the libjpeg is no longer installed."
626 echo "You need to install libjpeg or remove jpgfactory support from"
629 echo "libjpeg is available at :"
630 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
633 AC_DEFINE([FG_JPEG_SERVER], 1,
634 [Define to build with jpeg screen shot server])
636 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
638 # Check for "plib" without which we cannot go on
641 if test "x$with_plib_framework" != "x"; then
642 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
643 plib_FRAMEWORK="$FRAMEWORKS"
644 AC_SUBST(plib_FRAMEWORK)
649 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
651 AC_CHECK_HEADER(plib/ul.h)
652 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
654 echo "You *must* have the plib library installed on your system to build"
655 echo "the FGFS simulator!"
657 echo "Please see README.plib for more details."
659 echo "configure aborted."
663 echo "$DYLD_FRAMEWORK_PATH"
664 AC_MSG_CHECKING([for plib 1.8.5 or newer])
668 #define MIN_PLIB_VERSION 185
671 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
680 [AC_MSG_RESULT(wrong version);
681 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
685 dnl If we get here then plib is available, so force use of plib
687 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
689 # Find the OSG libraries. Note special handling for OS X frameworks
690 if test "x$with_osg_framework" = "x"; then
691 if test "x$enable_osgdebug" = "xyes"; then
692 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
693 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
694 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
695 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
696 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
697 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
698 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
699 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
700 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
701 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
703 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
704 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
705 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
706 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
707 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
708 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
709 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
710 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
711 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
712 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
715 # Checking osg frameworks.
716 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
717 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
718 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
719 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
720 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
721 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
722 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
723 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
724 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
725 osg_FRAMEWORKS="$FRAMEWORKS"
727 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
728 openthreads_FRAMEWORK="$FRAMEWORKS"
729 AC_SUBST(osg_FRAMEWORKS)
730 AC_SUBST(openthreads_FRAMEWORK)
732 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
734 AC_CHECK_HEADER(osg/Version)
735 if test "x$ac_cv_header_osg_Version" != "xyes"; then
737 echo "You *must* have the OpenSceneGraph support library installed on your system"
738 echo "to build the FGFS simulator!"
740 echo "Please see README.OSG for more details."
742 echo "configure aborted."
747 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
749 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
750 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
751 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
752 AC_MSG_RESULT([yes])],
753 [AC_MSG_RESULT([no])])
755 # Special handling for static version of OSG
756 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
759 #***** Check image support (needed for static build) *****
760 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
761 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
762 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
766 if test "x$with_osg" != "x" ; then
767 osg_prefix="$with_osg"
771 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
772 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
773 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
774 -losgVolume -losgTerrain $LIBS -losgUtil"
776 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
777 LIBS="$LIBS -losgdb_jpeg"
779 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
780 LIBS="$LIBS -losgdb_png"
782 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
783 LIBS="$LIBS -losgdb_tiff"
786 LIBS="$LIBS $img_LIBS"
791 dnl Check for system installed zlib
792 AC_CHECK_HEADER(zlib.h)
793 if test "x$ac_cv_header_zlib_h" != "xyes"; then
795 echo "zlib library not found."
797 echo "If your OS does not provide an installable package for zlib"
798 echo "you will have to compile and install it first yourself. A copy"
799 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
800 echo "have to untar this source code, and follow it's included instructions"
801 echo "to compile and install on your system."
803 echo "configure aborted."
807 dnl Check for Subversion library support
808 # libsvn support defaults to yes
810 save_CPPFLAGS=$CPPFLAGS
811 AC_ARG_WITH(libsvn, [ --without-libsvn Do not use libsvn for terrasync [default=no]], [], [with_libsvn=yes])
812 if test "x$with_libsvn" = "xyes"; then
813 LIBS="`apr-1-config --link-ld`"
814 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
815 AC_CHECK_HEADERS([svn_client.h])
816 if test "x$ac_cv_header_svn_client_h" = "xyes"; then
817 echo "TerraSync will use libsvn"
818 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
819 AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
821 svn_CPPFLAGS=$CPPFLAGS
823 AC_SUBST(svn_CPPFLAGS)
825 echo "Libsvn not found. TerraSync will use command line subversion"
830 echo "Libsvn explicitly disabled. TerraSync will use command line subversion"
835 CPPFLAGS=$save_CPPFLAGS
837 AC_MSG_CHECKING([for feenableexcept])
838 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
839 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
840 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
841 AC_MSG_RESULT([yes]),
844 dnl Checks for header files.
847 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
848 sys/time.h sys/timeb.h unistd.h windows.h values.h )
850 dnl Checks for typedefs, structures, and compiler characteristics.
856 dnl Checks for library functions.
858 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
862 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
863 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
867 AM_CONFIG_HEADER(src/Include/config.h)
879 scripts/debug/Makefile \
880 scripts/perl/Makefile \
881 scripts/perl/examples/Makefile \
882 scripts/perl/traffic/Makefile \
883 scripts/python/Makefile \
885 src/Include/Makefile \
886 src/Include/version.h \
887 src/Aircraft/Makefile \
888 src/Airports/Makefile \
890 src/ATCDCL/Makefile \
891 src/Autopilot/Makefile \
892 src/Cockpit/Makefile \
893 src/Cockpit/built_in/Makefile \
894 src/Environment/Makefile \
895 src/FDM/ExternalNet/Makefile \
896 src/FDM/ExternalPipe/Makefile \
897 src/FDM/JSBSim/Makefile \
898 src/FDM/JSBSim/initialization/Makefile \
899 src/FDM/JSBSim/input_output/Makefile \
900 src/FDM/JSBSim/math/Makefile \
901 src/FDM/JSBSim/models/Makefile \
902 src/FDM/JSBSim/models/flight_control/Makefile \
903 src/FDM/JSBSim/models/atmosphere/Makefile \
904 src/FDM/JSBSim/models/propulsion/Makefile \
905 src/FDM/LaRCsim/Makefile \
906 src/FDM/SP/Makefile \
907 src/FDM/UIUCModel/Makefile \
908 src/FDM/YASim/Makefile \
912 src/Instrumentation/Makefile \
913 src/Instrumentation/KLN89/Makefile \
914 src/Instrumentation/HUD/Makefile \
917 src/Main/runfgfs.bat \
919 src/AIModel/Makefile \
920 src/MultiPlayer/Makefile \
921 src/Navaids/Makefile \
922 src/Network/Makefile \
923 src/Network/HLA/Makefile \
924 src/Scenery/Makefile \
925 src/Scripting/Makefile \
927 src/Systems/Makefile \
929 src/Traffic/Makefile \
932 utils/GPSsmooth/Makefile \
933 utils/fgadmin/Makefile
934 utils/fgadmin/src/Makefile \
935 utils/js_server/Makefile \
936 utils/Modeller/Makefile \
937 utils/propmerge/Makefile \
938 utils/TerraSync/Makefile \
939 utils/xmlgrep/Makefile \
940 utils/fgviewer/Makefile
944 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
947 echo "Configure Summary"
948 echo "================="
950 echo "Prefix: $prefix"
952 if test "x$with_logging" != "x"; then
953 echo "Log messages: $with_logging"
955 echo "Log messages: yes"
958 echo -n "Automake version: "
959 automake --version | head -n 1
961 if test "x$with_multiplayer" != "xno"; then
962 echo "Building with multiplayer support"
965 if test "x$with_threads" = "xyes"; then
971 if test "x$with_eventinput" = "xyes"; then
972 echo "Event input: yes"
974 echo "Event input: no"
977 if test "x$enable_sp_fdms" != "xno"; then
978 echo "Include special purpose flight models: yes"
980 echo "Include special purpose flight models: no"