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.19pre1)
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."
313 dnl Checks for header files.
316 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
317 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
319 if test "x$ac_cv_header_stdint_h" = "xyes"; then
320 AC_DEFINE( HAVE_STDINT_H )
323 dnl Checks for typedefs, structures, and compiler characteristics.
329 dnl Checks for library functions.
332 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
333 random setitimer getitimer signal GetLocalTime rint getrusage )
335 AM_CONFIG_HEADER(simgear/simgear_config.h)
343 simgear/bucket/Makefile \
344 simgear/debug/Makefile \
345 simgear/ephemeris/Makefile \
346 simgear/io/Makefile \
347 simgear/magvar/Makefile \
348 simgear/math/Makefile \
349 simgear/metar/Makefile \
350 simgear/misc/Makefile \
351 simgear/route/Makefile \
352 simgear/screen/Makefile \
353 simgear/serial/Makefile \
354 simgear/sky/Makefile \
355 simgear/threads/Makefile \
356 simgear/timing/Makefile \
357 simgear/xgl/Makefile \
358 simgear/xml/Makefile \
361 # AC_OUTPUT_COMMANDS([])
364 echo "Configure Summary"
365 echo "================="
367 echo "Prefix: $prefix"
369 if test "x$with_logging" != "x"; then
370 echo "Debug messages: $with_logging"
372 echo "Debug messages: yes"
375 if test "x$with_efence" != "x"; then
376 echo "Electric fence: $with_efence"
378 echo "Electric fence: no"
381 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
382 automake --version | head -1
384 if test "x$with_jpeg_factory" = "xyes"; then
385 echo "With JPEG Factory support"
387 echo "Without JPEG Factory support"
390 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
391 echo "Threads: pthread lib found."
393 echo "Threads: no threads (pthread lib not found.)"