]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Update VS2008 projects : use Boost 1.44.0 available in last 3rd Party archive
[flightgear.git] / configure.ac
index 38239fb464fe9f4704c3a369315818b30eda106b..8285ffce2f07f03e2d99585f0985bff293967c1a 100644 (file)
@@ -1,8 +1,8 @@
-dnl Process this file with autoget.sh to produce a working configure
+dnl Process this file with autogen.sh to produce a working configure
 dnl script.
 
 AC_INIT
 dnl script.
 
 AC_INIT
-AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
+AC_CONFIG_SRCDIR([src/Airports/simple.cxx])
 
 dnl Require at least automake 2.52
 AC_PREREQ(2.52)
 
 dnl Require at least automake 2.52
 AC_PREREQ(2.52)
@@ -10,25 +10,143 @@ AC_PREREQ(2.52)
 dnl Initialize the automake stuff
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_TARGET
 dnl Initialize the automake stuff
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(FlightGear, 0.9.9)
+AM_INIT_AUTOMAKE(FlightGear, 2.0.0)
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_CXX
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_CXX
+AC_PROG_CXXCPP
 AC_PROG_RANLIB
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_PROG_INSTALL
 AC_PROG_LN_S
+AX_BOOST_BASE([1.37.0])
+
+# Show all compiler warnings by default
+CXXFLAGS="$CXXFLAGS -Wall"
+CFLAGS="$CFLAGS -Wall"
+
+if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
+   CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+fi
 
 # specify the simgear location
 
 # specify the simgear location
-AC_ARG_WITH(simgear, [  --with-simgear=PREFIX   Specify the prefix path to simgear])
+AC_ARG_WITH(simgear, [  --with-simgear=PREFIX   Specify the prefix path to SimGear])
 
 if test "x$with_simgear" != "x" ; then
     echo "SimGear prefix path is $with_simgear"
     EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
 
 if test "x$with_simgear" != "x" ; then
     echo "SimGear prefix path is $with_simgear"
     EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
+    CXXFLAGS="$CXXFLAGS -I$with_simgear"
 fi
 
 fi
 
+# specify the plib location
+AC_ARG_WITH(plib, [  --with-plib=PREFIX      Specify the prefix path to plib])
+
+if test "x$with_plib" != "x" ; then
+    echo "plib prefix is $with_plib"
+    EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
+fi
+
+# specify the osg location
+AC_ARG_WITH(osg, [  --with-osg=PREFIX       Specify the prefix path to osg])
+
+if test "x$with_osg" != "x" ; then
+    echo "osg prefix is $with_osg"
+    EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
+fi
+
+# specify framework related locations for Mac OS X
+case "${host}" in
+*-apple-darwin*)
+
+    dnl Thank you Christian Bauer from SheepSaver
+    dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
+    dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_FOUND) ; 
+    AC_DEFUN([AC_CHECK_FRAMEWORK], [
+    AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
+    AC_CACHE_CHECK([whether compiler supports framework $1],
+        ac_Framework, [
+        saved_LIBS="$LIBS"
+        FRAMEWORKS="$FRAMEWORKS -framework $1"
+        if test "$3" = ""; then
+            FRAMEWORKS="$FRAMEWORKS $ADD2LD"
+        elif test "`echo $FRAMEWORKS | grep -- -F$3`" = ""; then
+            FRAMEWORKS="$FRAMEWORKS -F$3"
+            CXXFLAGS="$CXXFLAGS -F$3"
+            CCFLAGS="$CCFLAGS -F$3"
+            CPPFLAGS="$CPPFLAGS -F$3"
+            dnl This is needed for AC_TRY_LINK when a framework path is specified
+            export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
+        fi
+        AC_TRY_LINK(
+        [$2], [],
+        [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
+        )
+    ])
+    AS_IF([test AS_VAR_GET(ac_Framework) = yes],
+        [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
+    )
+    AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
+    AS_VAR_POPDEF([ac_Framework])dnl
+    ])
+
+    # Mac OS X specific configure options
+    AC_ARG_WITH(cocoa_framework, [  --with-cocoa-framework         Use the Cocoa rather than Carbon])
+    if test "x$with_cocoa_framework" != "x" ; then
+        macAPI=Cocoa
+        AC_MSG_NOTICE([Using Cocoa framework])
+    else
+        macAPI=Carbon
+        AC_MSG_NOTICE([Using Carbon framework])
+    fi
+
+    AC_ARG_WITH(osg_framework, [  --with-osg-framework=PREFIX    Specify the prefix path to osg frameworks [default=standard framework paths]])
+    if test "x$with_osg_framework" != "x" ; then
+        echo "osg prefix is $with_osg_framework"
+       export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
+    fi
+
+    AC_ARG_WITH(plib_framework, [  --with-plib-framework=PREFIX   Specify the prefix path to PLIB framework [default=standard framework paths]])
+    if test "x$with_plib_framework" != "x" ; then
+        echo "plib prefix is $with_plib_framework"
+       export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_plib_framework"
+    fi
+
+    AC_ARG_WITH(alut_framework, [  --with-alut-framework=PREFIX   Specify the prefix path to ALUT.framework ])
+    if test "x$with_alut_framework" != "x"; then
+        echo "ALUT framework prefix is $with_alut_framework"
+    fi
+
+    ;;
+esac
+
+dnl Determine an extra directories to add to include/lib search paths
+case "${host}" in
+*-apple-darwin* | *-*-mingw32*)
+    echo no EXTRA_DIRS for $host
+    ;;
+
+*-*-cygwin*)
+    if test -d /usr/local ; then
+        EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
+    fi
+    ;;
+
+*)
+    if test -d /usr/X11R6 ; then
+        EXTRA_DIR1="/usr/X11R6"
+    fi
+    if test -d /opt/X11R6 ; then
+        EXTRA_DIR2="/opt/X11R6"
+    fi
+    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
+    ;;
+
+esac
+wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
+
+
 case "${host}" in
 *-*-irix*)
     if test "$CXX" = "CC"; then
 case "${host}" in
 *-*-irix*)
     if test "$CXX" = "CC"; then
@@ -55,22 +173,55 @@ if test "x$with_logging" = "xno" ; then
     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
 fi
 
     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
 fi
 
-# Specify if we want to build with Multiplayer support
-# default to with_network=yes
-AC_ARG_WITH(multiplayer, [  --with-multiplayer      Include multiplayer support [default=yes]])
-
-if test "x$with_multiplayer" = "xno"; then
-  echo "Building without any kind of multiplayer support"
+AC_ARG_ENABLE(sp_fdms, [  --enable-sp-fdms               Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
+if test "x$enable_sp_fdms" != "xno"; then
+    AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
 else
 else
-  echo "Building with multiplayer support"
-  AC_DEFINE([FG_MPLAYER_AS], 1, [Define to build with multiplayer support])
+    AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
 fi
 fi
-AM_CONDITIONAL(ENABLE_MPLAYER_AS, test "x$with_multiplayer" != "xno")
-
-AC_ARG_ENABLE(sp_fdms, [  --enable-sp-fdms              Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
-AC_DEFINE([ENABLE_SP_FMDS], test "x$enable_sp_fdms" = "xyes", [Define to include special purpose FDMs])
 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
 
 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
 
+# Specify whether we want to compile ATCDCL.
+# default to with_atcdcl=yes
+AC_ARG_ENABLE(atcdcl, [  --enable-atcdcl                Compile and link the deprecated atc/ai module], [], [enable_atcdcl="$enableval"] )
+if test "x$enable_atcdcl" = "xyes"; then
+    AC_DEFINE([ENABLE_ATCDCL], 1, [Define to include old ATC/AI module])
+else
+    AC_DEFINE([ENABLE_ATCDCL], 0, [Define to include old ATC/AI module])
+fi
+AM_CONDITIONAL(ENABLE_ATCDCL, test "x$enable_atcdcl" = "xyes")
+
+dnl EXPERIMENTAL generic event driven input device
+# defaults to no
+AC_ARG_WITH(eventinput, [  --with-eventinput       Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
+if test "x$with_eventinput" = "xyes"; then
+    AC_DEFINE([WITH_EVENTINPUT], 1, [Define to enable generic event driven input device])
+    case "${host}" in
+    dnl OS specific sources for event driven input
+    dnl Linux and Mac OS X are supported at this moment
+    *-apple-darwin*)
+        eventinput_EXTRA_OBJS="FGMacOSXEventInput.o"
+        eventinput_INCUDES=""
+        eventinput_LIBS=""
+        ;;
+    *linux*)
+        dnl
+        dnl FIXME: include paths for dbus are hard-coded at this moment.
+        dnl FIXME: these must be found in configure
+        dnl
+        eventinput_EXTRA_OBJS="FGLinuxEventInput.o"
+        eventinput_INCLUDES="-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include"
+        eventinput_LIBS="-ldbus-1 -lhal"
+        ;;
+    *)
+        echo "Event driven input is not supported on ${host}."
+        ;;
+    esac
+    AC_SUBST(eventinput_EXTRA_OBJS)
+    AC_SUBST(eventinput_INCLUDES)
+    AC_SUBST(eventinput_LIBS)
+fi
+AM_CONDITIONAL(WITH_EVENTINPUT, test "x$with_eventinput" = "xyes")
 
 dnl Thread related checks
 # defaults to yes
 
 dnl Thread related checks
 # defaults to yes
@@ -81,15 +232,6 @@ if test "x$with_threads" = "xyes"; then
     CFLAGS="$CFLAGS -D_REENTRANT"
 fi
 AC_CHECK_HEADER(pthread.h)
     CFLAGS="$CFLAGS -D_REENTRANT"
 fi
 AC_CHECK_HEADER(pthread.h)
-AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes")
-
-# specify the plib location
-AC_ARG_WITH(plib, [  --with-plib=PREFIX      Specify the prefix path to plib])
-
-if test "x$with_plib" != "x" ; then
-    echo "plib prefix is $with_plib"
-    EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
-fi
 
 dnl Used by JSBSim to conditionally compile in fgfs interface code
 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
 
 dnl Used by JSBSim to conditionally compile in fgfs interface code
 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
@@ -97,32 +239,6 @@ AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
 # Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
 
 # Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
 
-dnl Determine an extra directories to add to include/lib search paths
-case "${host}" in
-*-apple-darwin* | *-*-mingw32*)
-    echo no EXTRA_DIRS for $host
-    ;;
-
-*-*-cygwin*)
-    if test -d /usr/local ; then
-        EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
-    fi
-    ;;
-
-*)
-    if test -d /usr/X11R6 ; then
-        EXTRA_DIR1="/usr/X11R6"
-    fi
-    if test -d /opt/X11R6 ; then
-        EXTRA_DIR2="/opt/X11R6"
-    fi
-    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
-    ;;
-
-esac
-wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
-
-
 dnl Using AM_CONDITIONAL is a step out of the protected little 
 dnl automake fold so it is potentially dangerous.  But, we are
 dnl beginning to run into cases where the standard checks are not
 dnl Using AM_CONDITIONAL is a step out of the protected little 
 dnl automake fold so it is potentially dangerous.  But, we are
 dnl beginning to run into cases where the standard checks are not
@@ -170,11 +286,12 @@ esac
 dnl Checks for libraries.
 
 dnl Thread related checks
 dnl Checks for libraries.
 
 dnl Thread related checks
-AC_SEARCH_LIBS(pthread_cancel, [pthread c_r])
+AC_SEARCH_LIBS(pthread_create, [pthread c_r])
 if test "x$ac_cv_header_pthread_h" = "xyes"; then
   if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
     CXXFLAGS="-pthread $CXXFLAGS"
     CFLAGS="-pthread $CFLAGS"
 if test "x$ac_cv_header_pthread_h" = "xyes"; then
   if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
     CXXFLAGS="-pthread $CXXFLAGS"
     CFLAGS="-pthread $CFLAGS"
+    LIBS="-lsgthreads $LIBS"
   fi
 fi
 
   fi
 fi
 
@@ -193,17 +310,29 @@ dnl check for some default libraries
 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
 AC_SEARCH_LIBS(ceil, m)
 AC_SEARCH_LIBS(dlclose, dl)
 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
 AC_SEARCH_LIBS(ceil, m)
 AC_SEARCH_LIBS(dlclose, dl)
+AC_SEARCH_LIBS(clock_gettime, rt)
 
 base_LIBS="$LIBS"
 
 
 base_LIBS="$LIBS"
 
-dnl Check for SDL if enabled.
-AC_ARG_ENABLE(sdl, [  --enable-sdl                  Configure to use SDL instead of GLUT], [enable_sdl="$enableval"])
+dnl Check for SDL or glut if enabled.
+AC_ARG_ENABLE(osgviewer, [  --enable-osgviewer             Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
+AC_ARG_ENABLE(sdl,  [  --enable-sdl                   Configure to use SDL], [enable_sdl="$enableval"])
+AC_ARG_ENABLE(glut, [  --enable-glut                  Configure to use GLUT], [enable_glut="$enableval"])
 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
-if test "x$enable_sdl" = "xyes"; then
-    AC_DEFINE([PU_USE_SDL], 1, [Define to use SDL])
-else
-    AC_DEFINE([PU_USE_GLUT], 1, [Define to use glut])
+AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
+if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
+   enable_osgviewer="yes"
+fi
+if test \( "x$enable_osgviewer" = "xyes" \
+   -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
+   -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
+   echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
+   echo " be supplied."
+   exit
 fi
 fi
+AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
+
+AC_ARG_ENABLE(osgdebug, [  --enable-osgdebug              Use OSG debug libraries], [enable_osgdebug="$enableval"])
 
 dnl check for OpenGL related libraries
 case "${host}" in
 
 dnl check for OpenGL related libraries
 case "${host}" in
@@ -238,7 +367,8 @@ case "${host}" in
 *-apple-darwin*)
     dnl Mac OS X
 
 *-apple-darwin*)
     dnl Mac OS X
 
-    LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework Carbon -lobjc"
+    LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
+    LDFLAGS="$LDFLAGS -headerpad_max_install_names"
     joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
     ;;
 
     joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
     ;;
 
@@ -284,21 +414,33 @@ opengl_LIBS="$LIBS"
 LIBS="$base_LIBS $joystick_LIBS"
 
 dnl check for OpenAL libraries
 LIBS="$base_LIBS $joystick_LIBS"
 
 dnl check for OpenAL libraries
+OPENAL_OK="no"
+ALUT_OK="no"
 case "${host}" in
 *-*-cygwin* | *-*-mingw32*)
     dnl CygWin under Windoze.
 case "${host}" in
 *-*-cygwin* | *-*-mingw32*)
     dnl CygWin under Windoze.
-
-    AC_SEARCH_LIBS(alGenBuffers, openal32)
-    AC_SEARCH_LIBS(alutInit, [ openal32 ALut ] )
-    LIBS="$LIBS -ldsound -ldxguid -lole32"
+    INCLUDES="$INCLUDES -I/usr/local/include/"
+    LIBS="$LIBS -L/usr/local/lib"
+    AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] )
+    AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
+    LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
     openal_LIBS="$LIBS"
     openal_LIBS="$LIBS"
+    OPENAL_OK="$ac_cv_search_alGenBuffers"
+    ALUT_OK="$ac_cv_search_alutInit"
     ;;
 
 *-apple-darwin*)
     dnl Mac OS X
 
     ;;
 
 *-apple-darwin*)
     dnl Mac OS X
 
-    LIBS="$LIBS -framework IOKit -framework OpenAL"
-    openal_LIBS="$LIBS"
+    # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
+    # require use of a non-Apple ALUT.framework which we provide
+    openal_LIBS="-framework IOKit -framework OpenAL"
+    
+    AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
+    AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
+        ALUT_OK="yes"
+        openal_LIBS="$openal_LIBS -framework ALUT"
+    ])
     ;;
 
 *)
     ;;
 
 *)
@@ -309,12 +451,36 @@ case "${host}" in
     AC_SEARCH_LIBS(alGenBuffers, openal)
     AC_SEARCH_LIBS(alutInit, [ alut openal ] )
     OPENAL_OK="$ac_cv_search_alGenBuffers"
     AC_SEARCH_LIBS(alGenBuffers, openal)
     AC_SEARCH_LIBS(alutInit, [ alut openal ] )
     OPENAL_OK="$ac_cv_search_alGenBuffers"
+    ALUT_OK="$ac_cv_search_alutInit"
     openal_LIBS="$LIBS"
     LIBS=$save_LIBS
     ;;
 
 esac
 
     openal_LIBS="$LIBS"
     LIBS=$save_LIBS
     ;;
 
 esac
 
+if test "$OPENAL_OK" == "no"; then
+    echo
+    echo "You *must* have the openal library installed on your system to build"
+    echo "SimGear!"
+    echo
+    echo "Please see README.OpenAL for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+if test "$ALUT_OK" == "no"; then
+    echo
+    echo "You *must* have the alut library installed on your system to build"
+    echo "SimGear!"
+    echo
+    echo "Please see README.OpenAL for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+
 LIBS="$base_LIBS"
 
 AC_SUBST(base_LIBS)
 LIBS="$base_LIBS"
 
 AC_SUBST(base_LIBS)
@@ -329,49 +495,12 @@ AC_SUBST(joystick_LIBS)
 
 AC_LANG_PUSH(C++)
 
 
 AC_LANG_PUSH(C++)
 
-# Check for "plib" without which we cannot go on
-AC_CHECK_HEADER(plib/ul.h)
-if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
-    echo
-    echo "You *must* have the plib library installed on your system to build"
-    echo "the FGFS simulator!"
-    echo
-    echo "Please see README.plib for more details."
-    echo
-    echo "configure aborted."
-    exit
-fi
-
-AC_MSG_CHECKING([for plib 1.8.4 or newer])
-AC_TRY_RUN([
-#include <plib/ul.h>
-
-#define MIN_PLIB_VERSION 184
-
-int main() {
-    int major, minor, micro;
-
-    if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
-        return -1;
-    }
-
-    return 0;
-}
-
-],
-  AC_MSG_RESULT(yes),
-  [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([Install plib 1.8.4 or later first...])],
-  AC_MSG_RESULT(yes)
-)
-
-dnl If we get here then plib is available, so force use of plib
-dnl joystick lib
-AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
-
-
 dnl Check for the presence of SimGear
 dnl Check for the presence of SimGear
+if test "x$with_simgear" != "x"; then
+AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
+else
 AC_CHECK_HEADER(simgear/version.h)
 AC_CHECK_HEADER(simgear/version.h)
+fi
 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     echo
     echo "You *must* have the SimGear support library installed on your system"
 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     echo
     echo "You *must* have the SimGear support library installed on your system"
@@ -383,7 +512,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     exit
 fi
 
     exit
 fi
 
-AC_MSG_CHECKING([for simgear 0.3.9 or newer])
+AC_MSG_CHECKING([for SimGear 2.0.0 or newer])
 AC_TRY_RUN([
 #include <stdio.h>
 
 AC_TRY_RUN([
 #include <stdio.h>
 
@@ -392,9 +521,9 @@ AC_TRY_RUN([
 #define STRINGIFY(X) XSTRINGIFY(X)
 #define XSTRINGIFY(X) #X
 
 #define STRINGIFY(X) XSTRINGIFY(X)
 #define XSTRINGIFY(X) #X
 
-#define MIN_MAJOR 0
-#define MIN_MINOR 3
-#define MIN_MICRO 9
+#define MIN_MAJOR 2
+#define MIN_MINOR 0
+#define MIN_MICRO 0
 
 int main() {
     int major, minor, micro;
 
 int main() {
     int major, minor, micro;
@@ -416,14 +545,18 @@ int main() {
 ],
   AC_MSG_RESULT(yes),
   [AC_MSG_RESULT(wrong version);
 ],
   AC_MSG_RESULT(yes),
   [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([Install latest simgear first...])],
+   AC_MSG_ERROR([Install latest SimGear first...])],
   AC_MSG_RESULT(yes)
 )
 
 LIBS="$saved_LIBS"
 
 dnl Check if SimGear was built with Norman's JPEG factory support
   AC_MSG_RESULT(yes)
 )
 
 LIBS="$saved_LIBS"
 
 dnl Check if SimGear was built with Norman's JPEG factory support
+if test "x$with_simgear" != "x"; then
+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])
+else
 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
+fi
 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
     AC_CHECK_LIB(jpeg, jpeg_start_compress)
     if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
     AC_CHECK_LIB(jpeg, jpeg_start_compress)
     if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
@@ -442,6 +575,157 @@ if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
 fi
 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
 
 fi
 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
 
+# Check for "plib" without which we cannot go on
+case "${host}" in
+*-apple-darwin*)
+    if test "x$with_plib_framework" != "x"; then
+        AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework, no)
+        plib_FRAMEWORK="$FRAMEWORKS"
+        AC_SUBST(plib_FRAMEWORK)
+        FRAMEWORKS=""
+    fi
+    ;;
+esac
+AM_CONDITIONAL(HAVE_FRAMEWORK_PLIB, test "x$ac_cv_framework_PLIB" != "x")
+
+AC_CHECK_HEADER(plib/ul.h)
+if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
+    echo
+    echo "You *must* have the plib library installed on your system to build"
+    echo "the FGFS simulator!"
+    echo
+    echo "Please see README.plib for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+echo "$DYLD_FRAMEWORK_PATH"
+AC_MSG_CHECKING([for plib 1.8.5 or newer])
+AC_TRY_RUN([
+#include <plib/ul.h>
+
+#define MIN_PLIB_VERSION 185
+
+int main() {
+    if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
+        return -1;
+    }
+
+    return 0;
+}
+
+],
+  AC_MSG_RESULT(yes),
+  [AC_MSG_RESULT(wrong version);
+   AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
+  AC_MSG_RESULT(yes)
+)
+
+dnl If we get here then plib is available, so force use of plib
+dnl joystick lib
+AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
+
+# Find the OSG libraries.  Note special handling for OS X frameworks
+if test "x$with_osg_framework" = "x"; then
+    if test "x$enable_osgdebug" = "xyes"; then
+        AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
+        AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
+        AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
+        AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
+        AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
+        AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
+        AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
+        AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
+        AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
+        AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
+    else
+        AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],)
+        AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],)
+        AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],)
+        AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],)
+        AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],)
+        AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],)
+        AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],)
+        AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],)
+        AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],)
+        AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],)
+    fi
+else
+    # Checking osg frameworks.
+    AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>], $with_osg_framework)
+    AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>], $with_osg_framework)
+    osg_FRAMEWORKS="$FRAMEWORKS"
+    FRAMEWORKS=""
+    AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
+    openthreads_FRAMEWORK="$FRAMEWORKS"
+    AC_SUBST(osg_FRAMEWORKS)
+    AC_SUBST(openthreads_FRAMEWORK)
+fi
+AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
+
+AC_CHECK_HEADER(osg/Version)
+if test "x$ac_cv_header_osg_Version" != "xyes"; then
+    echo
+    echo "You *must* have the OpenSceneGraph support library installed on your system"
+    echo "to build the FGFS simulator!"
+    echo
+    echo "Please see README.OSG for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+
+AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
+    [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
+  [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
+   AC_MSG_RESULT([yes])],
+  [AC_MSG_RESULT([no])])
+
+# Special handling for static version of OSG
+if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then
+    saved_LIBS="$LIBS"
+    LIBS=""
+    #***** Check image support (needed for static build) *****
+    AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"])
+    AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"])
+    AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"])
+    img_LIBS="$LIBS"
+    LIBS="$saved_LIBS"
+
+    if test "x$with_osg" != "x" ; then
+        osg_prefix="$with_osg"
+    else
+        osg_prefix="/usr"
+    fi
+    PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"])
+    LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \
+                                                          -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \
+                                                          -losgVolume -losgTerrain $LIBS -losgUtil"
+
+    if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then
+      LIBS="$LIBS -losgdb_jpeg"
+    fi
+    if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then
+      LIBS="$LIBS -losgdb_png"
+    fi
+    if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then
+      LIBS="$LIBS -losgdb_tiff"
+    fi
+
+    LIBS="$LIBS $img_LIBS"
+fi
+
 AC_LANG_POP
 
 dnl Check for system installed zlib
 AC_LANG_POP
 
 dnl Check for system installed zlib
@@ -460,11 +744,40 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
 fi
 
     echo
 fi
 
+dnl Check for Subversion library support
+save_LIBS=$LIBS
+save_CPPFLAGS=$CPPFLAGS
+LIBS="`apr-1-config --link-ld`"
+CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
+AC_CHECK_HEADERS([svn_client.h])
+if test "x$ac_cv_header_svn_client_h" != "xyes"; then
+  echo "TerraSync will shell out for command line subversion"
+  svn_LIBS=""
+  svn_CPPFLAGS=""
+else
+  echo "TerraSync will use integrated subversion library"
+  AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
+  AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
+  svn_LIBS=$LIBS
+  svn_CPPFLAGS=$CPPFLAGS
+  AC_SUBST(svn_LIBS)
+  AC_SUBST(svn_CPPFLAGS)
+fi
+LIBS=$save_LIBS
+CPPFLAGS=$save_CPPFLAGS
+
+AC_MSG_CHECKING([for feenableexcept])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
+#include <fenv.h>]], [[feenableexcept(FE_DIVBYZERO)]])],
+[AC_DEFINE([HAVE_FEENABLEEXCEPT], 1, [define if system has fenableexcept])],
+AC_MSG_RESULT([yes]),
+AC_MSG_RESULT([no]))
+
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS( \
        fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS( \
        fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
-        sys/time.h sys/timeb.h unistd.h windows.h values.h )
+       sys/time.h sys/timeb.h unistd.h windows.h values.h )
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -478,7 +791,7 @@ LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS( [ \
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS( [ \
-        ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
+       ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
        random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
        truncf ] )
 LIBS=$old_LIBS
        random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
        truncf ] )
 LIBS=$old_LIBS
@@ -494,27 +807,32 @@ AC_CONFIG_FILES([ \
        man/gl-info.1 \
        man/js_demo.1 \
        man/pstest.1 \
        man/gl-info.1 \
        man/js_demo.1 \
        man/pstest.1 \
-        scripts/Makefile \
-        scripts/debug/Makefile \
-        scripts/perl/Makefile \
-        scripts/perl/examples/Makefile \
-        scripts/python/Makefile \
+       scripts/Makefile \
+       scripts/debug/Makefile \
+       scripts/perl/Makefile \
+       scripts/perl/examples/Makefile \
+       scripts/python/Makefile \
        src/Makefile \
        src/Include/Makefile \
        src/Include/version.h \
        src/Makefile \
        src/Include/Makefile \
        src/Include/version.h \
-       src/Include/config.h-msvc6 \
        src/Aircraft/Makefile \
        src/Airports/Makefile \
        src/ATC/Makefile \
        src/Aircraft/Makefile \
        src/Airports/Makefile \
        src/ATC/Makefile \
+       src/ATCDCL/Makefile \
        src/Autopilot/Makefile \
        src/Cockpit/Makefile \
        src/Cockpit/built_in/Makefile \
        src/Environment/Makefile \
        src/Autopilot/Makefile \
        src/Cockpit/Makefile \
        src/Cockpit/built_in/Makefile \
        src/Environment/Makefile \
-       src/FDM/Balloon/Makefile \
        src/FDM/ExternalNet/Makefile \
        src/FDM/ExternalPipe/Makefile \
        src/FDM/JSBSim/Makefile \
        src/FDM/ExternalNet/Makefile \
        src/FDM/ExternalPipe/Makefile \
        src/FDM/JSBSim/Makefile \
-       src/FDM/JSBSim/filtersjb/Makefile \
+       src/FDM/JSBSim/initialization/Makefile \
+       src/FDM/JSBSim/input_output/Makefile \
+       src/FDM/JSBSim/math/Makefile \
+       src/FDM/JSBSim/models/Makefile \
+       src/FDM/JSBSim/models/flight_control/Makefile \
+       src/FDM/JSBSim/models/atmosphere/Makefile \
+       src/FDM/JSBSim/models/propulsion/Makefile \
        src/FDM/LaRCsim/Makefile \
        src/FDM/SP/Makefile \
        src/FDM/UIUCModel/Makefile \
        src/FDM/LaRCsim/Makefile \
        src/FDM/SP/Makefile \
        src/FDM/UIUCModel/Makefile \
@@ -524,6 +842,7 @@ AC_CONFIG_FILES([ \
        src/Input/Makefile \
        src/Instrumentation/Makefile \
        src/Instrumentation/KLN89/Makefile \
        src/Input/Makefile \
        src/Instrumentation/Makefile \
        src/Instrumentation/KLN89/Makefile \
+       src/Instrumentation/HUD/Makefile \
        src/Main/Makefile \
        src/Main/runfgfs \
        src/Main/runfgfs.bat \
        src/Main/Makefile \
        src/Main/runfgfs \
        src/Main/runfgfs.bat \
@@ -541,10 +860,14 @@ AC_CONFIG_FILES([ \
        tests/Makefile \
        utils/Makefile \
        utils/GPSsmooth/Makefile \
        tests/Makefile \
        utils/Makefile \
        utils/GPSsmooth/Makefile \
+       utils/fgadmin/Makefile
+       utils/fgadmin/src/Makefile \
        utils/js_server/Makefile \
        utils/Modeller/Makefile \
        utils/js_server/Makefile \
        utils/Modeller/Makefile \
+       utils/propmerge/Makefile \
        utils/TerraSync/Makefile \
        utils/xmlgrep/Makefile \
        utils/TerraSync/Makefile \
        utils/xmlgrep/Makefile \
+       utils/fgviewer/Makefile
 ])
 AC_OUTPUT
 
 ])
 AC_OUTPUT
 
@@ -563,7 +886,7 @@ else
 fi
 
 echo -n "Automake version: "
 fi
 
 echo -n "Automake version: "
-automake --version | head -1
+automake --version | head -1
 
 if test "x$with_multiplayer" != "xno"; then
     echo "Building with multiplayer support"
 
 if test "x$with_multiplayer" != "xno"; then
     echo "Building with multiplayer support"
@@ -575,9 +898,21 @@ else
     echo "threads: no"
 fi
 
     echo "threads: no"
 fi
 
+if test "x$with_eventinput" = "xyes"; then
+    echo "event input: yes"
+else
+    echo "event input: no"
+fi
+
 if test "x$enable_sp_fdms" != "xno"; then
     echo "Include special purpose flight models: yes"
 else
     echo "Include special purpose flight models: no"
 fi
 
 if test "x$enable_sp_fdms" != "xno"; then
     echo "Include special purpose flight models: yes"
 else
     echo "Include special purpose flight models: no"
 fi
 
+if test "x$enable_atcdcl" = "xyes"; then
+    echo "Build depricated ATC/AI module: yes"
+else
+    echo "Build depricated ATC/AI module: no"
+fi
+