]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Some additional changes to ensure that FlightGear at least compiles after configuring...
[flightgear.git] / configure.ac
index 1af45ab9dfaaf21fb7e4d0f00563af965320aa6f..1c1fa96132cbd491840954690d4ceb6d9897cd05 100644 (file)
@@ -1,4 +1,4 @@
-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
@@ -20,7 +20,7 @@ AC_PROG_CXX
 AC_PROG_RANLIB
 AC_PROG_INSTALL
 AC_PROG_LN_S
-AX_BOOST_BASE([1.34.0])
+AX_BOOST_BASE([1.37.0])
 
 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
    CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
@@ -51,6 +51,53 @@ if test "x$with_osg" != "x" ; then
     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) ; $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
+    ])
+
+    # Mac OS X specific configure options
+    AC_ARG_WITH(osg_framework, [  --with-osg-framework=PREFIX       Specify the prefix path to osg frameworks [default=standard framework paths]])
+
+    if test "x$with_plib_framework" != "x" ; then
+        echo "plib prefix is $with_plib_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_osg_framework" != "x" ; then
+        echo "osg prefix is $with_osg_framework"
+    fi
+    ;;
+esac
+
 dnl Determine an extra directories to add to include/lib search paths
 case "${host}" in
 *-apple-darwin* | *-*-mingw32*)
@@ -111,6 +158,49 @@ else
 fi
 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 depricated atc/ai module], [enable_atcdcl="$enableval"] )
+if test "x$enable_atcdcl" != "xno"; 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" != "xno")
+
+
+
+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
@@ -123,6 +213,7 @@ fi
 AC_CHECK_HEADER(pthread.h)
 AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes")
 
+
 dnl Used by JSBSim to conditionally compile in fgfs interface code
 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
 
@@ -204,7 +295,7 @@ AC_SEARCH_LIBS(clock_gettime, rt)
 base_LIBS="$LIBS"
 
 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(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")
@@ -460,6 +551,18 @@ 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
@@ -472,6 +575,7 @@ if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
     exit
 fi
 
+echo "$DYLD_FRAMEWORK_PATH"
 AC_MSG_CHECKING([for plib 1.8.5 or newer])
 AC_TRY_RUN([
 #include <plib/ul.h>
@@ -479,8 +583,6 @@ AC_TRY_RUN([
 #define MIN_PLIB_VERSION 185
 
 int main() {
-    int major, minor, micro;
-
     if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
         return -1;
     }
@@ -514,48 +616,58 @@ fi
 # Find the OSG libraries.  Note special handling for OS X frameworks
 case "${host}" in
 *-apple-darwin*)
-
-    dnl Thank you Christian Bauer from SheepSaver
-    dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES)
-    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"
-        LIBS="$LIBS -framework $1"
-        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
-    ])
-
-    if test "x$enable_osgdebug" = "xyes"; then
-        AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
-        AC_CHECK_LIB(osgGAd,osgGAGetVersion)
-        AC_CHECK_LIB(osgTextd,osgTextGetVersion)
-        LIBS="$LIBS -losgFXd"
-        AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
-        AC_CHECK_LIB(osgDBd,osgDBGetVersion)
-        AC_CHECK_LIB(osgSimd,osgSimGetVersion)
-        AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
-        AC_CHECK_LIB(osgd,osgGetVersion)
-        AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
+    if test "x$with_osg_framework" = "x"; then
+        if test "x$enable_osgdebug" = "xyes"; then
+            # debug version of osg libs
+            AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
+            openthreads_LIBS="$LIBS"
+            LIBS=""
+            AC_CHECK_LIB(osgd,osgGetVersion)
+            AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
+            AC_CHECK_LIB(osgDBd,osgDBGetVersion)
+            AC_CHECK_LIB(osgTextd,osgTextGetVersion)
+            AC_CHECK_LIB(osgGAd,osgGAGetVersion)
+            AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
+            AC_CHECK_LIB(osgSimd,osgSimGetVersion)
+            AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
+            OSG_LIBS="$LIBS -losgFXd $openthreads_LIBS"
+            LIBS=""
+        else
+            # release version of osg libs
+            AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
+            openthreads_LIBS="$LIBS"
+            LIBS=""
+            AC_CHECK_LIB(osg,osgGetVersion)
+            AC_CHECK_LIB(osgUtil,osgUtilGetVersion)
+            AC_CHECK_LIB(osgDB,osgDBGetVersion)
+            AC_CHECK_LIB(osgText,osgTextGetVersion)
+            AC_CHECK_LIB(osgGA,osgGAGetVersion)
+            AC_CHECK_LIB(osgViewer,osgViewerGetVersion)
+            AC_CHECK_LIB(osgSim,osgSimGetVersion)
+            AC_CHECK_LIB(osgParticle,osgParticleGetVersion)
+            OSG_LIBS="$LIBS -losgFX $openthreads_LIBS"
+            LIBS=""
+            # echo $LIBS
+        fi
+        AC_SUBST(openthreads_LIBS)
+        AC_SUBST(OSG_LIBS)
     else
-        AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>])
-        AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>])
-        AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>])
-        AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>])
-        AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>])
-        AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>])
-        AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>])
-        AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>])
-        AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>])
-        AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>])
+        # 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
     ;;
 *)
@@ -584,7 +696,15 @@ case "${host}" in
     fi
     ;;
 esac
-
+AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
+
+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])])
 AC_LANG_POP
 
 dnl Check for system installed zlib
@@ -609,7 +729,7 @@ save_CPPFLAGS=$CPPFLAGS
 LIBS=""
 CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
 AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
-AC_CHECK_HEADERS([svn_client.h])
+AC_CHECK_HEADERS([svn_client.h glut.h])
 if test "x$ac_cv_header_svn_client_h" != "xyes"; then
   echo "TerraSync will shell out for command line subversion"
   svn_LIBS=""
@@ -729,7 +849,7 @@ AC_CONFIG_FILES([ \
        utils/propmerge/Makefile \
        utils/TerraSync/Makefile \
        utils/xmlgrep/Makefile \
-       utils/fgviewer/Makefile \
+       utils/fgviewer/Makefile
 ])
 AC_OUTPUT
 
@@ -760,9 +880,20 @@ else
     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_atcdcl" != "xno"; then
+    echo "Build depricated ATC/AI module: yes"
+else
+    echo "Build depricated ATC/AI module: no"
+fi