]> git.mxchange.org Git - simgear.git/blobdiff - configure.ac
Merge branch 'jmt/waypt'
[simgear.git] / configure.ac
index a12582a54ffc3a64007c688144eb9331cd6bacc5..6ac0c87b481edc85c42c79495b248be3db9a6e1f 100644 (file)
@@ -1,7 +1,5 @@
 dnl Process this file with autoget.sh to produce a working configure
 dnl script.
 dnl Process this file with autoget.sh to produce a working configure
 dnl script.
-dnl
-dnl $Id$
 
 AC_INIT
 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
 
 AC_INIT
 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
@@ -10,7 +8,7 @@ dnl Require at least automake 2.52
 AC_PREREQ(2.52)
 
 dnl Initialize the automake stuff
 AC_PREREQ(2.52)
 
 dnl Initialize the automake stuff
-AM_INIT_AUTOMAKE(SimGear, 0.3.1)
+AM_INIT_AUTOMAKE(SimGear, 2.0.0)
 
 dnl Specify KAI C++ compiler and flags.
 dnl Borrowed with slight modification from blitz distribution.
 
 dnl Specify KAI C++ compiler and flags.
 dnl Borrowed with slight modification from blitz distribution.
@@ -26,34 +24,65 @@ AC_ARG_WITH(cxx,
   esac
 ])
 
   esac
 ])
 
-echo CXX = $CXX
-echo CC = $CC
+AC_MSG_CHECKING([CXX])
+AC_MSG_RESULT([$CXX])
+AC_MSG_CHECKING([CC])
+AC_MSG_RESULT([$CC])
 
 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])
+
+if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
+   CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+fi
 
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_HOST
 
 dnl Used on the Irix platform
 
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_HOST
 
 dnl Used on the Irix platform
-AR="ar"
-ARFLAGS="cru"
 case "${host}" in
 *-*-irix*)
 case "${host}" in
 *-*-irix*)
-    if test "$CXX" = "CC"; then
-        AR="CC -ar"
+    if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
+        AR="$CXX -ar"
         ARFLAGS="-o"
         ARFLAGS="-o"
+        CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro740"
+        compatibility_DIR="compatibility"
+        MIPSpro_DIRS="MIPSpro740"
+        AC_MSG_CHECKING([for MIPSpro compiler version 7.4 or newer])
+        AC_TRY_RUN([
+           int main() {
+              if ( _COMPILER_VERSION < 740 ) {
+                 return -1;
+              }
+              return 0;
+           }
+
+        ], AC_MSG_RESULT(yes),
+        [  AC_MSG_RESULT(no)
+           CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro721"
+           MIPSpro_DIRS="$(MIPSpro_DIRS) MIPSpro721"
+           AC_MSG_WARN([Using our own subset of the STL headers])
+        ], AC_MSG_RESULT(yes))
+        AC_SUBST(MIPSpro_DIRS)
     fi
     ;;
     fi
     ;;
+*)
+    AR="ar"
+    ARFLAGS="cru"
+    compatibility_DIR=
+    ;;
 esac
 AC_SUBST(AR)
 AC_SUBST(ARFLAGS)
 esac
 AC_SUBST(AR)
 AC_SUBST(ARFLAGS)
+AC_SUBST(compatibility_DIR)
 
 if echo $includedir | egrep "simgear$" > /dev/null; then
     echo "includedir is" $includedir "libdir is" $libdir
 
 if echo $includedir | egrep "simgear$" > /dev/null; then
     echo "includedir is" $includedir "libdir is" $libdir
@@ -90,10 +119,46 @@ else
 fi
 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
 
 fi
 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "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
+
+AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX      Specify the prefix path to PLIB.framework ])
+
+if test "x$with_plib_framework" != "x"; then
+    echo "plib framework prefix is $with_plib_framework"
+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
+
+AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX      Specify the prefix path to OSG.framework ])
+
+if test "x$with_osg_framework" != "x"; then
+    echo "osg framework prefix is $with_osg_framework"
+    CPPFLAGS = "$CPPFLAGS -F$with-osg-framework"
+    export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
+fi
+
+dnl specifying OpenAL.framework (for user provided OpenAL.framework / ALUT)
+AC_ARG_WITH(openal_framework, [ --with-openal-framework=PREFIX    Speicfy the prefix path to OpenAL.framework ])
+
+if test "x$with_openal_framework" != "x"; then
+    echo "OpenAL framework prefix is $with_openal_framework"
+fi
 
 dnl Determine an extra directories to add to include/lib search paths
 case "${host}" in
 
 dnl Determine an extra directories to add to include/lib search paths
 case "${host}" in
-*-apple-darwin* | *-*-mingw32*)
+*-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
     echo no EXTRA_DIRS for $host
     ;;
 
     echo no EXTRA_DIRS for $host
     ;;
 
@@ -104,7 +169,7 @@ case "${host}" in
     if test -d /opt/X11R6 ; then
         EXTRA_DIR2="/opt/X11R6"
     fi
     if test -d /opt/X11R6 ; then
         EXTRA_DIR2="/opt/X11R6"
     fi
-    EXTRA_DIRS="$EXTRA_DIR1 $EXTRA_DIR2"
+    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
     ;;
 
 esac
     ;;
 
 esac
@@ -133,23 +198,38 @@ esac
 
 dnl Checks for libraries.
 
 
 dnl Checks for libraries.
 
-null_LIBS="$LIBS"
-
-AC_CHECK_LIB(m, cos)
-
-base_LIBS="$LIBS"
-
 dnl Thread related checks
 dnl Thread related checks
-AC_CHECK_LIB(pthread, pthread_exit)
 AC_CHECK_HEADER(pthread.h)
 AC_CHECK_HEADER(pthread.h)
-if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
+AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
+if test "x$ac_cv_header_pthread_h" = "xyes"; then
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
     CFLAGS="$CFLAGS -D_REENTRANT"
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
     CFLAGS="$CFLAGS -D_REENTRANT"
+
+  if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
+    CXXFLAGS="-pthread $CXXFLAGS"
+    CFLAGS="-pthread $CFLAGS"
+  fi
 fi
 fi
-AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
 
 
-AC_CHECK_LIB(socket, socket)
+AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
+
+thread_LIBS="$LIBS"
+LIBS=""
+
+dnl search for network related libraries
+AC_SEARCH_LIBS(inet_addr, xnet)
+AC_SEARCH_LIBS(socket, socket)
+
+network_LIBS="$LIBS"
+LIBS=""
+
+dnl check for some default libraries
+AC_SEARCH_LIBS(cos, m)
+AC_SEARCH_LIBS(clock_gettime, rt)
+
+base_LIBS="$LIBS"
 
 
+dnl check for OpenGL related libraries
 case "${host}" in
 *-*-cygwin* | *-*-mingw32*)
     dnl CygWin under Windoze.
 case "${host}" in
 *-*-cygwin* | *-*-mingw32*)
     dnl CygWin under Windoze.
@@ -158,13 +238,13 @@ case "${host}" in
     AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
     AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
 
     AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
     AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
 
-    LIBS="$LIBS -lglut32 -lglu32 -lopengl32"
+    LIBS="$LIBS -lglu32 -lopengl32"
     LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
 
     dnl add -lwsock32 for mingwin
     case "${host}" in
     *-*-mingw32*)
     LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
 
     dnl add -lwsock32 for mingwin
     case "${host}" in
     *-*-mingw32*)
-        LIBS="$LIBS -lws2_32"
+        base_LIBS="$base_LIBS -lws2_32"
         ;;
     esac
 
         ;;
     esac
 
@@ -174,35 +254,28 @@ case "${host}" in
 *-apple-darwin*)
     dnl Mac OS X
 
 *-apple-darwin*)
     dnl Mac OS X
 
-    LIBS="$LIBS -framework GLUT -framework OpenGL -framework Carbon -lobjc"
+    LIBS="$LIBS -framework OpenGL -framework Carbon -lobjc"
     ;;
 
 *)
     dnl X-Windows based machines
 
     ;;
 
 *)
     dnl X-Windows based machines
 
-    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)
+    AC_SEARCH_LIBS(XCreateWindow, X11)
+    AC_SEARCH_LIBS(XShmCreateImage, Xext)
+    AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
+    AC_SEARCH_LIBS(IceOpenConnection, ICE)
+    AC_SEARCH_LIBS(SmcOpenConnection, SM)
+    AC_SEARCH_LIBS(XtMalloc, Xt)
+    AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
     
     
-    AC_CHECK_LIB(GLcore, glNewList)
-    if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
-       dnl if no GLcore, check for GL
-       AC_CHECK_LIB(GL, glNewList)
-       if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
-           dnl if no GL, check for MesaGL
-           AC_CHECK_LIB(MesaGL, glNewList)
-       fi
-    else
+    AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
+    if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
        dnl if GLcore found, then also check for GL
        dnl if GLcore found, then also check for GL
-       AC_CHECK_LIB(GL, glXCreateContext)
+        AC_SEARCH_LIBS(glXCreateContext, GL)
     fi
 
     dnl if using mesa, check for xmesa.h
     fi
 
     dnl if using mesa, check for xmesa.h
-    if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
+    if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; 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_CHECK_HEADER(GL/fxmesa.h)
        if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
            AC_DEFINE([XMESA], 1, [Define for fxmesa])
@@ -210,36 +283,134 @@ case "${host}" in
         fi
     fi
 
         fi
     fi
 
-    AC_CHECK_LIB(GLU, gluLookAt)
-    if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
-       dnl if no GLU, check for MesaGLU
-       AC_CHECK_LIB(MesaGLU, gluLookAt)
+    AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
+    ;;
+
+esac
+
+AC_SEARCH_LIBS(glutGetModifiers, [ glut glut32 freeglut ], have_glut=yes, have_glut=no)
+AM_CONDITIONAL(HAVE_GLUT, test "x$have_glut" = "xyes")
+
+opengl_LIBS="$LIBS"
+LIBS="$base_LIBS"
+
+dnl check for OpenAL libraries
+OPENAL_OK="no"
+ALUT_OK="no"
+case "${host}" in
+*-*-cygwin* | *-*-mingw32*)
+    dnl CygWin under Windoze.
+    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_OK="$ac_cv_search_alGenBuffers"
+    ALUT_OK="$ac_cv_search_alutInit"
+    ;;
+
+*-apple-darwin*)
+    dnl Mac OS X
+
+    LIBS="$LIBS -framework IOKit -framework OpenAL"
+    openal_LIBS="$LIBS"
+    OPENAL_OK="yes"
+    ALUT_OK="no"
+
+    if test "x$with_openal_lib" != "x"; then
+        echo "libopenal is not supported on Mac OS platform."
+        openal_LIBS=""
     fi
     fi
+    OPENAL_OK="yes"
+    # Looking for alut.h, if found assume that it is a part of
+    # the OpenAL package.
+    AC_CHECK_HEADERS([OpenAL/alut.h],[ALUT_OK="yes"])
+
+
+    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) ; $3 is optional
+    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"
+            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_VAR_POPDEF([ac_Framework])dnl
+    ])
+
+    dnl Check for OpenAL.framework when --with-openal-framework is specified
+    dnl Of cource OpenAL.framework needs to have alut.h 
+    if test "x$with_openal_framework" != "x"; then
+      AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/alut.h>], $with_openal_framework)
+    fi
+
+    ;;
 
 
-    LIBS="$LIBS -lglut"
+*)
+    dnl default unix style machines
+
+    save_LIBS=$LIBS
+    LIBS="$LIBS $thread_LIBS"
+    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
 
     ;;
 
 esac
 
-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
+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
 
 fi
 
-opengl_LIBS="$LIBS"
+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)
+AC_SUBST(openal_LIBS)
 AC_SUBST(opengl_LIBS)
 AC_SUBST(opengl_LIBS)
+AC_SUBST(thread_LIBS)
+AC_SUBST(network_LIBS)
 
 dnl Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
 
 dnl Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
@@ -248,9 +419,23 @@ AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "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
 
+CXXCPP="g++ -E"
 AC_LANG_PUSH(C++)
 
 dnl Check for "plib" without which we cannot go on
 AC_LANG_PUSH(C++)
 
 dnl Check for "plib" without which we cannot go on
+case ${host} in 
+*-apple-darwin*)
+    # Check PLIB framework availability when with-plib-framework is specified 
+    if test "x$with_plib_framework" != "x"; then
+        AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework)
+        plib_FRAMEWORK="$FRAMEWORKS"
+        FRAMEWORKS=""
+        AC_SUBST(plib_FRAMEWORK)
+    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
 AC_CHECK_HEADER(plib/ul.h)
 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
     echo
@@ -263,15 +448,13 @@ if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
     exit
 fi
 
     exit
 fi
 
-AC_MSG_CHECKING([for plib 1.6.0 or newer])
+AC_MSG_CHECKING([for plib 1.8.5 or newer])
 AC_TRY_RUN([
 #include <plib/ul.h>
 
 AC_TRY_RUN([
 #include <plib/ul.h>
 
-#define MIN_PLIB_VERSION 160
+#define MIN_PLIB_VERSION 185
 
 int main() {
 
 int main() {
-    int major, minor, micro;
-
     if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
         return -1;
     }
     if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
         return -1;
     }
@@ -282,57 +465,66 @@ int main() {
 ],
   AC_MSG_RESULT(yes),
   [AC_MSG_RESULT(wrong version);
 ],
   AC_MSG_RESULT(yes),
   [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
+   AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
   AC_MSG_RESULT(yes)
 )
 
   AC_MSG_RESULT(yes)
 )
 
-dnl Check for MetaKit
-AC_CHECK_HEADER(mk4.h)
-if test "x$ac_cv_header_mk4_h" != "xyes"; then
+LIBS="$saved_LIBS"
+
+# OpenSceneGraph
+case "${host}" in
+*-apple-darwin*)
+    if test "x$with_osg_framework" != "x"; then
+        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_SUBST(osg_FRAMEWORKS)
+        AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
+        openthreads_FRAMEWORK="$FRAMEWORKS"
+        FRAMEWORKS=""
+        AC_SUBST(openthreads_FRAMEWORK)
+    else
+        dnl
+        dnl This is needed when osg dynamic libs are specified 
+        dnl instead of OSG frameworks on Mac OS X
+        dnl
+        LDFLAGS="$LDFLAGS -L$with_osg"
+    fi
+    ;;
+esac
+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
+  if test "x$ac_cv_framework_osg" != "xyes"; then
     echo
     echo
-    echo "MetaKit library not found."
+    echo "You *must* have the OpenSceneGraph support library installed on your system"
+    echo "to build this version of SimGear!"
     echo
     echo
-    echo "If your OS does not provide an installable package for MetaKit"
-    echo "you will have to compile and install it first yourself.  A copy"
-    echo "of metakit-$(VERSION).tar.gz is included with SimGear.  You will"
-    echo "have to untar this source code, and follow it's included instructions"
-    echo "to compile and install on your system."
+    echo "Please see README.OSG for more details."
     echo
     echo "configure aborted."
     exit
     echo
     echo "configure aborted."
     exit
+  fi
 fi
 
 fi
 
-AC_MSG_CHECKING([for metakit 2.4.3 or newer])
-saved_LIBS="$LIBS"
-LIBS="$saved_LIBS -lmk4"
-AC_TRY_RUN([
-#include <mk4.h>
-
-#define MIN_MK4_VERSION 243
-
-int main() {
-    int major, minor, micro;
-
-    if ( d4_MetaKitLibraryVersion < MIN_MK4_VERSION ) {
-        return -1;
-    }
-
-    return 0;
-}
-
-],
-  AC_MSG_RESULT(yes),
-  [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([
-
-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
-failure if you believe you have the correct metakit version.
-Also, look up this issue in the FlightGear FAQ.])],
-  AC_MSG_RESULT(yes)
-)
+AC_CHECK_HEADER(boost/version.hpp)
+if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then
+    echo
+    echo "You *must* have the Boost library installed on your system"
+    echo "to build this version of SimGear!"
+    echo
+    echo "configure aborted."
+    exit
+fi
 
 AC_LANG_POP
 
 
 AC_LANG_POP
 
@@ -345,7 +537,7 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo "If your OS does not provide an installable package for zlib"
     echo "you will have to compile and install it first yourself.  A copy"
     echo "of zlib-1.1.4.tar.gz is included with SimGear.  You will"
     echo "If your OS does not provide an installable package for zlib"
     echo "you will have to compile and install it first yourself.  A copy"
     echo "of zlib-1.1.4.tar.gz is included with SimGear.  You will"
-    echo "have to untar this source code, and follow it's included instructions"
+    echo "have to untar this source code, and follow its included instructions"
     echo "to compile and install on your system."
     echo
     echo "configure aborted."
     echo "to compile and install on your system."
     echo
     echo "configure aborted."
@@ -356,7 +548,7 @@ dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS( \
        fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
 AC_HEADER_STDC
 AC_CHECK_HEADERS( \
        fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
-       sys/stat.h sys/time.h sys/timeb.h unistd.h winbase.h values.h )
+       sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
 
 if test "x$ac_cv_header_stdint_h" = "xyes"; then
     AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
 
 if test "x$ac_cv_header_stdint_h" = "xyes"; then
     AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
@@ -365,40 +557,54 @@ fi
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_SIZE_T
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_SIZE_T
+AC_TYPE_MODE_T
 AC_HEADER_TIME
 AC_STRUCT_TM
 
 dnl Checks for library functions.
 AC_HEADER_TIME
 AC_STRUCT_TM
 
 dnl Checks for library functions.
+old_LIBS=$LIBS
+LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS( \
+AC_CHECK_FUNCS( \
         ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
         ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
-       random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
+       random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
+LIBS=$old_LIBS
 
 AM_CONFIG_HEADER(simgear/simgear_config.h)
 
 AC_CONFIG_FILES([ \
        Makefile \
        SimGear.spec \
 
 AM_CONFIG_HEADER(simgear/simgear_config.h)
 
 AC_CONFIG_FILES([ \
        Makefile \
        SimGear.spec \
-       src-libs/Makefile \
        simgear/Makefile \
        simgear/version.h \
        simgear/Makefile \
        simgear/version.h \
+       simgear/compatibility/Makefile \
+       simgear/compatibility/MIPSpro721/Makefile \
+       simgear/compatibility/MIPSpro740/Makefile \
        simgear/bucket/Makefile \
        simgear/debug/Makefile \
        simgear/ephemeris/Makefile \
        simgear/io/Makefile \
        simgear/magvar/Makefile \
        simgear/math/Makefile \
        simgear/bucket/Makefile \
        simgear/debug/Makefile \
        simgear/ephemeris/Makefile \
        simgear/io/Makefile \
        simgear/magvar/Makefile \
        simgear/math/Makefile \
-       simgear/metar/Makefile \
+       simgear/environment/Makefile \
        simgear/misc/Makefile \
        simgear/misc/Makefile \
+       simgear/nasal/Makefile \
+       simgear/props/Makefile \
        simgear/route/Makefile \
        simgear/route/Makefile \
+       simgear/scene/Makefile \
+       simgear/scene/bvh/Makefile \
+       simgear/scene/material/Makefile \
+       simgear/scene/model/Makefile \
+       simgear/scene/sky/Makefile \
+       simgear/scene/tgdb/Makefile \
+       simgear/scene/util/Makefile \
        simgear/screen/Makefile \
        simgear/serial/Makefile \
        simgear/screen/Makefile \
        simgear/serial/Makefile \
-       simgear/sky/Makefile \
-       simgear/sky/clouds3d/Makefile \
+       simgear/sound/Makefile \
+       simgear/structure/Makefile \
        simgear/threads/Makefile \
        simgear/timing/Makefile \
        simgear/threads/Makefile \
        simgear/timing/Makefile \
-       simgear/xgl/Makefile \
        simgear/xml/Makefile \
 ])
 AC_OUTPUT
        simgear/xml/Makefile \
 ])
 AC_OUTPUT
@@ -419,20 +625,13 @@ fi
 echo -n "Automake version: "
 automake --version | head -1
 
 echo -n "Automake version: "
 automake --version | head -1
 
-if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
-   echo "With GL/glut.h"
-fi
-if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
-   echo "With GLUT/glut.h"
-fi
-
 if test "x$with_jpeg_factory" = "xyes"; then
    echo "With JPEG Factory support"
 else
    echo "Without JPEG Factory support"
 fi
 
 if test "x$with_jpeg_factory" = "xyes"; then
    echo "With JPEG Factory support"
 else
    echo "Without JPEG Factory support"
 fi
 
-if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
+if test "x$ac_cv_header_pthread_h" = "xyes"; then
    echo "Threads: pthread lib found."
 else
    echo "Threads: no threads (pthread lib not found.)"
    echo "Threads: pthread lib found."
 else
    echo "Threads: no threads (pthread lib not found.)"