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 Used by JSBSim to conditionally compile in fgfs interface code
300 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
302 # Check for MS Windows environment
303 AC_CHECK_HEADER(windows.h)
305 dnl Using AM_CONDITIONAL is a step out of the protected little
306 dnl automake fold so it is potentially dangerous. But, we are
307 dnl beginning to run into cases where the standard checks are not
308 dnl enough. AM_CONDITIONALS are then referenced to conditionally
309 dnl build a Makefile.in from a Makefile.am which lets us define custom
310 dnl includes, compile alternative source files, etc.
312 dnl Check for external variables daylight and timezone.
314 if test "$have_daylight" = yes; then
315 AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
319 if test "$have_timezone" = yes; then
320 AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
324 dnl add joystick support libraries
325 dnl search for FreeBSD library
326 AC_SEARCH_LIBS(hid_init, usbhid)
327 joystick_LIBS="$LIBS"
331 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
332 dnl just assuming we have audio support on all platform. We can
333 dnl depend on plib to hide the details.
334 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
336 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
337 dnl to use it if it is.
339 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
340 echo no fancy X11 check
349 dnl Checks for libraries.
351 dnl Thread related checks
352 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
353 if test "x$ac_cv_header_pthread_h" = "xyes"; then
354 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
355 CXXFLAGS="-pthread $CXXFLAGS"
356 CFLAGS="-pthread $CFLAGS"
357 LIBS="-lsgthreads $LIBS"
364 dnl search for network related libraries
365 AC_SEARCH_LIBS(inet_addr, xnet)
366 AC_SEARCH_LIBS(socket, socket)
367 AC_SEARCH_LIBS(main, nsl)
372 dnl check for some default libraries
373 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
374 AC_SEARCH_LIBS(ceil, m)
375 AC_SEARCH_LIBS(dlclose, dl)
376 AC_SEARCH_LIBS(clock_gettime, rt)
380 dnl Check for SDL or glut if enabled.
381 AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
382 AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL], [enable_sdl="$enableval"])
383 AC_ARG_ENABLE(glut, [ --enable-glut Configure to use GLUT], [enable_glut="$enableval"])
384 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
385 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
386 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
387 enable_osgviewer="yes"
389 if test \( "x$enable_osgviewer" = "xyes" \
390 -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
391 -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
392 echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
396 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
398 AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
400 dnl check for OpenGL related libraries
402 *-*-cygwin* | *-*-mingw32*)
403 dnl CygWin under Windoze.
405 echo Win32 specific hacks...
406 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
407 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
409 if test "x$enable_sdl" = "xyes"; then
410 AC_SEARCH_LIBS(SDL_Init, SDL)
412 LIBS="$LIBS -lglut32"
415 LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
416 joystick_LIBS="$joystick_LIBS -lwinmm"
418 dnl add -lwsock32 for mingwin
421 echo "********** BUILDING FOR MINGW32 *************"
422 network_LIBS="$network_LIBS -lws2_32"
426 echo "Will link apps with $LIBS"
433 LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
434 LDFLAGS="$LDFLAGS -headerpad_max_install_names"
435 joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
439 dnl X-Windows based machines
441 dnl Skip X11 library tests if requested.
442 if test "x$no_x" != "xyes"; then
443 AC_SEARCH_LIBS(XCreateWindow, X11)
444 AC_SEARCH_LIBS(XShmCreateImage, Xext)
445 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
446 AC_SEARCH_LIBS(IceOpenConnection, ICE)
447 AC_SEARCH_LIBS(SmcOpenConnection, SM)
448 AC_SEARCH_LIBS(XtMalloc, Xt)
449 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
452 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
453 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
454 dnl if GLcore found, then also check for GL
455 AC_SEARCH_LIBS(glXCreateContext, GL)
458 dnl if using mesa, check for xmesa.h
459 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
460 AC_CHECK_HEADER(GL/fxmesa.h)
461 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
462 AC_DEFINE([XMESA], 1, [Define for fxmesa])
463 AC_DEFINE([FX], 1, [Define for fxmesa])
467 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
468 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
469 if test "x$enable_sdl" = "xyes"; then
470 AC_SEARCH_LIBS(SDL_Init, SDL)
477 LIBS="$base_LIBS $joystick_LIBS"
479 dnl check for OpenAL libraries
483 *-*-cygwin* | *-*-mingw32*)
484 dnl CygWin under Windoze.
485 INCLUDES="$INCLUDES -I/usr/local/include/"
486 LIBS="$LIBS -L/usr/local/lib"
487 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
488 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
489 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
491 OPENAL_OK="$ac_cv_search_alGenBuffers"
492 ALUT_OK="$ac_cv_search_alutInit"
498 # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
499 # require use of a non-Apple ALUT.framework which we provide
500 openal_LIBS="-framework IOKit -framework OpenAL"
502 AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
503 AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
505 openal_LIBS="$openal_LIBS -framework ALUT"
510 dnl default unix style machines
513 LIBS="$LIBS $thread_LIBS"
514 AC_SEARCH_LIBS(alGenBuffers, openal)
515 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
516 OPENAL_OK="$ac_cv_search_alGenBuffers"
517 ALUT_OK="$ac_cv_search_alutInit"
524 if test "$OPENAL_OK" == "no"; then
526 echo "You *must* have the openal library installed on your system to build"
529 echo "Please see README.OpenAL for more details."
531 echo "configure aborted."
535 if test "$ALUT_OK" == "no"; then
537 echo "You *must* have the alut library installed on your system to build"
540 echo "Please see README.OpenAL for more details."
542 echo "configure aborted."
550 AC_SUBST(openal_LIBS)
551 AC_SUBST(opengl_LIBS)
552 AC_SUBST(thread_LIBS)
553 AC_SUBST(network_LIBS)
554 AC_SUBST(joystick_LIBS)
556 # The following are C++ items that need to be tested for with the c++
561 dnl Check for the presence of SimGear
562 if test "x$with_simgear" != "x"; then
563 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
565 AC_CHECK_HEADER(simgear/version.h)
567 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
569 echo "You *must* have the SimGear support library installed on your system"
570 echo "to build the FGFS simulator!"
572 echo "Please see README.SimGear for more details."
574 echo "configure aborted."
578 AC_MSG_CHECKING([for SimGear 2.2.0 or newer])
582 #include <simgear/version.h>
584 #define STRINGIFY(X) XSTRINGIFY(X)
585 #define XSTRINGIFY(X) #X
592 int major, minor, micro;
594 /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
595 printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
597 sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ );
599 if ( (major < MIN_MAJOR) ||
600 (major == MIN_MAJOR && minor < MIN_MINOR) ||
601 (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
610 [AC_MSG_RESULT(wrong version);
611 AC_MSG_ERROR([Install latest SimGear first...])],
617 dnl Check if SimGear was built with Norman's JPEG factory support
618 if test "x$with_simgear" != "x"; then
619 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])
621 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
623 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
624 AC_CHECK_LIB(jpeg, jpeg_start_compress)
625 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
627 echo "The JPEG factory code was built and installed with SimGear."
628 echo "However it appears the libjpeg is no longer installed."
629 echo "You need to install libjpeg or remove jpgfactory support from"
632 echo "libjpeg is available at :"
633 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
636 AC_DEFINE([FG_JPEG_SERVER], 1,
637 [Define to build with jpeg screen shot server])
639 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
641 # Check for "plib" without which we cannot go on
644 if test "x$with_plib_framework" != "x"; then
645 AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
646 plib_FRAMEWORK="$FRAMEWORKS"
647 AC_SUBST(plib_FRAMEWORK)
652 AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
654 AC_CHECK_HEADER(plib/ul.h)
655 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
657 echo "You *must* have the plib library installed on your system to build"
658 echo "the FGFS simulator!"
660 echo "Please see README.plib for more details."
662 echo "configure aborted."
666 echo "$DYLD_FRAMEWORK_PATH"
667 AC_MSG_CHECKING([for plib 1.8.5 or newer])
671 #define MIN_PLIB_VERSION 185
674 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
683 [AC_MSG_RESULT(wrong version);
684 AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
688 dnl If we get here then plib is available, so force use of plib
690 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
692 # Find the OSG libraries. Note special handling for OS X frameworks
693 if test "x$with_osg_framework" = "x"; then
694 if test "x$enable_osgdebug" = "xyes"; then
695 AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
696 AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
697 AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
698 AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
699 AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
700 AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
701 AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
702 AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
703 AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
704 AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
706 AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
707 AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
708 AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
709 AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
710 AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
711 AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
712 AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
713 AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
714 AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
715 AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
718 # Checking osg frameworks.
719 AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
720 AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
721 AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
722 AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
723 AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
724 AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
725 AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
726 AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
727 AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
728 osg_FRAMEWORKS="$FRAMEWORKS"
730 AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
731 openthreads_FRAMEWORK="$FRAMEWORKS"
732 AC_SUBST(osg_FRAMEWORKS)
733 AC_SUBST(openthreads_FRAMEWORK)
735 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
737 AC_CHECK_HEADER(osg/Version)
738 if test "x$ac_cv_header_osg_Version" != "xyes"; then
740 echo "You *must* have the OpenSceneGraph support library installed on your system"
741 echo "to build the FGFS simulator!"
743 echo "Please see README.OSG for more details."
745 echo "configure aborted."
750 AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
752 [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
753 [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
754 [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
755 AC_MSG_RESULT([yes])],
756 [AC_MSG_RESULT([no])])
758 # Special handling for static version of OSG
759 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
762 #***** Check image support (needed for static build) *****
763 AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
764 AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
765 AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
769 if test "x$with_osg" != "x" ; then
770 osg_prefix="$with_osg"
774 PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
775 LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
776 -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
777 -losgVolume -losgTerrain $LIBS -losgUtil"
779 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
780 LIBS="$LIBS -losgdb_jpeg"
782 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
783 LIBS="$LIBS -losgdb_png"
785 if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
786 LIBS="$LIBS -losgdb_tiff"
789 LIBS="$LIBS $img_LIBS"
794 dnl Check for system installed zlib
795 AC_CHECK_HEADER(zlib.h)
796 if test "x$ac_cv_header_zlib_h" != "xyes"; then
798 echo "zlib library not found."
800 echo "If your OS does not provide an installable package for zlib"
801 echo "you will have to compile and install it first yourself. A copy"
802 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
803 echo "have to untar this source code, and follow it's included instructions"
804 echo "to compile and install on your system."
806 echo "configure aborted."
810 dnl Check for Subversion library support
811 # libsvn support defaults to yes
813 save_CPPFLAGS=$CPPFLAGS
814 AC_ARG_WITH(libsvn, [ --without-libsvn Do not use libsvn for terrasync [default=no]], [], [with_libsvn=yes])
815 if test "x$with_libsvn" = "xyes"; then
816 LIBS="`apr-1-config --link-ld`"
817 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
818 AC_CHECK_HEADERS([svn_client.h])
819 if test "x$ac_cv_header_svn_client_h" = "xyes"; then
820 echo "TerraSync will use libsvn"
821 AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
822 AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
824 svn_CPPFLAGS=$CPPFLAGS
826 AC_SUBST(svn_CPPFLAGS)
828 echo "Libsvn not found. TerraSync will use command line subversion"
833 echo "Libsvn explicitly disabled. TerraSync will use command line subversion"
838 CPPFLAGS=$save_CPPFLAGS
840 AC_MSG_CHECKING([for feenableexcept])
841 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
842 #include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
843 [AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
844 AC_MSG_RESULT([yes]),
847 dnl Checks for header files.
850 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
851 sys/time.h sys/timeb.h unistd.h windows.h values.h )
853 dnl Checks for typedefs, structures, and compiler characteristics.
859 dnl Checks for library functions.
861 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
865 ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
866 random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
870 AM_CONFIG_HEADER(src/Include/config.h)
882 scripts/debug/Makefile \
883 scripts/perl/Makefile \
884 scripts/perl/examples/Makefile \
885 scripts/perl/traffic/Makefile \
886 scripts/python/Makefile \
888 src/Include/Makefile \
889 src/Include/version.h \
890 src/Aircraft/Makefile \
891 src/Airports/Makefile \
893 src/ATCDCL/Makefile \
894 src/Autopilot/Makefile \
895 src/Cockpit/Makefile \
896 src/Cockpit/built_in/Makefile \
897 src/Environment/Makefile \
898 src/FDM/ExternalNet/Makefile \
899 src/FDM/ExternalPipe/Makefile \
900 src/FDM/JSBSim/Makefile \
901 src/FDM/JSBSim/initialization/Makefile \
902 src/FDM/JSBSim/input_output/Makefile \
903 src/FDM/JSBSim/math/Makefile \
904 src/FDM/JSBSim/models/Makefile \
905 src/FDM/JSBSim/models/flight_control/Makefile \
906 src/FDM/JSBSim/models/atmosphere/Makefile \
907 src/FDM/JSBSim/models/propulsion/Makefile \
908 src/FDM/LaRCsim/Makefile \
909 src/FDM/SP/Makefile \
910 src/FDM/UIUCModel/Makefile \
911 src/FDM/YASim/Makefile \
915 src/Instrumentation/Makefile \
916 src/Instrumentation/KLN89/Makefile \
917 src/Instrumentation/HUD/Makefile \
920 src/Main/runfgfs.bat \
922 src/AIModel/Makefile \
923 src/MultiPlayer/Makefile \
924 src/Navaids/Makefile \
925 src/Network/Makefile \
926 src/Network/HLA/Makefile \
927 src/Scenery/Makefile \
928 src/Scripting/Makefile \
930 src/Systems/Makefile \
932 src/Traffic/Makefile \
935 utils/GPSsmooth/Makefile \
936 utils/fgadmin/Makefile
937 utils/fgadmin/src/Makefile \
938 utils/js_server/Makefile \
939 utils/Modeller/Makefile \
940 utils/propmerge/Makefile \
941 utils/TerraSync/Makefile \
942 utils/xmlgrep/Makefile \
943 utils/fgviewer/Makefile
947 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
950 echo "Configure Summary"
951 echo "================="
953 echo "Prefix: $prefix"
955 if test "x$with_logging" != "x"; then
956 echo "Log messages: $with_logging"
958 echo "Log messages: yes"
961 echo -n "Automake version: "
962 automake --version | head -n 1
964 if test "x$with_multiplayer" != "xno"; then
965 echo "Building with multiplayer support"
968 if test "x$with_threads" = "xyes"; then
974 if test "x$with_eventinput" = "xyes"; then
975 echo "Event input: yes"
977 echo "Event input: no"
980 if test "x$enable_sp_fdms" != "xno"; then
981 echo "Include special purpose flight models: yes"
983 echo "Include special purpose flight models: no"