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.15)
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.
38 if test $OS = "IRIX" -o $OS = "IRIX64"; then
39 if text $CC = "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
57 # set logging default value
59 AC_ARG_WITH(logging, [ --with-logging Include logging output (default)])
60 if test "x$with_logging" = "xno" ; then
64 dnl specify if we are building with "checker"
65 AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"])
67 if test "x$with_efence" = "xyes" ; then
68 echo "Building with efence"
69 LIBS= "$LIBS -lefence"
72 dnl Check for MS Windows environment
73 AC_CHECK_HEADER(windows.h)
75 dnl extra library and include directories
76 EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6"
78 if test -d /opt/X11R6 ; then
79 EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
82 if test "x$ac_cv_header_windows_h" = "xyes" ; then
83 EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
84 # elif test `uname -s` = "SunOS" ; then
85 # EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS"
87 wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
89 dnl Using AM_CONDITIONAL is a step out of the protected little
90 dnl automake fold so it is potentially dangerous. But, we are
91 dnl beginning to run into cases where the standard checks are not
92 dnl enough. AM_CONDITIONALS are then referenced to conditionally
93 dnl build a Makefile.in from a Makefile.am which lets us define custom
94 dnl includes, compile alternative source files, etc.
96 dnl Enable serial support on Unix type systems
97 AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
99 dnl Check for X11 (fancy)
102 dnl Checks for libraries.
110 dnl Thread related checks
111 AC_CHECK_LIB(pthread, pthread_exit)
112 AC_CHECK_HEADER(pthread.h)
113 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
114 CXXFLAGS="$CXXFLAGS -D_REENTRANT"
115 CFLAGS="$CFLAGS -D_REENTRANT"
117 AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes")
119 AC_CHECK_LIB(socket, socket)
120 AC_CHECK_LIB(X11, XCreateWindow)
121 AC_CHECK_LIB(Xext, XShmCreateImage)
122 AC_CHECK_LIB(Xi, XGetExtensionVersion)
123 AC_CHECK_LIB(ICE, IceOpenConnection)
124 AC_CHECK_LIB(SM, SmcOpenConnection)
125 AC_CHECK_LIB(Xt, XtMalloc)
126 AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
128 dnl check for OpenGL related libraries
130 if test "x$ac_cv_header_windows_h" != "xyes" ; then
131 dnl Reasonable stuff for non-windoze variants ... :-)
133 AC_CHECK_LIB(GLcore, glNewList)
134 if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
135 dnl if no GLcore, check for GL
136 AC_CHECK_LIB(GL, glNewList)
137 if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then
138 dnl if no GL, check for MesaGL
139 AC_CHECK_LIB(MesaGL, glNewList)
142 dnl if GLcore found, then also check for GL
143 AC_CHECK_LIB(GL, glXCreateContext)
146 dnl if using mesa, check for xmesa.h
147 if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then
148 AC_CHECK_HEADER(GL/xmesa.h)
149 if test "x$ac_cv_header_GL_xmesa_h" = "xyes"; then
155 AC_CHECK_LIB(GLU, gluLookAt)
156 if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then
157 dnl if no GLU, check for MesaGLU
158 AC_CHECK_LIB(MesaGLU, gluLookAt)
162 AC_CHECK_LIB(glut, glutGetModifiers)
164 dnl test for glutGameModeString, but avoid adding glut a second time into
165 dnl the list of libraries
167 AC_CHECK_LIB(glut, glutGameModeString)
170 dnl Win32 is a little wierd because it has to try to handle the various
171 dnl winbloze-isms. We'll just do this manually for now.
173 echo Win32 specific hacks...
176 dnl force a failed check since we will be building under windoze
177 AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
179 dnl just define these to true and hope for the best
180 ac_cv_lib_glut_glutGetModifiers="yes"
181 ac_cv_lib_glut_glutGameModeString="yes"
183 if test "x$with_sgi_opengl" = "xyes" ; then
184 echo "Building with glut.dll, glu.dll, and opengl.dll"
189 echo "Building with glut32.dll, glu32.dll, and opengl32.dll"
192 WIN32_OPENGL=opengl32
195 LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
196 LIBS="$LIBS -luser32 -lgdi32"
197 echo "Will link apps with $LIBS"
200 if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then
202 echo "Unable to find the necessary OpenGL or GLUT libraries."
203 echo "See config.log for automated test details and results ..."
207 if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then
209 echo "Your version of glut doesn't support game mode."
210 echo "You need to fetch and install the latest version of glut from:"
212 echo " http://reality.sgi.com/opengl/glut3/glut3.html"
220 AC_SUBST(opengl_LIBS)
222 AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" )
224 dnl Check for "plib" without which we cannot go on
225 AC_CHECK_HEADER(plib/pu.h)
226 if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
228 echo "You *must* have the plib library installed on your system to build"
229 echo "the FGFS simulator!"
231 echo "Please see README.plib for more details."
233 echo "configure aborted."
237 # dnl Check for system installed gdbm
238 # AC_CHECK_HEADER(gdbm.h)
239 # if test "x$ac_cv_header_gdbm_h" = "xyes"; then
240 # AC_DEFINE( HAVE_GDBM )
242 # echo "no gdbm found, configuring and building."
244 # AM_CONDITIONAL(HAVE_GDBM, test "x$ac_cv_header_gdbm_h" = "xyes" )
246 dnl Check for system installed metakit
247 AC_CHECK_HEADER(mk4.h)
248 if test "x$ac_cv_header_mk4_h" != "xyes"; then
249 echo "no metakit found, configuring and building."
250 # Run configure in the metakit subdir
251 AC_CONFIG_SUBDIRS( simgear/metakit/unix )
253 AM_CONDITIONAL(HAVE_METAKIT, test "x$ac_cv_header_mk4_h" = "xyes" )
256 dnl Specify if we want logging (testing build) or not (release build)
258 dnl Check for system installed zlib
259 AC_CHECK_HEADER(zlib.h)
260 if test "x$ac_cv_header_zlib_h" = "xyes"; then
261 AC_DEFINE( HAVE_ZLIB )
263 echo "no zlib found, building."
265 AM_CONDITIONAL(HAVE_ZLIB, test "x$ac_cv_header_zlib_h" = "xyes" )
267 dnl Checks for header files.
270 fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
271 sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h )
273 dnl Checks for typedefs, structures, and compiler characteristics.
279 dnl Checks for library functions.
282 AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \
283 random setitimer getitimer signal GetLocalTime rint getrusage )
285 AM_CONFIG_HEADER(simgear/config.h)
292 simgear/bucket/Makefile \
293 simgear/debug/Makefile \
294 simgear/ephemeris/Makefile \
295 simgear/io/Makefile \
296 simgear/magvar/Makefile \
297 simgear/math/Makefile \
298 simgear/metar/Makefile \
299 simgear/misc/Makefile \
300 simgear/route/Makefile \
301 simgear/screen/Makefile \
302 simgear/serial/Makefile \
303 simgear/sky/Makefile \
304 simgear/threads/Makefile \
305 simgear/timing/Makefile \
306 simgear/xgl/Makefile \
307 simgear/xml/Makefile \
308 simgear/zlib/Makefile \
312 # if test "x$ac_cv_header_windows_h" = "xyes" ; then
313 # cp simgear/gdbm/autoconf.h.cygwin32 simgear/gdbm/autoconf.h
318 echo "Configure Summary"
319 echo "================="
321 echo "Prefix: $prefix"
323 if test "x$with_logging" != "x"; then
324 echo "Debug messages: $with_logging"
326 echo "Debug messages: yes"
329 if test "x$with_efence" != "x"; then
330 echo "Electric fence: $with_efence"
332 echo "Electric fence: no"
335 # if test "x$ac_cv_header_gdbm_h" != "xyes"; then
336 # echo "Building gdbm"
339 if test "x$ac_cv_header_mk4_h" != "xyes"; then
340 echo "Building metakit"
343 if test "x$ac_cv_header_zlib_h" != "xyes"; then
347 if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then
348 echo "Threads: pthread lib found."
350 echo "Threads: no threads (pthread lib not found.)"