1 dnl Process this file with autoget.sh to produce a working configure
5 AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
7 dnl Require at least automake 2.52
10 dnl Initialize the automake stuff
11 AM_INIT_AUTOMAKE(SimGear, 0.3.10)
13 dnl Specify KAI C++ compiler and flags.
14 dnl Borrowed with slight modification from blitz distribution.
16 [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)],
18 KCC*) # KAI C++ http://www.kai.com/
19 echo "Configuring for KAI C++"
20 AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings")
21 CXX_OPTIMIZE_FLAGS=="+K3 -O3"
22 CXX_DEBUG_FLAGS="-g +K0"
30 dnl Checks for programs.
39 dnl set the $host variable based on local machine/os
42 dnl Used on the Irix platform
45 if test "x$CXX" = "xCC" -o "x$CXX" = "xccache CC"; then
48 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro740"
49 compatibility_DIR="compatibility"
50 MIPSpro_DIRS="MIPSpro740"
51 AC_MSG_CHECKING([for MIPSpro compiler version 7.4 or newer])
54 if ( _COMPILER_VERSION < 740 ) {
60 ], AC_MSG_RESULT(yes),
62 CXXFLAGS="$CXXFLAGS -I$(top_srcdir)/simgear/compatibility/MIPSpro721"
63 MIPSpro_DIRS="$(MIPSpro_DIRS) MIPSpro721"
64 AC_MSG_WARN([Using our own subset of the STL headers])
65 ], AC_MSG_RESULT(yes))
66 AC_SUBST(MIPSpro_DIRS)
77 AC_SUBST(compatibility_DIR)
79 if echo $includedir | egrep "simgear$" > /dev/null; then
80 echo "includedir is" $includedir "libdir is" $libdir
82 includedir="${includedir}/simgear"
83 echo "includedir changed to" $includedir "libdir is" $libdir
86 dnl set logging; default value of with_logging=yes
87 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
88 if test "x$with_logging" = "xno" ; then
89 AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output])
92 # Specify if we want to build with Norman's jpeg image server support.
93 # This requires libjpeg to be installed and available.
94 # Default to with_jpeg_server=no
96 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
97 if test "x$with_jpeg_factory" = "xyes" ; then
98 echo "Building with Norman's jpeg image factory support"
99 AC_CHECK_LIB(jpeg, jpeg_start_compress)
100 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
102 echo "In order to build the jpeg factory code you need libjpeg installed."
103 echo "otherwise please configure with the --with-jpeg-sever=no option"
105 echo "libjpeg is available at :"
106 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
110 echo "Building without Norman's jpeg image server support"
112 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
114 # specify the plib location
115 AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
117 if test "x$with_plib" != "x" ; then
118 echo "plib prefix is $with_plib"
119 EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
122 # specify the osg location
123 AC_ARG_WITH(osg, [ --with-osg=PREFIX Specify the prefix path to osg])
125 if test "x$with_osg" != "x" ; then
126 echo "osg prefix is $with_osg"
127 EXTRA_DIRS="${EXTRA_DIRS} $with_osg"
130 dnl Determine an extra directories to add to include/lib search paths
132 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
133 echo no EXTRA_DIRS for $host
137 if test -d /usr/X11R6 ; then
138 EXTRA_DIR1="/usr/X11R6"
140 if test -d /opt/X11R6 ; then
141 EXTRA_DIR2="/opt/X11R6"
143 EXTRA_DIRS="${EXTRA_DIRS} $EXTRA_DIR1 $EXTRA_DIR2"
147 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
150 dnl Using AM_CONDITIONAL is a step out of the protected little
151 dnl automake fold so it is potentially dangerous. But, we are
152 dnl beginning to run into cases where the standard checks are not
153 dnl enough. AM_CONDITIONALS are then referenced to conditionally
154 dnl build a Makefile.in from a Makefile.am which lets us define custom
155 dnl includes, compile alternative source files, etc.
157 dnl X11 might be installed on Mac OS X or cygwin/mingwin, we don't want
158 dnl to use it if it is.
160 *-apple-darwin* | *-*-cygwin* | *-*-mingw32*)
161 echo no fancy X11 check
170 dnl Checks for libraries.
172 dnl Thread related checks
173 AC_CHECK_HEADER(pthread.h)
174 AC_SEARCH_LIBS(pthread_exit, [pthread c_r])
175 if test "x$ac_cv_header_pthread_h" = "xyes"; then
176 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
177 CFLAGS="$CFLAGS -D_REENTRANT"
179 if test "x$ac_cv_search_pthread_exit" = "x-lc_r"; then
180 CXXFLAGS="-pthread $CXXFLAGS"
181 CFLAGS="-pthread $CFLAGS"
185 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_header_pthread_h" = "xyes")
190 dnl search for network related libraries
191 AC_SEARCH_LIBS(inet_addr, xnet)
192 AC_SEARCH_LIBS(socket, socket)
197 dnl check for some default libraries
198 AC_SEARCH_LIBS(cos, m)
202 dnl check for OpenGL related libraries
204 *-*-cygwin* | *-*-mingw32*)
205 dnl CygWin under Windoze.
207 echo Win32 specific hacks...
208 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
209 AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
211 LIBS="$LIBS -lglu32 -lopengl32"
212 LIBS="$LIBS -luser32 -lgdi32 -lwinmm"
214 dnl add -lwsock32 for mingwin
217 base_LIBS="$base_LIBS -lws2_32"
221 echo "Will link apps with $LIBS"
227 LIBS="$LIBS -framework OpenGL -framework Carbon -lobjc"
231 dnl X-Windows based machines
233 AC_SEARCH_LIBS(XCreateWindow, X11)
234 AC_SEARCH_LIBS(XShmCreateImage, Xext)
235 AC_SEARCH_LIBS(XGetExtensionVersion, Xi)
236 AC_SEARCH_LIBS(IceOpenConnection, ICE)
237 AC_SEARCH_LIBS(SmcOpenConnection, SM)
238 AC_SEARCH_LIBS(XtMalloc, Xt)
239 AC_SEARCH_LIBS(XmuLookupStandardColormap, Xmu)
241 AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
242 if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
243 dnl if GLcore found, then also check for GL
244 AC_SEARCH_LIBS(glXCreateContext, GL)
247 dnl if using mesa, check for xmesa.h
248 if test "x$ac_cv_search_glNewList" = "x-lMesaGL"; then
249 AC_CHECK_HEADER(GL/fxmesa.h)
250 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
251 AC_DEFINE([XMESA], 1, [Define for fxmesa])
252 AC_DEFINE([FX], 1, [Define for fxmesa])
256 AC_SEARCH_LIBS(gluLookAt, [ GLU MesaGLU ])
261 AC_SEARCH_LIBS(glutGetModifiers, [ glut glut32 freeglut ], have_glut=yes, have_glut=no)
262 AM_CONDITIONAL(HAVE_GLUT, test "x$have_glut" = "xyes")
267 dnl check for OpenAL libraries
270 *-*-cygwin* | *-*-mingw32*)
271 dnl CygWin under Windoze.
272 INCLUDES="$INCLUDES -I/usr/local/include/"
273 LIBS="$LIBS -L/usr/local/lib"
274 AC_SEARCH_LIBS(alGenBuffers, [ openal32 openal ] )
275 AC_SEARCH_LIBS(alutInit, [ openal32 ALut alut ] )
276 LIBS="$LIBS -lwinmm -ldsound -ldxguid -lole32"
278 OPENAL_OK="$ac_cv_search_alGenBuffers"
284 LIBS="$LIBS -framework IOKit -framework OpenAL"
286 # not sure how to test if OpenAL exists on MacOS (does it come by default?)
291 dnl default unix style machines
294 LIBS="$LIBS $thread_LIBS"
295 AC_SEARCH_LIBS(alGenBuffers, openal)
296 AC_SEARCH_LIBS(alutInit, [ alut openal ] )
297 OPENAL_OK="$ac_cv_search_alGenBuffers"
304 if test "$OPENAL_OK" == "no"; then
306 echo "You *must* have the openal library installed on your system to build"
309 echo "Please see README.OpenAL for more details."
311 echo "configure aborted."
318 AC_SUBST(openal_LIBS)
319 AC_SUBST(opengl_LIBS)
320 AC_SUBST(thread_LIBS)
321 AC_SUBST(network_LIBS)
323 dnl Check for MS Windows environment
324 AC_CHECK_HEADER(windows.h)
325 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
327 # The following are C++ items that need to be tested for with the c++
332 dnl Check for "plib" without which we cannot go on
333 AC_CHECK_HEADER(plib/ul.h)
334 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
336 echo "You *must* have the plib library installed on your system to build"
339 echo "Please see README.plib for more details."
341 echo "configure aborted."
345 AC_MSG_CHECKING([for plib 1.8.4 or newer])
349 #define MIN_PLIB_VERSION 184
352 int major, minor, micro;
354 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
363 [AC_MSG_RESULT(wrong version);
364 AC_MSG_ERROR([Install plib 1.8.4 or later first...])],
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.
405 dnl Checks for library functions.
407 LIBS="$base_LIBS $network_LIBS $opengl_LIBS"
411 ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
412 random drand48 setitimer getitimer signal GetLocalTime rint getrusage ] )
415 AM_CONFIG_HEADER(simgear/simgear_config.h)
422 simgear/compatibility/Makefile \
423 simgear/compatibility/MIPSpro721/Makefile \
424 simgear/compatibility/MIPSpro740/Makefile \
425 simgear/bucket/Makefile \
426 simgear/debug/Makefile \
427 simgear/ephemeris/Makefile \
428 simgear/io/Makefile \
429 simgear/magvar/Makefile \
430 simgear/math/Makefile \
431 simgear/environment/Makefile \
432 simgear/misc/Makefile \
433 simgear/nasal/Makefile \
434 simgear/props/Makefile \
435 simgear/route/Makefile \
436 simgear/scene/Makefile \
437 simgear/scene/material/Makefile \
438 simgear/scene/model/Makefile \
439 simgear/scene/sky/Makefile \
440 simgear/scene/tgdb/Makefile \
441 simgear/scene/util/Makefile \
442 simgear/screen/Makefile \
443 simgear/serial/Makefile \
444 simgear/sound/Makefile \
445 simgear/structure/Makefile \
446 simgear/threads/Makefile \
447 simgear/timing/Makefile \
448 simgear/xml/Makefile \
454 echo "Configure Summary"
455 echo "================="
457 echo "Prefix: $prefix"
459 if test "x$with_logging" != "x"; then
460 echo "Debug messages: $with_logging"
462 echo "Debug messages: yes"
465 echo -n "Automake version: "
466 automake --version | head -1
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_header_pthread_h" = "xyes"; then
475 echo "Threads: pthread lib found."
477 echo "Threads: no threads (pthread lib not found.)"