]> git.mxchange.org Git - simgear.git/blobdiff - configure.ac
Use std::back_inserter instead of my local hack
[simgear.git] / configure.ac
index 9e93013f3967b26be606c603ae31fa6c976bf319..9c94fc12441c3a2201987d991ba739eca1f39806 100644 (file)
@@ -1,7 +1,5 @@
 dnl Process this file with autoget.sh to produce a working configure
 dnl script.
-dnl
-dnl $Id$
 
 AC_INIT
 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
@@ -10,7 +8,7 @@ dnl Require at least automake 2.52
 AC_PREREQ(2.52)
 
 dnl Initialize the automake stuff
-AM_INIT_AUTOMAKE(SimGear, 0.3.7)
+AM_INIT_AUTOMAKE(SimGear, 1.9.1)
 
 dnl Specify KAI C++ compiler and flags.
 dnl Borrowed with slight modification from blitz distribution.
@@ -26,8 +24,10 @@ AC_ARG_WITH(cxx,
   esac
 ])
 
-echo CXX = $CXX
-echo CC = $CC
+AC_MSG_CHECKING([CXX])
+AC_MSG_RESULT([$CXX])
+AC_MSG_CHECKING([CC])
+AC_MSG_RESULT([$CC])
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
@@ -37,6 +37,11 @@ AC_PROG_CXX
 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
 
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_HOST
@@ -121,9 +126,17 @@ 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*)
+*-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
     echo no EXTRA_DIRS for $host
     ;;
 
@@ -165,33 +178,18 @@ dnl Checks for libraries.
 
 dnl Thread related checks
 AC_CHECK_HEADER(pthread.h)
-AC_CHECK_LIB(pthread, pthread_exit)
-if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
+AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
+if test "x$ac_cv_header_pthread_h" = "xyes"; then
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
     CFLAGS="$CFLAGS -D_REENTRANT"
-fi
-if test "x$ac_cv_lib_pthread_pthread_exit" != "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
-    dnl FreeBSD: System has pthread.h, but -lpthread library check
-    dnl fails.  See if we need -pthread instead of -lpthread and look
-    dnl for the functions in libc_r.
-    save_CXXFLAGS="$CXXFLAGS"
-    save_CFLAGS="$CFLAGS"
+
+  if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
     CXXFLAGS="-pthread $CXXFLAGS"
-    CFLAGS="-pthread $FLAGS"
-    save_LIBS=$LIBS
-    AC_CHECK_LIB(c_r, pthread_exit)
-    if test "x$ac_cv_lib_c_r_pthread_exit" != "xyes"; then
-        CXXFLAGS=$save_CXXFLAGS
-        CFLAGS=$save_CFLAGS
-    else
-        dnl This is cheating a bit. pthread_exit comes with using -pthread, not
--lpthread
-        ac_cv_lib_pthread_pthread_exit="yes"
-    fi
-    LIBS=$save_LIBS
+    CFLAGS="-pthread $CFLAGS"
+  fi
 fi
 
-AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
+AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
 
 thread_LIBS="$LIBS"
 LIBS=""
@@ -267,43 +265,54 @@ 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"
 
 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 ] )
+    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"
-    if test "x$ac_cv_lib_openal32_algenbuffers" == "xyes"; then
-       OPENAL_OK="yes"
-    fi
+    openal_LIBS="$LIBS"
+    OPENAL_OK="$ac_cv_search_alGenBuffers"
+    ALUT_OK="$ac_cv_search_alutInit"
     ;;
 
 *-apple-darwin*)
     dnl Mac OS X
 
     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 default unix style machines
 
+    save_LIBS=$LIBS
+    LIBS="$LIBS $thread_LIBS"
     AC_SEARCH_LIBS(alGenBuffers, openal)
-    if test "x$ac_cv_lib_openal_algenbuffers" == "xyes"; then
-       OPENAL_OK="yes"
-    fi
+    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 "x$OPENAL_OK" != "xyes"; then
+if test "$OPENAL_OK" == "no"; then
     echo
     echo "You *must* have the openal library installed on your system to build"
     echo "SimGear!"
@@ -314,7 +323,19 @@ if test "x$OPENAL_OK" != "xyes"; then
     exit
 fi
 
-openal_LIBS="$LIBS"
+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)
@@ -345,11 +366,11 @@ if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
     exit
 fi
 
-AC_MSG_CHECKING([for plib 1.6.0 or newer])
+AC_MSG_CHECKING([for plib 1.8.5 or newer])
 AC_TRY_RUN([
 #include <plib/ul.h>
 
-#define MIN_PLIB_VERSION 160
+#define MIN_PLIB_VERSION 185
 
 int main() {
     int major, minor, micro;
@@ -364,12 +385,34 @@ int main() {
 ],
   AC_MSG_RESULT(yes),
   [AC_MSG_RESULT(wrong version);
-   AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
+   AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
   AC_MSG_RESULT(yes)
 )
 
 LIBS="$saved_LIBS"
 
+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 this version of SimGear!"
+    echo
+    echo "Please see README.OSG for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+AC_CHECK_HEADER(boost/version.hpp)
+if test "x$ac_cv_header_boost_version_hpp" != "xyes"; then
+    echo
+    echo "You *must* have the Boost library installed on your system"
+    echo "to build this version of SimGear!"
+    echo
+    echo "configure aborted."
+    exit
+fi
+
 AC_LANG_POP
 
 dnl Check for system installed zlib
@@ -401,6 +444,7 @@ fi
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_SIZE_T
+AC_TYPE_MODE_T
 AC_HEADER_TIME
 AC_STRUCT_TM
 
@@ -419,7 +463,6 @@ AM_CONFIG_HEADER(simgear/simgear_config.h)
 AC_CONFIG_FILES([ \
        Makefile \
        SimGear.spec \
-       src-libs/Makefile \
        simgear/Makefile \
        simgear/version.h \
        simgear/compatibility/Makefile \
@@ -437,19 +480,18 @@ AC_CONFIG_FILES([ \
        simgear/props/Makefile \
        simgear/route/Makefile \
        simgear/scene/Makefile \
-       simgear/scene/fgsg/Makefile \
+       simgear/scene/bvh/Makefile \
        simgear/scene/material/Makefile \
        simgear/scene/model/Makefile \
        simgear/scene/sky/Makefile \
-       simgear/scene/sky/clouds3d/Makefile \
        simgear/scene/tgdb/Makefile \
+       simgear/scene/util/Makefile \
        simgear/screen/Makefile \
        simgear/serial/Makefile \
        simgear/sound/Makefile \
        simgear/structure/Makefile \
        simgear/threads/Makefile \
        simgear/timing/Makefile \
-       simgear/xgl/Makefile \
        simgear/xml/Makefile \
 ])
 AC_OUTPUT
@@ -476,7 +518,7 @@ else
    echo "Without JPEG Factory support"
 fi
 
-if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
+if test "x$ac_cv_header_pthread_h" = "xyes"; then
    echo "Threads: pthread lib found."
 else
    echo "Threads: no threads (pthread lib not found.)"