X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.ac;h=df8ba3dcb4b4647d7633865b493a8e28a75724fc;hb=26e04d907266831c8117b4eba7ebc0289aab08a5;hp=6ae6d7438f964ea35c212bd69d1ddbf6fa50dfac;hpb=3836abcf4b60844d4942e6c5da237fb3a1f93d24;p=flightgear.git diff --git a/configure.ac b/configure.ac index 6ae6d7438..df8ba3dcb 100644 --- a/configure.ac +++ b/configure.ac @@ -10,13 +10,14 @@ 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.9.1) +AM_INIT_AUTOMAKE(FlightGear, 2.0.0) dnl Checks for programs. AC_PROG_MAKE_SET AC_PROG_CC AC_PROG_CPP AC_PROG_CXX +AC_PROG_CXXCPP AC_PROG_RANLIB AC_PROG_INSTALL AC_PROG_LN_S @@ -85,16 +86,32 @@ case "${host}" in ]) # Mac OS X specific configure options + AC_ARG_WITH(cocoa_framework, [ --with-cocoa-framework Use the Cocoa rather than Carbon]]) + if test "x$with_cocoa_framework" != "x" ; then + macAPI=Cocoa + AC_MSG_NOTICE([Using Cocoa framework]) + else + macAPI=Carbon + AC_MSG_NOTICE([Using Carbon framework]) + fi + AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to osg frameworks [default=standard framework paths]]) + if test "x$with_osg_framework" != "x" ; then + echo "osg prefix is $with_osg_framework" + export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_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_plib_framework" != "x" ; then echo "plib prefix is $with_plib_framework" + export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$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" + AC_ARG_WITH(openal_framework, [ --with-openal-framework=PREFIX Speicfy the prefix path to OpenAL.framework ]) + if test "x$with_openal_framework" != "x"; then + echo "OpenAL framework prefix is $with_openal_framework" fi + ;; esac @@ -158,6 +175,17 @@ else fi AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno") +# Specify whether we want to compile ATCDCL. +# default to with_atcdcl=yes +AC_ARG_ENABLE(atcdcl, [ --enable-atcdcl Compile and link the depricated atc/ai module], [enable_atcdcl="$enableval"] ) +if test "x$enable_atcdcl" != "xno"; then + AC_DEFINE([ENABLE_ATCDCL], 1, [Define to include old ATC/AI module]) +else + AC_DEFINE([ENABLE_ATCDCL], 0, [Define to include old ATC/AI module]) +fi +AM_CONDITIONAL(ENABLE_ATCDCL, test "x$enable_atcdcl" != "xno") + + dnl EXPERIMENTAL generic event driven input device # defaults to no @@ -200,7 +228,7 @@ if test "x$with_threads" = "xyes"; then CFLAGS="$CFLAGS -D_REENTRANT" fi AC_CHECK_HEADER(pthread.h) -AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes") + dnl Used by JSBSim to conditionally compile in fgfs interface code AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode]) @@ -260,6 +288,7 @@ 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" CFLAGS="-pthread $CFLAGS" + LIBS="-lsgthreads $LIBS" fi fi @@ -283,7 +312,7 @@ AC_SEARCH_LIBS(clock_gettime, rt) base_LIBS="$LIBS" 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(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") @@ -335,7 +364,7 @@ case "${host}" in *-apple-darwin*) dnl Mac OS X - LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework Carbon -lobjc" + LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc" joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation" ;; @@ -388,7 +417,7 @@ case "${host}" in dnl CygWin under Windoze. INCLUDES="$INCLUDES -I/usr/local/include/" LIBS="$LIBS -L/usr/local/lib" - AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal ] ) + AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal 'openal -ldsound -lwinmm' ] ) AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] ) LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32" openal_LIBS="$LIBS" @@ -399,11 +428,19 @@ case "${host}" in *-apple-darwin*) dnl Mac OS X + # Mac OS X has OpenAL.framework with ALUT by default + # so we can use it without checking it. + # Note: SimGear needs to check the existance of alut.h since it includes the header. 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" + + dnl Check for OpenAL.framework when --with-openal-framework is specified + if test "x$with_openal_framework" != "x"; then + AC_CHECK_FRAMEWORK(OpenAL, [#include ], $with_openal_framework) + fi + ;; *) @@ -475,7 +512,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then exit fi -AC_MSG_CHECKING([for SimGear 1.9.0 or newer]) +AC_MSG_CHECKING([for SimGear 2.0.0 or newer]) AC_TRY_RUN([ #include @@ -484,8 +521,8 @@ AC_TRY_RUN([ #define STRINGIFY(X) XSTRINGIFY(X) #define XSTRINGIFY(X) #X -#define MIN_MAJOR 1 -#define MIN_MINOR 9 +#define MIN_MAJOR 2 +#define MIN_MINOR 0 #define MIN_MICRO 0 int main() { @@ -589,6 +626,51 @@ 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]) +# Find the OSG libraries. Note special handling for OS X frameworks +if test "x$with_osg_framework" = "x"; then + if test "x$enable_osgdebug" = "xyes"; then + AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],) + AC_CHECK_LIB(osgd,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],) + AC_CHECK_LIB(osgUtild,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],) + AC_CHECK_LIB(osgDBd,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],) + AC_CHECK_LIB(osgTextd,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],) + AC_CHECK_LIB(osgGAd,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],) + AC_CHECK_LIB(osgViewerd,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],) + AC_CHECK_LIB(osgSimd,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],) + AC_CHECK_LIB(osgParticled,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],) + AC_CHECK_LIB(osgFXd, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],) + else + AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion, , [AC_MSG_ERROR(OpenThreads library not found.)],) + AC_CHECK_LIB(osg,osgGetVersion, , [AC_MSG_ERROR(OpenSceneGraph library not found.)],) + AC_CHECK_LIB(osgUtil,osgUtilGetVersion, , [AC_MSG_ERROR(OpenSceneGraph utility library not found.)],) + AC_CHECK_LIB(osgDB,osgDBGetVersion, , [AC_MSG_ERROR(OpenSceneGraph database library not found.)],) + AC_CHECK_LIB(osgText,osgTextGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Text library not found.)],) + AC_CHECK_LIB(osgGA,osgGAGetVersion, , [AC_MSG_ERROR(OpenSceneGraph GUI Abstraction library not found.)],) + AC_CHECK_LIB(osgViewer,osgViewerGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Viewer library not found.)],) + AC_CHECK_LIB(osgSim,osgSimGetVersion, , [AC_MSG_ERROR(OpenSceneGraph simulation library not found.)],) + AC_CHECK_LIB(osgParticle,osgParticleGetVersion, , [AC_MSG_ERROR(OpenSceneGraph Particle library not found.)],) + AC_CHECK_LIB(osgFX, osgFXGetVersion, , [AC_MSG_ERROR(OpenSceneGraph FX library not found.)],) + fi +else + # 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 +AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x") + AC_CHECK_HEADER(osg/Version) if test "x$ac_cv_header_osg_Version" != "xyes"; then echo @@ -601,90 +683,6 @@ if test "x$ac_cv_header_osg_Version" != "xyes"; then exit fi -# Find the OSG libraries. Note special handling for OS X frameworks -case "${host}" in -*-apple-darwin*) - 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 - # 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 - ;; -*) - 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 -AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x") AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK]) AC_COMPILE_IFELSE( @@ -693,6 +691,41 @@ AC_COMPILE_IFELSE( [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK]) AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + +# Special handling for static version of OSG +if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_LIBRARY_STATIC" 2>/dev/null`" ; then + saved_LIBS="$LIBS" + LIBS="" + #***** Check image support (needed for static build) ***** + AC_SEARCH_LIBS([jpeg_read_header], [jpeg], [CPPFLAGS="$CPPFLAGS -DOSG_JPEG_ENABLED"]) + AC_SEARCH_LIBS([png_read_image], [png 'png -lz'], [CPPFLAGS="$CPPFLAGS -DOSG_PNG_ENABLED"]) + AC_SEARCH_LIBS([TIFFOpen], [tiff], [CPPFLAGS="$CPPFLAGS -DOSG_TIFF_ENABLED"]) + img_LIBS="$LIBS" + LIBS="$saved_LIBS" + + if test "x$with_osg" != "x" ; then + osg_prefix="$with_osg" + else + osg_prefix="/usr" + fi + PKG_CHECK_EXISTS([openscenegraph], [osg_version="`$PKG_CONFIG --modversion openscenegraph 2>/dev/null`"]) + LIBS="-L$osg_prefix/lib/osgPlugins-$osg_version -losgdb_bmp -losgdb_dds -losgdb_hdr -losgdb_pic -losgdb_pnm -losgdb_rgb -losgdb_tga \ + -losgdb_3ds -losgdb_ac -losgdb_ive -losgdb_osg -losgdb_txf \ + -losgVolume -losgTerrain $LIBS -losgUtil" + + if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_JPEG_ENABLED" 2>/dev/null`" ; then + LIBS="$LIBS -losgdb_jpeg" + fi + if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_PNG_ENABLED" 2>/dev/null`" ; then + LIBS="$LIBS -losgdb_png" + fi + if test -n "`echo "$CPPFLAGS" "$CXXFLAGS" "$CFLAGS" | grep "\-DOSG_TIFF_ENABLED" 2>/dev/null`" ; then + LIBS="$LIBS -losgdb_tiff" + fi + + LIBS="$LIBS $img_LIBS" +fi + AC_LANG_POP dnl Check for system installed zlib @@ -785,6 +818,7 @@ AC_CONFIG_FILES([ \ src/Include/config.h-msvc6 \ src/Include/config.h-msvc71 \ src/Include/config.h-msvc8 \ + src/Include/config.h-msvc90 \ src/Aircraft/Makefile \ src/Airports/Makefile \ src/ATC/Makefile \ @@ -880,3 +914,8 @@ else echo "Include special purpose flight models: no" fi +if test "x$enable_atcdcl" != "xno"; then + echo "Build depricated ATC/AI module: yes" +else + echo "Build depricated ATC/AI module: no" +fi