dnl This configuration script was based on that of Tuxracer. dnl http://www.tuxracer.com/ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/Common.h) AM_INIT_AUTOMAKE(abe, "0.61") AM_CONFIG_HEADER(config.h) dnl Check system type AC_CANONICAL_HOST dnl Check for compilers. We set CFLAGS and CXXFLAGS to null if unset, so dnl that these macros won't set them to default values that we don't want. if test "x${CFLAGS-notset}" = "xnotset" ; then export CFLAGS CFLAGS="" fi AC_PROG_CC if test "x${CXXFLAGS-notset}" = "xnotset" ; then export CXXFLAGS CXXFLAGS="" fi AC_PROG_CXX dnl Check for ranlib AC_PROG_RANLIB dnl we'll compile subdirectories into .la files. dnl AM_PROG_LIBTOOL dnl run make in subdirectories AC_PROG_MAKE_SET dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h unistd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_HEADER_TIME dnl Checks for library functions. AC_CHECK_FUNCS(getcwd gettimeofday strdup) dnl Check for non-standard floating point functions and headers AC_CHECK_FUNCS(finite isnan) AC_CHECK_FUNCS(_finite _isnan) AC_CHECK_HEADERS(ieeefp.h) dnl -------------------------------------------------------------------------- dnl General options dnl -------------------------------------------------------------------------- TR_CPPFLAGS="" TR_CFLAGS="-O2 -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" TR_CXXFLAGS="-O2 -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" TR_LIBS="" case "$host" in alpha*-*-linux-*) TR_CFLAGS="$TR_CFLAGS -mieee";; esac AC_ARG_ENABLE(debug, [ --enable-debug Produce an executable with debugging symbols], [TR_CFLAGS="-g -Wall -fno-inline"; TR_CXXFLAGS="-g -Wall -fno-inline"], [TR_CPPFLAGS="$TR_CPPFLAGS"]) AC_ARG_ENABLE(pedantic, [ --enable-pedantic Enable -pedantic (and -ansi for C) when compiling], TR_CFLAGS="$TR_CFLAGS -ansi -pedantic"; TR_CXXFLAGS="$TR_CXXFLAGS -pedantic") AC_ARG_ENABLE(profile,[ --enable-profile Produce a profiled executable], [TR_CFLAGS="$TR_CFLAGS -pg"; TR_CXXFLAGS="$TR_CXXFLAGS -pg"]) dnl -------------------------------------------------------------------------- dnl Check if compiling for Win32 dnl -------------------------------------------------------------------------- AC_MSG_CHECKING([for Win32 platform]) AC_EGREP_CPP(yes, [ #if defined(WIN32) || defined(__CYGWIN__) yes #endif ], is_win32=yes, is_win32=no ) AC_MSG_RESULT([$is_win32]) AC_MSG_CHECKING([for Mac OSX platform]) AC_EGREP_CPP(yes, [ #if defined(__APPLE__) || defined(__MACH_O__) yes #endif ], is_macosx=yes, is_macosx=no ) AC_MSG_RESULT([$is_macosx]) dnl Add libs required for Windows dnl I don't use -mwindows since I like having the console around dnl If the console annoys you then remove "-luser32 -lgdi32" and replace dnl with "-mwindows" if test "x$is_win32" = "xyes" ; then TR_LIBS="$TR_LIBS -luser32 -lgdi32" fi dnl -------------------------------------------------------------------------- dnl Check for X dnl Note that we only need libs (so that glut links properly on all systems). dnl -------------------------------------------------------------------------- if test "x$is_win32" = "xno" ; then AC_PATH_XTRA if test "x$no_x" = "x" ; then TR_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXi -lXext -lXmu -lXt $X_EXTRA_LIBS $TR_LIBS" fi fi dnl -------------------------------------------------------------------------- dnl Check for some common libraries dnl -------------------------------------------------------------------------- AC_CHECK_LIB( dl, main, TR_LIBS="$TR_LIBS -ldl" ) AC_CHECK_LIB( m, main, TR_LIBS="$TR_LIBS -lm" ) dnl -------------------------------------------------------------------------- dnl Check for SDL dnl -------------------------------------------------------------------------- AC_ARG_ENABLE(sdl,[ --disable-sdl Disable detction and use of SDL]) if test "x$enable_sdl" != "xno" ; then SDL_VERSION=1.0.1 AM_PATH_SDL($SDL_VERSION, have_SDL=yes, have_SDL=no) if test "x$have_SDL" = "xyes" ; then TR_CPPFLAGS="$TR_CPPFLAGS -DHAVE_SDL=1" TR_CFLAGS="$TR_CFLAGS $SDL_CFLAGS" TR_CXXFLAGS="$TR_CXXFLAGS $SDL_CFLAGS" TR_LIBS="$TR_LIBS $SDL_LIBS" dnl Check for joystick support in SDL saved_LIBS="$LIBS" LIBS="$saved_LIBS $TR_LIBS" AC_CHECK_FUNCS( SDL_JoystickOpen, have_SDL_joystick=yes, have_SDL_joystick=no ) if test "x$have_SDL_joystick" = "xno" ; then echo "*** This version of SDL doesn't have joystick support." echo "*** Configuring without joystick support." fi dnl Check for SDL_mixer AC_CHECK_LIB( SDL_mixer, Mix_OpenAudio, have_SDL_mixer=yes, have_SDL_mixer=no ) if test "x$have_SDL_mixer" = "xyes" ; then TR_CPPFLAGS="$TR_CPPFLAGS -DHAVE_SDL_MIXER=1" TR_LIBS="$TR_LIBS -lSDL_mixer" else echo "*** SDL_mixer not found. Configuring without audio support." fi LIBS="$saved_LIBS" else echo "*** SDL not found. Configuring without audio or joystick support." fi fi dnl -------------------------------------------------------------------------- dnl Other options dnl -------------------------------------------------------------------------- dnl Turn use of stencil buffer on/off AC_ARG_ENABLE(stencil-buffer,[ --enable-stencil-buffer Use if your hardware has a stencil buffer],TR_CPPFLAGS="$TR_CPPFLAGS -DUSE_STENCIL_BUFFER") dnl Specify data directory AC_ARG_WITH(data-dir,[ --with-data-dir=PATH Default abe data directory],TR_CPPFLAGS="$TR_CPPFLAGS -DBASE_DIR=\"$withval\"") AC_SUBST(TR_CPPFLAGS) AC_SUBST(TR_CFLAGS) AC_SUBST(TR_CXXFLAGS) AC_SUBST(TR_LIBS) CPPFLAGS="$CPPFLAGS $TR_CPPFLAGS" CFLAGS="$CFLAGS $TR_CFLAGS" CXXFLAGS="$CXXFLAGS $TR_CXXFLAGS" LIBS="$LIBS $TR_LIBS" AC_OUTPUT(Makefile src/Makefile )