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 dnl Initialize the automake stuff
9 AM_INIT_AUTOMAKE(SimGear, 0.0.17)
11 dnl Specify KAI C++ compiler and flags.
12 dnl Borrowed with slight modification from blitz distribution.
14 [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)],
16 KCC*) # KAI C++ http://www.kai.com/
17 echo "Configuring for KAI C++"
18 AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings")
19 CXX_OPTIMIZE_FLAGS=="+K3 -O3"
20 CXX_DEBUG_FLAGS="-g +K0"
28 dnl Checks for programs.
39 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
40 if test "$CXX" = "CC"; then
46 if echo $includedir | egrep "simgear$" > /dev/null; then
47 echo "includedir is" $includedir "libdir is" $libdir
49 includedir="${includedir}/simgear"
50 echo "includedir changed to" $includedir "libdir is" $libdir
53 # Determine version of automake ... important becuase of
54 # incompatibilities between versions
55 AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'`
56 AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14)
57 AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15)
59 # set logging default value
61 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
62 if test "x$with_logging" = "xno" ; then
66 dnl specify if we are building with "checker"
67 AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"])
69 if test "x$with_efence" = "xyes" ; then
70 echo "Building with efence"
74 dnl Check for MS Windows environment
75 AC_CHECK_HEADER(windows.h)
77 if test "$HOSTTYPE" != "macintosh" ; then
78 dnl extra library and include directories
79 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
81 if test -d /opt/X11R6 ; then
82 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
85 if test "x$ac_cv_header_windows_h" = "xyes" ; then
86 if test -d /usr/mingw/usr ; then
87 EXTRA_DIRS="$EXTRA_DIRS /usr/mingw/usr"
89 EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
93 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
95 dnl Using AM_CONDITIONAL is a step out of the protected little
96 dnl automake fold so it is potentially dangerous. But, we are
97 dnl beginning to run into cases where the standard checks are not
98 dnl enough. AM_CONDITIONALS are then referenced to conditionally
99 dnl build a Makefile.in from a Makefile.am which lets us define custom
100 dnl includes, compile alternative source files, etc.
102 dnl Enable serial support on Unix type systems
103 AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
105 dnl X11 might be installed on Mac OS X, don't want to use it if it is.
106 if test "$HOSTTYPE" != "macintosh" ; then
107 dnl Check for X11 (fancy)
111 dnl Checks for libraries.
119 dnl Thread related checks
120 AC_CHECK_LIB(pthread, pthread_exit)
121 AC_CHECK_HEADER(pthread.h)
122 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
123 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
124 CFLAGS="$CFLAGS -D_REENTRANT"
126 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
128 AC_CHECK_LIB(socket, socket)
130 dnl X11 might be installed, but we don't want to use it for OSX -dw-
131 if test "$HOSTTYPE" != "macintosh" ; then
132 AC_CHECK_LIB(X11, XCreateWindow)
133 AC_CHECK_LIB(Xext, XShmCreateImage)
134 AC_CHECK_LIB(Xi, XGetExtensionVersion)
135 AC_CHECK_LIB(ICE, IceOpenConnection)
136 AC_CHECK_LIB(SM, SmcOpenConnection)
137 AC_CHECK_LIB(Xt, XtMalloc)
138 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
141 dnl check for OpenGL related libraries
143 if test "$HOSTTYPE" = "macintosh" ; then
145 LIBS="$LIBS -framework OpenGL -framework GLUT"
146 elif test "x$ac_cv_header_windows_h" != "xyes" ; then
147 dnl Reasonable stuff for non-windoze variants ... :-)
149 AC_CHECK_LIB(GLcore, glNewList)
150 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
151 dnl if no GLcore, check for GL
152 AC_CHECK_LIB(GL, glNewList)
153 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
154 dnl if no GL, check for MesaGL
155 AC_CHECK_LIB(MesaGL, glNewList)
158 dnl if GLcore found, then also check for GL
159 AC_CHECK_LIB(GL, glXCreateContext)
162 dnl if using mesa, check for xmesa.h
163 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
164 AC_CHECK_HEADER(GL/xmesa.h)
165 if test "x$ac_cv_header_GL_xmesa_h" = "xyes"; then
171 AC_CHECK_LIB(GLU, gluLookAt)
172 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
173 dnl if no GLU, check for MesaGLU
174 AC_CHECK_LIB(MesaGLU, gluLookAt)
178 AC_CHECK_LIB(glut, glutGetModifiers)
180 dnl test for glutGameModeString, but avoid adding glut a second time into
181 dnl the list of libraries
183 AC_CHECK_LIB(glut, glutGameModeString)
186 dnl Win32 is a little wierd because it has to try to handle the various
187 dnl winbloze-isms. We'll just do this manually for now.
189 echo Win32 specific hacks...
192 dnl force a failed check since we will be building under windoze
193 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
195 dnl just define these to true and hope for the best
196 ac_cv_lib_glut_glutGetModifiers="yes"
197 ac_cv_lib_glut_glutGameModeString="yes"
199 if test "x$with_sgi_opengl" = "xyes" ; then
200 echo "Building with glut.dll, glu.dll, and opengl.dll"
205 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
208 WIN32_OPENGL=opengl32
211 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
212 LIBS="$LIBS -luser32 -lgdi32"
213 echo "Will link apps with $LIBS"
216 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
218 echo "Unable to find the necessary OpenGL or GLUT libraries."
219 echo "See config.log for automated test details and results ..."
223 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
225 echo "Your version of glut doesn't support game mode."
226 echo "You need to fetch and install the latest version of glut from:"
228 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
236 AC_SUBST(opengl_LIBS)
238 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
240 dnl Check for "plib" without which we cannot go on
241 AC_CHECK_HEADER(plib/pu.h)
242 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
244 echo "You *must* have the plib library installed on your system to build"
245 echo "the FGFS simulator!"
247 echo "Please see README.plib for more details."
249 echo "configure aborted."
253 # dnl Check for system installed gdbm
254 # AC_CHECK_HEADER(gdbm.h)
255 # if test "x$ac_cv_header_gdbm_h" = "xyes"; then
256 # AC_DEFINE( HAVE_GDBM )
258 # echo "no gdbm found, configuring and building."
260 # AM_CONDITIONAL(HAVE_GDBM, test "x$ac_cv_header_gdbm_h" = "xyes" )
262 dnl Check for system installed metakit
263 AC_CHECK_HEADER(mk4.h)
264 if test "x$ac_cv_header_mk4_h" != "xyes"; then
265 echo "no metakit found, configuring and building."
266 # Run configure in the metakit subdir
267 AC_CONFIG_SUBDIRS( simgear/metakit/unix )
269 AM_CONDITIONAL(HAVE_METAKIT, test "x$ac_cv_header_mk4_h" = "xyes" )
272 dnl Specify if we want logging (testing build) or not (release build)
274 dnl Check for system installed zlib
275 AC_CHECK_HEADER(zlib.h)
276 if test "x$ac_cv_header_zlib_h" = "xyes"; then
277 AC_DEFINE( HAVE_ZLIB )
279 echo "no zlib found, building."
281 AM_CONDITIONAL(HAVE_ZLIB, test "x$ac_cv_header_zlib_h" = "xyes" )
283 dnl Checks for header files.
286 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
287 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
289 if test "x$ac_cv_header_stdint_h" = "xyes"; then
290 AC_DEFINE( HAVE_STDINT_H )
293 dnl Checks for typedefs, structures, and compiler characteristics.
299 dnl Checks for library functions.
302 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
303 random setitimer getitimer signal GetLocalTime rint getrusage )
305 AM_CONFIG_HEADER(simgear/simgear_config.h)
312 simgear/bucket/Makefile \
313 simgear/debug/Makefile \
314 simgear/ephemeris/Makefile \
315 simgear/io/Makefile \
316 simgear/magvar/Makefile \
317 simgear/math/Makefile \
318 simgear/metar/Makefile \
319 simgear/misc/Makefile \
320 simgear/route/Makefile \
321 simgear/screen/Makefile \
322 simgear/serial/Makefile \
323 simgear/sky/Makefile \
324 simgear/threads/Makefile \
325 simgear/timing/Makefile \
326 simgear/xgl/Makefile \
327 simgear/xml/Makefile \
328 simgear/zlib/Makefile \
332 # if test "x$ac_cv_header_windows_h" = "xyes" ; then
333 # cp simgear/gdbm/autoconf.h.cygwin32 simgear/gdbm/autoconf.h
338 echo "Configure Summary"
339 echo "================="
341 echo "Prefix: $prefix"
343 if test "x$with_logging" != "x"; then
344 echo "Debug messages: $with_logging"
346 echo "Debug messages: yes"
349 if test "x$with_efence" != "x"; then
350 echo "Electric fence: $with_efence"
352 echo "Electric fence: no"
355 echo -n "Automake version: ($AUTO_MAKE_VERSION) "
356 automake --version | head -1
358 if test "x$ac_cv_header_mk4_h" != "xyes"; then
359 echo "Building metakit"
362 if test "x$ac_cv_header_zlib_h" != "xyes"; then
366 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
367 echo "Threads: pthread lib found."
369 echo "Threads: no threads (pthread lib not found.)"
372 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
373 if test "$CXX" = "CC"; then
374 echo "\nRemember to run: sh ../FlightGear/irix-hack.sh!\07\n"