]> git.mxchange.org Git - simgear.git/blobdiff - configure.ac
Update VS2010 projects : use Boost 1.44.0
[simgear.git] / configure.ac
index 716cd68a1603e90006f885e758deeda74a69c765..a9185952a1ac26604363182147e5c038462a2cc8 100644 (file)
@@ -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,20 +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
-
-AC_ARG_WITH(plib_framework, [ --with-plib-framework=PREFIX      Specify the prefix path to PLIB.framework ])
-
-if test "x$with_plib_framework" != "x"; then
-    echo "plib framework prefix is $with_plib_framework"
-fi
-
 # specify the osg location
 AC_ARG_WITH(osg, [  --with-osg=PREFIX       Specify the prefix path to osg])
 
@@ -140,10 +139,19 @@ 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 ])
+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
@@ -215,6 +223,7 @@ LIBS=""
 
 dnl check for some default libraries
 AC_SEARCH_LIBS(cos, m)
+AC_SEARCH_LIBS(clock_gettime, rt)
 
 base_LIBS="$LIBS"
 
@@ -277,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"
 
@@ -291,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"
@@ -302,15 +308,21 @@ 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) ; $3 is optional
+    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],
@@ -322,6 +334,7 @@ case "${host}" in
         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"
@@ -334,9 +347,16 @@ case "${host}" in
     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 <ALUT/alut.h>], $with_alut_framework, [ALUT_OK="yes"])
+    fi
+
     ;;
 
 *)
@@ -354,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!"
@@ -365,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!"
@@ -396,73 +416,22 @@ AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
 CXXCPP="g++ -E"
 AC_LANG_PUSH(C++)
 
-dnl Check for "plib" without which we cannot go on
-case ${host} in 
-*-apple-darwin*)
-    # Check PLIB framework availability when with-plib-framework is specified 
-    if test "x$with_plib_framework" != "x"; then
-        AC_CHECK_FRAMEWORK(PLIB, [#include <plib/ul.h>], $with_plib_framework)
-        plib_FRAMEWORK="$FRAMEWORKS"
-        FRAMEWORKS=""
-        AC_SUBST(plib_FRAMEWORK)
-    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
-    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 <plib/ul.h>
-
-#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)
-)
-
-LIBS="$saved_LIBS"
-
 # OpenSceneGraph
 case "${host}" in
 *-apple-darwin*)
     if test "x$with_osg_framework" != "x"; then
-        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(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_SUBST(osg_FRAMEWORKS)
+#       osg_FRAMEWORKS="$FRAMEWORKS"
+#       FRAMEWORKS=""
+#       AC_SUBST(osg_FRAMEWORKS)
         AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>], $with_osg_framework)
         openthreads_FRAMEWORK="$FRAMEWORKS"
         FRAMEWORKS=""
@@ -472,18 +441,33 @@ case "${host}" in
         dnl This is needed when osg dynamic libs are specified 
         dnl instead of OSG frameworks on Mac OS X
         dnl
-        LDFLAGS="$LDFLAGS -L$with_osg"
+        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
+
 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
@@ -498,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