-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
dnl Initialize the automake stuff
dnl set the $host variable based on local machine/os
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(FlightGear, 0.9.10)
+AM_INIT_AUTOMAKE(FlightGear, 1.9.1)
dnl Checks for programs.
AC_PROG_MAKE_SET
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"
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*)
AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
fi
-AC_ARG_ENABLE(sp_fdms, [ --enable-sp-fdms Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
+AC_ARG_ENABLE(sp_fdms, [ --enable-sp-fdms Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
if test "x$enable_sp_fdms" != "xno"; then
AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
else
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])
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"
-dnl Check for SDL if enabled.
-AC_ARG_ENABLE(sdl, [ --enable-sdl Configure to use SDL instead of GLUT], [enable_sdl="$enableval"])
-AC_ARG_ENABLE(osgviewer, [ --enable-osgviewer Configure to use osgViewer], [enable_osgviewer="$enableval"])
+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(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")
-AM_CONDITIONAL(USE_OSGVIEWER, test "x$enable_osgviewer" = "xyes")
-if test "x$enable_sdl" = "xyes"; then
- AC_DEFINE([PU_USE_SDL], 1, [Define to use SDL])
-else
- if test "x$enable_osgviewer" = "xyes"; then
- AC_DEFINE([ENABLE_OSGVIEWER], 1, [Define to use osgViewer in renderer])
- AC_DEFINE([PU_USE_NATIVE], 1, [Define to use native system])
- else
- AC_DEFINE([PU_USE_GLUT], 1, [Define to use glut])
- fi
+AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
+if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
+ enable_osgviewer="yes"
+fi
+if test \( "x$enable_osgviewer" = "xyes" \
+ -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
+ -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
+ echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
+ echo " be supplied."
+ exit
fi
+AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
-AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
+AC_ARG_ENABLE(osgdebug, [ --enable-osgdebug Use OSG debug libraries], [enable_osgdebug="$enableval"])
dnl check for OpenGL related libraries
case "${host}" in
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>
#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;
],
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)
)
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
exit
fi
+echo "$DYLD_FRAMEWORK_PATH"
AC_MSG_CHECKING([for plib 1.8.5 or newer])
AC_TRY_RUN([
#include <plib/ul.h>
#define MIN_PLIB_VERSION 185
int main() {
- int major, minor, micro;
-
if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
return -1;
}
# 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
;;
*)
fi
;;
esac
+AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
AC_LANG_POP
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
src/Aircraft/Makefile \
src/Airports/Makefile \
src/ATC/Makefile \
+ src/ATCDCL/Makefile \
src/Autopilot/Makefile \
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 \
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
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