X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.ac;h=40106421306ef14640602f3b97c9c55aa8f93a0b;hb=8265bc07b9d18b5e469a4083a7af92a3225ca010;hp=5dfde3649c48719c138be3ff2b85a733eaa4fcdd;hpb=bd9b80db4d6ae6d3dbb6f098504fba3f5fa48d4b;p=flightgear.git diff --git a/configure.ac b/configure.ac index 5dfde3649..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 @@ -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*) @@ -112,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]) @@ -199,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" @@ -459,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 @@ -471,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 @@ -478,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; } @@ -513,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 ;; *) @@ -583,6 +684,7 @@ case "${host}" in fi ;; esac +AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x") AC_LANG_POP @@ -608,7 +710,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="" @@ -624,6 +726,13 @@ 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 AC_CHECK_HEADERS( \ @@ -721,6 +830,7 @@ AC_CONFIG_FILES([ \ utils/propmerge/Makefile \ utils/TerraSync/Makefile \ utils/xmlgrep/Makefile \ + utils/fgviewer/Makefile ]) AC_OUTPUT @@ -751,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