]> git.mxchange.org Git - flightgear.git/blob - configure.ac
9add3a028683843b2ba610cc5db65d14a5a0535c
[flightgear.git] / configure.ac
1 dnl Process this file with autoget.sh to produce a working configure
2 dnl script.
3
4 AC_INIT
5 AC_CONFIG_SRCDIR([src/Aircraft/aircraft.cxx])
6
7 dnl Require at least automake 2.52
8 AC_PREREQ(2.52)
9
10 dnl Initialize the automake stuff
11 dnl set the $host variable based on local machine/os
12 AC_CANONICAL_TARGET
13 AM_INIT_AUTOMAKE(FlightGear, 1.99.4)
14
15 dnl Checks for programs.
16 AC_PROG_MAKE_SET
17 AC_PROG_CC
18 AC_PROG_CPP
19 AC_PROG_CXX
20 AC_PROG_RANLIB
21 AC_PROG_INSTALL
22 AC_PROG_LN_S
23
24 # specify the simgear location
25 AC_ARG_WITH(simgear, [  --with-simgear=PREFIX   Specify the prefix path to simgear])
26
27 if test "x$with_simgear" != "x" ; then
28     echo "SimGear prefix path is $with_simgear"
29     EXTRA_DIRS="${EXTRA_DIRS} $with_simgear"
30     CXXFLAGS="$CXXFLAGS -I$with_simgear"
31 fi
32
33 # specify the plib location
34 AC_ARG_WITH(plib, [  --with-plib=PREFIX      Specify the prefix path to plib])
35
36 if test "x$with_plib" != "x" ; then
37     echo "plib prefix is $with_plib"
38     EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
39 fi
40
41 # specify the osg location
42 AC_ARG_WITH(osg, [  --with-osg=PREFIX       Specify the prefix path to osg])
43
44 if test "x$with_osg" != "x" ; then
45     echo "osg prefix is $with_osg"
46     EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
47 fi
48
49 dnl Determine an extra directories to add to include/lib search paths
50 case "${host}" in
51 *-apple-darwin* | *-*-mingw32*)
52     echo no EXTRA_DIRS for $host
53     ;;
54
55 *-*-cygwin*)
56     if test -d /usr/local ; then
57         EXTRA_DIRS="${EXTRA_DIRS} /usr/local"
58     fi
59     ;;
60
61 *)
62     if test -d /usr/X11R6 ; then
63         EXTRA_DIR1="/usr/X11R6"
64     fi
65     if test -d /opt/X11R6 ; then
66         EXTRA_DIR2="/opt/X11R6"
67     fi
68     EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2 /usr/local"
69     ;;
70
71 esac
72 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
73
74
75 case "${host}" in
76 *-*-irix*)
77     if test "$CXX" = "CC"; then
78         AR="CC -ar"
79         ARFLAGS="-o"
80         CXXFLAGS="$CXXFLAGS -c99 -I$with_simgear/include/simgear/compatibility"
81         CFLAGS="$CFLAGS -c99"
82     else
83         AR="ar"
84         ARFLAGS="cru"
85     fi
86     ;;
87 *)
88     AR="ar"
89     ARFLAGS="cru"
90     ;;
91 esac
92 AC_SUBST(AR)
93 AC_SUBST(ARFLAGS)
94
95 dnl set logging; default value of with_logging=yes
96 AC_ARG_WITH(logging, [  --with-logging          Include logging output (default)])
97 if test "x$with_logging" = "xno" ; then
98     AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
99 fi
100
101 AC_ARG_ENABLE(sp_fdms, [  --enable-sp-fdms               Include special purpose Flight Models], [enable_sp_fdms="$enableval"] )
102 if test "x$enable_sp_fdms" != "xno"; then
103     AC_DEFINE([ENABLE_SP_FDM], 1, [Define to include special purpose FDMs])
104 else
105     AC_DEFINE([ENABLE_SP_FDM], 0, [Define to include special purpose FDMs])
106 fi
107 AM_CONDITIONAL(ENABLE_SP_FDM, test "x$enable_sp_fdms" != "xno")
108
109
110 dnl Thread related checks
111 # defaults to yes
112 AC_ARG_WITH(threads, [  --with-threads          Include tile loading threads [default=yes]], [], [with_threads=yes])
113 if test "x$with_threads" = "xyes"; then
114     AC_DEFINE([ENABLE_THREADS], 1, [Define to enable threaded tile paging])
115     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
116     CFLAGS="$CFLAGS -D_REENTRANT"
117 fi
118 AC_CHECK_HEADER(pthread.h)
119 AM_CONDITIONAL(WITH_THREADS, test "x$with_threads" = "xyes")
120
121 dnl Used by JSBSim to conditionally compile in fgfs interface code
122 AC_DEFINE([FGFS], 1, [Define so that JSBSim compiles in 'library' mode])
123
124 # Check for MS Windows environment
125 AC_CHECK_HEADER(windows.h)
126
127 dnl Using AM_CONDITIONAL is a step out of the protected little 
128 dnl automake fold so it is potentially dangerous.  But, we are
129 dnl beginning to run into cases where the standard checks are not
130 dnl enough.  AM_CONDITIONALS are then referenced to conditionally
131 dnl build a Makefile.in from a Makefile.am which lets us define custom
132 dnl includes, compile alternative source files, etc.
133
134 dnl Check for external variables daylight and timezone.
135 AC_EXT_DAYLIGHT
136 if test "$have_daylight" = yes; then
137     AC_DEFINE([HAVE_DAYLIGHT], 1, [Define if system has daylight variable])
138 fi
139
140 AC_EXT_TIMEZONE
141 if test "$have_timezone" = yes; then
142     AC_DEFINE([HAVE_TIMEZONE], 1, [Define if system has timezone variable])
143 fi
144
145
146 dnl add joystick support libraries
147 dnl search for FreeBSD library
148 AC_SEARCH_LIBS(hid_init, usbhid)
149 joystick_LIBS="$LIBS"
150 LIBS=""
151
152
153 dnl ENABLE_AUDIO_SUPPORT could be depricated at any time in favor of
154 dnl just assuming we have audio support on all platform.  We can
155 dnl depend on plib to hide the details.
156 AC_DEFINE([ENABLE_AUDIO_SUPPORT], 1, [Define for audio support])
157
158 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
159 dnl to use it if it is.
160 case "${host}" in
161 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
162     echo no fancy X11 check
163     ;;
164
165 *)
166     AC_PATH_XTRA
167     ;;
168
169 esac
170
171 dnl Checks for libraries.
172
173 dnl Thread related checks
174 AC_SEARCH_LIBS(pthread_create, [pthread c_r])
175 if test "x$ac_cv_header_pthread_h" = "xyes"; then
176   if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
177     CXXFLAGS="-pthread $CXXFLAGS"
178     CFLAGS="-pthread $CFLAGS"
179   fi
180 fi
181
182 thread_LIBS="$LIBS"
183 LIBS=""
184
185 dnl search for network related libraries
186 AC_SEARCH_LIBS(inet_addr, xnet)
187 AC_SEARCH_LIBS(socket, socket)
188 AC_SEARCH_LIBS(main, nsl)
189
190 network_LIBS="$LIBS"
191 LIBS=""
192
193 dnl check for some default libraries
194 AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
195 AC_SEARCH_LIBS(ceil, m)
196 AC_SEARCH_LIBS(dlclose, dl)
197
198 base_LIBS="$LIBS"
199
200 dnl Check for SDL or glut if enabled.
201 AC_ARG_ENABLE(osgviewer, [  --enable-osgviewer                  Configure to use osgViewer(default)], [enable_osgviewer="$enableval"])
202 AC_ARG_ENABLE(sdl,  [  --enable-sdl                   Configure to use SDL], [enable_sdl="$enableval"])
203 AC_ARG_ENABLE(glut, [  --enable-glut                  Configure to use GLUT], [enable_glut="$enableval"])
204 AM_CONDITIONAL(USE_SDL, test "x$enable_sdl" = "xyes")
205 AM_CONDITIONAL(USE_GLUT, test "x$enable_glut" = "xyes")
206 if test "x$enable_sdl" != "xyes" -a "x$enable_glut" != "xyes" -a "x$enable_osgviewer" != "xno"; then
207    enable_osgviewer="yes"
208 fi
209 if test \( "x$enable_osgviewer" = "xyes" \
210    -a \( "x$enable_sdl" = "xyes" -o "x$enable_glut" = "xyes" \) \) \
211    -o \( "x$enable_sdl" = "xyes" -a "x$enable_glut" = "xyes" \); then
212    echo " Only one of --enable-osgviewer, --enable-sdl, or --enable -glut may"
213    echo " be supplied."
214    exit
215 fi
216 AC_DEFINE([PU_USE_NONE], 1, [Define to use application's pu callbacks])
217
218 AC_ARG_ENABLE(osgdebug, [  --enable-osgdebug              Use OSG debug libraries], [enable_osgdebug="$enableval"])
219
220 dnl check for OpenGL related libraries
221 case "${host}" in
222 *-*-cygwin* | *-*-mingw32*)
223     dnl CygWin under Windoze.
224
225     echo Win32 specific hacks...
226     AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
227     AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
228
229     if test "x$enable_sdl" = "xyes"; then
230         AC_SEARCH_LIBS(SDL_Init, SDL)
231     else
232         LIBS="$LIBS -lglut32"
233     fi
234
235     LIBS="$LIBS -lglu32 -lopengl32 -luser32 -lgdi32"
236     joystick_LIBS="$joystick_LIBS -lwinmm"
237
238     dnl add -lwsock32 for mingwin
239     case "${host}" in
240     *-*-mingw32*)
241         echo "********** BUILDING FOR MINGW32 *************"
242         network_LIBS="$network_LIBS -lws2_32"
243         ;;
244     esac
245
246     echo "Will link apps with $LIBS"
247     ;;
248
249
250 *-apple-darwin*)
251     dnl Mac OS X
252
253     LIBS="$LIBS -framework GLUT -framework OpenGL -framework AGL -framework Carbon -lobjc"
254     joystick_LIBS="$joystick_LIBS -framework IOKit -framework CoreFoundation"
255     ;;
256
257 *)
258     dnl X-Windows based machines
259
260     dnl Skip X11 library tests if requested.
261     if test "x$no_x" != "xyes"; then
262         AC_SEARCH_LIBS(XCreateWindow, X11)
263         AC_SEARCH_LIBS(XShmCreateImage, Xext)
264         AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
265         AC_SEARCH_LIBS(IceOpenConnection, ICE)
266         AC_SEARCH_LIBS(SmcOpenConnection, SM)
267         AC_SEARCH_LIBS(XtMalloc, Xt)
268         AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
269     fi
270
271     AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
272     if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
273         dnl if GLcore found, then also check for GL
274         AC_SEARCH_LIBS(glXCreateContext, GL)
275     fi
276
277     dnl if using mesa, check for xmesa.h
278     if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
279         AC_CHECK_HEADER(GL/fxmesa.h)
280         if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
281             AC_DEFINE([XMESA], 1, [Define for fxmesa])
282             AC_DEFINE([FX], 1, [Define for fxmesa])
283         fi
284     fi
285
286     AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
287     AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
288     if test "x$enable_sdl" = "xyes"; then
289         AC_SEARCH_LIBS(SDL_Init, SDL)
290     fi
291     ;;
292
293 esac
294
295 opengl_LIBS="$LIBS"
296 LIBS="$base_LIBS $joystick_LIBS"
297
298 dnl check for OpenAL libraries
299 OPENAL_OK="no"
300 ALUT_OK="no"
301 case "${host}" in
302 *-*-cygwin* | *-*-mingw32*)
303     dnl CygWin under Windoze.
304     INCLUDES="$INCLUDES -I/usr/local/include/"
305     LIBS="$LIBS -L/usr/local/lib"
306     AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal ] )
307     AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
308     LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
309     openal_LIBS="$LIBS"
310     OPENAL_OK="$ac_cv_search_alGenBuffers"
311     ALUT_OK="$ac_cv_search_alutInit"
312     ;;
313
314 *-apple-darwin*)
315     dnl Mac OS X
316
317     LIBS="$LIBS -framework IOKit -framework OpenAL"
318     openal_LIBS="$LIBS"
319     # not sure how to test if OpenAL exists on MacOS (does it come by default?)
320     OPENAL_OK="yes"
321     ALUT_OK="yes"
322     ;;
323
324 *)
325     dnl default unix style machines
326
327     save_LIBS=$LIBS
328     LIBS="$LIBS $thread_LIBS"
329     AC_SEARCH_LIBS(alGenBuffers, openal)
330     AC_SEARCH_LIBS(alutInit, [ alut openal ] )
331     OPENAL_OK="$ac_cv_search_alGenBuffers"
332     ALUT_OK="$ac_cv_search_alutInit"
333     openal_LIBS="$LIBS"
334     LIBS=$save_LIBS
335     ;;
336
337 esac
338
339 if test "$OPENAL_OK" == "no"; then
340     echo
341     echo "You *must* have the openal library installed on your system to build"
342     echo "SimGear!"
343     echo
344     echo "Please see README.OpenAL for more details."
345     echo
346     echo "configure aborted."
347     exit
348 fi
349
350 if test "$ALUT_OK" == "no"; then
351     echo
352     echo "You *must* have the alut library installed on your system to build"
353     echo "SimGear!"
354     echo
355     echo "Please see README.OpenAL for more details."
356     echo
357     echo "configure aborted."
358     exit
359 fi
360
361
362 LIBS="$base_LIBS"
363
364 AC_SUBST(base_LIBS)
365 AC_SUBST(openal_LIBS)
366 AC_SUBST(opengl_LIBS)
367 AC_SUBST(thread_LIBS)
368 AC_SUBST(network_LIBS)
369 AC_SUBST(joystick_LIBS)
370
371 # The following are C++ items that need to be tested for with the c++
372 # compiler
373
374 AC_LANG_PUSH(C++)
375
376 dnl Check for the presence of SimGear
377 if test "x$with_simgear" != "x"; then
378 AC_CHECK_HEADER($with_simgear/include/simgear/version.h, [ac_cv_header_simgear_version_h=yes], [ac_cv_header_simgear_version_h=no])
379 else
380 AC_CHECK_HEADER(simgear/version.h)
381 fi
382 if test "x$ac_cv_header_simgear_version_h" != "xyes"; then
383     echo
384     echo "You *must* have the SimGear support library installed on your system"
385     echo "to build the FGFS simulator!"
386     echo
387     echo "Please see README.SimGear for more details."
388     echo
389     echo "configure aborted."
390     exit
391 fi
392
393 AC_MSG_CHECKING([for simgear 0.3.10 or newer])
394 AC_TRY_RUN([
395 #include <stdio.h>
396
397 #include <simgear/version.h>
398
399 #define STRINGIFY(X) XSTRINGIFY(X)
400 #define XSTRINGIFY(X) #X
401
402 #define MIN_MAJOR 0
403 #define MIN_MINOR 3
404 #define MIN_MICRO 10
405
406 int main() {
407     int major, minor, micro;
408
409     /* printf("%d.%d.%d or greater, ", MIN_MAJOR, MIN_MINOR, MIN_MICRO); */
410     printf("[found %s] ... ", STRINGIFY(SIMGEAR_VERSION));
411
412     sscanf( STRINGIFY(SIMGEAR_VERSION), "%d.%d.%d", &major, &minor, &micro );
413
414     if ( (major < MIN_MAJOR) ||
415          (major == MIN_MAJOR && minor < MIN_MINOR) ||
416          (major == MIN_MAJOR && minor == MIN_MINOR && micro < MIN_MICRO) ) {
417          return -1;
418     }
419
420     return 0;
421 }
422
423 ],
424   AC_MSG_RESULT(yes),
425   [AC_MSG_RESULT(wrong version);
426    AC_MSG_ERROR([Install latest simgear first...])],
427   AC_MSG_RESULT(yes)
428 )
429
430 LIBS="$saved_LIBS"
431
432 dnl Check if SimGear was built with Norman's JPEG factory support
433 if test "x$with_simgear" != "x"; then
434 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])
435 else
436 AC_CHECK_HEADER(simgear/screen/jpgfactory.hxx)
437 fi
438 if test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes"; then
439     AC_CHECK_LIB(jpeg, jpeg_start_compress)
440     if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
441         echo
442         echo "The JPEG factory code was built and installed with SimGear."
443         echo "However it appears the libjpeg is no longer installed."
444         echo "You need to install libjpeg or remove jpgfactory support from"
445         echo "SimGear"
446         echo
447         echo "libjpeg is available at :"
448         echo "  ftp://ftp.uu.net in the directory graphics/jpeg"
449         exit 1
450     fi
451     AC_DEFINE([FG_JPEG_SERVER], 1,
452               [Define to build with jpeg screen shot server])
453 fi
454 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$ac_cv_header_simgear_screen_jpgfactory_hxx" = "xyes")
455
456 # Check for "plib" without which we cannot go on
457 AC_CHECK_HEADER(plib/ul.h)
458 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
459     echo
460     echo "You *must* have the plib library installed on your system to build"
461     echo "the FGFS simulator!"
462     echo
463     echo "Please see README.plib for more details."
464     echo
465     echo "configure aborted."
466     exit
467 fi
468
469 AC_MSG_CHECKING([for plib 1.8.5 or newer])
470 AC_TRY_RUN([
471 #include <plib/ul.h>
472
473 #define MIN_PLIB_VERSION 185
474
475 int main() {
476     int major, minor, micro;
477
478     if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
479          return -1;
480     }
481
482     return 0;
483 }
484
485 ],
486   AC_MSG_RESULT(yes),
487   [AC_MSG_RESULT(wrong version);
488    AC_MSG_ERROR([Install plib 1.8.5 or later first...])],
489   AC_MSG_RESULT(yes)
490 )
491
492 dnl If we get here then plib is available, so force use of plib
493 dnl joystick lib
494 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
495
496 AC_CHECK_HEADER(osg/Version)
497 if test "x$ac_cv_header_osg_Version" != "xyes"; then
498     echo
499     echo "You *must* have the OpenSceneGraph support library installed on your system"
500     echo "to build the FGFS simulator!"
501     echo
502     echo "Please see README.OSG for more details."
503     echo
504     echo "configure aborted."
505     exit
506 fi
507
508 # Find the OSG libraries.  Note special handling for OS X frameworks
509 case "${host}" in
510 *-apple-darwin*)
511
512     dnl Thank you Christian Bauer from SheepSaver
513     dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES)
514     AC_DEFUN([AC_CHECK_FRAMEWORK], [
515     AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
516     AC_CACHE_CHECK([whether compiler supports framework $1],
517         ac_Framework, [
518         saved_LIBS="$LIBS"
519         LIBS="$LIBS -framework $1"
520         AC_TRY_LINK(
521         [$2], [],
522         [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
523         )
524     ])
525     AS_IF([test AS_VAR_GET(ac_Framework) = yes],
526         [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
527     )
528     AS_VAR_POPDEF([ac_Framework])dnl
529     ])
530
531     if test "x$enable_osgdebug" = "xyes"; then
532         AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
533         AC_CHECK_LIB(osgGAd,osgGAGetVersion)
534         AC_CHECK_LIB(osgTextd,osgTextGetVersion)
535         LIBS="$LIBS -losgFXd"
536         AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
537         AC_CHECK_LIB(osgDBd,osgDBGetVersion)
538         AC_CHECK_LIB(osgSimd,osgSimGetVersion)
539         AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
540         AC_CHECK_LIB(osgd,osgGetVersion)
541         AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
542     else
543         AC_CHECK_FRAMEWORK(osgViewer, [#include <osgViewer/Version>])
544         AC_CHECK_FRAMEWORK(osgGA, [#include <osgGA/Version>])
545         AC_CHECK_FRAMEWORK(osgText, [#include <osgText/Version>])
546         AC_CHECK_FRAMEWORK(osgFX, [#include <osgFX/AnisotropicLighting>])
547         AC_CHECK_FRAMEWORK(osgUtil, [#include <osgUtil/Version>])
548         AC_CHECK_FRAMEWORK(osgDB, [#include <osgDB/Version>])
549         AC_CHECK_FRAMEWORK(osgSim, [#include <osgSim/Version>])
550         AC_CHECK_FRAMEWORK(osgParticle, [#include <osgParticle/Version>])
551         AC_CHECK_FRAMEWORK(osg, [#include <osg/Version>])
552         AC_CHECK_FRAMEWORK(OpenThreads, [#include <OpenThreads/Version>])
553     fi
554     ;;
555 *)
556     if test "x$enable_osgdebug" = "xyes"; then
557         AC_CHECK_LIB(OpenThreadsd,OpenThreadsGetVersion)
558         AC_CHECK_LIB(osgd,osgGetVersion)
559         AC_CHECK_LIB(osgUtild,osgUtilGetVersion)
560         AC_CHECK_LIB(osgDBd,osgDBGetVersion)
561         AC_CHECK_LIB(osgTextd,osgTextGetVersion)
562         AC_CHECK_LIB(osgGAd,osgGAGetVersion)
563         AC_CHECK_LIB(osgViewerd,osgViewerGetVersion)
564         AC_CHECK_LIB(osgSimd,osgSimGetVersion)
565         AC_CHECK_LIB(osgParticled,osgParticleGetVersion)
566         LIBS="$LIBS -losgFXd"
567     else
568         AC_CHECK_LIB(OpenThreads,OpenThreadsGetVersion)
569         AC_CHECK_LIB(osg,osgGetVersion)
570         AC_CHECK_LIB(osgUtil,osgUtilGetVersion)
571         AC_CHECK_LIB(osgDB,osgDBGetVersion)
572         AC_CHECK_LIB(osgText,osgTextGetVersion)
573         AC_CHECK_LIB(osgGA,osgGAGetVersion)
574         AC_CHECK_LIB(osgViewer,osgViewerGetVersion)
575         AC_CHECK_LIB(osgSim,osgSimGetVersion)
576         AC_CHECK_LIB(osgParticle,osgParticleGetVersion)
577         LIBS="$LIBS -losgFX"
578     fi
579     ;;
580 esac
581
582 AC_LANG_POP
583
584 dnl Check for system installed zlib
585 AC_CHECK_HEADER(zlib.h)
586 if test "x$ac_cv_header_zlib_h" != "xyes"; then
587     echo
588     echo "zlib library not found."
589     echo
590     echo "If your OS does not provide an installable package for zlib"
591     echo "you will have to compile and install it first yourself.  A copy"
592     echo "of zlib-1.1.4.tar.gz is included with SimGear.  You will"
593     echo "have to untar this source code, and follow it's included instructions"
594     echo "to compile and install on your system."
595     echo
596     echo "configure aborted."
597     echo
598 fi
599
600 dnl Check for Subversion library support
601 save_LIBS=$LIBS
602 save_CPPFLAGS=$CPPFLAGS
603 LIBS=""
604 CPPFLAGS="-I/usr/include/subversion-1 -I/usr/include/apr-1.0"
605 AC_CHECK_LIB(svn_client-1, svn_client_checkout3)
606 AC_CHECK_HEADERS([svn_client.h])
607 if test "x$ac_cv_header_svn_client_h" != "xyes"; then
608   echo "TerraSync will shell out for command line subversion"
609   svn_LIBS=""
610   svn_CPPFLAGS=""
611 else
612   echo "TerraSync will use integrated subversion library"
613   AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
614   svn_LIBS=$LIBS
615   svn_CPPFLAGS=$CPPFLAGS
616   AC_SUBST(svn_LIBS)
617   AC_SUBST(svn_CPPFLAGS)
618 fi
619 LIBS=$save_LIBS
620 CPPFLAGS=$save_CPPFLAGS
621
622 dnl Checks for header files.
623 AC_HEADER_STDC
624 AC_CHECK_HEADERS( \
625         fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
626         sys/time.h sys/timeb.h unistd.h windows.h values.h )
627
628 dnl Checks for typedefs, structures, and compiler characteristics.
629 AC_C_CONST
630 AC_TYPE_SIZE_T
631 AC_HEADER_TIME
632 AC_STRUCT_TM
633
634 dnl Checks for library functions.
635 old_LIBS=$LIBS
636 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
637 AC_TYPE_SIGNAL
638 AC_FUNC_VPRINTF
639 AC_CHECK_FUNCS( [ \
640         ftime gettimeofday timegm memcpy bcopy mktime strstr rand mkfifo \
641         random drand48 setitimer getitimer signal GetLocalTime rint getrusage \
642         truncf ] )
643 LIBS=$old_LIBS
644
645 AM_CONFIG_HEADER(src/Include/config.h)
646
647 AC_CONFIG_FILES([ \
648         Makefile \
649         man/Makefile \
650         man/est-epsilon.1 \
651         man/fgfs.1 \
652         man/fgjs.1 \
653         man/gl-info.1 \
654         man/js_demo.1 \
655         man/pstest.1 \
656         scripts/Makefile \
657         scripts/debug/Makefile \
658         scripts/perl/Makefile \
659         scripts/perl/examples/Makefile \
660         scripts/python/Makefile \
661         src/Makefile \
662         src/Include/Makefile \
663         src/Include/version.h \
664         src/Include/config.h-msvc6 \
665         src/Include/config.h-msvc71 \
666         src/Include/config.h-msvc8 \
667         src/Aircraft/Makefile \
668         src/Airports/Makefile \
669         src/ATC/Makefile \
670         src/ATCDCL/Makefile \
671         src/Autopilot/Makefile \
672         src/Cockpit/Makefile \
673         src/Cockpit/built_in/Makefile \
674         src/Environment/Makefile \
675         src/FDM/ExternalNet/Makefile \
676         src/FDM/ExternalPipe/Makefile \
677         src/FDM/JSBSim/Makefile \
678         src/FDM/JSBSim/initialization/Makefile \
679         src/FDM/JSBSim/input_output/Makefile \
680         src/FDM/JSBSim/math/Makefile \
681         src/FDM/JSBSim/models/Makefile \
682         src/FDM/JSBSim/models/flight_control/Makefile \
683         src/FDM/JSBSim/models/atmosphere/Makefile \
684         src/FDM/JSBSim/models/propulsion/Makefile \
685         src/FDM/LaRCsim/Makefile \
686         src/FDM/SP/Makefile \
687         src/FDM/UIUCModel/Makefile \
688         src/FDM/YASim/Makefile \
689         src/FDM/Makefile \
690         src/GUI/Makefile \
691         src/Input/Makefile \
692         src/Instrumentation/Makefile \
693         src/Instrumentation/KLN89/Makefile \
694         src/Instrumentation/HUD/Makefile \
695         src/Main/Makefile \
696         src/Main/runfgfs \
697         src/Main/runfgfs.bat \
698         src/Model/Makefile \
699         src/AIModel/Makefile \
700         src/MultiPlayer/Makefile \
701         src/Navaids/Makefile \
702         src/Network/Makefile \
703         src/Scenery/Makefile \
704         src/Scripting/Makefile \
705         src/Sound/Makefile \
706         src/Systems/Makefile \
707         src/Time/Makefile \
708         src/Traffic/Makefile \
709         tests/Makefile \
710         utils/Makefile \
711         utils/GPSsmooth/Makefile \
712         utils/fgadmin/Makefile
713         utils/fgadmin/src/Makefile \
714         utils/js_server/Makefile \
715         utils/Modeller/Makefile \
716         utils/TerraSync/Makefile \
717         utils/xmlgrep/Makefile \
718 ])
719 AC_OUTPUT
720
721 AC_OUTPUT_COMMANDS([chmod 755 src/Main/runfgfs])
722
723 echo ""
724 echo "Configure Summary"
725 echo "================="
726
727 echo "Prefix: $prefix"
728
729 if test "x$with_logging" != "x"; then
730     echo "Debug messages: $with_logging"
731 else
732     echo "Debug messages: yes"
733 fi
734
735 echo -n "Automake version: "
736 automake --version | head -n 1
737
738 if test "x$with_multiplayer" != "xno"; then
739     echo "Building with multiplayer support"
740 fi
741
742 if test "x$with_threads" = "xyes"; then
743     echo "threads: yes"
744 else
745     echo "threads: no"
746 fi
747
748 if test "x$enable_sp_fdms" != "xno"; then
749     echo "Include special purpose flight models: yes"
750 else
751     echo "Include special purpose flight models: no"
752 fi
753