]> git.mxchange.org Git - simgear.git/blobdiff - configure.ac
Harald JOHNSEN:
[simgear.git] / configure.ac
index ed4cc000a9d43ab0ab1eb6e5f29f8dc2f54545ae..8ed44bd036f399c119ef9d1594b56563e3a2fa48 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.4-pre1)
+AM_INIT_AUTOMAKE(SimGear, 0.3.8)
 
 dnl Specify KAI C++ compiler and flags.
 dnl Borrowed with slight modification from blitz distribution.
@@ -47,8 +45,25 @@ case "${host}" in
     if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
         AR="$CXX -ar"
         ARFLAGS="-o"
-        CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility"
+        CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro740"
         compatibility_DIR="compatibility"
+        MIPSpro_DIRS="MIPSpro740"
+        AC_MSG_CHECKING([for MIPSpro compiler version 7.4 or newer])
+        AC_TRY_RUN([
+           int main() {
+              if ( _COMPILER_VERSION < 740 ) {
+                 return -1;
+              }
+              return 0;
+           }
+
+        ], AC_MSG_RESULT(yes),
+        [  AC_MSG_RESULT(no)
+           CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro721"
+           MIPSpro_DIRS="$(MIPSpro_DIRS) MIPSpro721"
+           AC_MSG_WARN([Using our own subset of the STL headers])
+        ], AC_MSG_RESULT(yes))
+        AC_SUBST(MIPSpro_DIRS)
     fi
     ;;
 *)
@@ -96,10 +111,17 @@ 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
 
 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
     ;;
 
@@ -110,7 +132,7 @@ case "${host}" in
     if test -d /opt/X11R6 ; then
         EXTRA_DIR2="/opt/X11R6"
     fi
-    EXTRA_DIRS="$EXTRA_DIR1 $EXTRA_DIR2"
+    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
     ;;
 
 esac
@@ -141,33 +163,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
+  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=""
@@ -246,7 +253,57 @@ esac
 opengl_LIBS="$LIBS"
 LIBS="$base_LIBS"
 
+dnl check for OpenAL libraries
+OPENAL_OK="no"
+case "${host}" in
+*-*-cygwin* | *-*-mingw32*)
+    dnl CygWin under Windoze.
+    INCLUDES="$INCLUDES -I/usr/local/include"
+    LIBS="$LIBS -L/usr/local/lib"
+    AC_SEARCH_LIBS(alGenBuffers, openal32)
+    AC_SEARCH_LIBS(alutInit, [ openal32 ALut ] )
+    LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
+    openal_LIBS="$LIBS"
+    OPENAL_OK="$ac_cv_search_alGenBuffers"
+    ;;
+
+*-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"
+    ;;
+
+*)
+    dnl default unix style machines
+
+    save_LIBS=$LIBS
+    LIBS="$LIBS $thread_LIBS"
+    AC_SEARCH_LIBS(alGenBuffers, openal)
+    OPENAL_OK="$ac_cv_search_alGenBuffers"
+    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
+
+LIBS="$base_LIBS"
+
 AC_SUBST(base_LIBS)
+AC_SUBST(openal_LIBS)
 AC_SUBST(opengl_LIBS)
 AC_SUBST(thread_LIBS)
 AC_SUBST(network_LIBS)
@@ -273,11 +330,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.4 or newer])
 AC_TRY_RUN([
 #include <plib/ul.h>
 
-#define MIN_PLIB_VERSION 160
+#define MIN_PLIB_VERSION 184
 
 int main() {
     int major, minor, micro;
@@ -292,7 +349,7 @@ 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.4 or later first...])],
   AC_MSG_RESULT(yes)
 )
 
@@ -333,11 +390,14 @@ AC_HEADER_TIME
 AC_STRUCT_TM
 
 dnl Checks for library functions.
+old_LIBS=$LIBS
+LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS( \
+AC_CHECK_FUNCS( \
         ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
-       random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
+       random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
+LIBS=$old_LIBS
 
 AM_CONFIG_HEADER(simgear/simgear_config.h)
 
@@ -348,21 +408,23 @@ AC_CONFIG_FILES([ \
        simgear/Makefile \
        simgear/version.h \
        simgear/compatibility/Makefile \
+       simgear/compatibility/MIPSpro721/Makefile \
+       simgear/compatibility/MIPSpro740/Makefile \
        simgear/bucket/Makefile \
        simgear/debug/Makefile \
        simgear/ephemeris/Makefile \
        simgear/io/Makefile \
        simgear/magvar/Makefile \
        simgear/math/Makefile \
-       simgear/metar/Makefile \
+       simgear/environment/Makefile \
        simgear/misc/Makefile \
+       simgear/nasal/Makefile \
        simgear/props/Makefile \
        simgear/route/Makefile \
        simgear/scene/Makefile \
        simgear/scene/material/Makefile \
        simgear/scene/model/Makefile \
        simgear/scene/sky/Makefile \
-       simgear/scene/sky/clouds3d/Makefile \
        simgear/scene/tgdb/Makefile \
        simgear/screen/Makefile \
        simgear/serial/Makefile \
@@ -397,7 +459,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.)"