]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Miscellaneous tweaks and Bugfixes. Mostly memory leaks ported from the plib
[flightgear.git] / configure.ac
index 3362342873f9f64ac8607c4a54729eac65ac15f4..01dc3269931c4dad6b8ce9f2f9f92d9ba0cf5022 100644 (file)
@@ -10,7 +10,7 @@ AC_PREREQ(2.52)
 dnl Initialize the automake stuff
 dnl set the $host variable based on local machine/os
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(FlightGear, 0.9.9)
+AM_INIT_AUTOMAKE(FlightGear, 0.9.10)
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
@@ -27,8 +27,51 @@ AC_ARG_WITH(simgear, [  --with-simgear=PREFIX   Specify the prefix path to simge
 if test "x$with_simgear" != "x" ; then
     echo "SimGear prefix path is $with_simgear"
     EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
+    CXXFLAGS="$CXXFLAGS -I$with_simgear"
 fi
 
+# 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
+
+# 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*)
+    echo no EXTRA_DIRS for $host
+    ;;
+
+*-*-cygwin*)
+    if test -d /usr/local ; then
+        EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
+    fi
+    ;;
+
+*)
+    if test -d /usr/X11R6 ; then
+        EXTRA_DIR1="/usr/X11R6"
+    fi
+    if test -d /opt/X11R6 ; then
+        EXTRA_DIR2="/opt/X11R6"
+    fi
+    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
+    ;;
+
+esac
+wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
+
+
 case "${host}" in
 *-*-irix*)
     if test "$CXX" = "CC"; then
@@ -55,20 +98,12 @@ if test "x$with_logging" = "xno" ; then
     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
 fi
 
-# Specify if we want to build with Multiplayer support
-# default to with_network=yes
-AC_ARG_WITH(multiplayer, [  --with-multiplayer      Include multiplayer support [default=yes]])
-
-if test "x$with_multiplayer" = "xno"; then
-  echo "Building without any kind of multiplayer support"
+AC_ARG_ENABLE(sp_fdms, [  --enable-sp-fdms              Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
+if test "x$enable_sp_fdms" != "xno"; then
+    AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
 else
-  echo "Building with multiplayer support"
-  AC_DEFINE([FG_MPLAYER_AS], 1, [Define to build with multiplayer support])
+    AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
 fi
-AM_CONDITIONAL(ENABLE_MPLAYER_AS, test "x$with_multiplayer" != "xno")
-
-AC_ARG_ENABLE(sp_fdms, [  --enable-sp-fdms              Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
-AC_DEFINE([ENABLE_SP_FMDS], test "x$enable_sp_fdms" = "xyes", [Define to include special purpose FDMs])
 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
 
 
@@ -83,46 +118,12 @@ fi
 AC_CHECK_HEADER(pthread.h)
 AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "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 Used by JSBSim to conditionally compile in fgfs interface code
 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
 
 # Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
 
-dnl Determine an extra directories to add to include/lib search paths
-case "${host}" in
-*-apple-darwin* | *-*-mingw32*)
-    echo no EXTRA_DIRS for $host
-    ;;
-
-*-*-cygwin*)
-    if test -d /usr/local ; then
-        EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
-    fi
-    ;;
-
-*)
-    if test -d /usr/X11R6 ; then
-        EXTRA_DIR1="/usr/X11R6"
-    fi
-    if test -d /opt/X11R6 ; then
-        EXTRA_DIR2="/opt/X11R6"
-    fi
-    EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
-    ;;
-
-esac
-wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
-
-
 dnl Using AM_CONDITIONAL is a step out of the protected little 
 dnl automake fold so it is potentially dangerous.  But, we are
 dnl beginning to run into cases where the standard checks are not
@@ -198,13 +199,23 @@ base_LIBS="$LIBS"
 
 dnl Check for SDL if enabled.
 AC_ARG_ENABLE(sdl, [  --enable-sdl                  Configure to use SDL instead of GLUT], [enable_sdl="$enableval"])
+AC_ARG_ENABLE(osgviewer, [  --enable-osgviewer                  Configure to use osgViewer], [enable_osgviewer="$enableval"])
 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
+AM_CONDITIONAL(USE_OSGVIEWER, test "x$enable_osgviewer" = "xyes")
 if test "x$enable_sdl" = "xyes"; then
     AC_DEFINE([PU_USE_SDL], 1, [Define to use SDL])
 else
-    AC_DEFINE([PU_USE_GLUT], 1, [Define to use glut])
+    if test "x$enable_osgviewer" = "xyes"; then
+       AC_DEFINE([ENABLE_OSGVIEWER], 1, [Define to use osgViewer in renderer])
+       AC_DEFINE([PU_USE_NATIVE], 1, [Define to use native system])
+    else
+        AC_DEFINE([PU_USE_GLUT], 1, [Define to use glut])
+    fi
 fi
 
+AC_ARG_ENABLE(osgdebug, [  --enable-osgdebug                  Use OSG debug libraries], [enable_osgdebug="$enableval"])
+AM_CONDITIONAL(USE_OSGDEBUG, test "x$enable_osgdebug" = "xyes")
+
 dnl check for OpenGL related libraries
 case "${host}" in
 *-*-cygwin* | *-*-mingw32*)
@@ -284,14 +295,19 @@ opengl_LIBS="$LIBS"
 LIBS="$base_LIBS $joystick_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 ] )
-    LIBS="$LIBS -ldsound -ldxguid -lole32"
+    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"
     openal_LIBS="$LIBS"
+    OPENAL_OK="$ac_cv_search_alGenBuffers"
+    ALUT_OK="$ac_cv_search_alutInit"
     ;;
 
 *-apple-darwin*)
@@ -299,6 +315,9 @@ case "${host}" in
 
     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"
     ;;
 
 *)
@@ -309,12 +328,36 @@ case "${host}" in
     AC_SEARCH_LIBS(alGenBuffers, openal)
     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 "$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
+
+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)
@@ -329,49 +372,12 @@ AC_SUBST(joystick_LIBS)
 
 AC_LANG_PUSH(C++)
 
-# Check for "plib" without which we cannot go on
-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 "the FGFS simulator!"
-    echo
-    echo "Please see README.plib for more details."
-    echo
-    echo "configure aborted."
-    exit
-fi
-
-AC_MSG_CHECKING([for plib 1.8.4 or newer])
-AC_TRY_RUN([
-#include <plib/ul.h>
-
-#define MIN_PLIB_VERSION 184
-
-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.4 or later first...])],
-  AC_MSG_RESULT(yes)
-)
-
-dnl If we get here then plib is available, so force use of plib
-dnl joystick lib
-AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
-
-
 dnl Check for the presence of SimGear
+if test "x$with_simgear" != "x"; then
+AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
+else
 AC_CHECK_HEADER(simgear/version.h)
+fi
 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     echo
     echo "You *must* have the SimGear support library installed on your system"
@@ -383,7 +389,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     exit
 fi
 
-AC_MSG_CHECKING([for simgear 0.3.9 or newer])
+AC_MSG_CHECKING([for simgear 0.3.10 or newer])
 AC_TRY_RUN([
 #include <stdio.h>
 
@@ -394,7 +400,7 @@ AC_TRY_RUN([
 
 #define MIN_MAJOR 0
 #define MIN_MINOR 3
-#define MIN_MICRO 9
+#define MIN_MICRO 10
 
 int main() {
     int major, minor, micro;
@@ -423,7 +429,11 @@ int main() {
 LIBS="$saved_LIBS"
 
 dnl Check if SimGear was built with Norman's JPEG factory support
+if test "x$with_simgear" != "x"; then
+AC_CHECK_HEADER($with_simgear/include/simgear/screen/jpgfactory.hxx,[ac_cv_header_simgear_screen_jpgfactory_hxx=yes],[ac_cv_header_simgear_screen_jpgfactory_hxx=no])
+else
 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
+fi
 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
     AC_CHECK_LIB(jpeg, jpeg_start_compress)
     if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
@@ -442,6 +452,58 @@ if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
 fi
 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
 
+# Check for "plib" without which we cannot go on
+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 "the FGFS simulator!"
+    echo
+    echo "Please see README.plib for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
+AC_MSG_CHECKING([for plib 1.8.4 or newer])
+AC_TRY_RUN([
+#include <plib/ul.h>
+
+#define MIN_PLIB_VERSION 184
+
+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.4 or later first...])],
+  AC_MSG_RESULT(yes)
+)
+
+dnl If we get here then plib is available, so force use of plib
+dnl joystick lib
+AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
+
+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 the FGFS simulator!"
+    echo
+    echo "Please see README.OSG for more details."
+    echo
+    echo "configure aborted."
+    exit
+fi
+
 AC_LANG_POP
 
 dnl Check for system installed zlib
@@ -460,11 +522,13 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
     echo
 fi
 
+
+
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS( \
        fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
-        sys/time.h sys/timeb.h unistd.h windows.h values.h )
+       sys/time.h sys/timeb.h unistd.h windows.h values.h )
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -478,7 +542,7 @@ LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS( [ \
-        ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
+       ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
        random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
        truncf ] )
 LIBS=$old_LIBS
@@ -494,15 +558,17 @@ AC_CONFIG_FILES([ \
        man/gl-info.1 \
        man/js_demo.1 \
        man/pstest.1 \
-        scripts/Makefile \
-        scripts/debug/Makefile \
-        scripts/perl/Makefile \
-        scripts/perl/examples/Makefile \
-        scripts/python/Makefile \
+       scripts/Makefile \
+       scripts/debug/Makefile \
+       scripts/perl/Makefile \
+       scripts/perl/examples/Makefile \
+       scripts/python/Makefile \
        src/Makefile \
        src/Include/Makefile \
        src/Include/version.h \
        src/Include/config.h-msvc6 \
+       src/Include/config.h-msvc71 \
+       src/Include/config.h-msvc8 \
        src/Aircraft/Makefile \
        src/Airports/Makefile \
        src/ATC/Makefile \
@@ -517,7 +583,7 @@ AC_CONFIG_FILES([ \
        src/FDM/JSBSim/initialization/Makefile \
        src/FDM/JSBSim/input_output/Makefile \
        src/FDM/JSBSim/math/Makefile \
-        src/FDM/JSBSim/models/Makefile \
+       src/FDM/JSBSim/models/Makefile \
        src/FDM/JSBSim/models/flight_control/Makefile \
        src/FDM/JSBSim/models/atmosphere/Makefile \
        src/FDM/JSBSim/models/propulsion/Makefile \
@@ -530,6 +596,7 @@ AC_CONFIG_FILES([ \
        src/Input/Makefile \
        src/Instrumentation/Makefile \
        src/Instrumentation/KLN89/Makefile \
+       src/Instrumentation/HUD/Makefile \
        src/Main/Makefile \
        src/Main/runfgfs \
        src/Main/runfgfs.bat \
@@ -569,7 +636,7 @@ else
 fi
 
 echo -n "Automake version: "
-automake --version | head -1
+automake --version | head -1
 
 if test "x$with_multiplayer" != "xno"; then
     echo "Building with multiplayer support"