1 dnl Process this file with autoconf to produce a configure script.
3 dnl The basis for this file was generated by autoscan(1) [pere 1998-03-19]
6 AC_INIT(Simulator/Aircraft/aircraft.cxx)
8 dnl Initialize the automake stuff
9 AM_INIT_AUTOMAKE(FlightGear, 0.6.0)
11 dnl configure other independant packages included with flight gear for
13 AC_CONFIG_SUBDIRS( Lib/plib )
15 dnl Checks for programs.
23 dnl Initialize libtool
26 dnl Initialize maintainer mode
27 dnl AM_MAINTAINER_MODE
29 dnl This is needed for AC_TRY_COMPILE later
32 dnl Check to see if this `configure' is being run in the `Cygwin32' environment
35 dnl Specify if we want logging (testing build) or not (release build)
36 # set logging default value
38 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
39 if test "x$with_logging" = "xno" ; then
44 dnl specify if we are building with "checker"
45 AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"])
47 if test "x$with_efence" = "xyes" ; then
48 echo "Building with efence"
49 LIBS= "$LIBS -lefence"
52 dnl specify the compiled flight model
53 AC_ARG_WITH(flight-model, [ --with-flight-model=xxx Specify the flight model (navion, cherokee)])
55 if test "x$with_flight_model" = "xcherokee" ; then
56 echo "Building with cherokee flight model"
58 echo "Building with navion flight model"
60 AM_CONDITIONAL(ENABLE_CHEROKEE, test "x$with_flight_model" = "xcherokee")
62 dnl Let the Win32 user specify if they want to build with the SGI
63 dnl opengl.dll as opposed to the more standard openg32.dll
64 AC_ARG_WITH(sgi-opengl, [ --with-sgi-opengl Build against SGI's opengl.dll glu.dll and glut.dll])
66 dnl Check for MS Windows environment
67 AC_CHECK_HEADER(windows.h)
69 dnl Using AM_CONDITIONAL is a step out of the protected little
70 dnl automake fold so it is potentially dangerous. But, we are
71 dnl beginning to run into cases where the standard checks are not
72 dnl enough. AM_CONDITIONALS are then referenced to conditionally
73 dnl build a Makefile.in from a Makefile.am which lets us define custom
74 dnl includes, compile alternative source files, etc.
76 dnl Check for external variables daylight and timezone.
78 AM_CONDITIONAL(HAVE_DAYLIGHT, test "$have_daylight" = yes )
81 AM_CONDITIONAL(HAVE_TIMEZONE, test "$have_timezone" = yes )
83 dnl Check for Linux style audio support
84 AM_CONDITIONAL(ENABLE_AUDIO_SUPPORT, \
85 test -r /usr/include/soundcard.h \
86 -o -r /usr/include/linux/soundcard.h \
87 -o -r /usr/include/machine/soundcard.h \
88 -o -r /usr/include/audio.h \
89 -o "x$ac_cv_header_windows_h" = "xyes" )
91 AM_CONDITIONAL(ENABLE_IRIX_AUDIO, test -r /usr/include/audio.h)
93 AM_CONDITIONAL(ENABLE_WIN32_AUDIO, test "x$ac_cv_header_windows_h" = "xyes")
95 dnl Check for (currently Linux only style) joystick support
96 AM_CONDITIONAL(ENABLE_LINUX_JOYSTICK, test -r /usr/include/linux/joystick.h )
98 dnl Enable serial support on Unix type systems
99 AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
101 dnl extra library and include directories
102 EXTRA_DIRS="/usr/local /usr/X11R6"
104 if test -d /opt/X11R6 ; then
105 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
108 if test "x$ac_cv_header_windows_h" = "xyes" ; then
109 EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
110 # elif test `uname -s` = "SunOS" ; then
111 # EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS"
113 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
115 dnl Check for X11 (fancy)
118 dnl Checks for libraries.
126 AC_CHECK_LIB(socket, socket)
127 AC_CHECK_LIB(X11, XCreateWindow)
128 AC_CHECK_LIB(Xext, XShmCreateImage)
129 AC_CHECK_LIB(Xi, XGetExtensionVersion)
130 AC_CHECK_LIB(ICE, IceOpenConnection)
131 AC_CHECK_LIB(SM, SmcOpenConnection)
132 AC_CHECK_LIB(Xt, XtMalloc)
133 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
135 dnl check for OpenGL related libraries
137 if test "x$ac_cv_header_windows_h" != "xyes" ; then
138 dnl Reasonable stuff non-windoze variants ... :-)
140 AC_CHECK_LIB(GLcore, glNewList)
141 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
142 dnl if no GLcore, check for GL
143 AC_CHECK_LIB(GL, glNewList)
144 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
145 dnl if no GL, check for MesaGL
146 AC_CHECK_LIB(MesaGL, glNewList)
149 dnl if GLcore found, then also check for GL
150 AC_CHECK_LIB(GL, glXCreateContext)
153 dnl if using mesa, check for xmesa.h
154 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
155 AC_CHECK_HEADER(GL/xmesa.h)
156 AM_CONDITIONAL(ENABLE_XMESA_FX, \
157 test "x$ac_cv_header_GL_xmesa_h" = "xyes")
159 dnl force a failed check
160 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
163 AC_CHECK_LIB(GLU, gluLookAt)
164 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
165 dnl if no GLU, check for MesaGLU
166 AC_CHECK_LIB(MesaGLU, gluLookAt)
170 AC_CHECK_LIB(glut, glutGetModifiers)
172 dnl test for glutGameModeString, but avoid adding glut a second time into
173 dnl the list of libraries
175 AC_CHECK_LIB(glut, glutGameModeString)
178 dnl Win32 is a little wierd because it has to try to handle the various
179 dnl winbloze-isms. We'll just do this manually for now.
181 echo Win32 specific hacks...
184 dnl force a failed check since we will be building under windoze
185 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
187 if test "x$with_sgi_opengl" = "xyes" ; then
188 echo "Building with glut.dll, glu.dll, and opengl.dll"
193 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
196 WIN32_OPENGL=opengl32
199 if test -f `pwd`/Win32/${WIN32_GLUT}.dll; then
200 echo " found ${WIN32_GLUT}.dll, adding -l${WIN32_GLUT}"
201 LIBS="$LIBS -l${WIN32_GLUT}"
203 echo " Cannot find ${WIN32_GLUT}.dll"
207 if test -f `pwd`/Win32/${WIN32_GLU}.dll; then
208 echo " found ${WIN32_GLU}.dll"
210 echo " Can't find ${WIN32_GLU}.dll, assuming it's someplace"
212 echo " adding -l${WIN32_GLU}"
213 LIBS="$LIBS -l${WIN32_GLU}"
215 if test -f `pwd`/Win32/${WIN32_OPENGL}.dll; then
216 echo " found ${WIN32_OPENGL}.dll"
218 echo " Can't find ${WIN32_OPENGL}.dll, assuming it's somplace"
220 echo " adding -l${WIN32_OPENGL}"
221 LIBS="$LIBS -l${WIN32_OPENGL}"
223 echo " adding -luser32 -lgdi32"
224 LIBS="$LIBS -luser32 -lgdi32"
225 ac_cv_lib_glut_glutGetModifiers="yes"
226 ac_cv_lib_glut_glutGameModeString="yes"
229 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
231 echo "Unable to find the necessary OpenGL or GLUT libraries."
232 echo "See config.log for automated test details and results ..."
236 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
238 echo "Your version of glut doesn't support game mode."
239 echo "You need to fetch and install the latest version of glut from:"
241 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
249 AC_SUBST(opengl_LIBS)
251 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
253 dnl Check if Generic Polygon Clipping library is installed
254 dnl (from http://www.cs.man.ac.uk/aig/staff/alan/software/)
255 AC_CHECK_HEADERS( gpc.h )
256 if test "x$ac_cv_header_gpc_h" != "xyes"; then
258 echo "You need to have the GPC library installed on your system to build"
259 echo "some of the scenery generation tools, otherwise you won't be able."
260 echo "to create scenery."
262 echo "Please see README.gpc for more details."
264 echo "(pausing 2 seconds)"
268 dnl Check if Geographic Foundation Classes library is installed
269 dnl (from http://www.geog.psu.edu/~qian/gfc/index.html)
270 AC_CHECK_HEADERS( gfc/gdbf.h )
271 if test "x$ac_cv_header_gfc_gdbf_h" != "xyes"; then
273 echo "You need to have the GFC library installed on your system to build"
274 echo "some of the scenery generation tools, otherwise, they may fail."
276 echo "You can get the original library from:"
278 echo " http://www.geog.psu.edu/~qian/gfc/index.html"
280 echo "However, I recommend you grab a copy with a couple modifications I"
281 echo "have made which should eliminate several gfc build problems:"
283 echo " ftp://ftp.flightgear.org/pub/fgfs/Source/gfc-0.8.8.1a.tar.gz"
285 echo "(pausing 5 seconds)"
289 dnl Checks for header files.
292 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/stat.h sys/time.h \
293 sys/timeb.h unistd.h windows.h winbase.h values.h )
295 dnl Checks for typedefs, structures, and compiler characteristics.
301 dnl Checks for library functions.
304 AC_CHECK_FUNCS( ftime gettimeofday memcpy bcopy mktime strstr rand random \
305 setitimer getitimer signal GetLocalTime rint getrusage )
307 AM_CONFIG_HEADER(Include/config.h)
314 Lib/Bucket/Makefile \
318 Lib/Serial/Makefile \
322 Simulator/Aircraft/Makefile \
323 Simulator/Airports/Makefile \
324 Simulator/Astro/Makefile \
325 Simulator/Autopilot/Makefile \
326 Simulator/Cockpit/Makefile \
327 Simulator/Controls/Makefile \
328 Simulator/FDM/External/Makefile \
329 Simulator/FDM/JSBsim/Makefile \
330 Simulator/FDM/LaRCsim/Makefile \
331 Simulator/FDM/Slew/Makefile \
332 Simulator/FDM/Makefile \
333 Simulator/GUI/Makefile \
334 Simulator/Joystick/Makefile \
335 Simulator/Main/Makefile \
336 Simulator/Main/runfgfs \
337 Simulator/Main/runfgfs.bat \
339 Simulator/Objects/Makefile \
340 Simulator/Scenery/Makefile \
341 Simulator/Time/Makefile \
342 Simulator/Weather/Makefile \
344 Tools/Construct/Makefile \
345 Tools/Construct/Array/Makefile \
346 Tools/Construct/Clipper/Makefile \
347 Tools/Construct/Combine/Makefile \
348 Tools/Construct/GenOutput/Makefile \
349 Tools/Construct/Triangulate/Makefile \
350 Tools/Construct/Main/Makefile \
352 Tools/Lib/DEM/Makefile \
353 Tools/Lib/Polygon/Makefile \
354 Tools/Lib/Triangle/Makefile \
355 Tools/Prep/Makefile \
356 Tools/Prep/DemChop/Makefile \
357 Tools/Prep/DemInfo/Makefile \
358 Tools/Prep/DemRaw2ascii/Makefile \
359 Tools/Prep/GenAirports/Makefile \
360 Tools/Prep/ShapeFile/Makefile \
361 Tools/Utils/Makefile \
362 Tools/Utils/Makedir/Makefile \
363 Tools/Areas/Makefile \
367 AC_OUTPUT_COMMANDS([chmod 755 Simulator/Main/runfgfs])