[BACK] Return to configure.in CVS log [TXT][DIR] Up to Nevrax / code / snowballs2

File: Nevrax / code / snowballs2 / configure.in (download)
Revision 1.6, Mon Oct 29 18:56:28 2001 UTC (8 months ago) by lecroart
Branch: MAIN
Changes since 1.5: +8 -2 lines
BUGFIX: patch makefile to compile

dnl ==========================================================================
dnl Configuration script for Snowballs
dnl ==========================================================================
dnl
dnl $Id: configure.in,v 1.6 2001/10/29 18:56:28 lecroart Exp $
dnl 


dnl ==========================================================================
dnl Process this file with autoconf to produce a configure script.

AC_INIT(client/src/client.cpp)

MAJOR_VERSION=0
MINOR_VERSION=2
PICO_VERSION=0

AM_INIT_AUTOMAKE(snowballs, $MAJOR_VERSION.$MINOR_VERSION.$PICO_VERSION)

AM_CONFIG_HEADER(config.h)


dnl The following hack should ensure that configure doesn't add optimizing
dnl or debugging flags to CFLAGS or CXXFLAGS
CFLAGS="$CFLAGS "
CXXFLAGS="$CXXFLAGS "


dnl ==========================================================================
dnl Checks Snowballs modules (Client / Server) to install / Disable

SNO_SUBDIRS=""

dnl Client
AC_ARG_ENABLE( client,
    [  --disable-client        disable compilation and install of Snowballs Client.],
    [ AC_MSG_RESULT(disable Snowballs Client.) ],
    [ SNO_SUBDIRS="$SNO_SUBDIRS client"
      enable_client=yes ] )

dnl Server
AC_ARG_ENABLE( server,
    [  --disable-server        disable compilation and install of Snowballs Server.],
    [ AC_MSG_RESULT(disable Snowballs Server.) ],
    [ SNO_SUBDIRS="$SNO_SUBDIRS server"
      enable_server=yes ] )

AC_SUBST(SNO_SUBDIRS)


dnl ==========================================================================
dnl Checks for programs.
dnl ==========================================================================

AC_PROG_MAKE_SET

AC_PROG_CC
AC_PROG_CXX

AM_SANITY_CHECK

AC_PROG_INSTALL


dnl ==========================================================================
dnl Configure Settings
dnl ==========================================================================

dnl Set the C++ compiler as the default compiler for the configure script
dnl compilation tests
AC_LANG_CPLUSPLUS


dnl ==========================================================================
dnl Checks for typedefs, structures, and compiler characteristics.
dnl ==========================================================================


dnl ==========================================================================
dnl Checks for header files.
dnl ==========================================================================

AC_STDC_HEADERS
AC_CHECK_HEADERS(fcntl.h unistd.h)


dnl ==========================================================================
dnl X11

AC_PATH_X

if test ! "$no_x" = "yes" ; then
    if test ! X"$x_libraries" = X ; then
        LIBS="$LIBS -L$x_libraries"
    fi
    if test ! X"$x_includes" = X ; then
        CXXFLAGS="$CXXFLAGS -I$x_includes"
    fi
else
    if test "$enable_client" = "yes"
    then
        AC_MSG_ERROR(X11 must be installed.)
    fi
fi


dnl ==========================================================================
dnl STLPort

dnl Ask user for path to the STLport files location
AC_ARG_WITH( stlport,
    [  --with-stlport=<path>   path to the STLPort install directory.
                          e.g. /usr/local/stlport] 
)                         

AC_ARG_WITH( stlport-include,
    [  --with-stlport-include=<path>
                          path to the STLPort header files directory.
                          e.g. /usr/local/stlport/stlport] 
)                         

AC_ARG_WITH( stlport-lib,
    [  --with-stlport-lib=<path>
                          path to the STLPort library files directory.
                          e.g. /usr/local/stlport/lib]
)                         

if test "$with_stlport" != "no"
then
    if test -z "$with_stlport" && test -z "$with_stlport_lib" -o -z "$with_stlport_include"
    then
        AC_MSG_ERROR([You must call configure with the --with-stlport or --with-stlport-lib and with-stlport-include options.
This tells configure where to find the STLPort files.])
    fi

    if test $with_stlport
    then
        AC_MSG_RESULT(using STLPort files located in $with_stlport)

        STLPORT_CFLAGS="-I$with_stlport/stlport"
        STLPORT_LIB="-L$with_stlport/lib"
    fi
else
    no_stlport="no"
    AC_MSG_RESULT(*** Override the use of the STLPorts (EXPERIMENTAL) ***)
fi

if test -z "$no_stlport" -a "$with_stlport_include"
then
    AC_MSG_RESULT(using STLPort header files located in $with_stlport_include)
    STLPORT_CFLAGS="-I$with_stlport_include"
fi

if test -z "$no_stlport" -a  "$with_stlport_lib"
then
    AC_MSG_RESULT(using STLPort library files located in $with_stlport_lib)
    STLPORT_LIB="-L$with_stlport_lib"
fi


dnl ==========================================================================
dnl NeL

dnl Check for NeL library files
AC_PATH_PROG(NEL_CONFIG, nel-config, no)

if test "$NEL_CONFIG" = "no"; then
    AC_MSG_ERROR([Cannot find nel-config: check your path.
    NeL library is needed to compile Snowballs (www.nevrax.org).])
else
    NEL_CFLAGS=`nel-config --cflags`

    if test x"$enable_client" != x"yes"
    then
        NEL_LIBS=`nel-config --libs --without-ai --without-3d`
    else
        NEL_LIBS=`nel-config --libs --without-ai`
    fi
fi

AC_SUBST(NEL_CFLAGS)
AC_SUBST(NEL_LIBS)

dnl Checking NeL instalation
_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CXXFLAGS ${NEL_CFLAGS}"


dnl ==========================================================================
dnl FreeType 2

dnl Check for the FreeType 2 library files
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)

if test "$FREETYPE_CONFIG" = "no" -a "$enable_client" = "yes"
then
    AC_MSG_ERROR([Cannot find freetype-config: check your path.
    FreeType 2 library is needed to compile Snowballs (freetype.sourceforge.net).])
else
    FREETYPE_CFLAGS=`freetype-config --cflags`
    FREETYPE_LIBS=`freetype-config --libs`
fi

AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_LIBS)

dnl Checking the FreeType 2 instalation
_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CXXFLAGS ${FREETYPE_CFLAGS}"

AC_MSG_CHECKING(for FreeType 2 installation)
AC_EGREP_CPP( yo_freetype2,
[#include <freetype/freetype.h>
#if FREETYPE_MAJOR == 2
   yo_freetype2
#endif],
[ AC_MSG_RESULT(yes) ],
  if test "$enable_client" = "yes"
  then
      AC_MSG_ERROR([Freetype 2 library is needed to compile Snowballs (freetype.sourceforge.net).])
  else
      AC_MSG_RESULT(no)
  fi
)

CPPFLAGS="$_CPPFLAGS"


dnl ==========================================================================
dnl Debug/optimized compilation mode

MAX_C_OPTIMIZE="-O6"

dnl Build optimized or debug version ?
dnl First check for gcc and g++
if test "$ac_cv_prog_gcc" = "yes"
then
    DEBUG_CFLAGS="-g"
    DEBUG_OPTIMIZE_CC="-O"
    OPTIMIZE_CFLAGS="$MAX_C_OPTIMIZE"
else
    DEBUG_CFLAGS="-g"
    DEBUG_OPTIMIZE_CC=""
    OPTIMIZE_CFLAGS="-O"
fi

if test "$ac_cv_prog_cxx_g" = "yes"
then
    DEBUG_CXXFLAGS="-g"
    DEBUG_OPTIMIZE_CXX="-O"
    OPTIMIZE_CXXFLAGS="-O3"
else
  DEBUG_CXXFLAGS="-g"
  DEBUG_OPTIMIZE_CXX=""
  OPTIMIZE_CXXFLAGS="-O"
fi

AC_ARG_WITH(debug,
    [  --with-debug[=full]     Build a debug version (huge libraries)
  --without-debug         Build withoug debugging code (default)],
    [ with_debug=$withval ],
    [ with_debug=no ] )

if test "$with_debug" = "yes"
then
    dnl Medium debug.
    CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC $CFLAGS"
    CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX $CXXFLAGS"
elif test "$with_debug" = "full"
then
    dnl Full debug. Very slow in some cases
    CFLAGS="$DEBUG_CFLAGS $CFLAGS"
    CXXFLAGS="$DEBUG_CXXFLAGS $CXXFLAGS"
else
    dnl Optimized version. No debug
    CFLAGS="$OPTIMIZE_CFLAGS $CFLAGS"
    CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
fi


dnl ==========================================================================
dnl Checks for libraries.
dnl ==========================================================================

dnl ==========================================================================
dnl STLPort

if test -z "$no_stlport"
then 

    if test X"$STLPORT_CFLAGS" != X
    then
        CXXFLAGS="$STLPORT_CFLAGS $CXXFLAGS"
    fi

    if test X"$STLPORT_LIB" != X
    then
        LIBS="$STLPORT_LIB $LIBS -lstlport_gcc"
    fi

    _CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CXXFLAGS $STLPORT_CFLAGS"

    AC_MSG_CHECKING(for STLPort)
    AC_EGREP_CPP( yo_stlport,
    [#include <algorithm>
#ifdef __SGI_STL_PORT
   yo_stlport
#endif],
    [ AC_MSG_RESULT(yes)],
      AC_MSG_ERROR([STLPort is needed to compile Snowballs (www.stlport.org).]) )

      CPPFLAGS="$_CPPFLAGS"
fi


dnl ==========================================================================
dnl Checks for library functions.
dnl ==========================================================================


dnl ==========================================================================
dnl Output files to generate.
dnl ==========================================================================

AC_OUTPUT( Makefile                                         \
           client/Makefile                                  \
           client/src/Makefile                              \
           server/Makefile                                  \
           server/frontend/Makefile                         \
           server/frontend/src/Makefile                     \
           server/chat/Makefile                             \
           server/chat/src/Makefile                         \
           server/position/Makefile                         \
           server/position/src/Makefile                     \
)


dnl End of configure.in