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.2.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/local /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 if test "x$HOSTTYPE" = "xmacintosh" ; then
172 LIBS="$LIBS -framework OpenGL -framework GLUT"
173 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
174 dnl Reasonable stuff for X-Windows based machines
176 AC_CHECK_LIB(GLcore, glNewList)
177 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
178 dnl if no GLcore, check for GL
179 AC_CHECK_LIB(GL, glNewList)
180 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
181 dnl if no GL, check for MesaGL
182 AC_CHECK_LIB(MesaGL, glNewList)
185 dnl if GLcore found, then also check for GL
186 AC_CHECK_LIB(GL, glXCreateContext)
189 dnl if using mesa, check for xmesa.h
190 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
191 AC_CHECK_HEADER(GL/fxmesa.h)
192 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
193 AC_DEFINE([XMESA], 1, [Define for fxmesa])
194 AC_DEFINE([FX], 1, [Define for fxmesa])
198 AC_CHECK_LIB(GLU, gluLookAt)
199 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
200 dnl if no GLU, check for MesaGLU
201 AC_CHECK_LIB(MesaGLU, gluLookAt)
205 AC_CHECK_LIB(glut, glutGetModifiers)
207 dnl test for glutGameModeString, but avoid adding glut a second time into
208 dnl the list of libraries
210 AC_CHECK_LIB(glut, glutGameModeString)
215 echo Win32 specific hacks...
216 AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
218 dnl just define these to true and hope for the best
219 ac_cv_lib_glut_glutGetModifiers="yes"
220 ac_cv_lib_glut_glutGameModeString="yes"
222 if test "x$with_sgi_opengl" = "xyes" ; then
223 echo "Building with glut.dll, glu.dll, and opengl.dll"
228 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
231 WIN32_OPENGL=opengl32
234 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
235 LIBS="$LIBS -luser32 -lgdi32"
236 if test "x$is_mingw" = "xyes" ; then
237 EXTRA_DIRS="${EXTRA_DIRS}"
239 echo "Will link apps with $LIBS"
242 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
244 echo "Unable to find the necessary OpenGL or GLUT libraries."
245 echo "See config.log for automated test details and results ..."
249 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
251 echo "Your version of glut doesn't support game mode."
252 echo "You need to install the latest version of glut. If your"
253 echo "distribution doesn't provide a newer version, you can get the source"
256 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
264 AC_SUBST(opengl_LIBS)
266 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
268 # The following are C++ items that need to be tested for with the c++
273 dnl Check for "plib" without which we cannot go on
274 AC_CHECK_HEADER(plib/ul.h)
275 if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
277 echo "You *must* have the plib library installed on your system to build"
280 echo "Please see README.plib for more details."
282 echo "configure aborted."
286 AC_MSG_CHECKING([for plib 1.6.0 or newer])
290 #define MIN_PLIB_VERSION 160
293 int major, minor, micro;
295 if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
304 [AC_MSG_RESULT(wrong version);
305 AC_MSG_ERROR([Install plib 1.6.0 or later first...])],
309 dnl Check for system installed metakit
310 AC_CHECK_HEADER(mk4.h)
311 if test "x$ac_cv_header_mk4_h" != "xyes"; then
313 echo "Metakit not found, you will need to install this first."
314 echo "Please read the README.metakit for more information."
320 dnl Specify if we want logging (testing build) or not (release build)
322 dnl Check for system installed zlib
323 AC_CHECK_HEADER(zlib.h)
324 if test "x$ac_cv_header_zlib_h" != "xyes"; then
326 echo "zlib not found, you will need to install this first."
327 echo "Please read the README.zlib for more information."
331 dnl Checks for header files.
334 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
335 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
337 if test "x$ac_cv_header_stdint_h" = "xyes"; then
338 AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists])
341 dnl Checks for typedefs, structures, and compiler characteristics.
347 dnl Checks for library functions.
350 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
351 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
353 AM_CONFIG_HEADER(simgear/simgear_config.h)
361 simgear/bucket/Makefile \
362 simgear/debug/Makefile \
363 simgear/ephemeris/Makefile \
364 simgear/interpreter/Makefile \
365 simgear/io/Makefile \
366 simgear/magvar/Makefile \
367 simgear/math/Makefile \
368 simgear/metar/Makefile \
369 simgear/misc/Makefile \
370 simgear/route/Makefile \
371 simgear/screen/Makefile \
372 simgear/serial/Makefile \
373 simgear/sky/Makefile \
374 simgear/sky/clouds3d/Makefile \
375 simgear/threads/Makefile \
376 simgear/timing/Makefile \
377 simgear/xgl/Makefile \
378 simgear/xml/Makefile \
384 echo "Configure Summary"
385 echo "================="
387 echo "Prefix: $prefix"
389 if test "x$with_logging" != "x"; then
390 echo "Debug messages: $with_logging"
392 echo "Debug messages: yes"
395 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
396 automake --version | head -1
398 if test "x$with_jpeg_factory" = "xyes"; then
399 echo "With JPEG Factory support"
401 echo "Without JPEG Factory support"
404 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
405 echo "Threads: pthread lib found."
407 echo "Threads: no threads (pthread lib not found.)"