]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Make the attitude indicator gyro error kick in earlier in the gyro spin down
[flightgear.git] / configure.ac
index 97bb7d2eebc113dd86f4a01dc2fa5655fad453c6..5c861dec5967cbf6505589964aa303450b3d6865 100644 (file)
@@ -1,20 +1,18 @@
-dnl Process this file with aclocal ; automake -a ; autoconf to produce a 
-dnl working configure script.
-
-#
-# $Id$
-#
+dnl Process this file with autoget.sh to produce a working configure
+dnl script.
+dnl
+dnl $Id$
 
 AC_INIT
 AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
 
 
 AC_INIT
 AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
 
-# Require at least automake 2.52
+dnl Require at least automake 2.52
 AC_PREREQ(2.52)
 
 AC_PREREQ(2.52)
 
-# Initialize the automake stuff
-AM_INIT_AUTOMAKE(FlightGear, 0.9.0)
+dnl Initialize the automake stuff
+AM_INIT_AUTOMAKE(FlightGear, 0.9.1)
 
 
-# Checks for programs.
+dnl Checks for programs.
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CPP
@@ -23,75 +21,68 @@ AC_PROG_RANLIB
 AC_PROG_INSTALL
 AC_PROG_LN_S
 
 AC_PROG_INSTALL
 AC_PROG_LN_S
 
-# Initialize libtool
-# AM_PROG_LIBTOOL
-
-# Initialize maintainer mode
-# AM_MAINTAINER_MODE
-
-# This is needed for AC_TRY_COMPILE later
-# AC_ISC_POSIX
-
-# Check to see if this `configure' is being run in the `Cygwin32' environment
-AC_EGREP_CPP(yes,
-[#ifdef __MINGW32__
- yes
- #endif
-],is_mingw=yes, is_mingw=no)
-
-echo "IS_MINGW = $is_mingw"
-AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes")
-
-AC_EGREP_CPP(yes,
-[#ifdef __CYGWIN__
- yes
- #endif
-],is_cygwin=yes, is_cygwin=no)
-
-echo "IS_CYGWIN = $is_cygwin"
-AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes")
+# specify the simgear location
+AC_ARG_WITH(simgear, [  --with-simgear=PREFIX   Specify the prefix path to simgear])
 
 
-# Used by JSBSim
-AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
+if test "x$with_simgear" != "x" ; then
+    echo "SimGear prefix path is $with_simgear"
+    EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
+fi
 
 
+dnl set the $host variable based on local machine/os
+AC_CANONICAL_HOST
 
 
-# Used on the Irix platform
-AR="ar"
-ARFLAGS="cru"
-OS=`uname -s`
-if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
+case "${host}" in
+*-*-irix*)
     if test "$CXX" = "CC"; then
         AR="CC -ar"
         ARFLAGS="-o"
     if test "$CXX" = "CC"; then
         AR="CC -ar"
         ARFLAGS="-o"
+        CXXFLAGS="$CXXFLAGS -I$with_simgear/include/simgear/compatibility"
+    else
+        AR="ar"
+        ARFLAGS="cru"
     fi
     fi
-fi
+    ;;
+*)
+    AR="ar"
+    ARFLAGS="cru"
+    ;;
+esac
 AC_SUBST(AR)
 AC_SUBST(ARFLAGS)
 
 AC_SUBST(AR)
 AC_SUBST(ARFLAGS)
 
-
-# Specify if we want logging (testing build) or not (release build)
-# set logging default value
-# with_logging=yes
+dnl set logging; default value of with_logging=yes
 AC_ARG_WITH(logging, [  --with-logging          Include logging output (default)])
 if test "x$with_logging" = "xno" ; then
     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
 fi
 
 AC_ARG_WITH(logging, [  --with-logging          Include logging output (default)])
 if test "x$with_logging" = "xno" ; then
     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
 fi
 
-# Specify if we want to build with Oliver's networking support
+# Specify if we want to build with Multiplayer support
 # default to with_network=yes
 # default to with_network=yes
-AC_ARG_WITH(network_olk, [  --with-network-olk      Include Oliver's multi-pilot networking support])
-if test "x$with_network_olk" = "xno" ; then
-    echo "Building without Oliver's multi-pilot network support"
+AC_ARG_WITH(multiplayer, [  --with-multiplayer      Include default multiplayer support])
+AC_ARG_WITH(network_olk, [  --with-network-olk      Include Oliver's multi-pilot networking support [default=no]])
+
+if test "x$with_multiplayer" = "xno" -a "x$with_network_olk" = "xno"; then
+  echo "Building without any kind of multiplayer support"
+
+elif test "x$with_multiplayer" = "xno"; then
+# echo "Building without default multiplayer support"
+  echo "Building with Oliver's multi-pilot network support"
+  AC_DEFINE([FG_NETWORK_OLK], 1, [Define to build with Oliver's networking])
+
 else
 else
-    echo "Building with Oliver's multi-pilot network support"
-    AC_DEFINE([FG_NETWORK_OLK], 1, [Define to build with Oliver's networking])
+  echo "Building with default multiplayer support"
+# echo "Building without Oliver's multi-pilot network support"
+  AC_DEFINE([FG_MPLAYER_AS], 1, [Define to build with default multiplayer support])
 fi
 fi
-AM_CONDITIONAL(ENABLE_NETWORK_OLK, test "x$with_network_olk" != "xno")
+
+AM_CONDITIONAL(ENABLE_NETWORK_OLK, test "x$with_network_olk" != "xno" -a "x$with_multiplayer" = "xno")
+AM_CONDITIONAL(ENABLE_MPLAYER_AS, test "x$with_multiplayer" != "xno")
 
 
 # Specify if we want to use WeatherCM instead of FGEnvironment.
 # default to with_weathercm=no
 
 
 # Specify if we want to use WeatherCM instead of FGEnvironment.
 # default to with_weathercm=no
-AC_ARG_WITH(new-environment, [  --with-weathercm        Use WeatherCM instead of FGEnvironment])
+AC_ARG_WITH(weathercm, [  --with-weathercm        Use WeatherCM instead of FGEnvironment])
 if test "x$with_weathercm" = "xyes" ; then
     echo "Building with WeatherCM"
     AC_DEFINE([FG_WEATHERCM], 1,
 if test "x$with_weathercm" = "xyes" ; then
     echo "Building with WeatherCM"
     AC_DEFINE([FG_WEATHERCM], 1,
@@ -101,18 +92,14 @@ else
 fi
 AM_CONDITIONAL(ENABLE_WEATHERCM, test "x$with_weathercm" = "xyes")
 
 fi
 AM_CONDITIONAL(ENABLE_WEATHERCM, test "x$with_weathercm" = "xyes")
 
-# Let the Win32 user specify if they want to build with the SGI
-# opengl.dll as opposed to the more standard openg32.dll
-AC_ARG_WITH(sgi-opengl, [  --with-sgi-opengl       Build against SGI's opengl.dll glu.dll and glut.dll])
-
 dnl Thread related checks
 AC_ARG_WITH(threads, [  --with-threads          Include tile loading threads [default=no]])
 if test "x$with_threads" = "xyes"; then
     AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
     CFLAGS="$CFLAGS -D_REENTRANT"
 dnl Thread related checks
 AC_ARG_WITH(threads, [  --with-threads          Include tile loading threads [default=no]])
 if test "x$with_threads" = "xyes"; then
     AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
     CFLAGS="$CFLAGS -D_REENTRANT"
-    AC_CHECK_HEADER(pthread.h)
 fi
 fi
+AC_CHECK_HEADER(pthread.h)
 AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes")
 
 # specify the plib location
 AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes")
 
 # specify the plib location
@@ -131,211 +118,207 @@ if test "x$with_metakit" != "x" ; then
     EXTRA_DIRS="${EXTRA_DIRS} $with_metakit"
 fi
 
     EXTRA_DIRS="${EXTRA_DIRS} $with_metakit"
 fi
 
-# specify the simgear location
-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"
-fi
+dnl Used by JSBSim to conditionally compile in fgfs interface code
+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)
 
-# extra library and include directories
-if test "x$ac_cv_header_windows_h" != "xyes" ; then
-    EXTRA_DIRS="${EXTRA_DIRS} /usr/X11R6"
+dnl Determine an extra directories to add to include/lib search paths
+case "${host}" in
+*-apple-darwin* | *-*-mingw32*)
+    echo no EXTRA_DIRS for $host
+    ;;
 
 
-    if test -d /opt/X11R6 ; then
-        EXTRA_DIRS="${EXTRA_DIRS} /opt/X11R6"
+*)
+    if test -d /usr/X11R6 ; then
+        EXTRA_DIR1="/usr/X11R6"
     fi
     fi
-else
-    if test  "x$is_cygwin" = "xyes" ; then
-        EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
+    if test -d /opt/X11R6 ; then
+        EXTRA_DIR2="/opt/X11R6"
     fi
     fi
-fi
+    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
+    ;;
 
 
+esac
 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
 
 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
 
-# Using AM_CONDITIONAL is a step out of the protected little 
-# automake fold so it is potentially dangerous.  But, we are
-# beginning to run into cases where the standard checks are not
-# enough.  AM_CONDITIONALS are then referenced to conditionally
-# build a Makefile.in from a Makefile.am which lets us define custom
-# includes, compile alternative source files, etc.
 
 
-# Check for external variables daylight and timezone.
+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 enough.  AM_CONDITIONALS are then referenced to conditionally
+dnl build a Makefile.in from a Makefile.am which lets us define custom
+dnl includes, compile alternative source files, etc.
+
+dnl Check for external variables daylight and timezone.
 AC_EXT_DAYLIGHT
 if test "$have_daylight" = yes; then
     AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
 fi
 AC_EXT_DAYLIGHT
 if test "$have_daylight" = yes; then
     AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
 fi
-# AM_CONDITIONAL(HAVE_DAYLIGHT, test "$have_daylight" = yes )
 
 AC_EXT_TIMEZONE
 if test "$have_timezone" = yes; then
     AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
 fi
 
 AC_EXT_TIMEZONE
 if test "$have_timezone" = yes; then
     AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
 fi
-# AM_CONDITIONAL(HAVE_TIMEZONE, test "$have_timezone" = yes )
-
-# Check for audio support
-AC_MSG_CHECKING(for audio support)
-audio_LIBS=""
-if test -r /usr/include/soundcard.h \
-       -o -r /usr/include/linux/soundcard.h \
-       -o -r /usr/include/machine/soundcard.h \
-       -o -r /usr/include/audio.h \
-       -o "x$ac_cv_header_windows_h" = "xyes" \
-        -o "$HOSTTYPE" = "macintosh"; then
-
-    AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
-    audio_LIBS="-lplibsl -lplibsm"
-    AC_MSG_RESULT(yes)
-    if test -r /usr/include/audio.h; then
-        audio_LIBS="$audio_LIBS -laudio"
-    fi
-
-    if test "x$ac_cv_header_windows_h" = "xyes"; then
-        audio_LIBS="$audio_LIBS -lwinmm"
-    fi
 
 
-    if test "$HOSTTYPE" = "macintosh"; then
-       audio_LIBS="$audio_LIBS -framework Carbon"
-    fi
-else
-    AC_MSG_RESULT(no)
-fi
+dnl add correct audio libs and configure for audio support
+audio_LIBS="-lplibsl -lplibsm"
+case "${host}" in
+*-*-cygwin* | *-*-mingw32*)
+    audio_LIBS="$audio_LIBS -lwinmm"
+    ;;
+*-apple-darwin*)
+    audio_LIBS="$audio_LIBS -framework IOKit -framework CoreFoundation"
+    ;;
+*-*-irix* )
+    audio_LIBS="$audio_LIBS -laudio"
+    ;;
+
+esac
 AC_SUBST(audio_LIBS)
 
 AC_SUBST(audio_LIBS)
 
-# Check for X11 (fancy)
-if test "x$no_x" != "xyes"; then
+dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
+dnl just assuming we have audio support on all platform.  We can
+dnl depend on plib to hide the details.
+AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
+
+dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
+dnl to use it if it is.
+case "${host}" in
+*-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
+    echo no fancy X11 check
+    ;;
+
+*)
     AC_PATH_XTRA
     AC_PATH_XTRA
-fi
+    ;;
 
 
-# Checks for libraries.
+esac
+
+dnl Checks for libraries.
 
 null_LIBS="$LIBS"
 
 AC_CHECK_LIB(m, cos)
 
 
 null_LIBS="$LIBS"
 
 AC_CHECK_LIB(m, cos)
 
-dnl MINGW requires libwsock32
-if test  "x$is_mingw" = "xyes" ; then
-    LIBS="$LIBS -lws2_32"
-fi
-
 base_LIBS="$LIBS"
 
 base_LIBS="$LIBS"
 
-dnl Mesa >= 3.2 requires pthreads
+dnl Thread related checks
 AC_CHECK_LIB(pthread, pthread_exit)
 AC_CHECK_LIB(pthread, pthread_exit)
+if test "x$ac_cv_lib_pthread_pthread_exit" != "xyes" \
+   -a "x$ac_cv_header_pthread_h" = "xyes"; then
+    dnl FreeBSD: System has pthread.h, but -lpthread library check
+    dnl fails.  See if we need -pthread instead of -lpthread and look
+    dnl for the functions in libc_r.
+    save_CXXFLAGS="$CXXFLAGS"
+    save_CFLAGS="$CFLAGS"
+    CXXFLAGS="-pthread $CXXFLAGS"
+    CFLAGS="-pthread $FLAGS"
+    save_LIBS=$LIBS
+    AC_CHECK_LIB(c_r, pthread_exit)
+    if test "x$ac_cv_lib_c_r_pthread_exit" != "xyes"; then
+        CXXFLAGS=$save_CXXFLAGS
+        CFLAGS=$save_CFLAGS
+    fi
+    LIBS=$save_LIBS
+fi
 AC_CHECK_LIB(socket, socket)
 
 AC_CHECK_LIB(socket, socket)
 
-dnl Skip X library tests.
-if test "x$no_x" != "xyes"; then
-    AC_CHECK_LIB(X11, XCreateWindow)
-    AC_CHECK_LIB(Xext, XShmCreateImage)
-    AC_CHECK_LIB(Xi, XGetExtensionVersion)
-    AC_CHECK_LIB(ICE, IceOpenConnection)
-    AC_CHECK_LIB(SM, SmcOpenConnection)
-    AC_CHECK_LIB(Xt, XtMalloc)
-    AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
+dnl check for glut location
+AC_CHECK_HEADER(GL/glut.h)
+if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
+    AC_DEFINE([GLUT_H], "GL/glut.h", [Define as glut.h include location])
+else
+    AC_CHECK_HEADER(GLUT/glut.h)
+    if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
+        AC_DEFINE([GLUT_H], <GLUT/glut.h>, [Define as glut.h include location])
+    else
+        echo "Neither GL/glut.h nor GLUT/glut.h found.  Cannot continue"
+        exit
+    fi
 fi
 
 fi
 
-# check for OpenGL related libraries
+dnl check for OpenGL related libraries
+case "${host}" in
+*-*-cygwin* | *-*-mingw32*)
+    dnl CygWin under Windoze.
+
+    echo Win32 specific hacks...
+    AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
+    AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
+
+    LIBS="$LIBS -lglut32 -lglu32 -lopengl32"
+    LIBS="$LIBS -luser32 -lgdi32"
 
 
-if test "$HOSTTYPE" = "macintosh"; then
-    LIBS="$LIBS -framework OpenGL -framework GLUT -lobjc"
-elif test "x$ac_cv_header_windows_h" != "xyes" ; then
-    # Reasonable stuff for non-windoze variants ... :-)
+    dnl add -lwsock32 for mingwin
+    case "${host}" in
+    *-*-mingw32*)
+        echo "********** BUILDING FOR MINGW32 *************"
+        base_LIBS="$base_LIBS -lws2_32"
+        ;;
+    esac
+
+    echo "Will link apps with $LIBS"
+    ;;
+
+
+*-apple-darwin*)
+    dnl Mac OS X
+
+    LIBS="$LIBS -framework GLUT -framework OpenGL -framework Carbon -lobjc"
+    ;;
+
+*)
+    dnl X-Windows based machines
+
+    dnl Skip X11 library tests if requested.
+    if test "x$no_x" != "xyes"; then
+        AC_CHECK_LIB(X11, XCreateWindow)
+        AC_CHECK_LIB(Xext, XShmCreateImage)
+        AC_CHECK_LIB(Xi, XGetExtensionVersion)
+        AC_CHECK_LIB(ICE, IceOpenConnection)
+        AC_CHECK_LIB(SM, SmcOpenConnection)
+        AC_CHECK_LIB(Xt, XtMalloc)
+        AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
+    fi
 
     AC_CHECK_LIB(GLcore, glNewList)
     if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
 
     AC_CHECK_LIB(GLcore, glNewList)
     if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
-       # if no GLcore, check for GL
+       dnl if no GLcore, check for GL
        AC_CHECK_LIB(GL, glNewList)
        if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
        AC_CHECK_LIB(GL, glNewList)
        if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
-           # if no GL, check for MesaGL
+           dnl if no GL, check for MesaGL
            AC_CHECK_LIB(MesaGL, glNewList)
        fi
     else
            AC_CHECK_LIB(MesaGL, glNewList)
        fi
     else
-       # if GLcore found, then also check for GL
+       dnl if GLcore found, then also check for GL
        AC_CHECK_LIB(GL, glXCreateContext)
     fi
 
        AC_CHECK_LIB(GL, glXCreateContext)
     fi
 
-    # check for xmesa.h and if found enable XMESA / FX
-    AC_CHECK_HEADER(GL/fxmesa.h)
-    if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
-       save_LIBS="$LIBS"
-       AC_CHECK_LIB(GL, XMesaSetFXmode)
-       if test "x$ac_cv_lib_GL_XMesaSetFXmode" = "xyes" ; then
-           AC_DEFINE([XMESA], 1, [Define for Mesa FX mode])
-            AC_DEFINE([FX], 1, [Define for Mesa FX mode])
-       else
-           AC_CHECK_LIB(MesaGL, XMesaSetFXmode)
-           if test "x$ac_cv_lib_MesaGL_XMesaSetFXmode" = "xyes" ; then
-                AC_DEFINE([XMESA], 1, [Define for Mesa FX mode])
-                AC_DEFINE([FX], 1, [Define for Mesa FX mode])
-           fi
-       fi
-       LIBS="$save_LIBS"
+    dnl if using mesa, check for xmesa.h
+    if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
+       AC_CHECK_HEADER(GL/fxmesa.h)
+       if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
+           AC_DEFINE([XMESA], 1, [Define for fxmesa])
+            AC_DEFINE([FX], 1, [Define for fxmesa])
+        fi
     fi
 
     AC_CHECK_LIB(GLU, gluLookAt)
     if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
     fi
 
     AC_CHECK_LIB(GLU, gluLookAt)
     if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
-       # if no GLU, check for MesaGLU
+       dnl if no GLU, check for MesaGLU
        AC_CHECK_LIB(MesaGLU, gluLookAt)
     fi
 
        AC_CHECK_LIB(MesaGLU, gluLookAt)
     fi
 
-    # check for glut
     AC_CHECK_LIB(glut, glutGetModifiers)
     AC_CHECK_LIB(glut, glutGetModifiers)
-
-    # test for glutGameModeString, but avoid adding glut a second time into
-    # the list of libraries
-    save_LIBS="$LIBS"
-    AC_CHECK_LIB(glut, glutGameModeString)
-    LIBS="$save_LIBS"
-else
-    # Win32 is a little wierd because it has to try to handle the various
-    # winbloze-isms.  We'll just do this manually for now.
-
-    echo Win32 specific hacks...
-    AC_DEFINE([WIN32], 1, [Define if building on a Win32 platform])
-    AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
-
-    # just define these to true and hope for the best
-    ac_cv_lib_glut_glutGetModifiers="yes"
-    ac_cv_lib_glut_glutGameModeString="yes"
-
-    if test "x$with_sgi_opengl" = "xyes" ; then
-        echo "Building with glut.dll, glu.dll, and opengl.dll"
-       WIN32_GLUT=glut
-       WIN32_GLU=glu
-       WIN32_OPENGL=opengl
-    else 
-       echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
-       WIN32_GLUT=glut32
-       WIN32_GLU=glu32
-       WIN32_OPENGL=opengl32
+    if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno" ; then
+        dnl if no "real" glut, check for freeglut
+        AC_CHECK_LIB(freeglut, glutGetModifiers)
     fi
     fi
+    ;;
 
 
-    LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
-    LIBS="$LIBS -luser32 -lgdi32"
-    echo "Will link apps with $LIBS"
-fi
-
-if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
-    echo 
-    echo "Unable to find the necessary OpenGL or GLUT libraries."
-    echo "See config.log for automated test details and results ..."
-    exit 1
-fi
-
-if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
-    echo
-    echo "Your version of glut doesn't support game mode."
-    echo "You need to install the latest version.  If your distribution doesn't"
-    echo "provide a newer version, you can get the latest source code from:"
-    echo
-    echo "    http://reality.sgi.com/opengl/glut3/glut3.html"
-    exit 1
-fi
+esac
 
 opengl_LIBS="$LIBS"
 LIBS="$base_LIBS"
 
 opengl_LIBS="$LIBS"
 LIBS="$base_LIBS"
@@ -343,8 +326,6 @@ LIBS="$base_LIBS"
 AC_SUBST(base_LIBS)
 AC_SUBST(opengl_LIBS)
 
 AC_SUBST(base_LIBS)
 AC_SUBST(opengl_LIBS)
 
-AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
-
 # The following are C++ items that need to be tested for with the c++
 # compiler
 
 # The following are C++ items that need to be tested for with the c++
 # compiler
 
@@ -386,71 +367,31 @@ int main() {
   AC_MSG_RESULT(yes)
 )
 
   AC_MSG_RESULT(yes)
 )
 
-# If we get here then plib is available, so force use of plib joystick lib
+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])
 
 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
 
-# Do we have a new CVS plib version with jsJoystick::getName?
-echo -n "Testing for Plib joystick getName support: "
-AC_EGREP_HEADER( getName, plib/js.h,
-                 plib_js_has_getname=yes, plib_js_has_getname=no )
-echo $plib_js_has_getname
-if test $plib_js_has_getname = 'yes'; then
-    AC_DEFINE([FG_PLIB_JOYSTICK_GETNAME], 1,
-              [Define to enable plib joystick name support])
-fi
 
 
-# Check for the presence of SimGear
-AC_CHECK_HEADER(simgear/version.h)
-if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
-    echo
-    echo "You *must* have the SimGear support library installed on your system"
-    echo "to build the FGFS simulator!"
-    echo
-    echo "Please see README.SimGear for more details."
-    echo
-    echo "configure aborted."
-    exit
-fi
-
-AC_MSG_CHECKING([for simgear 0.2.0 or newer])
-AC_TRY_RUN([
-#include <stdio.h>
-
-#include <simgear/version.h>
-
-#define STRINGIFY(X) XSTRINGIFY(X)
-#define XSTRINGIFY(X) #X
-
-#define MIN_MAJOR 0
-#define MIN_MINOR 2
-#define MIN_MICRO 0
+dnl Checking for PSL in plib
+dnl version of plib, so check for it.
+AC_MSG_CHECKING([for plib PSL scripting support])
+AC_COMPILE_IFELSE([
+#include <plib/psl.h>
 
 int main() {
 
 int main() {
-    int major, minor, micro;
-
-    printf("%d.%d.%d or greater... ", MIN_MAJOR, MIN_MINOR, MIN_MICRO);
-
-    sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, &micro );
-
-    if ( major < MIN_MAJOR ) {
-        return -1;
-    } else if ( major == MIN_MAJOR && minor < MIN_MINOR ) {
-        return -1;
-    } else if ( major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO ){
-        return -1;
-    }
-
-    return 0;
+  // not for running...
+  pslProgram program((pslExtension *)0);
+  program.compile("int main () {}", "");
+  return 0;
 }
 }
-
 ],
 ],
-  AC_MSG_RESULT(yes),
-  [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([Install latest simgear first...])],
-  AC_MSG_RESULT(yes)
+  [AC_MSG_RESULT(yes);
+   have_plib_psl=yes],
+  AC_MSG_RESULT(no)
 )
 )
+AM_CONDITIONAL(HAVE_PLIB_PSL, test "x$have_plib_psl" = "xyes")
 
 
-# Check for MetaKit
+dnl Check for MetaKit
 AC_CHECK_HEADER(mk4.h)
 if test "x$ac_cv_header_mk4_h" != "xyes"; then
     echo
 AC_CHECK_HEADER(mk4.h)
 if test "x$ac_cv_header_mk4_h" != "xyes"; then
     echo
@@ -493,12 +434,65 @@ Install metakit 2.4.3 or later first.
 
 Or, the compiler may not be finding your libmk4.so library.
 Please check the config.log file for specific details of the
 
 Or, the compiler may not be finding your libmk4.so library.
 Please check the config.log file for specific details of the
-failure if you believe you have the correct metakit version.])],
+failure if you believe you have the correct metakit version.
+Also, look up this issue in the FlightGear FAQ.])],
+  AC_MSG_RESULT(yes)
+)
+
+dnl Check for the presence of SimGear
+AC_CHECK_HEADER(simgear/version.h)
+if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
+    echo
+    echo "You *must* have the SimGear support library installed on your system"
+    echo "to build the FGFS simulator!"
+    echo
+    echo "Please see README.SimGear for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+AC_MSG_CHECKING([for simgear 0.3.0 or newer])
+AC_TRY_RUN([
+#include <stdio.h>
+
+#include <simgear/version.h>
+
+#define STRINGIFY(X) XSTRINGIFY(X)
+#define XSTRINGIFY(X) #X
+
+#define MIN_MAJOR 0
+#define MIN_MINOR 3
+#define MIN_MICRO 0
+
+int main() {
+    int major, minor, micro;
+
+    printf("%d.%d.%d or greater... ", MIN_MAJOR, MIN_MINOR, MIN_MICRO);
+
+    sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, &micro );
+
+    if ( major < MIN_MAJOR ) {
+        return -1;
+    } else if ( major == MIN_MAJOR && minor < MIN_MINOR ) {
+        return -1;
+    } else if ( major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO ){
+        return -1;
+    }
+
+    return 0;
+}
+
+],
+  AC_MSG_RESULT(yes),
+  [AC_MSG_RESULT(wrong version);
+   AC_MSG_ERROR([Install latest simgear first...])],
   AC_MSG_RESULT(yes)
 )
   AC_MSG_RESULT(yes)
 )
+
 LIBS="$saved_LIBS"
 
 LIBS="$saved_LIBS"
 
-# Check if SimGear was built with Norman JPEG factory support
+dnl Check if SimGear was built with Norman JPEG factory support
 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
     AC_CHECK_LIB(jpeg, jpeg_start_compress)
 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
     AC_CHECK_LIB(jpeg, jpeg_start_compress)
@@ -520,7 +514,7 @@ AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactor
 
 AC_LANG_POP
 
 
 AC_LANG_POP
 
-# Check for system installed zlib
+dnl Check for system installed zlib
 AC_CHECK_HEADER(zlib.h)
 if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
 AC_CHECK_HEADER(zlib.h)
 if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
@@ -536,23 +530,24 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
 fi
 
     echo
 fi
 
-# Checks for header files.
+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 winbase.h values.h )
 
 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 winbase.h values.h )
 
-# Checks for typedefs, structures, and compiler characteristics.
+dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_SIZE_T
 AC_HEADER_TIME
 AC_STRUCT_TM
 
 AC_C_CONST
 AC_TYPE_SIZE_T
 AC_HEADER_TIME
 AC_STRUCT_TM
 
-# Checks for library functions.
+dnl Checks for library functions.
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
-       random setitimer getitimer signal GetLocalTime rint getrusage )
+AC_CHECK_FUNCS( \
+        ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
+       random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
 
 AM_CONFIG_HEADER(src/Include/config.h)
 
 
 AM_CONFIG_HEADER(src/Include/config.h)
 
@@ -581,6 +576,7 @@ AC_CONFIG_FILES([ \
        src/Environment/Makefile \
        src/FDM/Balloon/Makefile \
        src/FDM/ExternalNet/Makefile \
        src/Environment/Makefile \
        src/FDM/Balloon/Makefile \
        src/FDM/ExternalNet/Makefile \
+       src/FDM/ExternalPipe/Makefile \
        src/FDM/JSBSim/Makefile \
        src/FDM/JSBSim/filtersjb/Makefile \
        src/FDM/LaRCsim/Makefile \
        src/FDM/JSBSim/Makefile \
        src/FDM/JSBSim/filtersjb/Makefile \
        src/FDM/LaRCsim/Makefile \
@@ -594,11 +590,13 @@ AC_CONFIG_FILES([ \
        src/Main/runfgfs \
        src/Main/runfgfs.bat \
        src/Model/Makefile \
        src/Main/runfgfs \
        src/Main/runfgfs.bat \
        src/Model/Makefile \
+       src/MultiPlayer/Makefile \
        src/Navaids/Makefile \
        src/Network/Makefile \
        src/NetworkOLK/Makefile \
        src/Objects/Makefile \
        src/Scenery/Makefile \
        src/Navaids/Makefile \
        src/Network/Makefile \
        src/NetworkOLK/Makefile \
        src/Objects/Makefile \
        src/Scenery/Makefile \
+       src/Scripting/Makefile \
        src/Sound/Makefile \
        src/Systems/Makefile \
        src/Time/Makefile \
        src/Sound/Makefile \
        src/Systems/Makefile \
        src/Time/Makefile \
@@ -617,23 +615,37 @@ echo "================="
 
 echo "Prefix: $prefix"
 
 
 echo "Prefix: $prefix"
 
+if test "x$have_plib_psl" = "xyes"; then
+    echo "Plib PSL scripting: yes"
+else
+    echo "Plib PSL scripting: $fg_psl_string_compile"
+    echo "  You will not be able to run scripts written in PSL"
+    echo "  and some advanced GUI and input features may not"
+    echo "  work.  Download and install the latest CVS version"
+    echo "  of plib if you would like to enable PSL support."
+fi
+
 if test "x$with_logging" != "x"; then
     echo "Debug messages: $with_logging"
 else
     echo "Debug messages: yes"
 fi
 
 if test "x$with_logging" != "x"; then
     echo "Debug messages: $with_logging"
 else
     echo "Debug messages: yes"
 fi
 
-echo -n "Automake version: ($AUTO_MAKE_VERSION) "
+echo -n "Automake version: "
 automake --version | head -1
 
 automake --version | head -1
 
-echo "New plib joystick name support: $plib_js_has_getname"
-
 if test "x$with_weathercm" != "x"; then
     echo "WeatherCM instead of FGEnvironment: $with_weathercm"
 else
     echo "Using FGEnvironment"
 fi
 
 if test "x$with_weathercm" != "x"; then
     echo "WeatherCM instead of FGEnvironment: $with_weathercm"
 else
     echo "Using FGEnvironment"
 fi
 
+if test "x$with_multiplayer" != "xno"; then
+    echo "Using default multiplayer support"
+elif test "x$with_network_olk" != "xno"; then
+    echo "Using Oliver's multi-pilot network support"
+fi
+
 if test "x$with_threads" = "xyes"; then
     echo "threads: yes"
 else
 if test "x$with_threads" = "xyes"; then
     echo "threads: yes"
 else