]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Fix displaced threshold handling when using in-scenery definitions of runways.
[flightgear.git] / configure.ac
index 24e6c9f524da65bbba175c2d5f01abd2cdab859d..40106421306ef14640602f3b97c9c55aa8f93a0b 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
@@ -10,7 +10,7 @@ AC_PREREQ(2.52)
 dnl Initialize the automake stuff
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(FlightGear, 1.0.0)
+AM_INIT_AUTOMAKE(FlightGear, 1.9.1)
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
@@ -20,9 +20,14 @@ AC_PROG_CXX
 AC_PROG_RANLIB
 AC_PROG_INSTALL
 AC_PROG_LN_S
+AX_BOOST_BASE([1.34.0])
+
+if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
+   CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+fi
 
 # 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"
@@ -46,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*)
@@ -107,6 +159,38 @@ fi
 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "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
 AC_ARG_WITH(threads, [  --with-threads          Include tile loading threads [default=yes]], [], [with_threads=yes])
@@ -194,6 +278,7 @@ 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(clock_gettime, rt)
 
 base_LIBS="$LIBS"
 
@@ -390,7 +475,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     exit
 fi
 
-AC_MSG_CHECKING([for simgear 0.3.10 or newer])
+AC_MSG_CHECKING([for SimGear 1.9.0 or newer])
 AC_TRY_RUN([
 #include <stdio.h>
 
@@ -399,9 +484,9 @@ AC_TRY_RUN([
 #define STRINGIFY(X) XSTRINGIFY(X)
 #define XSTRINGIFY(X) #X
 
-#define MIN_MAJOR 0
-#define MIN_MINOR 3
-#define MIN_MICRO 10
+#define MIN_MAJOR 1
+#define MIN_MINOR 9
+#define MIN_MICRO 0
 
 int main() {
     int major, minor, micro;
@@ -423,7 +508,7 @@ int main() {
 ],
   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)
 )
 
@@ -454,6 +539,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
@@ -466,6 +563,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>
@@ -473,8 +571,6 @@ AC_TRY_RUN([
 #define MIN_PLIB_VERSION 185
 
 int main() {
-    int major, minor, micro;
-
     if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
         return -1;
     }
@@ -508,48 +604,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
     ;;
 *)
@@ -578,6 +684,7 @@ case "${host}" in
     fi
     ;;
 esac
+AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
 
 AC_LANG_POP
 
@@ -597,7 +704,34 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
 fi
 
+dnl Check for Subversion library support
+save_LIBS=$LIBS
+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 glut.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)
+  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
@@ -652,7 +786,6 @@ AC_CONFIG_FILES([ \
        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 \
@@ -694,8 +827,10 @@ AC_CONFIG_FILES([ \
        utils/fgadmin/src/Makefile \
        utils/js_server/Makefile \
        utils/Modeller/Makefile \
+       utils/propmerge/Makefile \
        utils/TerraSync/Makefile \
        utils/xmlgrep/Makefile \
+       utils/fgviewer/Makefile
 ])
 AC_OUTPUT
 
@@ -726,6 +861,12 @@ 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