AC_PREREQ(2.52)
dnl Initialize the automake stuff
-AM_INIT_AUTOMAKE(SimGear, 0.3.1)
+AM_INIT_AUTOMAKE(SimGear, 0.3.3)
dnl Specify KAI C++ compiler and flags.
dnl Borrowed with slight modification from blitz distribution.
AC_CANONICAL_HOST
dnl Used on the Irix platform
-AR="ar"
-ARFLAGS="cru"
case "${host}" in
*-*-irix*)
- if test "$CXX" = "CC"; then
- AR="CC -ar"
+ if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
+ AR="$CXX -ar"
ARFLAGS="-o"
+ CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility"
+ compatibility_DIR="compatibility"
fi
;;
+*)
+ AR="ar"
+ ARFLAGS="cru"
+ compatibility_DIR=
+ ;;
esac
AC_SUBST(AR)
AC_SUBST(ARFLAGS)
+AC_SUBST(compatibility_DIR)
if echo $includedir | egrep "simgear$" > /dev/null; then
echo "includedir is" $includedir "libdir is" $libdir
dnl Checks for libraries.
-null_LIBS="$LIBS"
-
-AC_CHECK_LIB(m, cos)
-
-base_LIBS="$LIBS"
-
dnl Thread related checks
-AC_CHECK_LIB(pthread, pthread_exit)
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
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"
+ 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
+
AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
-AC_CHECK_LIB(socket, socket)
+thread_LIBS="$LIBS"
+LIBS=""
+
+dnl search for network related libraries
+AC_SEARCH_LIBS(inet_addr, xnet)
+AC_SEARCH_LIBS(socket, socket)
+
+network_LIBS="$LIBS"
+LIBS=""
+
+dnl check for some default libraries
+AC_SEARCH_LIBS(cos, m)
+
+base_LIBS="$LIBS"
dnl check for glut location
AC_CHECK_HEADER(GL/glut.h)
*)
dnl X-Windows based machines
- AC_CHECK_LIB(X11, XCreateWindow)
- AC_CHECK_LIB(Xext, XShmCreateImage)
- AC_CHECK_LIB(Xi, XGetExtensionVersion)
- AC_CHECK_LIB(ICE, IceOpenConnection)
- AC_CHECK_LIB(SM, SmcOpenConnection)
- AC_CHECK_LIB(Xt, XtMalloc)
- AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
+ AC_SEARCH_LIBS(XCreateWindow, X11)
+ AC_SEARCH_LIBS(XShmCreateImage, Xext)
+ AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
+ AC_SEARCH_LIBS(IceOpenConnection, ICE)
+ AC_SEARCH_LIBS(SmcOpenConnection, SM)
+ AC_SEARCH_LIBS(XtMalloc, Xt)
+ AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
- AC_CHECK_LIB(GLcore, glNewList)
- if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
- dnl if no GLcore, check for GL
- AC_CHECK_LIB(GL, glNewList)
- if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
- dnl if no GL, check for MesaGL
- AC_CHECK_LIB(MesaGL, glNewList)
- fi
- else
+ AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
+ if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
dnl if GLcore found, then also check for GL
- AC_CHECK_LIB(GL, glXCreateContext)
+ AC_SEARCH_LIBS(glXCreateContext, GL)
fi
dnl if using mesa, check for xmesa.h
- if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
+ if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
AC_CHECK_HEADER(GL/fxmesa.h)
if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
AC_DEFINE([XMESA], 1, [Define for fxmesa])
fi
fi
- AC_CHECK_LIB(GLU, gluLookAt)
- if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
- dnl if no GLU, check for MesaGLU
- AC_CHECK_LIB(MesaGLU, gluLookAt)
- fi
-
- LIBS="$LIBS -lglut"
+ AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
+ AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
;;
esac
AC_SUBST(base_LIBS)
AC_SUBST(opengl_LIBS)
+AC_SUBST(thread_LIBS)
+AC_SUBST(network_LIBS)
dnl Check for MS Windows environment
AC_CHECK_HEADER(windows.h)
echo "If your OS does not provide an installable package for MetaKit"
echo "you will have to compile and install it first yourself. A copy"
echo "of metakit-$(VERSION).tar.gz is included with SimGear. You will"
- echo "have to untar this source code, and follow it's included instructions"
+ echo "have to untar this source code, and follow its included instructions"
echo "to compile and install on your system."
echo
echo "configure aborted."
echo "If your OS does not provide an installable package for zlib"
echo "you will have to compile and install it first yourself. A copy"
echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
- echo "have to untar this source code, and follow it's included instructions"
+ echo "have to untar this source code, and follow its included instructions"
echo "to compile and install on your system."
echo
echo "configure aborted."
AC_HEADER_STDC
AC_CHECK_HEADERS( \
fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
- sys/stat.h sys/time.h sys/timeb.h unistd.h winbase.h values.h )
+ sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
if test "x$ac_cv_header_stdint_h" = "xyes"; then
AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
src-libs/Makefile \
simgear/Makefile \
simgear/version.h \
+ simgear/compatibility/Makefile \
simgear/bucket/Makefile \
simgear/debug/Makefile \
simgear/ephemeris/Makefile \
simgear/math/Makefile \
simgear/metar/Makefile \
simgear/misc/Makefile \
+ simgear/props/Makefile \
simgear/route/Makefile \
+ simgear/scene/Makefile \
+ simgear/scene/material/Makefile \
+ simgear/scene/model/Makefile \
+ simgear/scene/sky/Makefile \
+ simgear/scene/tgdb/Makefile \
simgear/screen/Makefile \
simgear/serial/Makefile \
- simgear/sky/Makefile \
- simgear/sky/clouds3d/Makefile \
+ simgear/sound/Makefile \
simgear/threads/Makefile \
simgear/timing/Makefile \
simgear/xgl/Makefile \