1 dnl Process this file with autoget.sh to produce a working configure
7 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
9 dnl Require at least automake 2.52
12 dnl Initialize the automake stuff
13 AM_INIT_AUTOMAKE(SimGear, 0.3.3)
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.
41 dnl set the $host variable based on local machine/os
44 dnl Used on the Irix platform
49 if test "$CXX" = "CC"; then
52 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility"
59 if echo $includedir | egrep "simgear$" > /dev/null; then
60 echo "includedir is" $includedir "libdir is" $libdir
62 includedir="${includedir}/simgear"
63 echo "includedir changed to" $includedir "libdir is" $libdir
66 dnl set logging; default value of with_logging=yes
67 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
68 if test "x$with_logging" = "xno" ; then
69 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
72 # Specify if we want to build with Norman's jpeg image server support.
73 # This requires libjpeg to be installed and available.
74 # Default to with_jpeg_server=no
76 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
77 if test "x$with_jpeg_factory" = "xyes" ; then
78 echo "Building with Norman's jpeg image factory support"
79 AC_CHECK_LIB(jpeg, jpeg_start_compress)
80 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
82 echo "In order to build the jpeg factory code you need libjpeg installed."
83 echo "otherwise please configure with the --with-jpeg-sever=no option"
85 echo "libjpeg is available at :"
86 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
90 echo "Building without Norman's jpeg image server support"
92 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
95 dnl Determine an extra directories to add to include/lib search paths
97 *-apple-darwin* | *-*-mingw32*)
98 echo no EXTRA_DIRS for $host
102 if test -d /usr/X11R6 ; then
103 EXTRA_DIR1="/usr/X11R6"
105 if test -d /opt/X11R6 ; then
106 EXTRA_DIR2="/opt/X11R6"
108 EXTRA_DIRS="$EXTRA_DIR1 $EXTRA_DIR2"
112 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
115 dnl Using AM_CONDITIONAL is a step out of the protected little
116 dnl automake fold so it is potentially dangerous. But, we are
117 dnl beginning to run into cases where the standard checks are not
118 dnl enough. AM_CONDITIONALS are then referenced to conditionally
119 dnl build a Makefile.in from a Makefile.am which lets us define custom
120 dnl includes, compile alternative source files, etc.
122 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
123 dnl to use it if it is.
125 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
126 echo no fancy X11 check
135 dnl Checks for libraries.
139 AC_SEARCH_LIBS(cos, m)
143 dnl Thread related checks
144 AC_CHECK_HEADER(pthread.h)
145 AC_CHECK_LIB(pthread, pthread_exit)
146 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
147 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
148 CFLAGS="$CFLAGS -D_REENTRANT"
150 if test "x$ac_cv_lib_pthread_pthread_exit" != "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
151 dnl FreeBSD: System has pthread.h, but -lpthread library check
152 dnl fails. See if we need -pthread instead of -lpthread and look
153 dnl for the functions in libc_r.
154 save_CXXFLAGS="$CXXFLAGS"
155 save_CFLAGS="$CFLAGS"
156 CXXFLAGS="-pthread $CXXFLAGS"
157 CFLAGS="-pthread $FLAGS"
159 AC_CHECK_LIB(c_r, pthread_exit)
160 if test "x$ac_cv_lib_c_r_pthread_exit" != "xyes"; then
161 CXXFLAGS=$save_CXXFLAGS
164 dnl This is cheating a bit. pthread_exit comes with using -pthread, not
166 ac_cv_lib_pthread_pthread_exit="yes"
171 AM_CONDITIONAL(HAVE_THREADS, test "x$enable_threads" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
174 AC_SEARCH_LIBS(inet_addr, xnet)
175 AC_SEARCH_LIBS(socket, socket)
177 dnl check for glut location
178 AC_CHECK_HEADER(GL/glut.h)
179 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
180 AC_DEFINE([GLUT_H], "GL/glut.h", [Define as glut.h include location])
182 AC_CHECK_HEADER(GLUT/glut.h)
183 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
184 AC_DEFINE([GLUT_H], "GLUT/glut.h", [Define as glut.h include location])
186 echo "Neither GL/glut.h nor GLUT/glut.h found. Cannot continue"
191 dnl check for OpenGL related libraries
193 *-*-cygwin* | *-*-mingw32*)
194 dnl CygWin under Windoze.
196 echo Win32 specific hacks...
197 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
198 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
200 LIBS="$LIBS -lglut32 -lglu32 -lopengl32"
201 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
203 dnl add -lwsock32 for mingwin
206 base_LIBS="$base_LIBS -lws2_32"
210 echo "Will link apps with $LIBS"
216 LIBS="$LIBS -framework GLUT -framework OpenGL -framework Carbon -lobjc"
220 dnl X-Windows based machines
222 AC_SEARCH_LIBS(XCreateWindow, X11)
223 AC_SEARCH_LIBS(XShmCreateImage, Xext)
224 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
225 AC_SEARCH_LIBS(IceOpenConnection, ICE)
226 AC_SEARCH_LIBS(SmcOpenConnection, SM)
227 AC_SEARCH_LIBS(XtMalloc, Xt)
228 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
230 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
231 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
232 dnl if GLcore found, then also check for GL
233 AC_SEARCH_LIBS(glXCreateContext, GL)
236 dnl if using mesa, check for xmesa.h
237 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
238 AC_CHECK_HEADER(GL/fxmesa.h)
239 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
240 AC_DEFINE([XMESA], 1, [Define for fxmesa])
241 AC_DEFINE([FX], 1, [Define for fxmesa])
245 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
246 AC_SEARCH_LIBS(glutGetModifiers, [ glut freeglut ])
255 AC_SUBST(opengl_LIBS)
257 dnl Check for MS Windows environment
258 AC_CHECK_HEADER(windows.h)
259 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
261 # The following are C++ items that need to be tested for with the c++
266 dnl Check for "plib" without which we cannot go on
267 AC_CHECK_HEADER(plib/ul.h)
268 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
270 echo "You *must* have the plib library installed on your system to build"
273 echo "Please see README.plib for more details."
275 echo "configure aborted."
279 AC_MSG_CHECKING([for plib 1.6.0 or newer])
283 #define MIN_PLIB_VERSION 160
286 int major, minor, micro;
288 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
297 [AC_MSG_RESULT(wrong version);
298 AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
302 dnl Check for MetaKit
303 AC_CHECK_HEADER(mk4.h)
304 if test "x$ac_cv_header_mk4_h" != "xyes"; then
306 echo "MetaKit library not found."
308 echo "If your OS does not provide an installable package for MetaKit"
309 echo "you will have to compile and install it first yourself. A copy"
310 echo "of metakit-$(VERSION).tar.gz is included with SimGear. You will"
311 echo "have to untar this source code, and follow its included instructions"
312 echo "to compile and install on your system."
314 echo "configure aborted."
318 AC_MSG_CHECKING([for metakit 2.4.3 or newer])
320 LIBS="$saved_LIBS -lmk4"
324 #define MIN_MK4_VERSION 243
327 int major, minor, micro;
329 if ( d4_MetaKitLibraryVersion < MIN_MK4_VERSION ) {
338 [AC_MSG_RESULT(wrong version);
341 Install metakit 2.4.3 or later first.
343 Or, the compiler may not be finding your libmk4.so library.
344 Please check the config.log file for specific details of the
345 failure if you believe you have the correct metakit version.
346 Also, look up this issue in the FlightGear FAQ.])],
354 dnl Check for system installed zlib
355 AC_CHECK_HEADER(zlib.h)
356 if test "x$ac_cv_header_zlib_h" != "xyes"; then
358 echo "zlib library not found."
360 echo "If your OS does not provide an installable package for zlib"
361 echo "you will have to compile and install it first yourself. A copy"
362 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
363 echo "have to untar this source code, and follow its included instructions"
364 echo "to compile and install on your system."
366 echo "configure aborted."
370 dnl Checks for header files.
373 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
374 sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
376 if test "x$ac_cv_header_stdint_h" = "xyes"; then
377 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
380 dnl Checks for typedefs, structures, and compiler characteristics.
386 dnl Checks for library functions.
390 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
391 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
393 AM_CONFIG_HEADER(simgear/simgear_config.h)
401 simgear/compatibility/Makefile \
402 simgear/bucket/Makefile \
403 simgear/debug/Makefile \
404 simgear/ephemeris/Makefile \
405 simgear/io/Makefile \
406 simgear/magvar/Makefile \
407 simgear/math/Makefile \
408 simgear/metar/Makefile \
409 simgear/misc/Makefile \
410 simgear/props/Makefile \
411 simgear/route/Makefile \
412 simgear/scene/Makefile \
413 simgear/scene/material/Makefile \
414 simgear/scene/model/Makefile \
415 simgear/scene/sky/Makefile \
416 simgear/scene/tgdb/Makefile \
417 simgear/screen/Makefile \
418 simgear/serial/Makefile \
419 simgear/sound/Makefile \
420 simgear/threads/Makefile \
421 simgear/timing/Makefile \
422 simgear/xgl/Makefile \
423 simgear/xml/Makefile \
429 echo "Configure Summary"
430 echo "================="
432 echo "Prefix: $prefix"
434 if test "x$with_logging" != "x"; then
435 echo "Debug messages: $with_logging"
437 echo "Debug messages: yes"
440 echo -n "Automake version: "
441 automake --version | head -1
443 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
444 echo "With GL/glut.h"
446 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
447 echo "With GLUT/glut.h"
450 if test "x$with_jpeg_factory" = "xyes"; then
451 echo "With JPEG Factory support"
453 echo "Without JPEG Factory support"
456 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
457 echo "Threads: pthread lib found."
459 echo "Threads: no threads (pthread lib not found.)"