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 # Specify if we want to build with Norman's jpeg image server support.
70 # This requires libjpeg to be installed and available.
71 # Default to with_jpeg_server=no
73 AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code])
74 if test "x$with_jpeg_factory" = "xyes" ; then
75 echo "Building with Norman's jpeg image factory support"
76 AC_CHECK_LIB(jpeg, jpeg_start_compress)
77 if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then
79 echo "In order to build the jpeg factory code you need libjpeg installed."
80 echo "otherwise please configure with the --with-jpeg-sever=no option"
82 echo "libjpeg is available at :"
83 echo " ftp://ftp.uu.net in the directory graphics/jpeg"
87 echo "Building without Norman's jpeg image server support"
89 AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes")
92 dnl Check for MS Windows environment
93 AC_CHECK_HEADER(windows.h)
99 ],is_mingw=yes, is_mingw=no)
101 echo "IS_MINGW = $is_mingw"
102 AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes")
108 ],is_cygwin=yes, is_cygwin=no)
110 echo "IS_CYGWIN = $is_cygwin"
111 AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes")
113 if test "x$HOSTTYPE" != "xmacintosh" -a "x$is_mingw" != "xyes"; then
114 dnl extra library and include directories
115 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
117 if test -d /opt/X11R6 ; then
118 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
122 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
124 dnl Using AM_CONDITIONAL is a step out of the protected little
125 dnl automake fold so it is potentially dangerous. But, we are
126 dnl beginning to run into cases where the standard checks are not
127 dnl enough. AM_CONDITIONALS are then referenced to conditionally
128 dnl build a Makefile.in from a Makefile.am which lets us define custom
129 dnl includes, compile alternative source files, etc.
131 dnl X11 might be installed on Mac OS X, don't want to use it if it is.
132 if test "x$HOSTTYPE" != "xmacintosh" ; then
133 dnl Check for X11 (fancy)
137 dnl Checks for libraries.
145 dnl Thread related checks
146 AC_CHECK_LIB(pthread, pthread_exit)
147 AC_CHECK_HEADER(pthread.h)
148 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
149 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
150 CFLAGS="$CFLAGS -D_REENTRANT"
152 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
154 AC_CHECK_LIB(socket, socket)
156 dnl X11 might be installed, but we don't want to use it for OSX -dw-
157 if test "x$HOSTTYPE" != "xmacintosh" ; then
158 AC_CHECK_LIB(X11, XCreateWindow)
159 AC_CHECK_LIB(Xext, XShmCreateImage)
160 AC_CHECK_LIB(Xi, XGetExtensionVersion)
161 AC_CHECK_LIB(ICE, IceOpenConnection)
162 AC_CHECK_LIB(SM, SmcOpenConnection)
163 AC_CHECK_LIB(Xt, XtMalloc)
164 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
167 dnl check for OpenGL related libraries
169 if test "x$HOSTTYPE" = "xmacintosh" ; then
171 LIBS="$LIBS -framework OpenGL -framework GLUT"
172 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
173 dnl Reasonable stuff for X-Windows based machines
175 AC_CHECK_LIB(GLcore, glNewList)
176 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
177 dnl if no GLcore, check for GL
178 AC_CHECK_LIB(GL, glNewList)
179 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
180 dnl if no GL, check for MesaGL
181 AC_CHECK_LIB(MesaGL, glNewList)
184 dnl if GLcore found, then also check for GL
185 AC_CHECK_LIB(GL, glXCreateContext)
188 dnl if using mesa, check for xmesa.h
189 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
190 AC_CHECK_HEADER(GL/fxmesa.h)
191 if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then
197 AC_CHECK_LIB(GLU, gluLookAt)
198 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
199 dnl if no GLU, check for MesaGLU
200 AC_CHECK_LIB(MesaGLU, gluLookAt)
204 AC_CHECK_LIB(glut, glutGetModifiers)
206 dnl test for glutGameModeString, but avoid adding glut a second time into
207 dnl the list of libraries
209 AC_CHECK_LIB(glut, glutGameModeString)
214 echo Win32 specific hacks...
217 dnl force a failed check since we will be building under windoze
218 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
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 dnl Check for "plib" without which we cannot go on
271 AC_CHECK_HEADER(plib/pu.h)
272 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
274 echo "You *must* have the plib library installed on your system to build"
275 echo "the FGFS simulator!"
277 echo "Please see README.plib for more details."
279 echo "configure aborted."
283 dnl Check for system installed metakit
284 AC_CHECK_HEADER(mk4.h)
285 if test "x$ac_cv_header_mk4_h" != "xyes"; then
287 echo "Metakit not found, you will need to install this first."
288 echo "Please read the README.metakit for more information."
293 dnl Specify if we want logging (testing build) or not (release build)
295 dnl Check for system installed zlib
296 AC_CHECK_HEADER(zlib.h)
297 if test "x$ac_cv_header_zlib_h" != "xyes"; then
299 echo "zlib not found, you will need to install this first."
300 echo "Please read the README.zlib for more information."
304 dnl Checks for header files.
307 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
308 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
310 if test "x$ac_cv_header_stdint_h" = "xyes"; then
311 AC_DEFINE(HAVE_STDINT_H)
314 dnl Checks for typedefs, structures, and compiler characteristics.
320 dnl Checks for library functions.
323 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
324 random drand48 setitimer getitimer signal GetLocalTime rint getrusage )
326 AM_CONFIG_HEADER(simgear/simgear_config.h)
334 simgear/bucket/Makefile \
335 simgear/debug/Makefile \
336 simgear/ephemeris/Makefile \
337 simgear/interpreter/Makefile \
338 simgear/io/Makefile \
339 simgear/magvar/Makefile \
340 simgear/math/Makefile \
341 simgear/metar/Makefile \
342 simgear/misc/Makefile \
343 simgear/route/Makefile \
344 simgear/screen/Makefile \
345 simgear/serial/Makefile \
346 simgear/sky/Makefile \
347 simgear/threads/Makefile \
348 simgear/timing/Makefile \
349 simgear/xgl/Makefile \
350 simgear/xml/Makefile \
353 # AC_OUTPUT_COMMANDS([])
356 echo "Configure Summary"
357 echo "================="
359 echo "Prefix: $prefix"
361 if test "x$with_logging" != "x"; then
362 echo "Debug messages: $with_logging"
364 echo "Debug messages: yes"
367 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
368 automake --version | head -1
370 if test "x$with_jpeg_factory" = "xyes"; then
371 echo "With JPEG Factory support"
373 echo "Without JPEG Factory support"
376 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
377 echo "Threads: pthread lib found."
379 echo "Threads: no threads (pthread lib not found.)"