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.3.0)
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.
42 # Used on the Irix platform
46 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
47 if test "$CXX" = "CC"; then
56 if echo $includedir | egrep "simgear$" > /dev/null; then
57 echo "includedir is" $includedir "libdir is" $libdir
59 includedir="${includedir}/simgear"
60 echo "includedir changed to" $includedir "libdir is" $libdir
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/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 AM_CONDITIONAL(EXTGL_NEEDED, test "x$ac_cv_header_windows_h" = "xyes")
172 if test "x$HOSTTYPE" = "xmacintosh" ; then
174 LIBS="$LIBS -framework OpenGL -framework GLUT"
175 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
176 dnl Reasonable stuff for X-Windows based machines
178 AC_CHECK_LIB(GLcore, glNewList)
179 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
180 dnl if no GLcore, check for GL
181 AC_CHECK_LIB(GL, glNewList)
182 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
183 dnl if no GL, check for MesaGL
184 AC_CHECK_LIB(MesaGL, glNewList)
187 dnl if GLcore found, then also check for GL
188 AC_CHECK_LIB(GL, glXCreateContext)
191 dnl if using mesa, check for xmesa.h
192 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
193 AC_CHECK_HEADER(GL/fxmesa.h)
194 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
195 AC_DEFINE([XMESA], 1, [Define for fxmesa])
196 AC_DEFINE([FX], 1, [Define for fxmesa])
200 AC_CHECK_LIB(GLU, gluLookAt)
201 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
202 dnl if no GLU, check for MesaGLU
203 AC_CHECK_LIB(MesaGLU, gluLookAt)
207 AC_CHECK_LIB(glut, glutGetModifiers)
209 dnl test for glutGameModeString, but avoid adding glut a second time into
210 dnl the list of libraries
212 AC_CHECK_LIB(glut, glutGameModeString)
217 echo Win32 specific hacks...
218 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
220 dnl just define these to true and hope for the best
221 ac_cv_lib_glut_glutGetModifiers="yes"
222 ac_cv_lib_glut_glutGameModeString="yes"
224 if test "x$with_sgi_opengl" = "xyes" ; then
225 echo "Building with glut.dll, glu.dll, and opengl.dll"
230 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
233 WIN32_OPENGL=opengl32
236 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
237 LIBS="$LIBS -luser32 -lgdi32"
238 if test "x$is_mingw" = "xyes" ; then
239 EXTRA_DIRS="${EXTRA_DIRS}"
241 echo "Will link apps with $LIBS"
244 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
246 echo "Unable to find the necessary OpenGL or GLUT libraries."
247 echo "See config.log for automated test details and results ..."
251 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
253 echo "Your version of glut doesn't support game mode."
254 echo "You need to install the latest version of glut. If your"
255 echo "distribution doesn't provide a newer version, you can get the source"
258 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
266 AC_SUBST(opengl_LIBS)
268 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
270 # The following are C++ items that need to be tested for with the c++
275 dnl Check for "plib" without which we cannot go on
276 AC_CHECK_HEADER(plib/ul.h)
277 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
279 echo "You *must* have the plib library installed on your system to build"
282 echo "Please see README.plib for more details."
284 echo "configure aborted."
288 AC_MSG_CHECKING([for plib 1.6.0 or newer])
292 #define MIN_PLIB_VERSION 160
295 int major, minor, micro;
297 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
306 [AC_MSG_RESULT(wrong version);
307 AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
311 dnl Check for system installed metakit
312 AC_CHECK_HEADER(mk4.h)
313 if test "x$ac_cv_header_mk4_h" != "xyes"; then
315 echo "Metakit not found, you will need to install this first."
316 echo "Please read the README.metakit for more information."
322 dnl Specify if we want logging (testing build) or not (release build)
324 dnl Check for system installed zlib
325 AC_CHECK_HEADER(zlib.h)
326 if test "x$ac_cv_header_zlib_h" != "xyes"; then
328 echo "zlib not found, you will need to install this first."
329 echo "Please read the README.zlib for more information."
333 dnl Checks for header files.
336 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
337 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
339 if test "x$ac_cv_header_stdint_h" = "xyes"; then
340 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
343 dnl Checks for typedefs, structures, and compiler characteristics.
349 dnl Checks for library functions.
352 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
353 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
355 AM_CONFIG_HEADER(simgear/simgear_config.h)
363 simgear/bucket/Makefile \
364 simgear/debug/Makefile \
365 simgear/ephemeris/Makefile \
366 simgear/io/Makefile \
367 simgear/magvar/Makefile \
368 simgear/math/Makefile \
369 simgear/metar/Makefile \
370 simgear/misc/Makefile \
371 simgear/route/Makefile \
372 simgear/screen/Makefile \
373 simgear/serial/Makefile \
374 simgear/sky/Makefile \
375 simgear/sky/clouds3d/Makefile \
376 simgear/threads/Makefile \
377 simgear/timing/Makefile \
378 simgear/xgl/Makefile \
379 simgear/xml/Makefile \
385 echo "Configure Summary"
386 echo "================="
388 echo "Prefix: $prefix"
390 if test "x$with_logging" != "x"; then
391 echo "Debug messages: $with_logging"
393 echo "Debug messages: yes"
396 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
397 automake --version | head -1
399 if test "x$with_jpeg_factory" = "xyes"; then
400 echo "With JPEG Factory support"
402 echo "Without JPEG Factory support"
405 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
406 echo "Threads: pthread lib found."
408 echo "Threads: no threads (pthread lib not found.)"