X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.ac;h=a9185952a1ac26604363182147e5c038462a2cc8;hb=ce89a410d203a1f98237fa8a27fcb66068bed05f;hp=9c94fc12441c3a2201987d991ba739eca1f39806;hpb=7e7ce2f38e87d6244e05730fa4382da088bb25f1;p=simgear.git diff --git a/configure.ac b/configure.ac index 9c94fc12..a9185952 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ dnl Require at least automake 2.52 AC_PREREQ(2.52) dnl Initialize the automake stuff -AM_INIT_AUTOMAKE(SimGear, 1.9.1) +AM_INIT_AUTOMAKE(SimGear, 2.0.0) dnl Specify KAI C++ compiler and flags. dnl Borrowed with slight modification from blitz distribution. @@ -24,6 +24,14 @@ AC_ARG_WITH(cxx, esac ]) +AC_ARG_ENABLE(headless, + AS_HELP_STRING([--enable-headless],[Enable only packages for headless build])) + +AC_MSG_CHECKING([for headless mode]) +AC_MSG_RESULT([$enable_headless]) + +AM_CONDITIONAL(WANT_HEADLESS,[test "x$enable_headless" = "xyes"]) + AC_MSG_CHECKING([CXX]) AC_MSG_RESULT([$CXX]) AC_MSG_CHECKING([CC]) @@ -34,10 +42,11 @@ 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 -AX_BOOST_BASE([1.34.0]) +AX_BOOST_BASE([1.37.0]) if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" @@ -83,6 +92,10 @@ AC_SUBST(AR) AC_SUBST(ARFLAGS) AC_SUBST(compatibility_DIR) +# Show all compiler warnings by default +CXXFLAGS="$CXXFLAGS -Wall" +CFLAGS="$CFLAGS -Wall" + if echo $includedir | egrep "simgear$" > /dev/null; then echo "includedir is" $includedir "libdir is" $libdir else @@ -118,14 +131,6 @@ else fi AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes") -# specify the plib location -AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib]) - -if test "x$with_plib" != "x" ; then - echo "plib prefix is $with_plib" - EXTRA_DIRS="${EXTRA_DIRS} $with_plib" -fi - # specify the osg location AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg]) @@ -134,6 +139,21 @@ if test "x$with_osg" != "x" ; then EXTRA_DIRS="${EXTRA_DIRS} $with_osg" fi +AC_ARG_WITH(osg_framework, [ --with-osg-framework=PREFIX Specify the prefix path to OSG.framework ]) + +if test "x$with_osg_framework" != "x"; then + echo "osg framework prefix is $with_osg_framework" + CPPFLAGS = "$CPPFLAGS -F$with-osg-framework" + export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework" +fi + +dnl specifying ALUT.framework (for user provided ALUT.framework) +AC_ARG_WITH(alut_framework, [ --with-alut-framework=PREFIX Specify the prefix path to ALUT.framework ]) + +if test "x$with_alut_framework" != "x"; then + echo "ALUT framework prefix is $with_alut_framework" +fi + dnl Determine an extra directories to add to include/lib search paths case "${host}" in *-apple-darwin* | *-*-cygwin* | *-*-mingw32*) @@ -203,6 +223,7 @@ LIBS="" dnl check for some default libraries AC_SEARCH_LIBS(cos, m) +AC_SEARCH_LIBS(clock_gettime, rt) base_LIBS="$LIBS" @@ -265,9 +286,6 @@ case "${host}" in esac -AC_SEARCH_LIBS(glutGetModifiers, [ glut glut32 freeglut ], have_glut=yes, have_glut=no) -AM_CONDITIONAL(HAVE_GLUT, test "x$have_glut" = "xyes") - opengl_LIBS="$LIBS" LIBS="$base_LIBS" @@ -279,7 +297,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" @@ -290,11 +308,55 @@ case "${host}" in *-apple-darwin*) dnl Mac OS X - LIBS="$LIBS -framework IOKit -framework OpenAL" + LIBS="$LIBS -framework IOKit -framework OpenAL -framework ALUT" openal_LIBS="$LIBS" - # not sure how to test if OpenAL exists on MacOS (does it come by default?) - OPENAL_OK="yes" - ALUT_OK="yes" + + if test "x$with_openal_lib" != "x"; then + echo "libopenal is not supported on Mac OS platform." + openal_LIBS="" + fi + + AC_CHECK_HEADERS([OpenAL/al.h],[OPENAL_OK="yes"]) + # Looking for alut.h + AC_CHECK_HEADERS([ALUT/alut.h],[ALUT_OK="yes"]) + + 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, $4=ACTION_IF_TRUE) ; $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" + CPPFLAGS="$CPPFLAGS -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_IF([test AS_VAR_GET(ac_Framework) = yes], $4) + + AS_VAR_POPDEF([ac_Framework])dnl + ]) + + dnl Check for ALUT.framework when --with-alut-framework is specified + if test "x$with_alut_framework" != "x"; then + AC_CHECK_FRAMEWORK(ALUT, [#include ], $with_alut_framework, [ALUT_OK="yes"]) + fi + ;; *) @@ -312,7 +374,7 @@ case "${host}" in esac -if test "$OPENAL_OK" == "no"; then +if test "$OPENAL_OK" == "no" -a "x$enable_headless" != "xyes"; then echo echo "You *must* have the openal library installed on your system to build" echo "SimGear!" @@ -323,7 +385,7 @@ if test "$OPENAL_OK" == "no"; then exit fi -if test "$ALUT_OK" == "no"; then +if test "$ALUT_OK" == "no" -a "x$enable_headless" != "xyes"; then echo echo "You *must* have the alut library installed on your system to build" echo "SimGear!" @@ -351,56 +413,67 @@ AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes") # The following are C++ items that need to be tested for with the c++ # compiler +CXXCPP="g++ -E" AC_LANG_PUSH(C++) -dnl 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 "SimGear!" - 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) -) +# OpenSceneGraph +case "${host}" in +*-apple-darwin*) + if test "x$with_osg_framework" != "x"; then +# 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_SUBST(osg_FRAMEWORKS) + AC_CHECK_FRAMEWORK(OpenThreads, [#include ], $with_osg_framework) + openthreads_FRAMEWORK="$FRAMEWORKS" + FRAMEWORKS="" + AC_SUBST(openthreads_FRAMEWORK) + else + dnl + dnl This is needed when osg dynamic libs are specified + dnl instead of OSG frameworks on Mac OS X + dnl + AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion) + fi + ;; +*) + if test "x$enable_osgdebug" = "xyes"; then + AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion) + else + AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion) + fi + ;; +esac -LIBS="$saved_LIBS" +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 + +if test "x$ac_cv_header_osg_Version" != "xyes" -o "x$ac_cv_lib_OpenThreads_OpenThreadsGetVersion" != "xyes"; then + if test "x$ac_cv_framework_osg" != "xyes"; then echo - echo "You *must* have the OpenSceneGraph support library installed on your system" + echo "You *must* have the OpenThreads library installed on your system" echo "to build this version of SimGear!" + echo " Maybe you need to specify --with-osg=DIR." + echo " Maybe you need to specify some LDFLAGS to help the linker." + echo + echo " LIBS: '$LIBS'" + echo " LDFLAGS: '$LDFLAGS'" + echo " CPPFLAGS: '$CPPFLAGS'" echo echo "Please see README.OSG for more details." echo echo "configure aborted." exit + fi fi AC_CHECK_HEADER(boost/version.hpp) @@ -409,6 +482,10 @@ if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then echo "You *must* have the Boost library installed on your system" echo "to build this version of SimGear!" echo + echo " LIBS: '$LIBS'" + echo " LDFLAGS: '$LDFLAGS'" + echo " CPPFLAGS: '$CPPFLAGS'" + echo echo "configure aborted." exit fi