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.1)
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.
143 dnl Thread related checks
144 AC_CHECK_LIB(pthread, pthread_exit)
145 AC_CHECK_HEADER(pthread.h)
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 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
152 AC_CHECK_LIB(socket, socket)
154 dnl check for glut location
155 AC_CHECK_HEADER(GL/glut.h)
156 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
157 AC_DEFINE([GLUT_H], "GL/glut.h", [Define as glut.h include location])
159 AC_CHECK_HEADER(GLUT/glut.h)
160 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
161 AC_DEFINE([GLUT_H], "GLUT/glut.h", [Define as glut.h include location])
163 echo "Neither GL/glut.h nor GLUT/glut.h found. Cannot continue"
168 dnl check for OpenGL related libraries
170 *-*-cygwin* | *-*-mingw32*)
171 dnl CygWin under Windoze.
173 echo Win32 specific hacks...
174 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
175 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
177 LIBS="$LIBS -lglut32 -lglu32 -lopengl32"
178 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
180 dnl add -lwsock32 for mingwin
183 base_LIBS="$base_LIBS -lws2_32"
187 echo "Will link apps with $LIBS"
193 LIBS="$LIBS -framework GLUT -framework OpenGL -framework Carbon -lobjc"
197 dnl X-Windows based machines
199 AC_CHECK_LIB(X11, XCreateWindow)
200 AC_CHECK_LIB(Xext, XShmCreateImage)
201 AC_CHECK_LIB(Xi, XGetExtensionVersion)
202 AC_CHECK_LIB(ICE, IceOpenConnection)
203 AC_CHECK_LIB(SM, SmcOpenConnection)
204 AC_CHECK_LIB(Xt, XtMalloc)
205 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
207 AC_CHECK_LIB(GLcore, glNewList)
208 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
209 dnl if no GLcore, check for GL
210 AC_CHECK_LIB(GL, glNewList)
211 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
212 dnl if no GL, check for MesaGL
213 AC_CHECK_LIB(MesaGL, glNewList)
216 dnl if GLcore found, then also check for GL
217 AC_CHECK_LIB(GL, glXCreateContext)
220 dnl if using mesa, check for xmesa.h
221 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
222 AC_CHECK_HEADER(GL/fxmesa.h)
223 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
224 AC_DEFINE([XMESA], 1, [Define for fxmesa])
225 AC_DEFINE([FX], 1, [Define for fxmesa])
229 AC_CHECK_LIB(GLU, gluLookAt)
230 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
231 dnl if no GLU, check for MesaGLU
232 AC_CHECK_LIB(MesaGLU, gluLookAt)
244 AC_SUBST(opengl_LIBS)
246 dnl Check for MS Windows environment
247 AC_CHECK_HEADER(windows.h)
248 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
250 # The following are C++ items that need to be tested for with the c++
255 dnl Check for "plib" without which we cannot go on
256 AC_CHECK_HEADER(plib/ul.h)
257 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
259 echo "You *must* have the plib library installed on your system to build"
262 echo "Please see README.plib for more details."
264 echo "configure aborted."
268 AC_MSG_CHECKING([for plib 1.6.0 or newer])
272 #define MIN_PLIB_VERSION 160
275 int major, minor, micro;
277 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
286 [AC_MSG_RESULT(wrong version);
287 AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
291 dnl Check for MetaKit
292 AC_CHECK_HEADER(mk4.h)
293 if test "x$ac_cv_header_mk4_h" != "xyes"; then
295 echo "MetaKit library not found."
297 echo "If your OS does not provide an installable package for MetaKit"
298 echo "you will have to compile and install it first yourself. A copy"
299 echo "of metakit-$(VERSION).tar.gz is included with SimGear. You will"
300 echo "have to untar this source code, and follow its included instructions"
301 echo "to compile and install on your system."
303 echo "configure aborted."
307 AC_MSG_CHECKING([for metakit 2.4.3 or newer])
309 LIBS="$saved_LIBS -lmk4"
313 #define MIN_MK4_VERSION 243
316 int major, minor, micro;
318 if ( d4_MetaKitLibraryVersion < MIN_MK4_VERSION ) {
327 [AC_MSG_RESULT(wrong version);
330 Install metakit 2.4.3 or later first.
332 Or, the compiler may not be finding your libmk4.so library.
333 Please check the config.log file for specific details of the
334 failure if you believe you have the correct metakit version.
335 Also, look up this issue in the FlightGear FAQ.])],
343 dnl Check for system installed zlib
344 AC_CHECK_HEADER(zlib.h)
345 if test "x$ac_cv_header_zlib_h" != "xyes"; then
347 echo "zlib library not found."
349 echo "If your OS does not provide an installable package for zlib"
350 echo "you will have to compile and install it first yourself. A copy"
351 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
352 echo "have to untar this source code, and follow its included instructions"
353 echo "to compile and install on your system."
355 echo "configure aborted."
359 dnl Checks for header files.
362 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
363 sys/stat.h sys/time.h sys/timeb.h unistd.h winbase.h values.h )
365 if test "x$ac_cv_header_stdint_h" = "xyes"; then
366 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
369 dnl Checks for typedefs, structures, and compiler characteristics.
375 dnl Checks for library functions.
379 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
380 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
382 AM_CONFIG_HEADER(simgear/simgear_config.h)
390 simgear/compatibility/Makefile \
391 simgear/bucket/Makefile \
392 simgear/debug/Makefile \
393 simgear/ephemeris/Makefile \
394 simgear/io/Makefile \
395 simgear/magvar/Makefile \
396 simgear/math/Makefile \
397 simgear/metar/Makefile \
398 simgear/misc/Makefile \
399 simgear/route/Makefile \
400 simgear/screen/Makefile \
401 simgear/serial/Makefile \
402 simgear/sky/Makefile \
403 simgear/sky/clouds3d/Makefile \
404 simgear/threads/Makefile \
405 simgear/timing/Makefile \
406 simgear/xgl/Makefile \
407 simgear/xml/Makefile \
413 echo "Configure Summary"
414 echo "================="
416 echo "Prefix: $prefix"
418 if test "x$with_logging" != "x"; then
419 echo "Debug messages: $with_logging"
421 echo "Debug messages: yes"
424 echo -n "Automake version: "
425 automake --version | head -1
427 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
428 echo "With GL/glut.h"
430 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
431 echo "With GLUT/glut.h"
434 if test "x$with_jpeg_factory" = "xyes"; then
435 echo "With JPEG Factory support"
437 echo "Without JPEG Factory support"
440 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
441 echo "Threads: pthread lib found."
443 echo "Threads: no threads (pthread lib not found.)"