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])
AC_PREREQ(2.52)
dnl Initialize the automake stuff
-AM_INIT_AUTOMAKE(SimGear, 0.3.4-pre1)
+AM_INIT_AUTOMAKE(SimGear, 0.3.10)
dnl Specify KAI C++ compiler and flags.
dnl Borrowed with slight modification from blitz distribution.
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
;;
*)
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
;;
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
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=""
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"
+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)
+ AC_SEARCH_LIBS(alutInit, [ alut 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)
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;
],
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)
)
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
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)
AC_CONFIG_FILES([ \
Makefile \
SimGear.spec \
- src-libs/Makefile \
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 \
simgear/structure/Makefile \
simgear/threads/Makefile \
simgear/timing/Makefile \
- simgear/xgl/Makefile \
simgear/xml/Makefile \
])
AC_OUTPUT
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.)"