1 dnl Process this file with aclocal ; automake -a ; autoconf to produce a
2 dnl working configure script.
7 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
9 # Require at least automake 2.52
12 dnl Initialize the automake stuff
13 AM_INIT_AUTOMAKE(SimGear, 0.0.19pre1)
15 dnl Specify KAI C++ compiler and flags.
16 dnl Borrowed with slight modification from blitz distribution.
18 [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)],
20 KCC*) # KAI C++ http://www.kai.com/
21 echo "Configuring for KAI C++"
22 AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings")
23 CXX_OPTIMIZE_FLAGS=="+K3 -O3"
24 CXX_DEBUG_FLAGS="-g +K0"
32 dnl Checks for programs.
43 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
44 if test "$CXX" = "CC"; then
50 if echo $includedir | egrep "simgear$" > /dev/null; then
51 echo "includedir is" $includedir "libdir is" $libdir
53 includedir="${includedir}/simgear"
54 echo "includedir changed to" $includedir "libdir is" $libdir
57 # Determine version of automake ... important because of
58 # incompatibilities between versions
59 AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'`
60 AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14)
61 AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15)
63 # set logging default value
65 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
66 if test "x$with_logging" = "xno" ; then
67 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
70 # Specify if we want to build with Norman's jpeg image server support.
71 # This requires libjpeg to be installed and available.
72 # Default to with_jpeg_server=no
74 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
75 if test "x$with_jpeg_factory" = "xyes" ; then
76 echo "Building with Norman's jpeg image factory support"
77 AC_CHECK_LIB(jpeg, jpeg_start_compress)
78 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
80 echo "In order to build the jpeg factory code you need libjpeg installed."
81 echo "otherwise please configure with the --with-jpeg-sever=no option"
83 echo "libjpeg is available at :"
84 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
88 echo "Building without Norman's jpeg image server support"
90 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
93 dnl Check for MS Windows environment
94 AC_CHECK_HEADER(windows.h)
100 ],is_mingw=yes, is_mingw=no)
102 echo "IS_MINGW = $is_mingw"
103 AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes")
109 ],is_cygwin=yes, is_cygwin=no)
111 echo "IS_CYGWIN = $is_cygwin"
112 AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes")
114 if test "x$HOSTTYPE" != "xmacintosh" -a "x$is_mingw" != "xyes"; then
115 dnl extra library and include directories
116 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
118 if test -d /opt/X11R6 ; then
119 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
123 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
125 dnl Using AM_CONDITIONAL is a step out of the protected little
126 dnl automake fold so it is potentially dangerous. But, we are
127 dnl beginning to run into cases where the standard checks are not
128 dnl enough. AM_CONDITIONALS are then referenced to conditionally
129 dnl build a Makefile.in from a Makefile.am which lets us define custom
130 dnl includes, compile alternative source files, etc.
132 dnl X11 might be installed on Mac OS X, don't want to use it if it is.
133 if test "x$HOSTTYPE" != "xmacintosh" ; then
134 dnl Check for X11 (fancy)
138 dnl Checks for libraries.
146 dnl Thread related checks
147 AC_CHECK_LIB(pthread, pthread_exit)
148 AC_CHECK_HEADER(pthread.h)
149 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
150 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
151 CFLAGS="$CFLAGS -D_REENTRANT"
153 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
155 AC_CHECK_LIB(socket, socket)
157 dnl X11 might be installed, but we don't want to use it for OSX -dw-
158 if test "x$HOSTTYPE" != "xmacintosh" ; then
159 AC_CHECK_LIB(X11, XCreateWindow)
160 AC_CHECK_LIB(Xext, XShmCreateImage)
161 AC_CHECK_LIB(Xi, XGetExtensionVersion)
162 AC_CHECK_LIB(ICE, IceOpenConnection)
163 AC_CHECK_LIB(SM, SmcOpenConnection)
164 AC_CHECK_LIB(Xt, XtMalloc)
165 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
168 dnl check for OpenGL related libraries
170 if test "x$HOSTTYPE" = "xmacintosh" ; then
172 LIBS="$LIBS -framework OpenGL -framework GLUT"
173 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
174 dnl Reasonable stuff for X-Windows based machines
176 AC_CHECK_LIB(GLcore, glNewList)
177 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
178 dnl if no GLcore, check for GL
179 AC_CHECK_LIB(GL, glNewList)
180 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
181 dnl if no GL, check for MesaGL
182 AC_CHECK_LIB(MesaGL, glNewList)
185 dnl if GLcore found, then also check for GL
186 AC_CHECK_LIB(GL, glXCreateContext)
189 dnl if using mesa, check for xmesa.h
190 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
191 AC_CHECK_HEADER(GL/fxmesa.h)
192 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
193 AC_DEFINE([XMESA], 1, [Define for fxmesa])
194 AC_DEFINE([FX], 1, [Define for fxmesa])
198 AC_CHECK_LIB(GLU, gluLookAt)
199 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
200 dnl if no GLU, check for MesaGLU
201 AC_CHECK_LIB(MesaGLU, gluLookAt)
205 AC_CHECK_LIB(glut, glutGetModifiers)
207 dnl test for glutGameModeString, but avoid adding glut a second time into
208 dnl the list of libraries
210 AC_CHECK_LIB(glut, glutGameModeString)
215 echo Win32 specific hacks...
216 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
218 dnl just define these to true and hope for the best
219 ac_cv_lib_glut_glutGetModifiers="yes"
220 ac_cv_lib_glut_glutGameModeString="yes"
222 if test "x$with_sgi_opengl" = "xyes" ; then
223 echo "Building with glut.dll, glu.dll, and opengl.dll"
228 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
231 WIN32_OPENGL=opengl32
234 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
235 LIBS="$LIBS -luser32 -lgdi32"
236 if test "x$is_mingw" = "xyes" ; then
237 EXTRA_DIRS="${EXTRA_DIRS}"
239 echo "Will link apps with $LIBS"
242 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
244 echo "Unable to find the necessary OpenGL or GLUT libraries."
245 echo "See config.log for automated test details and results ..."
249 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
251 echo "Your version of glut doesn't support game mode."
252 echo "You need to install the latest version of glut. If your"
253 echo "distribution doesn't provide a newer version, you can get the source"
256 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
264 AC_SUBST(opengl_LIBS)
266 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
268 # The following are C++ items that need to be tested for with the c++
273 dnl Check for "plib" without which we cannot go on
274 AC_CHECK_HEADER(plib/pu.h)
275 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
277 echo "You *must* have the plib library installed on your system to build"
278 echo "the FGFS simulator!"
280 echo "Please see README.plib for more details."
282 echo "configure aborted."
286 AC_CHECK_HEADER(plib/ssgaLensFlare.h)
287 if test "x$ac_cv_header_plib_ssgaLensFlare_h" = "xyes"; then
288 AC_DEFINE([FG_CHEESY_LENS_FLARE], 1, [Define for cheesy lens flare effect])
291 dnl Check for system installed metakit
292 AC_CHECK_HEADER(mk4.h)
293 if test "x$ac_cv_header_mk4_h" != "xyes"; then
295 echo "Metakit not found, you will need to install this first."
296 echo "Please read the README.metakit for more information."
302 dnl Specify if we want logging (testing build) or not (release build)
304 dnl Check for system installed zlib
305 AC_CHECK_HEADER(zlib.h)
306 if test "x$ac_cv_header_zlib_h" != "xyes"; then
308 echo "zlib not found, you will need to install this first."
309 echo "Please read the README.zlib for more information."
313 dnl Checks for header files.
316 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
317 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
319 if test "x$ac_cv_header_stdint_h" = "xyes"; then
320 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
323 dnl Checks for typedefs, structures, and compiler characteristics.
329 dnl Checks for library functions.
332 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
333 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
335 AM_CONFIG_HEADER(simgear/simgear_config.h)
343 simgear/bucket/Makefile \
344 simgear/debug/Makefile \
345 simgear/ephemeris/Makefile \
346 simgear/interpreter/Makefile \
347 simgear/io/Makefile \
348 simgear/magvar/Makefile \
349 simgear/math/Makefile \
350 simgear/metar/Makefile \
351 simgear/misc/Makefile \
352 simgear/route/Makefile \
353 simgear/screen/Makefile \
354 simgear/serial/Makefile \
355 simgear/sky/Makefile \
356 simgear/threads/Makefile \
357 simgear/timing/Makefile \
358 simgear/xgl/Makefile \
359 simgear/xml/Makefile \
365 echo "Configure Summary"
366 echo "================="
368 echo "Prefix: $prefix"
370 if test "x$with_logging" != "x"; then
371 echo "Debug messages: $with_logging"
373 echo "Debug messages: yes"
376 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
377 automake --version | head -1
379 if test "x$with_jpeg_factory" = "xyes"; then
380 echo "With JPEG Factory support"
382 echo "Without JPEG Factory support"
385 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
386 echo "Threads: pthread lib found."
388 echo "Threads: no threads (pthread lib not found.)"