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
54 # set logging default value
56 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
57 if test "x$with_logging" = "xno" ; then
61 dnl specify if we are building with "checker"
62 AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"])
64 if test "x$with_efence" = "xyes" ; then
65 echo "Building with efence"
69 dnl Check for MS Windows environment
70 AC_CHECK_HEADER(windows.h)
72 dnl extra library and include directories
73 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
75 if test -d /opt/X11R6 ; then
76 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
79 if test "x$ac_cv_header_windows_h" = "xyes" ; then
80 if test -d /usr/mingw/usr ; then
81 EXTRA_DIRS="$EXTRA_DIRS /usr/mingw/usr"
83 EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
85 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
87 dnl Using AM_CONDITIONAL is a step out of the protected little
88 dnl automake fold so it is potentially dangerous. But, we are
89 dnl beginning to run into cases where the standard checks are not
90 dnl enough. AM_CONDITIONALS are then referenced to conditionally
91 dnl build a Makefile.in from a Makefile.am which lets us define custom
92 dnl includes, compile alternative source files, etc.
94 dnl Enable serial support on Unix type systems
95 AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
97 dnl Check for X11 (fancy)
100 dnl Checks for libraries.
108 dnl Thread related checks
109 AC_CHECK_LIB(pthread, pthread_exit)
110 AC_CHECK_HEADER(pthread.h)
111 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
112 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
113 CFLAGS="$CFLAGS -D_REENTRANT"
115 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
117 AC_CHECK_LIB(socket, socket)
118 AC_CHECK_LIB(X11, XCreateWindow)
119 AC_CHECK_LIB(Xext, XShmCreateImage)
120 AC_CHECK_LIB(Xi, XGetExtensionVersion)
121 AC_CHECK_LIB(ICE, IceOpenConnection)
122 AC_CHECK_LIB(SM, SmcOpenConnection)
123 AC_CHECK_LIB(Xt, XtMalloc)
124 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
126 dnl check for OpenGL related libraries
128 if test "x$ac_cv_header_windows_h" != "xyes" ; then
129 dnl Reasonable stuff for non-windoze variants ... :-)
131 AC_CHECK_LIB(GLcore, glNewList)
132 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
133 dnl if no GLcore, check for GL
134 AC_CHECK_LIB(GL, glNewList)
135 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
136 dnl if no GL, check for MesaGL
137 AC_CHECK_LIB(MesaGL, glNewList)
140 dnl if GLcore found, then also check for GL
141 AC_CHECK_LIB(GL, glXCreateContext)
144 dnl if using mesa, check for xmesa.h
145 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
146 AC_CHECK_HEADER(GL/xmesa.h)
147 if test "x$ac_cv_header_GL_xmesa_h" = "xyes"; then
153 AC_CHECK_LIB(GLU, gluLookAt)
154 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
155 dnl if no GLU, check for MesaGLU
156 AC_CHECK_LIB(MesaGLU, gluLookAt)
160 AC_CHECK_LIB(glut, glutGetModifiers)
162 dnl test for glutGameModeString, but avoid adding glut a second time into
163 dnl the list of libraries
165 AC_CHECK_LIB(glut, glutGameModeString)
168 dnl Win32 is a little wierd because it has to try to handle the various
169 dnl winbloze-isms. We'll just do this manually for now.
171 echo Win32 specific hacks...
174 dnl force a failed check since we will be building under windoze
175 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
177 dnl just define these to true and hope for the best
178 ac_cv_lib_glut_glutGetModifiers="yes"
179 ac_cv_lib_glut_glutGameModeString="yes"
181 if test "x$with_sgi_opengl" = "xyes" ; then
182 echo "Building with glut.dll, glu.dll, and opengl.dll"
187 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
190 WIN32_OPENGL=opengl32
193 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
194 LIBS="$LIBS -luser32 -lgdi32"
195 echo "Will link apps with $LIBS"
198 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
200 echo "Unable to find the necessary OpenGL or GLUT libraries."
201 echo "See config.log for automated test details and results ..."
205 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
207 echo "Your version of glut doesn't support game mode."
208 echo "You need to fetch and install the latest version of glut from:"
210 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
218 AC_SUBST(opengl_LIBS)
220 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
222 dnl Check for "plib" without which we cannot go on
223 AC_CHECK_HEADER(plib/pu.h)
224 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
226 echo "You *must* have the plib library installed on your system to build"
227 echo "the FGFS simulator!"
229 echo "Please see README.plib for more details."
231 echo "configure aborted."
235 # dnl Check for system installed gdbm
236 # AC_CHECK_HEADER(gdbm.h)
237 # if test "x$ac_cv_header_gdbm_h" = "xyes"; then
238 # AC_DEFINE( HAVE_GDBM )
240 # echo "no gdbm found, configuring and building."
242 # AM_CONDITIONAL(HAVE_GDBM, test "x$ac_cv_header_gdbm_h" = "xyes" )
244 dnl Check for system installed metakit
245 AC_CHECK_HEADER(mk4.h)
246 if test "x$ac_cv_header_mk4_h" != "xyes"; then
247 echo "no metakit found, configuring and building."
248 # Run configure in the metakit subdir
249 AC_CONFIG_SUBDIRS( simgear/metakit/unix )
251 AM_CONDITIONAL(HAVE_METAKIT, test "x$ac_cv_header_mk4_h" = "xyes" )
254 dnl Specify if we want logging (testing build) or not (release build)
256 dnl Check for system installed zlib
257 AC_CHECK_HEADER(zlib.h)
258 if test "x$ac_cv_header_zlib_h" = "xyes"; then
259 AC_DEFINE( HAVE_ZLIB )
261 echo "no zlib found, building."
263 AM_CONDITIONAL(HAVE_ZLIB, test "x$ac_cv_header_zlib_h" = "xyes" )
265 dnl Checks for header files.
268 fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \
269 sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
271 if test "x$ac_cv_header_stdint_h" = "xyes"; then
272 AC_DEFINE( HAVE_STDINT_H )
275 dnl Checks for typedefs, structures, and compiler characteristics.
281 dnl Checks for library functions.
284 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
285 random setitimer getitimer signal GetLocalTime rint getrusage )
287 AM_CONFIG_HEADER(simgear/simgear_config.h)
294 simgear/bucket/Makefile \
295 simgear/debug/Makefile \
296 simgear/ephemeris/Makefile \
297 simgear/io/Makefile \
298 simgear/magvar/Makefile \
299 simgear/math/Makefile \
300 simgear/metar/Makefile \
301 simgear/misc/Makefile \
302 simgear/route/Makefile \
303 simgear/screen/Makefile \
304 simgear/serial/Makefile \
305 simgear/sky/Makefile \
306 simgear/threads/Makefile \
307 simgear/timing/Makefile \
308 simgear/xgl/Makefile \
309 simgear/xml/Makefile \
310 simgear/zlib/Makefile \
314 # if test "x$ac_cv_header_windows_h" = "xyes" ; then
315 # cp simgear/gdbm/autoconf.h.cygwin32 simgear/gdbm/autoconf.h
320 echo "Configure Summary"
321 echo "================="
323 echo "Prefix: $prefix"
325 if test "x$with_logging" != "x"; then
326 echo "Debug messages: $with_logging"
328 echo "Debug messages: yes"
331 if test "x$with_efence" != "x"; then
332 echo "Electric fence: $with_efence"
334 echo "Electric fence: no"
337 # if test "x$ac_cv_header_gdbm_h" != "xyes"; then
338 # echo "Building gdbm"
341 if test "x$ac_cv_header_mk4_h" != "xyes"; then
342 echo "Building metakit"
345 if test "x$ac_cv_header_zlib_h" != "xyes"; then
349 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
350 echo "Threads: pthread lib found."
352 echo "Threads: no threads (pthread lib not found.)"
355 if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then
356 if test "$CXX" = "CC"; then
357 echo "\nRemember to run: sh ../FlightGear/irix-hack.sh!\07\n"