AC_INIT(configure.in) dnl ---------------------------------------------------------------- dnl append SVN revision to the version number OSIRIONVERSION='0.1' SVNREVISION=`svnversion $srcdir` if test ! -z "$SVNREVISION"; then OSIRIONVERSION="${OSIRIONVERSION}_${SVNREVISION}" fi AM_CONFIG_HEADER(src/config.h) AM_INIT_AUTOMAKE(osirion, $OSIRIONVERSION) AC_LANG_CPLUSPLUS AC_PROG_CXX AM_PROG_LIBTOOL dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, dnl if-not-found, test-parameter) AC_DEFUN([KDE_FIND_PATH], [ AC_MSG_CHECKING([for $1]) if test -n "$$2"; then kde_cv_path="$$2"; else kde_cache=`echo $1 | sed 'y%./+-%__p_%'` AC_CACHE_VAL(kde_cv_path_$kde_cache, [ kde_cv_path="NONE" dirs="$3" kde_save_IFS=$IFS IFS=':' for dir in $PATH; do dirs="$dirs $dir" done IFS=$kde_save_IFS for dir in $dirs; do if test -x "$dir/$1"; then if test -n "$5" then evalstr="$dir/$1 $5 2>&1 " if eval $evalstr; then kde_cv_path="$dir/$1" break fi else kde_cv_path="$dir/$1" break fi fi done eval "kde_cv_path_$kde_cache=$kde_cv_path" ]) eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" fi if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then AC_MSG_RESULT(not found) $4 else AC_MSG_RESULT($kde_cv_path) $2=$kde_cv_path fi ]) dnl ---------------------------------------------------------------- dnl HOST dependend variables dnl AC_MSG_CHECKING([host type]) case "$host" in *-*-mingw*) HOST_LIBS="-lws2_32 -lz" HOST_GL_LIBS="-lopengl32 -lglu32" HOST_AL_LIBS="-lOpenAL32" ICON_CLIENT="osirion-res.o" ICON_SERVER="osiriond-res.o" INSTALLTYPE="single directory" AC_MSG_RESULT(win32) ;; *) HOST_LIBS="-lz" HOST_GL_LIBS="-lGL -lGLU" HOST_AL_LIBS="-lopenal" ICON_CLIENT="" ICON_SERVER="" INSTALLTYPE="standard" AC_MSG_RESULT(generic unix) ;; esac AC_SUBST(HOST_LIBS) AC_SUBST(ICON_CLIENT) AC_SUBST(ICON_SERVER) dnl ---------------------------------------------------------------- dnl enable compiler warnings or not dnl AC_MSG_CHECKING(whether to abort on compiler warnings) WARN_CFLAGS="" AC_ARG_ENABLE(warn, AC_HELP_STRING( [--disable-warn], [don't abort on compiler warnings] ), AC_MSG_RESULT(no), AC_MSG_RESULT(yes) WARN_CFLAGS="$WARN_CFLAGS -Wall -Werror" ) AC_SUBST(WARN_CFLAGS) dnl ---------------------------------------------------------------- dnl enable DEBUG messages or not dnl AC_MSG_CHECKING(whether to include debug messages) AC_ARG_ENABLE(debug_messages, AC_HELP_STRING( [--disable-debug-messages], [build without extra debug information] ), AC_MSG_RESULT(no), AC_MSG_RESULT(yes) AC_DEFINE_UNQUOTED(HAVE_DEBUG_MESSAGES, 1, [Defines if debug information is enabled]) ) dnl ---------------------------------------------------------------- dnl check for ncurses dnl HAVE_CURSES=no AC_ARG_WITH(ncurses, AC_HELP_STRING([--without-ncurses], [don't include ncurses support] ) ) if test "x${with_ncurses}" != "xno"; then save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $CURSES_CFLAGS" AC_CHECK_HEADER(ncurses.h, HAVE_CURSES=yes AC_DEFINE(HAVE_CURSES, 1, [Define this if you have ncurses]) CURSES_LIBS="$NCURSES_LIBS -lncurses", HAVE_CURSES=no ) CPPFLAGS="$save_CPPFLAGS" fi AC_SUBST(CURSES_CFLAGS) AC_SUBST(CURSES_LIBS) dnl ---------------------------------------------------------------- dnl build client and erer or dedicated server only dnl BUILD_CLIENT=no AC_ARG_WITH(client, AC_HELP_STRING([--without-client], [do not build the client application]) ) AC_MSG_CHECKING(whether to build client) if test "x${with_client}" = xno; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) BUILD_CLIENT=yes AC_DEFINE(BUILD_CLIENT, 1, [Define this to build a client]) AC_CHECK_HEADER(GL/gl.h, HAVE_OPENGL=yes AC_DEFINE(HAVE_OPENGL, 1, [Define this if you have OpenGL]), AC_MSG_WARN([OpenGL include file GL/gl.h not found]) ) AC_CHECK_HEADER(GL/glext.h, HAVE_OPENGL_GLEXT=yes AC_DEFINE(HAVE_OPENGL_GLEXT, 1, [Define this if you have OpenGL Extensions]), AC_MSG_ERROR([OpenGL include file GL/glext.h not found]) ) GL_LIBS="$HOST_GL_LIBS" AC_SUBST(GL_LIBS) AC_SUBST(GL_CFLAGS) AC_CHECK_HEADER(AL/al.h, HAVE_OPENGL=yes AC_DEFINE(HAVE_OPENAL, 1, [Define this if you have OpenAL]), AC_MSG_ERROR([OpenAL include file AL/al.h not found]) ) AL_LIBS="$HOST_AL_LIBS" AC_SUBST(AL_LIBS) AC_MSG_CHECKING([looking for SDL]) KDE_FIND_PATH(sdl-config, LIBSDL_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [ AC_MSG_ERROR([SDL not found]) ]) if test -n "$LIBSDL_CONFIG"; then LIBSDL_LIBS="`$LIBSDL_CONFIG --libs`" LIBSDL_RPATH= for args in $LIBSDL_LIBS; do case $args in -L*) LIBSDL_RPATH="$LIBSDL_RPATH $args" ;; esac done LIBSDL_RPATH=`echo $LIBSDL_RPATH | sed -e "s/-L/-R/g"` LIBSDL_CFLAGS="`$LIBSDL_CONFIG --cflags`" AC_DEFINE_UNQUOTED(HAVE_LIBSDL, 1, [Defines if your system has the LIBSDL library]) fi AC_MSG_RESULT($HAVE_LIBSDL) AC_SUBST(LIBSDL_LIBS) AC_SUBST(LIBSDL_CFLAGS) AC_SUBST(LIBSDL_RPATH) fi CXXFLAGS="-pipe $DEBUG_CFLAGS $WARN_CFLAGS $CXXFLAGS" AC_SUBST(CXXFLAGS) dnl --------------------------------------------------------------- dnl Installation paths AC_MSG_CHECKING(installation type) AC_ARG_ENABLE(single_directory, AC_HELP_STRING( [--enable-single-directory], [install everything in a single directory] ), AC_MSG_RESULT(single directory) INSTALLTYPE="single directory", AC_MSG_RESULT(standard) INSTALLTYPE="standard" ) if test "x${INSTALLTYPE}" = xstandard; then test "$prefix" = "NONE" && prefix="/usr/local" bindir="$prefix/bin" pkgdatadir="$prefix/share/${PACKAGE}" docdir="$pkgdatadir/doc" else test "$prefix" = "NONE" && prefix="/opt/games/$PACKAGE" bindir="$prefix" pkgdatadir="$prefix" docdir="$prefix/doc" fi PACKAGE_DATADIR="$pkgdatadir/data" AC_DEFINE_UNQUOTED(PACKAGE_DATADIR, "$PACKAGE_DATADIR", [Define this to the path containing the game data.] ) dnl --------------------------------------------------------------- dnl Write makefiles and config.h AM_CONDITIONAL(BUILD_CLIENT, test "x$BUILD_CLIENT" = xyes) AM_CONDITIONAL(BUILD_DEDICATED, test "x$BUILD_CLIENT" = xno) AC_OUTPUT(Makefile src/Makefile src/audio/Makefile src/auxiliary/Makefile \ src/client/Makefile src/core/Makefile src/filesystem/Makefile src/game/Makefile \ src/math/Makefile src/model/Makefile src/render/Makefile src/server/Makefile src/sys/Makefile) dnl --------------------------------------------------------------- dnl Configuration summary AC_MSG_RESULT([ The Osirion Project $VERSION Configuration summary: platform ........... $host flags .............. $CXXFLAGS libraries .......... $HOST_LIBS ncurses ............ $HAVE_CURSES build client ....... $BUILD_CLIENT opengl ............. $GL_LIBS openal ............. $AL_LIBS Installation directories: installation type .. $INSTALLTYPE prefix ............. $prefix binaries ........... $bindir documentation ...... $docdir game data .......... $PACKAGE_DATADIR ])