]> git.mxchange.org Git - flightgear.git/blobdiff - configure.ac
Assigned an ATC controller to the user's Aircraft and change the comm1 radio frequenc...
[flightgear.git] / configure.ac
index df8ba3dcb4b4647d7633865b493a8e28a75724fc..cd41238ff9be946231b46c534c7460f828ff0833 100644 (file)
@@ -1,8 +1,12 @@
 dnl Process this file with autogen.sh to produce a working configure
 dnl script.
 
-AC_INIT
-AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
+AC_INIT(FlightGear, m4_esyscmd([cat ./version | tr -d '\n']), [http://www.flightgear.org])
+
+dnl Ensure touching the version causes autoconf to re-run
+AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/version'])
+
+AC_CONFIG_SRCDIR([src/Airports/simple.cxx])
 
 dnl Require at least automake 2.52
 AC_PREREQ(2.52)
@@ -10,7 +14,31 @@ 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, 2.0.0)
+AM_INIT_AUTOMAKE([dist-bzip2])
+
+# variables for version.h
+AC_DEFINE([HAVE_VERSION_H], 1, [Set if version.h is generated])
+
+# are we running under Hudson? (defines BUILD_ID, BUILD_NUMBER in the environment)
+if test "x$BUILD_ID" != "x" ; then
+    AC_SUBST([HUDSON_BUILD_ID], $BUILD_ID)
+    AC_SUBST([HUDSON_BUILD_NUMBER], $BUILD_NUMBER)
+else
+    AC_SUBST([HUDSON_BUILD_ID], [none])
+    AC_SUBST([HUDSON_BUILD_NUMBER], 0)
+fi
+
+AC_CHECK_PROG([HAVE_GIT], git, 1)
+if test "x$HAVE_GIT" != "x" ; then
+    # git might be installed, but we might be building from a tarball
+    if git rev-parse ; then
+       AC_SUBST([REVISION], `git rev-parse HEAD`)
+    else
+       AC_SUBST([REVISION], [none])
+    fi
+else
+    AC_SUBST([REVISION], [none])
+fi
 
 dnl Checks for programs.
 AC_PROG_MAKE_SET
@@ -23,6 +51,10 @@ AC_PROG_INSTALL
 AC_PROG_LN_S
 AX_BOOST_BASE([1.37.0])
 
+# Show all compiler warnings by default
+CXXFLAGS="$CXXFLAGS -Wall"
+CFLAGS="$CFLAGS -Wall"
+
 if test "x$BOOST_CPPFLAGS" != "x-I/usr/include" ; then
    CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
 fi
@@ -58,7 +90,7 @@ case "${host}" in
 
     dnl Thank you Christian Bauer from SheepSaver
     dnl Modified by Tatsuhiro Nishioka for accepting a given framework path
-    dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH) ; $3 is optional
+    dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES, $3=FRAMEWORK_PATH, $4=ACTION_IF_FOUND) ;
     AC_DEFUN([AC_CHECK_FRAMEWORK], [
     AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
     AC_CACHE_CHECK([whether compiler supports framework $1],
@@ -71,6 +103,7 @@ case "${host}" in
             FRAMEWORKS="$FRAMEWORKS -F$3"
             CXXFLAGS="$CXXFLAGS -F$3"
             CCFLAGS="$CCFLAGS -F$3"
+            CPPFLAGS="$CPPFLAGS -F$3"
             dnl This is needed for AC_TRY_LINK when a framework path is specified
             export DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}:$3"
         fi
@@ -82,11 +115,12 @@ case "${host}" in
     AS_IF([test AS_VAR_GET(ac_Framework) = yes],
         [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
     )
+    AS_IF([test AS_VAR_GET(ac_Framework) = yes], $4)
     AS_VAR_POPDEF([ac_Framework])dnl
     ])
 
     # Mac OS X specific configure options
-    AC_ARG_WITH(cocoa_framework, [  --with-cocoa-framework       Use the Cocoa rather than Carbon]])
+    AC_ARG_WITH(cocoa_framework, [  --with-cocoa-framework         Use the Cocoa rather than Carbon])
     if test "x$with_cocoa_framework" != "x" ; then
         macAPI=Cocoa
         AC_MSG_NOTICE([Using Cocoa framework])
@@ -95,21 +129,21 @@ case "${host}" in
         AC_MSG_NOTICE([Using Carbon framework])
     fi
 
-    AC_ARG_WITH(osg_framework, [  --with-osg-framework=PREFIX       Specify the prefix path to osg frameworks [default=standard framework paths]])
+    AC_ARG_WITH(osg_framework, [  --with-osg-framework=PREFIX    Specify the prefix path to osg frameworks [default=standard framework paths]])
     if test "x$with_osg_framework" != "x" ; then
         echo "osg prefix is $with_osg_framework"
        export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_osg_framework"
     fi
 
-    AC_ARG_WITH(plib_framework, [  --with-plib-framework=PREFIX       Specify the prefix path to PLIB framework [default=standard framework paths]])
+    AC_ARG_WITH(plib_framework, [  --with-plib-framework=PREFIX   Specify the prefix path to PLIB framework [default=standard framework paths]])
     if test "x$with_plib_framework" != "x" ; then
         echo "plib prefix is $with_plib_framework"
        export DYLD_FRAMEWORK_PATH="$DYLD_FRAMEWORK_PATH:$with_plib_framework"
     fi
 
-    AC_ARG_WITH(openal_framework, [ --with-openal-framework=PREFIX    Speicfy the prefix path to OpenAL.framework ])
-    if test "x$with_openal_framework" != "x"; then
-        echo "OpenAL framework prefix is $with_openal_framework"
+    AC_ARG_WITH(alut_framework, [  --with-alut-framework=PREFIX   Specify the prefix path to ALUT.framework ])
+    if test "x$with_alut_framework" != "x"; then
+        echo "ALUT framework prefix is $with_alut_framework"
     fi
 
     ;;
@@ -175,18 +209,6 @@ else
 fi
 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
 
-# Specify whether we want to compile ATCDCL.
-# default to with_atcdcl=yes
-AC_ARG_ENABLE(atcdcl, [  --enable-atcdcl                Compile and link the depricated atc/ai module], [enable_atcdcl="$enableval"] )
-if test "x$enable_atcdcl" != "xno"; then
-    AC_DEFINE([ENABLE_ATCDCL], 1, [Define to include old ATC/AI module])
-else
-    AC_DEFINE([ENABLE_ATCDCL], 0, [Define to include old ATC/AI module])
-fi
-AM_CONDITIONAL(ENABLE_ATCDCL, test "x$enable_atcdcl" != "xno")
-
-
-
 dnl EXPERIMENTAL generic event driven input device
 # defaults to no
 AC_ARG_WITH(eventinput, [  --with-eventinput       Include event driven input (EXPERIMENTAL) [default=no]], [], [with_eventinput=no])
@@ -229,6 +251,50 @@ if test "x$with_threads" = "xyes"; then
 fi
 AC_CHECK_HEADER(pthread.h)
 
+dnl Configure HLA support
+AC_ARG_WITH(rti13, [  --with-rti13[[=PATH]]     Enable the HLA/RTI 1.3 interface, set a path to the RTI13 RTI libraries (default=no)])
+if test "x$with_rti13" != "xno"; then
+    if test "x$with_rti13" != "xyes"; then
+        AC_SUBST(HLA_CPPFLAGS, "-I$with_rti13/include")
+        AC_SUBST(HLA_LDFLAGS, "-L$with_rti13/lib")
+    fi
+
+    dnl Configure HLA support
+    AC_MSG_CHECKING([for simgear HLA/RTI support])
+    AC_LANG_PUSH(C++)
+    AC_TRY_COMPILE([
+        #include <simgear/hla/HLA13Federate.hxx>
+        ],[
+        new simgear::HLA13Federate;
+        ], simgear_hla=yes, simgear_hla=no)
+    AC_MSG_RESULT($simgear_hla)
+    if test "x$simgear_hla" = "xyes" ; then
+        AC_MSG_CHECKING([for hla libraries])
+        saved_LIBS="$LIBS"
+        saved_LDFLAGS="$LDFLAGS"
+        for rti13libs in "-lRTI-NG -lFedTime" "-lRTI-NGd -lFedTimed" ; do
+            if test "x$hla_libs" = "x" ; then
+                LIBS="-lsghla13 -lsghla -lsgxml -lsgstructure -lsgmath -lsgdebug -lsgtiming $rti13libs -lrt $saved_LIBS"
+                LDFLAGS="$HLA_LDFLAGS $saved_LDFLAGS"
+                AC_TRY_LINK([
+                    #include <simgear/hla/HLA13Federate.hxx>
+                    ],[
+                    new simgear::HLA13Federate;
+                    ], [hla_libs="$rti13libs"; have_rti13=yes],)
+            fi
+        done
+        LIBS="$saved_LIBS"
+        LDFLAGS="$saved_LDFLAGS"
+        AC_MSG_RESULT($hla_libs)
+    fi
+    AC_LANG_POP()
+fi
+dnl Currently only the rti13 variant, but in the future also rti1516
+AM_CONDITIONAL(WITH_HLA, test "x$have_rti13" = "xyes")
+if test "x$have_rti13" = "xyes" ; then
+    AC_DEFINE([FG_HAVE_HLA], 1, [Define if HLA/RTI is available.])
+    AC_SUBST(HLA_LIBS, "-lsghla13 -lsghla $hla_libs")
+fi
 
 dnl Used by JSBSim to conditionally compile in fgfs interface code
 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
@@ -236,7 +302,7 @@ AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
 # Check for MS Windows environment
 AC_CHECK_HEADER(windows.h)
 
-dnl Using AM_CONDITIONAL is a step out of the protected little 
+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
 dnl enough.  AM_CONDITIONALS are then referenced to conditionally
@@ -312,7 +378,7 @@ AC_SEARCH_LIBS(clock_gettime, rt)
 base_LIBS="$LIBS"
 
 dnl Check for SDL or glut if enabled.
-AC_ARG_ENABLE(osgviewer, [  --enable-osgviewer             Configure to use osgViewer(default)], [enable_osgviewer="$enableval"])
+AC_ARG_ENABLE(osgviewer, [  --enable-osgviewer             Configure to use osgViewer (default)], [enable_osgviewer="$enableval"])
 AC_ARG_ENABLE(sdl,  [  --enable-sdl                   Configure to use SDL], [enable_sdl="$enableval"])
 AC_ARG_ENABLE(glut, [  --enable-glut                  Configure to use GLUT], [enable_glut="$enableval"])
 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
@@ -365,6 +431,7 @@ case "${host}" in
     dnl Mac OS X
 
     LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework $macAPI -lobjc"
+    LDFLAGS="$LDFLAGS -headerpad_max_install_names"
     joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
     ;;
 
@@ -428,19 +495,15 @@ case "${host}" in
 *-apple-darwin*)
     dnl Mac OS X
 
-    # Mac OS X has OpenAL.framework with ALUT by default
-    # so we can use it without checking it.
-    # Note: SimGear needs to check the existance of alut.h since it includes the header.
-    LIBS="$LIBS -framework IOKit -framework OpenAL"
-    openal_LIBS="$LIBS"
-    OPENAL_OK="yes"
-    ALUT_OK="yes"
-    
-    dnl Check for OpenAL.framework when --with-openal-framework is specified
-    if test "x$with_openal_framework" != "x"; then
-      AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/alut.h>], $with_openal_framework)
-    fi
+    # Mac OS X has OpenAL.framework, but no ALUT, by default, so we
+    # require use of a non-Apple ALUT.framework which we provide
+    openal_LIBS="-framework IOKit -framework OpenAL"
 
+    AC_CHECK_FRAMEWORK(OpenAL, [#include <OpenAL/al.h>], "", [OPENAL_OK="yes"])
+    AC_CHECK_FRAMEWORK(ALUT, [#include <ALUT/alut.h>], $with_alut_framework, [
+        ALUT_OK="yes"
+        openal_LIBS="$openal_LIBS -framework ALUT"
+    ])
     ;;
 
 *)
@@ -512,7 +575,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
     exit
 fi
 
-AC_MSG_CHECKING([for SimGear 2.0.0 or newer])
+AC_MSG_CHECKING([for SimGear 2.2.0 or newer])
 AC_TRY_RUN([
 #include <stdio.h>
 
@@ -522,7 +585,7 @@ AC_TRY_RUN([
 #define XSTRINGIFY(X) #X
 
 #define MIN_MAJOR 2
-#define MIN_MINOR 0
+#define MIN_MINOR 2
 #define MIN_MICRO 0
 
 int main() {
@@ -745,23 +808,31 @@ if test "x$ac_cv_header_zlib_h" != "xyes"; then
 fi
 
 dnl Check for Subversion library support
+# libsvn support defaults to yes
 save_LIBS=$LIBS
 save_CPPFLAGS=$CPPFLAGS
-LIBS=""
-CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes`"
-AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
-AC_CHECK_HEADERS([svn_client.h glut.h])
-if test "x$ac_cv_header_svn_client_h" != "xyes"; then
-  echo "TerraSync will shell out for command line subversion"
+AC_ARG_WITH(libsvn, [  --without-libsvn        Do not use libsvn for terrasync [default=no]], [], [with_libsvn=yes])
+if test "x$with_libsvn" = "xyes"; then
+    LIBS="`apr-1-config --link-ld`"
+    CPPFLAGS="-I/usr/include/subversion-1 `apr-1-config --includes --cppflags`"
+    AC_CHECK_HEADERS([svn_client.h])
+       if test "x$ac_cv_header_svn_client_h" = "xyes"; then
+       echo "TerraSync will use libsvn"
+       AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
+       AC_SEARCH_LIBS(svn_cmdline_init, svn_subr-1)
+       svn_LIBS=$LIBS
+       svn_CPPFLAGS=$CPPFLAGS
+       AC_SUBST(svn_LIBS)
+       AC_SUBST(svn_CPPFLAGS)
+       else
+       echo "Libsvn not found. TerraSync will use command line subversion"
+       svn_LIBS=""
+       svn_CPPFLAGS=""
+       fi
+else
+echo "Libsvn explicitly disabled. TerraSync will use command line subversion"
   svn_LIBS=""
   svn_CPPFLAGS=""
-else
-  echo "TerraSync will use integrated subversion library"
-  AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
-  svn_LIBS=$LIBS
-  svn_CPPFLAGS=$CPPFLAGS
-  AC_SUBST(svn_LIBS)
-  AC_SUBST(svn_CPPFLAGS)
 fi
 LIBS=$save_LIBS
 CPPFLAGS=$save_CPPFLAGS
@@ -811,14 +882,11 @@ AC_CONFIG_FILES([ \
        scripts/debug/Makefile \
        scripts/perl/Makefile \
        scripts/perl/examples/Makefile \
+       scripts/perl/traffic/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/Include/config.h-msvc90 \
        src/Aircraft/Makefile \
        src/Airports/Makefile \
        src/ATC/Makefile \
@@ -855,6 +923,7 @@ AC_CONFIG_FILES([ \
        src/MultiPlayer/Makefile \
        src/Navaids/Makefile \
        src/Network/Makefile \
+       src/Network/HLA/Makefile \
        src/Scenery/Makefile \
        src/Scripting/Makefile \
        src/Sound/Makefile \
@@ -884,9 +953,9 @@ echo "================="
 echo "Prefix: $prefix"
 
 if test "x$with_logging" != "x"; then
-    echo "Debug messages: $with_logging"
+    echo "Log messages: $with_logging"
 else
-    echo "Debug messages: yes"
+    echo "Log messages: yes"
 fi
 
 echo -n "Automake version: "
@@ -897,15 +966,15 @@ if test "x$with_multiplayer" != "xno"; then
 fi
 
 if test "x$with_threads" = "xyes"; then
-    echo "threads: yes"
+    echo "Threads: yes"
 else
-    echo "threads: no"
+    echo "Threads: no"
 fi
 
 if test "x$with_eventinput" = "xyes"; then
-    echo "event input: yes"
+    echo "Event input: yes"
 else
-    echo "event input: no"
+    echo "Event input: no"
 fi
 
 if test "x$enable_sp_fdms" != "xno"; then
@@ -913,9 +982,3 @@ if test "x$enable_sp_fdms" != "xno"; then
 else
     echo "Include special purpose flight models: no"
 fi
-
-if test "x$enable_atcdcl" != "xno"; then
-    echo "Build depricated ATC/AI module: yes"
-else
-    echo "Build depricated ATC/AI module: no"
-fi