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

Diff for /code/nel/configure.in between version 1.36 and 1.70

version 1.36, 2001/05/02 17:11:33 version 1.70, 2002/04/25 17:53:36
Line 1 
Line 1 
 dnl dnl ====================================================================
 dnl Configuration script for NeL dnl Configuration script for NeL
  dnl ====================================================================
 dnl dnl
 dnl $Id$ dnl $Id$
 dnl  dnl
  
  
  dnl ====================================================================
 dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
  dnl ====================================================================
  
 AC_INIT(include/nel/nel.h) AC_INIT(include/nel/nel.h)
  
  
 dnl MAJOR_VERSION correspond to the CURRENT interface number. dnl MAJOR_VERSION correspond to the CURRENT interface number.
 dnl MINOR_VERSION correspond to the interface's REVISION (implementation) dnl MINOR_VERSION correspond to the interface REVISION (implementation)
 dnl               number. dnl               number.
 dnl PICO_VERSION correspond to the interface's AGE, which is the number dnl PICO_VERSION correspond to the interface AGE, which is the number
 dnl              of previous additional interfaces supported by this library. dnl              of previous additional interfaces supported by this library.
 dnl              It must be less than or equal to CURRENT. dnl              It must be less than or equal to CURRENT.
  
Line 31 
Line 35 
  
 AM_CONFIG_HEADER(include/nelconfig.h) AM_CONFIG_HEADER(include/nelconfig.h)
  
  dnl Get host type info
  AC_CANONICAL_HOST
  if test "$host_cpu" = "i386" -o "$host_cpu" = "i486" \
          -o "$host_cpu" = "i586" -o "$host_cpu" = "i686" \
          -o "$host_cpu" = "i786"
  then
      AC_DEFINE(HAVE_X86)
  fi
  
 dnl The following hack should ensure that configure doesn't add optimizing dnl The following hack should ensure that configure doesnt add optimizing
 dnl or debugging flags to CFLAGS or CXXFLAGS dnl or debugging flags to CFLAGS or CXXFLAGS
 CFLAGS="$CFLAGS " CFLAGS="$CFLAGS -ftemplate-depth-24"
 CXXFLAGS="$CXXFLAGS " CXXFLAGS="$CXXFLAGS -ftemplate-depth-24"
  
  
 dnl ==================================================================== dnl ====================================================================
 dnl Checks for programs. dnl Checks NeL modules (net, 3d, ai) to install / Disable
  dnl ====================================================================
  
 AC_PROG_MAKE_SET dnl the misc is mandatory, it is use by the other modules.
  NEL_SUBDIRS="misc"
  
 AC_PROG_CC dnl Network library
 AC_PROG_CXX AC_ARG_ENABLE( net,
      [  --disable-net           disable compilation and install of NeL Network.],
 AM_PROG_LIBTOOL     , enable_net=yes )
  
 AM_SANITY_CHECK if test $enable_net = "no";
  then
     AC_MSG_RESULT(disable NEL Network.)
  else
     NEL_SUBDIRS="$NEL_SUBDIRS net"
  fi
  
 AC_PROG_YACC dnl 3D library
 AM_PROG_LEX AC_ARG_ENABLE( 3d,
      [  --disable-3d            disable compilation and install of NeL 3D.],
      , enable_3d=yes )
  
 AC_PROG_INSTALL if test $enable_3d = "no";
  then
     AC_MSG_RESULT(disable NEL 3D.)
  else
     NEL_SUBDIRS="$NEL_SUBDIRS 3d"
  fi
  
  dnl PACS library
  AC_ARG_ENABLE( pacs,
      [  --disable-pacs          disable compilation and install of NeL PACS.],
      , enable_pacs=yes )
  
 dnl ========== if test $enable_pacs = "no";
 dnl Python then
 dnl ==========    AC_MSG_RESULT(disable NEL PACS.)
  else
     NEL_SUBDIRS="$NEL_SUBDIRS pacs"
  fi
  
 AC_ARG_WITH( python, dnl Sound library
     [  --with-python=<path>   path to the Python prefix installation directory. AC_ARG_ENABLE( sound,
                          e.g. /usr/local],     [  --enable-sound          enable compilation and install of NeL Sound.],
     [PYTHON_PREFIX=$withval     , enable_sound=no )
       AC_MSG_RESULT(using Python located in $withval.)] 
 ) 
  
 if test ! "$PYTHON_PREFIX" = "" if test $enable_sound = "yes";
 then then
     PATH="$PYTHON_PREFIX/bin:$PATH"    AC_MSG_RESULT(enable NEL Sound.)
     NEL_SUBDIRS="$NEL_SUBDIRS sound"
 fi fi
  
 AC_ARG_WITH( python-version, dnl AI library
     [  --with-python-version=<version> AC_ARG_ENABLE( ai,
                           Python version to use, e.g. 1.5],     [  --enable-ai             enable compilation and install of NeL AI.],
     [PYTHON_VERSION=$withval     , enable_ai=no )
       AC_MSG_RESULT(using Python $withval.)] 
 ) 
  
 if test ! "$PYTHON_VERSION" = "" if test $enable_ai = "yes";
 then then
     PYTHON_EXEC="python$PYTHON_VERSION"    AC_MSG_RESULT(enable NEL AI.)
 else    NEL_SUBDIRS="$NEL_SUBDIRS ai"
     PYTHON_EXEC="python python2.0 python1.5" 
 fi fi
  
 AC_PATH_PROGS(PYTHON, $PYTHON_EXEC, no, $PATH) dnl Georges library
 if test "$PYTHON" = "no"; AC_ARG_ENABLE( georges,
      [  --enable-georges        enable compilation and install of NeL Georges.],
      , enable_georges=no )
  
  if test $enable_georges = "yes";
 then then
     AC_MSG_ERROR([Python is needed to compile NeL (www.python.org)])    AC_MSG_RESULT(enable NEL Georges.)
     NEL_SUBDIRS="$NEL_SUBDIRS georges"
 fi fi
  
  AC_SUBST(enable_net)
  AC_SUBST(enable_3d)
  AC_SUBST(enable_pacs)
  AC_SUBST(enable_sound)
  AC_SUBST(enable_ai)
  AC_SUBST(enable_georges)
  
  AC_SUBST(NEL_SUBDIRS)
  
  
  dnl ====================================================================
  dnl Checks for programs.
  dnl ====================================================================
  
  AC_PROG_MAKE_SET
  
  AC_PROG_CC
  AC_PROG_CXX
  
  AM_PROG_LIBTOOL
  
  AM_SANITY_CHECK
  
  AC_PROG_YACC
  AM_PROG_LEX
  
  AC_PROG_INSTALL
  
  AM_PATH_CCACHE
  
  
 dnl ==================================================================== dnl ====================================================================
 dnl Configure Settings dnl Configure Settings
  dnl ====================================================================
  
  dnl Disable the static linking by default
  dnl AC_DISABLE_STATIC
  
 dnl Use C++ compiler as a default for the compilation test. dnl Use C++ compiler as a default for the compilation tests.
 AC_LANG_CPLUSPLUS AC_LANG_CPLUSPLUS
  
  
 dnl ==================================================================== dnl ====================================================================
  dnl Debug/optimized compilation mode
  dnl ====================================================================
  
  AM_NEL_DEBUG
  
  AC_ARG_WITH([logging],
      [  --without-logging  be silent on stdout and in no log.log],
      [
  if test "$with_logging" = "no"
  then
          AC_DEFINE(NEL_DEFAULT_DISPLAYER, 0)
          AC_DEFINE(NEL_LOG_IN_FILE, 0)
  else
          AC_MSG_ERROR([--with-logging is the default: do not use this option])
  fi
  ])
                            
  
  dnl ====================================================================
 dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for typedefs, structures, and compiler characteristics.
  dnl ====================================================================
  
 dnl Supress GCC's "multi-character character constant" warnings. dnl Test endianness
  AC_C_BIGENDIAN
  
  dnl Supress GCC "multi-character character constant" warnings.
 if test "X$CC" = "Xgcc"; if test "X$CC" = "Xgcc";
 then then
         CXXFLAGS="$CXXFLAGS -Wno-multichar"         CXXFLAGS="$CXXFLAGS -Wno-multichar"
Line 112 
Line 203 
 dnl Add the define _REENTRANT for a correct use of the threads dnl Add the define _REENTRANT for a correct use of the threads
 if test "X$CC" = "Xgcc"; if test "X$CC" = "Xgcc";
 then then
      CFLAGS="$CFLAGS -D_REENTRANT"
     CXXFLAGS="$CXXFLAGS -D_REENTRANT"     CXXFLAGS="$CXXFLAGS -D_REENTRANT"
 fi fi
  
  
  
 dnl ==================================================================== dnl ====================================================================
 dnl Checks for header files. dnl Checks for header files.
  dnl ====================================================================
  
 AC_STDC_HEADERS AC_STDC_HEADERS
 AC_CHECK_HEADERS(fcntl.h unistd.h) AC_CHECK_HEADERS(fcntl.h unistd.h)
  
  
 dnl ========== dnl ====================================================================
 dnl X11 dnl X11
 dnl ========== 
  
 AC_PATH_X AC_PATH_X
          
 if test ! "$no_x" = "yes" ; then if test ! "$no_x" = "yes"
     if test ! X"$x_libraries" = X ; then then
      if test ! X"$x_libraries" = X
      then
         LIBS="$LIBS -L$x_libraries"         LIBS="$LIBS -L$x_libraries"
     fi     fi
     if test ! X"$x_includes" = X ; then 
      if test ! X"$x_includes" = X
      then
         CXXFLAGS="$CXXFLAGS -I$x_includes"         CXXFLAGS="$CXXFLAGS -I$x_includes"
     fi     fi
 else else
      if test "$enable_3d" = "yes"
      then
     AC_MSG_ERROR(X11 must be installed.)     AC_MSG_ERROR(X11 must be installed.)
 fi fi
  fi
  
  
 dnl ========== dnl ====================================================================
 dnl STLPort dnl STLPort
 dnl ========== 
  
 dnl Ask user for path to the STLport header files AM_PATH_STLPORT
 AC_ARG_WITH( stlport, 
     [  --with-stlport=<path>   path to the STLPort header files directory. 
                           e.g. /usr/local/include/stlport], 
     [STLPORT_DIR=$with_stlport 
       AC_MSG_RESULT(using STLPort header files located in $with_stlport)], 
     AC_MSG_ERROR([You must call configure with the --with-stlport option. 
     This tells configure where to find the STLPort header files. 
     e.g. --with-stlport=/usr/local/include/stlport]) 
 ) 
  
 if test X"$STLPORT_DIR" != X; 
 then 
     CXXFLAGS="-I$STLPORT_DIR $CXXFLAGS" 
 fi 
  
  
 dnl ========== dnl ====================================================================
 dnl Python dnl Python
 dnl ========== 
  
 PYTHON_PREFIX=`$PYTHON -c 'import sys; print "%s" % (sys.prefix)'` 
 PYTHON_VERSION=`$PYTHON -c 'import sys; print "%s" % (sys.version[[:3]])'` 
  
 PYTHON_CFLAGS="-I$PYTHON_PREFIX/include/python$PYTHON_VERSION" 
 PYTHON_LIBS="-L$PYTHON_PREFIX/lib/python$PYTHON_VERSION/config -lpython$PYTHON_VERSION" 
  
 _CPPFLAGS="$CPPFLAGS" AM_PATH_PYTHON(1.5,$enable_ai)
 CPPFLAGS="$CXXFLAGS ${PYTHON_CFLAGS}" 
  
 AC_SUBST(PYTHON_CFLAGS) 
  
 AC_MSG_CHECKING(for Python header files) dnl ====================================================================
 AC_EGREP_CPP( yo_python, dnl LibXML
 [#include <Python.h> 
    yo_python 
 ], 
 [AC_MSG_RESULT(ok)], 
 AC_MSG_ERROR([Python is needed to compile NeL (www.python.org).]) 
 ) 
  
 CPPFLAGS="$_CPPFLAGS" 
  
 AC_SUBST(PYTHON_CFLAGS) dnl Use C compiler as a default for the libxml tests.
 AC_SUBST(PYTHON_LIBS) AC_LANG_C
  
  AM_PATH_XML2(2.0.0, , AC_MSG_ERROR(libxml2 must be installed.))
  
 dnl ========== CFLAGS="$CFLAGS $XML_CFLAGS"
 dnl Debug/optimized compilation mode CXXFLAGS="$CXXFLAGS $XML_CFLAGS"
 dnl ========== 
  
 MAX_C_OPTIMIZE="-O6" LIBS="$LIBS $XML_LIBS"
  
 dnl Build optimized or debug version ? dnl Use C++ compiler as a default for the compilation tests.
 dnl First check for gcc and g++ AC_LANG_CPLUSPLUS
 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 without 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 ====================================================================
 dnl Checks for libraries. dnl Checks for libraries.
  dnl ====================================================================
  
 dnl ========== dnl ====================================================================
 dnl STLPort 
 dnl ========== 
  
 dnl Ask user for path to the STLport header/library files 
 AC_ARG_WITH( stllib, 
     [  --with-stllib=<path>    path to the STLPort installation directory. 
                           e.g. /usr/local/lib/stlport], 
     [STLLIB_DIR=$with_stllib 
       AC_MSG_RESULT(using STLPort library located in $with_stllib.)] 
 ) 
  
 if test X"$STLLIB_DIR" != X; 
 then 
     LIBS="-L$STLLIB_DIR $LIBS" 
 fi 
  
 LIBS="$LIBS -lstlport_gcc" 
  
 _CPPFLAGS="$CPPFLAGS" 
 CPPFLAGS="$CXXFLAGS" 
  
 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 NeL (www.stlport.org).]) 
 ) 
  
 CPPFLAGS="$_CPPFLAGS" 
  
  
 dnl ========== 
 dnl FreeType 2 dnl FreeType 2
 dnl ========== 
  
 dnl Check for the FreeType 2 library files AM_PATH_FREETYPE($enable_3d)
 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) 
  
 if test "$FREETYPE_CONFIG" = "no"; then 
     AC_MSG_ERROR([Cannot find freetype-config: check your path. 
     FreeType 2 library is needed to compile NeL (freetype.sourceforge.net).]) 
 else 
     FREETYPE_CFLAGS=`freetype-config --cflags` 
     FREETYPE_LIBS=`freetype-config --libs` 
 fi 
  
 AC_SUBST(FREETYPE_CFLAGS) dnl ====================================================================
 AC_SUBST(FREETYPE_LIBS) dnl OpenGL
  
 dnl Checking the FreeType 2 instalation AM_PATH_OPENGL($enable_3d)
 _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)], 
 AC_MSG_ERROR([Freetype 2 library is needed to compile NeL (freetype.sourceforge.net).]) 
 ) 
  
 CPPFLAGS="$_CPPFLAGS" dnl ====================================================================
  dnl Check for XF86VidMode extension (-lXxf86vm)
  
  AM_PATH_XF86VIDMODE
  
 dnl ========== 
 dnl OpenGL 
 dnl ========== 
  
 dnl Checking the OpenGL installation dnl ====================================================================
 AC_MSG_CHECKING(for OpenGL) dnl OpenAL
 AC_EGREP_CPP( yo_opengl, 
 [#include <GL/gl.h> 
 #if defined(GL_VERSION_1_2) 
    yo_opengl 
 #endif], 
 [AC_MSG_RESULT(yes)], 
 AC_MSG_ERROR([OpenGL 1.2 is needed to compile NeL (www.mesa3d.org).]) 
 ) 
  
 dnl Checking the GLEXT version 
 AC_MSG_CHECKING(for <GL/glext.h> version) 
 AC_EGREP_CPP( yo_glext_version, 
 [#include <GL/glext.h> 
 #ifdef GL_GLEXT_VERSION 
 #if GL_GLEXT_VERSION >= 7 
    yo_glext_version 
 #endif 
 #endif], 
 [AC_MSG_RESULT(ok)], 
 AC_MSG_ERROR([A newer version of <GL/glext.h> is needed to compile NeL (download it from http://oss.sgi.com/projects/ogl-sample/ABI/).]) 
 ) 
  
  AM_PATH_OPENAL($enable_sound)
  
 dnl ============================================ 
 dnl Check for XF86VidMode extension (-lXxf86vm) 
 dnl ============================================ 
 AC_MSG_CHECKING("for XF86VidMode extension") 
 AC_ARG_WITH( xf86vidmode, 
     [  --with-xf86vidmode=<path> 
                            path to the XF86VidMode lib. 
                            e.g. /usr/X11R6/lib], 
     [VMLIB_DIR=$with_xf86vidmode 
       AC_MSG_RESULT(using VidMode library located in $with_xf86vidmode.)], 
     AC_MSG_RESULT(Compiling without Xf86VidMode and hence fullscreen support to compile with XF86VidMode support, use --with-xf86vidmode=<pathtolib>) 
 ) 
  
 if test X"$VMLIB_DIR" != X; dnl ====================================================================
 then dnl Arrange for the include directory to be in the search path even when
     LIBS="-L$VMLIB_DIR -lXxf86vm $LIBS"; dnl build is done outside the source tree
     CXXFLAGS="$CXXFLAGS -DXF86VIDMODE"; dnl Put the nelconfig.h define
 fi CFLAGS="$CFLAGS -I\${top_srcdir}/include -DHAVE_NELCONFIG_H"
  CXXFLAGS="$CXXFLAGS -I\${top_srcdir}/include -DHAVE_NELCONFIG_H"
  
  
 dnl ==================================================================== dnl ====================================================================
 dnl Checks for library functions. dnl Checks for library functions.
  dnl ====================================================================
  
  
 dnl ==================================================================== dnl ====================================================================
 dnl Output files to generate. dnl Output files to generate.
  dnl ====================================================================
 dnl What an ugly hack to try to get something cleanner ... i hope ... 
 AC_OUTPUT_COMMANDS( 
    [cd include/nel && ln -sfv ../nelconfig.h .] 
 ) 
  
 AC_OUTPUT( Makefile                       \ AC_OUTPUT( Makefile                       \
            include/Makefile               \            include/Makefile               \
             include/nel/Makefile              \
             include/nel/misc/Makefile         \
             include/nel/net/Makefile          \
             include/nel/3d/Makefile           \
             include/nel/pacs/Makefile         \
             include/nel/sound/Makefile        \
             include/nel/ai/Makefile           \
             include/nel/ai/agent/Makefile     \
             include/nel/ai/c/Makefile         \
             include/nel/ai/character/Makefile \
             include/nel/ai/e/Makefile         \
             include/nel/ai/fuzzy/Makefile     \
             include/nel/ai/logic/Makefile     \
             include/nel/ai/nimat/Makefile     \
             include/nel/ai/pyserver/Makefile  \
             include/nel/ai/script/Makefile    \
             include/nel/ai/tools/Makefile     \
             include/nel/georges/Makefile      \
            src/Makefile                   \            src/Makefile                   \
            src/misc/Makefile              \            src/misc/Makefile              \
            src/misc/config_file/Makefile  \            src/misc/config_file/Makefile  \
Line 386 
Line 341 
            src/3d/Makefile                \            src/3d/Makefile                \
            src/3d/driver/Makefile         \            src/3d/driver/Makefile         \
            src/3d/driver/opengl/Makefile  \            src/3d/driver/opengl/Makefile  \
             src/pacs/Makefile                 \
             src/sound/Makefile                \
             src/sound/driver/Makefile         \
             src/sound/driver/openal/Makefile  \
            src/ai/Makefile                \            src/ai/Makefile                \
            src/ai/agent/Makefile          \            src/ai/agent/Makefile          \
            src/ai/c/Makefile              \            src/ai/c/Makefile              \
Line 396 
Line 355 
            src/ai/pyserver/Makefile       \            src/ai/pyserver/Makefile       \
            src/ai/script/Makefile         \            src/ai/script/Makefile         \
            src/ai/tools/Makefile          \            src/ai/tools/Makefile          \
             src/georges/Makefile              \
            nel-config                     \            nel-config                     \
 ) )
  


Legend:
Removed from v.1.36 
changed lines
 Added in v.1.70