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.
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 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 -lpthread
165 ac_cv_lib_pthread_pthread_exit="yes"
169 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
175 AC_CHECK_LIB(xnet,inet_addr)
176 AC_CHECK_LIB(socket, socket)
179 AC_CHECK_LIB(socket, socket)
183 dnl check for glut location
184 AC_CHECK_HEADER(GL/glut.h)
185 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
186 AC_DEFINE([GLUT_H], "GL/glut.h", [Define as glut.h include location])
188 AC_CHECK_HEADER(GLUT/glut.h)
189 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
190 AC_DEFINE([GLUT_H], "GLUT/glut.h", [Define as glut.h include location])
192 echo "Neither GL/glut.h nor GLUT/glut.h found. Cannot continue"
197 dnl check for OpenGL related libraries
199 *-*-cygwin* | *-*-mingw32*)
200 dnl CygWin under Windoze.
202 echo Win32 specific hacks...
203 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
204 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
206 LIBS="$LIBS -lglut32 -lglu32 -lopengl32"
207 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
209 dnl add -lwsock32 for mingwin
212 base_LIBS="$base_LIBS -lws2_32"
216 echo "Will link apps with $LIBS"
222 LIBS="$LIBS -framework GLUT -framework OpenGL -framework Carbon -lobjc"
226 dnl X-Windows based machines
228 AC_CHECK_LIB(X11, XCreateWindow)
229 AC_CHECK_LIB(Xext, XShmCreateImage)
230 AC_CHECK_LIB(Xi, XGetExtensionVersion)
231 AC_CHECK_LIB(ICE, IceOpenConnection)
232 AC_CHECK_LIB(SM, SmcOpenConnection)
233 AC_CHECK_LIB(Xt, XtMalloc)
234 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
236 AC_CHECK_LIB(GLcore, glNewList)
237 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
238 dnl if no GLcore, check for GL
239 AC_CHECK_LIB(GL, glNewList)
240 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
241 dnl if no GL, check for MesaGL
242 AC_CHECK_LIB(MesaGL, glNewList)
245 dnl if GLcore found, then also check for GL
246 AC_CHECK_LIB(GL, glXCreateContext)
249 dnl if using mesa, check for xmesa.h
250 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
251 AC_CHECK_HEADER(GL/fxmesa.h)
252 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
253 AC_DEFINE([XMESA], 1, [Define for fxmesa])
254 AC_DEFINE([FX], 1, [Define for fxmesa])
258 AC_CHECK_LIB(GLU, gluLookAt)
259 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
260 dnl if no GLU, check for MesaGLU
261 AC_CHECK_LIB(MesaGLU, gluLookAt)
273 AC_SUBST(opengl_LIBS)
275 dnl Check for MS Windows environment
276 AC_CHECK_HEADER(windows.h)
277 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
279 # The following are C++ items that need to be tested for with the c++
284 dnl Check for "plib" without which we cannot go on
285 AC_CHECK_HEADER(plib/ul.h)
286 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
288 echo "You *must* have the plib library installed on your system to build"
291 echo "Please see README.plib for more details."
293 echo "configure aborted."
297 AC_MSG_CHECKING([for plib 1.6.0 or newer])
301 #define MIN_PLIB_VERSION 160
304 int major, minor, micro;
306 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
315 [AC_MSG_RESULT(wrong version);
316 AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
320 dnl Check for MetaKit
321 AC_CHECK_HEADER(mk4.h)
322 if test "x$ac_cv_header_mk4_h" != "xyes"; then
324 echo "MetaKit library not found."
326 echo "If your OS does not provide an installable package for MetaKit"
327 echo "you will have to compile and install it first yourself. A copy"
328 echo "of metakit-$(VERSION).tar.gz is included with SimGear. You will"
329 echo "have to untar this source code, and follow its included instructions"
330 echo "to compile and install on your system."
332 echo "configure aborted."
336 AC_MSG_CHECKING([for metakit 2.4.3 or newer])
338 LIBS="$saved_LIBS -lmk4"
342 #define MIN_MK4_VERSION 243
345 int major, minor, micro;
347 if ( d4_MetaKitLibraryVersion < MIN_MK4_VERSION ) {
356 [AC_MSG_RESULT(wrong version);
359 Install metakit 2.4.3 or later first.
361 Or, the compiler may not be finding your libmk4.so library.
362 Please check the config.log file for specific details of the
363 failure if you believe you have the correct metakit version.
364 Also, look up this issue in the FlightGear FAQ.])],
372 dnl Check for system installed zlib
373 AC_CHECK_HEADER(zlib.h)
374 if test "x$ac_cv_header_zlib_h" != "xyes"; then
376 echo "zlib library not found."
378 echo "If your OS does not provide an installable package for zlib"
379 echo "you will have to compile and install it first yourself. A copy"
380 echo "of zlib-1.1.4.tar.gz is included with SimGear. You will"
381 echo "have to untar this source code, and follow its included instructions"
382 echo "to compile and install on your system."
384 echo "configure aborted."
388 dnl Checks for header files.
391 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
392 sys/stat.h sys/time.h sys/timeb.h unistd.h values.h )
394 if test "x$ac_cv_header_stdint_h" = "xyes"; then
395 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
398 dnl Checks for typedefs, structures, and compiler characteristics.
404 dnl Checks for library functions.
408 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
409 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
411 AM_CONFIG_HEADER(simgear/simgear_config.h)
419 simgear/compatibility/Makefile \
420 simgear/bucket/Makefile \
421 simgear/debug/Makefile \
422 simgear/ephemeris/Makefile \
423 simgear/io/Makefile \
424 simgear/magvar/Makefile \
425 simgear/math/Makefile \
426 simgear/metar/Makefile \
427 simgear/misc/Makefile \
428 simgear/props/Makefile \
429 simgear/route/Makefile \
430 simgear/scene/Makefile \
431 simgear/scene/material/Makefile \
432 simgear/scene/model/Makefile \
433 simgear/scene/sky/Makefile \
434 simgear/scene/tgdb/Makefile \
435 simgear/screen/Makefile \
436 simgear/serial/Makefile \
437 simgear/sound/Makefile \
438 simgear/threads/Makefile \
439 simgear/timing/Makefile \
440 simgear/xgl/Makefile \
441 simgear/xml/Makefile \
447 echo "Configure Summary"
448 echo "================="
450 echo "Prefix: $prefix"
452 if test "x$with_logging" != "x"; then
453 echo "Debug messages: $with_logging"
455 echo "Debug messages: yes"
458 echo -n "Automake version: "
459 automake --version | head -1
461 if test "x$ac_cv_header_GL_glut_h" = "xyes"; then
462 echo "With GL/glut.h"
464 if test "x$ac_cv_header_GLUT_glut_h" = "xyes"; then
465 echo "With GLUT/glut.h"
468 if test "x$with_jpeg_factory" = "xyes"; then
469 echo "With JPEG Factory support"
471 echo "Without JPEG Factory support"
474 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
475 echo "Threads: pthread lib found."
477 echo "Threads: no threads (pthread lib not found.)"