From: curt Date: Tue, 27 Aug 2002 23:52:15 +0000 (+0000) Subject: Modernize the autoconf/automake files. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ff7c8101bcbea1742552fffcbef1f26840dbeb0a;p=flightgear.git Modernize the autoconf/automake files. --- diff --git a/acconfig.h b/acconfig.h deleted file mode 100644 index 74d70ca88..000000000 --- a/acconfig.h +++ /dev/null @@ -1,330 +0,0 @@ -/* acconfig.h - This file is in the public domain. - - Descriptive text for the C preprocessor macros that - the distributed Autoconf macros can define. - No software package will use all of them; autoheader copies the ones - your configure.in uses into your configuration header file templates. - - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). Although this order - can split up related entries, it makes it easier to check whether - a given entry is in the file. - - Leave the following blank line there!! Autoheader needs it. */ - - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -#undef _ALL_SOURCE -#endif - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define if type char is unsigned and you are not using gcc. */ -#ifndef __CHAR_UNSIGNED__ -#undef __CHAR_UNSIGNED__ -#endif - -/* Define if the closedir function returns void instead of int. */ -#undef CLOSEDIR_VOID - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define for DGUX with . */ -#undef DGUX - -/* Define if you have . */ -#undef DIRENT - -/* Define to enable audio support */ -#undef ENABLE_AUDIO_SUPPORT - -/* Define to enable GLUT joystick support (limited to 3 axes) */ -#undef ENABLE_GLUT_JOYSTICK - -/* Define to enable plib joystick support (recommended) */ -#undef ENABLE_PLIB_JOYSTICK - -/* Define to enable http jpeg server code */ -#undef FG_JPEG_SERVER - -/* Define to eliminate all trace of debugging messages such as for a - release build */ -#undef FG_NDEBUG - -/* Define to include Oliver's networking support */ -#undef FG_NETWORK_OLK - -/* Define to use Christian's old weather code */ -#undef FG_WEATHERCM - -/* Define to enable new Plib joystick features (post 1.4) */ -#undef FG_PLIB_JOYSTICK_GETNAME - -/* Define if we are building FGFS (should always be defined) */ -#undef FGFS - -/* Define to enable 3dfx/glide render in a window hack under unix. - This probably won't work under windows. */ -#undef XMESA -#undef FX - -/* Define to the type of elements in the array set by `getgroups'. - Usually this is either `int' or `gid_t'. */ -#undef GETGROUPS_T - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -#undef GETLOADAVG_PRIVILEGED - -/* Define if the `getpgrp' function takes no argument. */ -#undef GETPGRP_VOID - -/* Define to `int' if doesn't define. */ -#undef gid_t - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you external variables daylight. */ -#undef HAVE_DAYLIGHT - -/* Define if you don't have vprintf but do have _doprnt. */ -#undef HAVE_DOPRNT - -/* Define if your system has a working fnmatch function. */ -#undef HAVE_FNMATCH - -/* Define if your system has its own `getloadavg' function. */ -#undef HAVE_GETLOADAVG - -/* Define if you have getrusage() */ -#undef HAVE_GETRUSAGE - -/* Define if you have the getmntent function. */ -#undef HAVE_GETMNTENT - -/* Define if you have the gpc library and headers installed. */ -#undef HAVE_GPC_H - -/* Define if the `long double' type works. */ -#undef HAVE_LONG_DOUBLE - -/* Define if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define if system calls automatically restart after interruption - by a signal. */ -#undef HAVE_RESTARTABLE_SYSCALLS - -/* Define if you have rint() which rounds to closest int but returns - result as a double data type. */ -#undef HAVE_RINT - -/* Define if your struct stat has st_blksize. */ -#undef HAVE_ST_BLKSIZE - -/* Define if your struct stat has st_blocks. */ -#undef HAVE_ST_BLOCKS - -/* Define if you have the strcoll function and it is properly defined. */ -#undef HAVE_STRCOLL - -/* Define if your struct stat has st_rdev. */ -#undef HAVE_ST_RDEV - -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME - -/* Define if you have */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define if you have timegm() */ -#undef HAVE_TIMEGM - -/* Define if you external variables timezone. */ -#undef HAVE_TIMEZONE - -/* Define if your struct tm has tm_zone. */ -#undef HAVE_TM_ZONE - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#undef HAVE_TZNAME - -/* Define if you have . */ -#undef HAVE_UNISTD_H - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL - -/* Define if you have . */ -#undef HAVE_VFORK_H - -/* Define if you have the vprintf function. */ -#undef HAVE_VPRINTF - -/* Define if you have the wait3 system call. */ -#undef HAVE_WAIT3 - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define if int is 16 bits instead of 32. */ -#undef INT_16_BITS - -/* Define if long int is 64 bits. */ -#undef LONG_64_BITS - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_MKDEV - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_SYSMACROS - -/* Define if on MINIX. */ -#undef _MINIX - -/* Define to `int' if doesn't define. */ -#undef mode_t - -/* Define if you don't have , but have . */ -#undef NDIR - -/* Define if you have , and doesn't declare the - mem* functions. */ -#undef NEED_MEMORY_H - -/* Define if your struct nlist has an n_un member. */ -#undef NLIST_NAME_UNION - -/* Define if you have . */ -#undef NLIST_STRUCT - -/* Define if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define to package name */ -#undef PACKAGE - -/* Define to `int' if doesn't define. */ -#undef pid_t - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -#undef _POSIX_1_SOURCE - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define if the `setpgrp' function takes no argument. */ -#undef SETPGRP_VOID - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -#undef SETVBUF_REVERSED - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define on System V Release 4. */ -#undef SVR4 - -/* Define if you don't have , but have . */ -#undef SYSDIR - -/* Define if you don't have , but have . */ -#undef SYSNDIR - -/* Define if `sys_siglist' is declared by . */ -#undef SYS_SIGLIST_DECLARED - -/* Define if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define if your declares struct tm. */ -#undef TM_IN_SYS_TIME - -/* Define to `int' if doesn't define. */ -#undef uid_t - -/* Define for Encore UMAX. */ -#undef UMAX - -/* Define for Encore UMAX 4.3 that has - instead of . */ -#undef UMAX4_3 - -/* Define if you do not have , index, bzero, etc.. */ -#undef USG - -/* Define vfork as fork if vfork does not work. */ -#undef vfork - -/* Define if the closedir function returns void instead of int. */ -#undef VOID_CLOSEDIR - -/* Define if compiling on a Winbloze (95, NT, etc.) platform */ -#undef WIN32 - -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define if the X Window System is missing or not being used. */ -#undef X_DISPLAY_MISSING - -/* Define if lex declares yytext as a char * by default, not a char[]. */ -#undef YYTEXT_POINTER - -/* Define to use tile loading threads */ -#undef ENABLE_THREADS - - -/* Leave that blank line there!! Autoheader needs it. - If you're adding to this file, keep in mind: - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). */ - diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..b2f747880 --- /dev/null +++ b/configure.ac @@ -0,0 +1,591 @@ +dnl Process this file with aclocal ; automake -a ; autoconf to produce a +dnl working configure script. + +# +# $Id$ +# + +AC_INIT +AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx]) + +# Require at least automake 2.53 +AC_PREREQ(2.53) + +# Initialize the automake stuff +AM_INIT_AUTOMAKE(FlightGear, 0.7.11pre1) + +# Checks for programs. +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_PROG_LN_S + +# Initialize libtool +# AM_PROG_LIBTOOL + +# Initialize maintainer mode +# AM_MAINTAINER_MODE + +# This is needed for AC_TRY_COMPILE later +# AC_ISC_POSIX + +# Check to see if this `configure' is being run in the `Cygwin32' environment +AC_EGREP_CPP(yes, +[#ifdef __MINGW32__ + yes + #endif +],is_mingw=yes, is_mingw=no) + +echo "IS_MINGW = $is_mingw" +AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes") + +AC_EGREP_CPP(yes, +[#ifdef __CYGWIN__ + yes + #endif +],is_cygwin=yes, is_cygwin=no) + +echo "IS_CYGWIN = $is_cygwin" +AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes") + +# Determine version of automake ... important becuase of +# incompatibilities between versions +AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'` +AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14) +AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15) + +# Used by JSBSim +AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode]) + +# Used on the Irix platform +AR="ar" +OS=`uname -s` +if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then + if test "$CXX" = "CC"; then + AR="CC -ar" + AC_SUBST(AR) + fi +fi + + +# Specify if we want logging (testing build) or not (release build) +# set logging default value +# with_logging=yes +AC_ARG_WITH(logging, [ --with-logging Include logging output (default)]) +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 Oliver's networking support +# default to with_network=yes +AC_ARG_WITH(network_olk, [ --with-network-olk Include Oliver's multi-pilot networking support]) +if test "x$with_network_olk" = "xno" ; then + echo "Building without Oliver's multi-pilot network support" +else + echo "Building with Oliver's multi-pilot network support" + AC_DEFINE([FG_NETWORK_OLK], 1, [Define to build with Oliver's networking]) +fi +AM_CONDITIONAL(ENABLE_NETWORK_OLK, test "x$with_network_olk" != "xno") + + +# Check if SimGear was built with Norman JPEG factory support +AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx) +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 + echo + echo "The JPEG factory code was built and installed with SimGear." + echo "However it appears the libjpeg is no longer installed." + echo "You need to install libjpeg or remove jpgfactory support from" + echo "SimGear" + echo + echo "libjpeg is available at :" + echo " ftp://ftp.uu.net in the directory graphics/jpeg" + exit 1 + fi + AC_DEFINE([FG_JPEG_SERVER], 1, + [Define to build with jpeg screen shot server]) +fi +AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes") + +# Specify if we want to use WeatherCM instead of FGEnvironment. +# default to with_weathercm=no +AC_ARG_WITH(new-environment, [ --with-weathercm Use WeatherCM instead of FGEnvironment]) +if test "x$with_weathercm" = "xyes" ; then + echo "Building with WeatherCM" + AC_DEFINE([FG_WEATHERCM], 1, + [Define to build with Christian Mayer's weather code]) +else + echo "Building with FGEnvironment" +fi +AM_CONDITIONAL(ENABLE_WEATHERCM, test "x$with_weathercm" = "xyes") + +# Let the Win32 user specify if they want to build with the SGI +# opengl.dll as opposed to the more standard openg32.dll +AC_ARG_WITH(sgi-opengl, [ --with-sgi-opengl Build against SGI's opengl.dll glu.dll and glut.dll]) + +dnl Thread related checks +AC_ARG_WITH(threads, [ --with-threads Include tile loading threads [default=no]]) +if test "x$with_threads" = "xyes"; then + AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging]) + CXXFLAGS="$CXXFLAGS -D_REENTRANT" + CFLAGS="$CFLAGS -D_REENTRANT" + AC_CHECK_HEADER(pthread.h) +fi +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 + +# specify the metakit location +AC_ARG_WITH(metakit, [ --with-metakit=prefix Specify the prefix path to metakit]) + +if test "x$with_metakit" != "x" ; then + echo "metakit prefix is $with_metakit" + EXTRA_DIRS="${EXTRA_DIRS} $with_metakit" +fi + +# specify the simgear location +AC_ARG_WITH(simgear, [ --with-simgear=prefix Specify the prefix path to simgear]) + +if test "x$with_simgear" != "x" ; then + echo "SimGear prefix path is $with_simgear" + EXTRA_DIRS="${EXTRA_DIRS} $with_simgear" +fi + +# Check for MS Windows environment +AC_CHECK_HEADER(windows.h) + +# extra library and include directories +if test "x$ac_cv_header_windows_h" != "xyes" ; then + EXTRA_DIRS="${EXTRA_DIRS} /usr/local /usr/X11R6" + + if test -d /opt/X11R6 ; then + EXTRA_DIRS="${EXTRA_DIRS} /opt/X11R6" + fi +else + if test "x$is_cygwin" = "xyes" ; then + EXTRA_DIRS="${EXTRA_DIRS} /usr/local" + fi +fi + +wi_EXTRA_DIRS(no, ${EXTRA_DIRS}) + +# Using AM_CONDITIONAL is a step out of the protected little +# automake fold so it is potentially dangerous. But, we are +# beginning to run into cases where the standard checks are not +# enough. AM_CONDITIONALS are then referenced to conditionally +# build a Makefile.in from a Makefile.am which lets us define custom +# includes, compile alternative source files, etc. + +# Check for external variables daylight and timezone. +AC_EXT_DAYLIGHT +if test "$have_daylight" = yes; then + AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable]) +fi +# AM_CONDITIONAL(HAVE_DAYLIGHT, test "$have_daylight" = yes ) + +AC_EXT_TIMEZONE +if test "$have_timezone" = yes; then + AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable]) +fi +# AM_CONDITIONAL(HAVE_TIMEZONE, test "$have_timezone" = yes ) + +# Check for audio support +AC_MSG_CHECKING(for audio support) +audio_LIBS="" +if test -r /usr/include/soundcard.h \ + -o -r /usr/include/linux/soundcard.h \ + -o -r /usr/include/machine/soundcard.h \ + -o -r /usr/include/audio.h \ + -o "x$ac_cv_header_windows_h" = "xyes" \ + -o "$HOSTTYPE" = "macintosh"; then + + AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support]) + audio_LIBS="-lplibsl -lplibsm" + AC_MSG_RESULT(yes) + if test -r /usr/include/audio.h; then + audio_LIBS="$audio_LIBS -laudio" + fi + + if test "x$ac_cv_header_windows_h" = "xyes"; then + audio_LIBS="$audio_LIBS -lwinmm" + fi + + if test "$HOSTTYPE" = "macintosh"; then + audio_LIBS="$audio_LIBS -framework Carbon" + fi +else + AC_MSG_RESULT(no) +fi +AC_SUBST(audio_LIBS) + +# Check for X11 (fancy) +if test "x$no_x" != "xyes"; then + AC_PATH_XTRA +fi + +# Checks for libraries. + +null_LIBS="$LIBS" + +AC_CHECK_LIB(m, cos) + +dnl MINGW requires libwsock32 +if test "x$is_mingw" = "xyes" ; then + LIBS="$LIBS -lws2_32" +fi + +base_LIBS="$LIBS" + +dnl Mesa >= 3.2 requires pthreads +AC_CHECK_LIB(pthread, pthread_exit) +AC_CHECK_LIB(socket, socket) + +dnl Skip X library tests. +if test "x$no_x" != "xyes"; then + 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) +fi + +# check for OpenGL related libraries + +if test "$HOSTTYPE" = "macintosh"; then + LIBS="$LIBS -framework OpenGL -framework GLUT -lobjc" +elif test "x$ac_cv_header_windows_h" != "xyes" ; then + # Reasonable stuff for non-windoze variants ... :-) + + AC_CHECK_LIB(GLcore, glNewList) + if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then + # if no GLcore, check for GL + AC_CHECK_LIB(GL, glNewList) + if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then + # if no GL, check for MesaGL + AC_CHECK_LIB(MesaGL, glNewList) + fi + else + # if GLcore found, then also check for GL + AC_CHECK_LIB(GL, glXCreateContext) + fi + + # check for xmesa.h and if found enable XMESA / FX + AC_CHECK_HEADER(GL/fxmesa.h) + if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then + save_LIBS="$LIBS" + AC_CHECK_LIB(GL, XMesaSetFXmode) + if test "x$ac_cv_lib_GL_XMesaSetFXmode" = "xyes" ; then + AC_DEFINE([XMESA], 1, [Define for Mesa FX mode]) + AC_DEFINE([FX], 1, [Define for Mesa FX mode]) + else + AC_CHECK_LIB(MesaGL, XMesaSetFXmode) + if test "x$ac_cv_lib_MesaGL_XMesaSetFXmode" = "xyes" ; then + AC_DEFINE([XMESA], 1, [Define for Mesa FX mode]) + AC_DEFINE([FX], 1, [Define for Mesa FX mode]) + fi + fi + LIBS="$save_LIBS" + fi + + AC_CHECK_LIB(GLU, gluLookAt) + if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then + # if no GLU, check for MesaGLU + AC_CHECK_LIB(MesaGLU, gluLookAt) + fi + + # check for glut + AC_CHECK_LIB(glut, glutGetModifiers) + + # test for glutGameModeString, but avoid adding glut a second time into + # the list of libraries + save_LIBS="$LIBS" + AC_CHECK_LIB(glut, glutGameModeString) + LIBS="$save_LIBS" +else + # Win32 is a little wierd because it has to try to handle the various + # winbloze-isms. We'll just do this manually for now. + + echo Win32 specific hacks... + AC_DEFINE([WIN32], 1, [Define if building on a Win32 platform]) + + # force a failed check since we will be building under windoze + AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") + + # just define these to true and hope for the best + ac_cv_lib_glut_glutGetModifiers="yes" + ac_cv_lib_glut_glutGameModeString="yes" + + if test "x$with_sgi_opengl" = "xyes" ; then + echo "Building with glut.dll, glu.dll, and opengl.dll" + WIN32_GLUT=glut + WIN32_GLU=glu + WIN32_OPENGL=opengl + else + echo "Building with glut32.dll, glu32.dll, and opengl32.dll" + WIN32_GLUT=glut32 + WIN32_GLU=glu32 + WIN32_OPENGL=opengl32 + fi + + LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}" + LIBS="$LIBS -luser32 -lgdi32" + echo "Will link apps with $LIBS" +fi + +if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then + echo + echo "Unable to find the necessary OpenGL or GLUT libraries." + echo "See config.log for automated test details and results ..." + exit 1 +fi + +if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then + echo + echo "Your version of glut doesn't support game mode." + echo "You need to install the latest version. If your distribution doesn't" + echo "provide a newer version, you can get the latest source code from:" + echo + echo " http://reality.sgi.com/opengl/glut3/glut3.html" + exit 1 +fi + +opengl_LIBS="$LIBS" +LIBS="$base_LIBS" + +AC_SUBST(base_LIBS) +AC_SUBST(opengl_LIBS) + +AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" ) + +# Check for "plib" without which we cannot go on +AC_CHECK_HEADER(plib/pu.h) +if test "x$ac_cv_header_plib_pu_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_LANG_SAVE +AC_LANG_CPLUSPLUS +# needed for plib 1.3.x and later +AC_CHECK_LIB(plibul, ulInit,,,) + +if test "x$ac_cv_lib_plibul_ulInit" != "xyes"; then + echo + echo "You have an old version of plib, you need to upgrade to at least" + echo "plib-1.4.2" + exit +fi + +AC_LANG_RESTORE + +# If we get here then plib is available, so force use of plib joystick lib +AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support]) + +# Do we have a new CVS plib version with jsJoystick::getName? +echo -n "Testing for Plib joystick getName support: " +AC_EGREP_HEADER( getName, plib/js.h, + plib_js_has_getname=yes, plib_js_has_getname=no ) +echo $plib_js_has_getname +if test $plib_js_has_getname = 'yes'; then + AC_DEFINE([FG_PLIB_JOYSTICK_GETNAME], 1, + [Define to enable plib joystick name support]) +fi + +# Check for the presence of SimGear +AC_CHECK_HEADER(simgear/version.h) +if test "x$ac_cv_header_simgear_version_h" != "xyes"; then + echo + echo "You *must* have the SimGear support library installed on your system" + echo "to build the FGFS simulator!" + echo + echo "Please see README.SimGear for more details." + echo + echo "configure aborted." + exit +fi + +AC_MSG_CHECKING(for proper simgear version) + +AC_TRY_RUN([ +#include + +#define STRINGIFY(X) XSTRINGIFY(X) +#define XSTRINGIFY(X) #X + +#define MIN_MAJOR 0 +#define MIN_MINOR 0 +#define MIN_MICRO 18 + +int main() { + int major, minor, micro; + + printf("%d.%d.%d or greater... ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); + + sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, µ ); + + if ( major < MIN_MAJOR ) { + return -1; + } else if ( major == MIN_MAJOR && minor < MIN_MINOR ) { + return -1; + } else if ( major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO ){ + return -1; + } + + return 0; +} + +], + AC_MSG_RESULT(yes), + [AC_MSG_RESULT(wrong version); + AC_MSG_ERROR([Install latest simgear first...])], + AC_MSG_RESULT(yes) +) + +# Check for MetaKit +AC_CHECK_HEADER(mk4.h) +if test "x$ac_cv_header_mk4_h" != "xyes"; then + echo + echo "MetaKit library not found." + echo + 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 "to compile and install on your system." + echo + echo "configure aborted." + exit +fi + +# Check for system installed zlib +AC_CHECK_HEADER(zlib.h) +if test "x$ac_cv_header_zlib_h" != "xyes"; then + echo + echo "zlib library not found." + echo + 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 "to compile and install on your system." + echo + echo "configure aborted." + echo +fi + +# 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 winbase.h values.h ) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T +AC_HEADER_TIME +AC_STRUCT_TM + +# Checks for library functions. +AC_TYPE_SIGNAL +AC_FUNC_VPRINTF +AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \ + random setitimer getitimer signal GetLocalTime rint getrusage ) + +AM_CONFIG_HEADER([src/Include/config.h]) + +AC_CONFIG_FILES([ \ + Makefile \ + man/Makefile \ + man/est-epsilon.1 \ + man/fgfs.1 \ + man/fgjs.1 \ + man/gl-info.1 \ + man/js_demo.1 \ + man/pstest.1 \ + scripts/Makefile \ + scripts/debug/Makefile \ + scripts/python/Makefile \ + src/Makefile \ + src/Include/Makefile \ + src/Include/version.h \ + src/Aircraft/Makefile \ + src/Airports/Makefile \ + src/ATC/Makefile \ + src/Autopilot/Makefile \ + src/Cockpit/Makefile \ + src/Cockpit/built_in/Makefile \ + src/Controls/Makefile \ + src/Environment/Makefile \ + src/FDM/Balloon/Makefile \ + src/FDM/JSBSim/Makefile \ + src/FDM/JSBSim/filtersjb/Makefile \ + src/FDM/LaRCsim/Makefile \ + src/FDM/UIUCModel/Makefile \ + src/FDM/YASim/Makefile \ + src/FDM/Makefile \ + src/GUI/Makefile \ + src/Input/Makefile \ + src/Main/Makefile \ + src/Main/runfgfs \ + src/Main/runfgfs.bat \ + src/Model/Makefile \ + src/Navaids/Makefile \ + src/Network/Makefile \ + src/NetworkOLK/Makefile \ + src/Objects/Makefile \ + src/Scenery/Makefile \ + src/Sound/Makefile \ + src/Time/Makefile \ + src/WeatherCM/Makefile \ + tests/Makefile \ +]) +AC_OUTPUT + +AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs]) + +echo "" +echo "Configure Summary" +echo "=================" + +echo "Prefix: $prefix" + +if test "x$with_logging" != "x"; then + echo "Debug messages: $with_logging" +else + echo "Debug messages: yes" +fi + +echo -n "Automake version: ($AUTO_MAKE_VERSION) " +automake --version | head -1 + +echo "New plib joystick name support: $plib_js_has_getname" + +if test "x$with_weathercm" != "x"; then + echo "WeatherCM instead of FGEnvironment: $with_weathercm" +else + echo "Using FGEnvironment" +fi + +if test "x$with_threads" = "xyes"; then + echo "threads: yes" +else + echo "threads: no" +fi diff --git a/src/Main/Makefile.am b/src/Main/Makefile.am index 7acbdb1a4..c1ca5fcfb 100644 --- a/src/Main/Makefile.am +++ b/src/Main/Makefile.am @@ -77,7 +77,7 @@ fgfs_LDADD = \ -lsgmath -lsgbucket -lsgdebug -lsgmagvar -lsgmisc -lsgxml \ -lsgserial \ $(THREAD_LIBS) \ - -lplibpu -lplibfnt -lplibnet -lplibssg -lplibsg \ + -lplibssgaux -lplibpu -lplibfnt -lplibnet -lplibssg -lplibsg \ -lmk4 -lz \ $(opengl_LIBS) \ $(audio_LIBS) diff --git a/src/Main/options.cxx b/src/Main/options.cxx index 5d30b1836..a6b53934c 100644 --- a/src/Main/options.cxx +++ b/src/Main/options.cxx @@ -1159,7 +1159,7 @@ fgUsage (bool verbose) } catch (const sg_exception &ex) { cout << "Unable to read the help file." << endl; cout << "Make sure the file options.xml is located in the FlightGear base directory," << endl; - cout << "and the location of the base directory is specified bij setting $FG_ROOT or" << endl; + cout << "and the location of the base directory is specified by setting $FG_ROOT or" << endl; cout << "by adding --fg-root=path as a program argument." << endl; exit(-1);