X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.ac;h=40106421306ef14640602f3b97c9c55aa8f93a0b;hb=e9a9ad64788c397b743df782de9fff864195675e;hp=24e6c9f524da65bbba175c2d5f01abd2cdab859d;hpb=a0bb5b3c67e13c1c93de8d26f6585a6adf6435b8;p=flightgear.git diff --git a/configure.ac b/configure.ac index 24e6c9f52..401064213 100644 --- a/configure.ac +++ b/configure.ac @@ -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 @@ -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 ], $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 @@ -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 ]) - AC_CHECK_FRAMEWORK(osgGA, [#include ]) - AC_CHECK_FRAMEWORK(osgText, [#include ]) - AC_CHECK_FRAMEWORK(osgFX, [#include ]) - AC_CHECK_FRAMEWORK(osgUtil, [#include ]) - AC_CHECK_FRAMEWORK(osgDB, [#include ]) - AC_CHECK_FRAMEWORK(osgSim, [#include ]) - AC_CHECK_FRAMEWORK(osgParticle, [#include ]) - AC_CHECK_FRAMEWORK(osg, [#include ]) - AC_CHECK_FRAMEWORK(OpenThreads, [#include ]) + # Checking osg frameworks. + AC_CHECK_FRAMEWORK(osgViewer, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgGA, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgText, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgFX, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgUtil, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgDB, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgSim, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osgParticle, [#include ], $with_osg_framework) + AC_CHECK_FRAMEWORK(osg, [#include ], $with_osg_framework) + osg_FRAMEWORKS="$FRAMEWORKS" + FRAMEWORKS="" + AC_CHECK_FRAMEWORK(OpenThreads, [#include ], $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 ]], [[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