1 dnl Process this file with aclocal ; automake -a ; autoconf to produce a
2 dnl working configure script.
6 AC_INIT(simgear/bucket/newbucket.cxx)
8 # Require at least automake 2.13
11 dnl Initialize the automake stuff
12 AM_INIT_AUTOMAKE(SimGear, 0.0.18pre1)
14 dnl Specify KAI C++ compiler and flags.
15 dnl Borrowed with slight modification from blitz distribution.
17 [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)],
19 KCC*) # KAI C++ http://www.kai.com/
20 echo "Configuring for KAI C++"
21 AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings")
22 CXX_OPTIMIZE_FLAGS=="+K3 -O3"
23 CXX_DEBUG_FLAGS="-g +K0"
31 dnl Checks for programs.
42 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
43 if test "$CXX" = "CC"; then
49 if echo $includedir | egrep "simgear$" > /dev/null; then
50 echo "includedir is" $includedir "libdir is" $libdir
52 includedir="${includedir}/simgear"
53 echo "includedir changed to" $includedir "libdir is" $libdir
56 # Determine version of automake ... important because of
57 # incompatibilities between versions
58 AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'`
59 AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14)
60 AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15)
62 # set logging default value
64 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
65 if test "x$with_logging" = "xno" ; then
69 dnl specify if we are building with "electric fence"
70 AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"])
72 if test "x$with_efence" = "xyes" ; then
73 echo "Building with efence"
77 # Specify if we want to build with Norman's jpeg image server support.
78 # This requires libjpeg to be installed and available.
79 # Default to with_jpeg_server=no
81 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
82 if test "x$with_jpeg_factory" = "xyes" ; then
83 echo "Building with Norman's jpeg image factory support"
84 AC_CHECK_LIB(jpeg, jpeg_start_compress)
85 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
87 echo "In order to build the jpeg factory code you need libjpeg installed."
88 echo "otherwise please configure with the --with-jpeg-sever=no option"
90 echo "libjpeg is available at :"
91 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
95 echo "Building without Norman's jpeg image server support"
97 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
100 dnl Check for MS Windows environment
101 AC_CHECK_HEADER(windows.h)
107 ],is_mingw=yes, is_mingw=no)
109 echo "IS_MINGW = $is_mingw"
110 AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes")
116 ],is_cygwin=yes, is_cygwin=no)
118 echo "IS_CYGWIN = $is_cygwin"
119 AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes")
121 if test "x$HOSTTYPE" != "xmacintosh" -a "x$is_mingw" != "xyes"; then
122 dnl extra library and include directories
123 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
125 if test -d /opt/X11R6 ; then
126 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
130 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
132 dnl Using AM_CONDITIONAL is a step out of the protected little
133 dnl automake fold so it is potentially dangerous. But, we are
134 dnl beginning to run into cases where the standard checks are not
135 dnl enough. AM_CONDITIONALS are then referenced to conditionally
136 dnl build a Makefile.in from a Makefile.am which lets us define custom
137 dnl includes, compile alternative source files, etc.
139 dnl Enable serial support on Unix type systems
140 AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
142 dnl X11 might be installed on Mac OS X, don't want to use it if it is.
143 if test "x$HOSTTYPE" != "xmacintosh" ; then
144 dnl Check for X11 (fancy)
148 dnl Checks for libraries.
156 dnl Thread related checks
157 AC_CHECK_LIB(pthread, pthread_exit)
158 AC_CHECK_HEADER(pthread.h)
159 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
160 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
161 CFLAGS="$CFLAGS -D_REENTRANT"
163 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
165 AC_CHECK_LIB(socket, socket)
167 dnl X11 might be installed, but we don't want to use it for OSX -dw-
168 if test "x$HOSTTYPE" != "xmacintosh" ; then
169 AC_CHECK_LIB(X11, XCreateWindow)
170 AC_CHECK_LIB(Xext, XShmCreateImage)
171 AC_CHECK_LIB(Xi, XGetExtensionVersion)
172 AC_CHECK_LIB(ICE, IceOpenConnection)
173 AC_CHECK_LIB(SM, SmcOpenConnection)
174 AC_CHECK_LIB(Xt, XtMalloc)
175 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
178 dnl check for OpenGL related libraries
180 if test "x$HOSTTYPE" = "xmacintosh" ; then
182 LIBS="$LIBS -framework OpenGL -framework GLUT"
183 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
184 dnl Reasonable stuff for X-Windows based machines
186 AC_CHECK_LIB(GLcore, glNewList)
187 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
188 dnl if no GLcore, check for GL
189 AC_CHECK_LIB(GL, glNewList)
190 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
191 dnl if no GL, check for MesaGL
192 AC_CHECK_LIB(MesaGL, glNewList)
195 dnl if GLcore found, then also check for GL
196 AC_CHECK_LIB(GL, glXCreateContext)
199 dnl if using mesa, check for xmesa.h
200 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
201 AC_CHECK_HEADER(GL/fxmesa.h)
202 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
208 AC_CHECK_LIB(GLU, gluLookAt)
209 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
210 dnl if no GLU, check for MesaGLU
211 AC_CHECK_LIB(MesaGLU, gluLookAt)
215 AC_CHECK_LIB(glut, glutGetModifiers)
217 dnl test for glutGameModeString, but avoid adding glut a second time into
218 dnl the list of libraries
220 AC_CHECK_LIB(glut, glutGameModeString)
225 echo Win32 specific hacks...
228 dnl force a failed check since we will be building under windoze
229 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
231 dnl just define these to true and hope for the best
232 ac_cv_lib_glut_glutGetModifiers="yes"
233 ac_cv_lib_glut_glutGameModeString="yes"
235 if test "x$with_sgi_opengl" = "xyes" ; then
236 echo "Building with glut.dll, glu.dll, and opengl.dll"
241 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
244 WIN32_OPENGL=opengl32
247 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
248 LIBS="$LIBS -luser32 -lgdi32"
249 if test "x$is_mingw" = "xyes" ; then
250 EXTRA_DIRS="${EXTRA_DIRS}"
252 echo "Will link apps with $LIBS"
255 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
257 echo "Unable to find the necessary OpenGL or GLUT libraries."
258 echo "See config.log for automated test details and results ..."
262 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
264 echo "Your version of glut doesn't support game mode."
265 echo "You need to fetch and install the latest version of glut from:"
267 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
275 AC_SUBST(opengl_LIBS)
277 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
279 dnl Check for "plib" without which we cannot go on
280 AC_CHECK_HEADER(plib/pu.h)
281 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
283 echo "You *must* have the plib library installed on your system to build"
284 echo "the FGFS simulator!"
286 echo "Please see README.plib for more details."
288 echo "configure aborted."
292 dnl Check for system installed metakit
293 AC_CHECK_HEADER(mk4.h)
294 if test "x$ac_cv_header_mk4_h" != "xyes"; then
296 echo "Metakit not found, you will need to install this first."
297 echo "Please read the README.metakit for more information."
302 dnl Specify if we want logging (testing build) or not (release build)
304 dnl Check for system installed zlib
305 AC_CHECK_HEADER(zlib.h)
306 if test "x$ac_cv_header_zlib_h" != "xyes"; then
308 echo "zlib not found, you will need to install this first."
309 echo "Please read the README.zlib for more information."
315 dnl Check for installed boost headers
316 AC_CHECK_HEADER(boost/config.hpp)
317 if test "x$ac_cv_header_boost_config_hpp" != "xyes"; then
319 echo "Boost not found, you will need to install this first."
320 echo "Please read the README.boost for more information."
325 dnl Checks for header files.
328 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
329 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
331 if test "x$ac_cv_header_stdint_h" = "xyes"; then
332 AC_DEFINE( HAVE_STDINT_H )
335 dnl Checks for typedefs, structures, and compiler characteristics.
341 dnl Checks for library functions.
344 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
345 random setitimer getitimer signal GetLocalTime rint getrusage )
347 AM_CONFIG_HEADER(simgear/simgear_config.h)
355 simgear/bucket/Makefile \
356 simgear/debug/Makefile \
357 simgear/ephemeris/Makefile \
358 simgear/io/Makefile \
359 simgear/magvar/Makefile \
360 simgear/math/Makefile \
361 simgear/metar/Makefile \
362 simgear/misc/Makefile \
363 simgear/route/Makefile \
364 simgear/screen/Makefile \
365 simgear/serial/Makefile \
366 simgear/sky/Makefile \
367 simgear/threads/Makefile \
368 simgear/timing/Makefile \
369 simgear/xgl/Makefile \
370 simgear/xml/Makefile \
373 # AC_OUTPUT_COMMANDS([])
376 echo "Configure Summary"
377 echo "================="
379 echo "Prefix: $prefix"
381 if test "x$with_logging" != "x"; then
382 echo "Debug messages: $with_logging"
384 echo "Debug messages: yes"
387 if test "x$with_efence" != "x"; then
388 echo "Electric fence: $with_efence"
390 echo "Electric fence: no"
393 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
394 automake --version | head -1
396 if test "x$with_jpeg_factory" = "xyes"; then
397 echo "With JPEG Factory support"
399 echo "Without JPEG Factory support"
402 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
403 echo "Threads: pthread lib found."
405 echo "Threads: no threads (pthread lib not found.)"