X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.ac;h=60062168103955dec06cd607145d2a35209fcd7e;hb=7fb8c28ac62cb7e4ffe97e7dd3d605c50d221ec4;hp=70dd32516776b935614ff181f7f52a671392affd;hpb=d5e57b8c1f9b506ab409198993f02ba949d5ee8e;p=flightgear.git diff --git a/configure.ac b/configure.ac index 70dd32516..600621681 100644 --- a/configure.ac +++ b/configure.ac @@ -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, 0.9.10-pre1) +AM_INIT_AUTOMAKE(FlightGear, 1.99.5) dnl Checks for programs. AC_PROG_MAKE_SET @@ -22,7 +22,7 @@ AC_PROG_INSTALL AC_PROG_LN_S # 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" @@ -38,6 +38,14 @@ if test "x$with_plib" != "x" ; then EXTRA_DIRS="${EXTRA_DIRS} $with_plib" fi +# specify the osg location +AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg]) + +if test "x$with_osg" != "x" ; then + echo "osg prefix is $with_osg" + EXTRA_DIRS="${EXTRA_DIRS} $with_osg" +fi + dnl Determine an extra directories to add to include/lib search paths case "${host}" in *-apple-darwin* | *-*-mingw32*) @@ -90,8 +98,12 @@ if test "x$with_logging" = "xno" ; then 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_DEFINE([ENABLE_SP_FMDS], test "x$enable_sp_fdms" = "xyes", [Define to include special purpose FDMs]) +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 + AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs]) +fi AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno") @@ -159,7 +171,7 @@ esac dnl Checks for libraries. dnl Thread related checks -AC_SEARCH_LIBS(pthread_cancel, [pthread c_r]) +AC_SEARCH_LIBS(pthread_create, [pthread c_r]) if test "x$ac_cv_header_pthread_h" = "xyes"; then if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then CXXFLAGS="-pthread $CXXFLAGS" @@ -185,14 +197,25 @@ AC_SEARCH_LIBS(dlclose, dl) 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"]) +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") -if test "x$enable_sdl" = "xyes"; then - AC_DEFINE([PU_USE_SDL], 1, [Define to use SDL]) -else - AC_DEFINE([PU_USE_GLUT], 1, [Define to use glut]) +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"]) dnl check for OpenGL related libraries case "${host}" in @@ -273,14 +296,19 @@ opengl_LIBS="$LIBS" LIBS="$base_LIBS $joystick_LIBS" dnl check for OpenAL libraries +OPENAL_OK="no" +ALUT_OK="no" case "${host}" in *-*-cygwin* | *-*-mingw32*) dnl CygWin under Windoze. - - AC_SEARCH_LIBS(alGenBuffers, openal32) - AC_SEARCH_LIBS(alutInit, [ openal32 ALut ] ) - LIBS="$LIBS -ldsound -ldxguid -lole32" + INCLUDES="$INCLUDES -I/usr/local/include/" + LIBS="$LIBS -L/usr/local/lib" + AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal ] ) + AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] ) + LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32" openal_LIBS="$LIBS" + OPENAL_OK="$ac_cv_search_alGenBuffers" + ALUT_OK="$ac_cv_search_alutInit" ;; *-apple-darwin*) @@ -288,6 +316,9 @@ case "${host}" in LIBS="$LIBS -framework IOKit -framework OpenAL" openal_LIBS="$LIBS" + # not sure how to test if OpenAL exists on MacOS (does it come by default?) + OPENAL_OK="yes" + ALUT_OK="yes" ;; *) @@ -298,12 +329,36 @@ case "${host}" in AC_SEARCH_LIBS(alGenBuffers, openal) AC_SEARCH_LIBS(alutInit, [ alut openal ] ) OPENAL_OK="$ac_cv_search_alGenBuffers" + ALUT_OK="$ac_cv_search_alutInit" openal_LIBS="$LIBS" LIBS=$save_LIBS ;; esac +if test "$OPENAL_OK" == "no"; then + echo + echo "You *must* have the openal library installed on your system to build" + echo "SimGear!" + echo + echo "Please see README.OpenAL for more details." + echo + echo "configure aborted." + exit +fi + +if test "$ALUT_OK" == "no"; then + echo + echo "You *must* have the alut library installed on your system to build" + echo "SimGear!" + echo + echo "Please see README.OpenAL for more details." + echo + echo "configure aborted." + exit +fi + + LIBS="$base_LIBS" AC_SUBST(base_LIBS) @@ -318,47 +373,6 @@ AC_SUBST(joystick_LIBS) AC_LANG_PUSH(C++) -# Check for "plib" without which we cannot go on -AC_CHECK_HEADER(plib/ul.h) -if test "x$ac_cv_header_plib_ul_h" != "xyes"; then - echo - echo "You *must* have the plib library installed on your system to build" - echo "the FGFS simulator!" - echo - echo "Please see README.plib for more details." - echo - echo "configure aborted." - exit -fi - -AC_MSG_CHECKING([for plib 1.8.4 or newer]) -AC_TRY_RUN([ -#include - -#define MIN_PLIB_VERSION 184 - -int main() { - int major, minor, micro; - - if ( PLIB_VERSION < MIN_PLIB_VERSION ) { - return -1; - } - - return 0; -} - -], - AC_MSG_RESULT(yes), - [AC_MSG_RESULT(wrong version); - AC_MSG_ERROR([Install plib 1.8.4 or later first...])], - AC_MSG_RESULT(yes) -) - -dnl If we get here then plib is available, so force use of plib -dnl joystick lib -AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support]) - - dnl Check for the presence of SimGear if test "x$with_simgear" != "x"; then AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no]) @@ -376,7 +390,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.99.5 or newer]) AC_TRY_RUN([ #include @@ -385,9 +399,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 99 +#define MIN_MICRO 5 int main() { int major, minor, micro; @@ -409,7 +423,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) ) @@ -439,6 +453,132 @@ if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then 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 +AC_CHECK_HEADER(plib/ul.h) +if test "x$ac_cv_header_plib_ul_h" != "xyes"; then + echo + echo "You *must* have the plib library installed on your system to build" + echo "the FGFS simulator!" + echo + echo "Please see README.plib for more details." + echo + echo "configure aborted." + exit +fi + +AC_MSG_CHECKING([for plib 1.8.5 or newer]) +AC_TRY_RUN([ +#include + +#define MIN_PLIB_VERSION 185 + +int main() { + int major, minor, micro; + + if ( PLIB_VERSION < MIN_PLIB_VERSION ) { + return -1; + } + + return 0; +} + +], + AC_MSG_RESULT(yes), + [AC_MSG_RESULT(wrong version); + AC_MSG_ERROR([Install plib 1.8.5 or later first...])], + AC_MSG_RESULT(yes) +) + +dnl If we get here then plib is available, so force use of plib +dnl joystick lib +AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support]) + +AC_CHECK_HEADER(osg/Version) +if test "x$ac_cv_header_osg_Version" != "xyes"; then + echo + echo "You *must* have the OpenSceneGraph support library installed on your system" + echo "to build the FGFS simulator!" + echo + echo "Please see README.OSG for more details." + echo + echo "configure aborted." + exit +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) + 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 ]) + fi + ;; +*) + if test "x$enable_osgdebug" = "xyes"; then + AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion) + 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) + LIBS="$LIBS -losgFXd" + else + AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion) + 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) + LIBS="$LIBS -losgFX" + fi + ;; +esac + AC_LANG_POP dnl Check for system installed zlib @@ -457,11 +597,33 @@ 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 -I/usr/include/apr-1.0" +AC_CHECK_LIB(svn_client-1, svn_client_checkout3) +AC_CHECK_HEADERS([svn_client.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 + dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS( \ fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \ - sys/time.h sys/timeb.h unistd.h windows.h values.h ) + sys/time.h sys/timeb.h unistd.h windows.h values.h ) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -475,7 +637,7 @@ LIBS="$base_LIBS $network_LIBS $opengl_LIBS" AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS( [ \ - ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \ + ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \ random drand48 setitimer getitimer signal GetLocalTime rint getrusage \ truncf ] ) LIBS=$old_LIBS @@ -491,30 +653,32 @@ AC_CONFIG_FILES([ \ man/gl-info.1 \ man/js_demo.1 \ man/pstest.1 \ - scripts/Makefile \ - scripts/debug/Makefile \ - scripts/perl/Makefile \ - scripts/perl/examples/Makefile \ - scripts/python/Makefile \ + scripts/Makefile \ + scripts/debug/Makefile \ + scripts/perl/Makefile \ + scripts/perl/examples/Makefile \ + scripts/python/Makefile \ src/Makefile \ src/Include/Makefile \ src/Include/version.h \ src/Include/config.h-msvc6 \ + src/Include/config.h-msvc71 \ + src/Include/config.h-msvc8 \ 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 \ src/FDM/JSBSim/initialization/Makefile \ src/FDM/JSBSim/input_output/Makefile \ src/FDM/JSBSim/math/Makefile \ - src/FDM/JSBSim/models/Makefile \ + src/FDM/JSBSim/models/Makefile \ src/FDM/JSBSim/models/flight_control/Makefile \ src/FDM/JSBSim/models/atmosphere/Makefile \ src/FDM/JSBSim/models/propulsion/Makefile \ @@ -527,6 +691,7 @@ AC_CONFIG_FILES([ \ src/Input/Makefile \ src/Instrumentation/Makefile \ src/Instrumentation/KLN89/Makefile \ + src/Instrumentation/HUD/Makefile \ src/Main/Makefile \ src/Main/runfgfs \ src/Main/runfgfs.bat \ @@ -544,8 +709,11 @@ AC_CONFIG_FILES([ \ tests/Makefile \ utils/Makefile \ utils/GPSsmooth/Makefile \ + utils/fgadmin/Makefile + utils/fgadmin/src/Makefile \ utils/js_server/Makefile \ utils/Modeller/Makefile \ + utils/propmerge/Makefile \ utils/TerraSync/Makefile \ utils/xmlgrep/Makefile \ ])