| version 1.35, 2001/05/02 14:25:47 |
version 1.58, 2002/01/10 14:33:20 |
| |
| 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. |
| | |
| |
| AM_CONFIG_HEADER(include/nelconfig.h) | AM_CONFIG_HEADER(include/nelconfig.h) |
| | |
| | |
| 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 Checks NeL modules (net, 3d, ai) to install / Disable |
| | dnl ==================================================================== |
| | |
| | dnl the misc is mandatory, it is use by the other modules. |
| | NEL_SUBDIRS="misc" |
| | |
| | dnl Network library |
| | AC_ARG_ENABLE( net, |
| | [ --disable-net disable compilation and install of NeL Network.], |
| | , enable_net=yes ) |
| | |
| | if test $enable_net = "no"; |
| | then |
| | AC_MSG_RESULT(disable NEL Network.) |
| | else |
| | NEL_SUBDIRS="$NEL_SUBDIRS net" |
| | fi |
| | |
| | dnl 3D library |
| | AC_ARG_ENABLE( 3d, |
| | [ --disable-3d disable compilation and install of NeL 3D.], |
| | , enable_3d=yes ) |
| | |
| | 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 ) |
| | |
| | if test $enable_pacs = "no"; |
| | then |
| | AC_MSG_RESULT(disable NEL PACS.) |
| | else |
| | NEL_SUBDIRS="$NEL_SUBDIRS pacs" |
| | fi |
| | |
| | dnl Sound library |
| | AC_ARG_ENABLE( sound, |
| | [ --enable-sound enable compilation and install of NeL Sound.], |
| | , enable_sound=no ) |
| | |
| | if test $enable_sound = "yes"; |
| | then |
| | AC_MSG_RESULT(enable NEL Sound.) |
| | NEL_SUBDIRS="$NEL_SUBDIRS sound" |
| | fi |
| | |
| | dnl AI library |
| | AC_ARG_ENABLE( ai, |
| | [ --enable-ai enable compilation and install of NeL AI.], |
| | , enable_ai=no ) |
| | |
| | if test $enable_ai = "yes"; |
| | then |
| | AC_MSG_RESULT(enable NEL AI.) |
| | NEL_SUBDIRS="$NEL_SUBDIRS ai" |
| | fi |
| | |
| | AC_SUBST(enable_net) |
| | AC_SUBST(enable_3d) |
| | AC_SUBST(enable_pacs) |
| | AC_SUBST(enable_sound) |
| | AC_SUBST(enable_ai) |
| | |
| | AC_SUBST(NEL_SUBDIRS) |
| | |
| | |
| dnl ==================================================================== | dnl ==================================================================== |
| dnl Checks for programs. | dnl Checks for programs. |
| | dnl ==================================================================== |
| | |
| AC_PROG_MAKE_SET | AC_PROG_MAKE_SET |
| | |
| |
| AC_PROG_INSTALL | AC_PROG_INSTALL |
| | |
| | |
| dnl ========== | dnl ==================================================================== |
| dnl Python | dnl Configure Settings |
| dnl ========== | dnl ==================================================================== |
| | |
| AC_ARG_WITH( python, | |
| [ --with-python=<path> path to the Python prefix installation directory. | |
| e.g. /usr/local], | |
| [PYTHON_PREFIX=$withval | |
| AC_MSG_RESULT(using Python located in $withval.)] | |
| ) | |
| | |
| if test ! "$PYTHON_PREFIX" = "" | |
| then | |
| PATH="$PYTHON_PREFIX/bin:$PATH" | |
| fi | |
| | |
| AC_ARG_WITH( python-version, | |
| [ --with-python-version=<version> | |
| Python version to use, e.g. 1.5], | |
| [PYTHON_VERSION=$withval | |
| AC_MSG_RESULT(using Python $withval.)] | |
| ) | |
| | |
| if test ! "$PYTHON_VERSION" = "" | dnl Disable the static linking by default |
| then | dnl AC_DISABLE_STATIC |
| PYTHON_EXEC="python$PYTHON_VERSION" | |
| else | |
| PYTHON_EXEC="python python2.0 python1.5" | |
| fi | |
| | |
| AC_PATH_PROGS(PYTHON, $PYTHON_EXEC, no, $PATH) | dnl Use C++ compiler as a default for the compilation tests. |
| if test "$PYTHON" = "no"; | AC_LANG_CPLUSPLUS |
| then | |
| AC_MSG_ERROR([Python is needed to compile NeL (www.python.org)]) | |
| fi | |
| | |
| | |
| dnl ==================================================================== | dnl ==================================================================== |
| dnl Configure Settings | dnl Debug/optimized compilation mode |
| | dnl ==================================================================== |
| | |
| dnl Use C++ compiler as a default for the compilation test. | AM_NEL_DEBUG |
| AC_LANG_CPLUSPLUS | |
| | |
| | |
| dnl ==================================================================== | 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 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" |
| |
| 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 OpenAL |
| dnl ========== | |
| | |
| PYTHON_PREFIX=`$PYTHON -c 'import sys; print "%s" % (sys.prefix)'` | AM_PATH_OPENAL($enable_3d) |
| 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" | dnl ==================================================================== |
| CPPFLAGS="$CXXFLAGS ${PYTHON_CFLAGS}" | dnl Python |
| | |
| AC_SUBST(PYTHON_CFLAGS) | |
| | |
| AC_MSG_CHECKING(for Python header files) | |
| AC_EGREP_CPP( yo_python, | |
| [#include <Python.h> | |
| yo_python | |
| ], | |
| [AC_MSG_RESULT(ok)], | |
| AC_MSG_ERROR([Python is needed to compile NeL (www.python.org).]) | |
| ) | |
| | |
| CPPFLAGS="$_CPPFLAGS" | AM_PATH_PYTHON(1.5,$enable_ai) |
| | |
| AC_SUBST(PYTHON_CFLAGS) | |
| AC_SUBST(PYTHON_LIBS) | |
| | |
| | dnl ==================================================================== |
| | dnl LibXML |
| | |
| dnl ========== | dnl Use C++ compiler as a default for the compilation tests. |
| dnl Debug/optimized compilation mode | AC_LANG_C |
| dnl ========== | |
| | |
| MAX_C_OPTIMIZE="-O6" | AM_PATH_XML2(2.0.0, , AC_MSG_ERROR(libxml2 must be installed.)) |
| | |
| 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) | |
| AC_SUBST(FREETYPE_LIBS) | |
| | |
| dnl Checking the FreeType 2 instalation | dnl ==================================================================== |
| _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 OpenGL | dnl OpenGL |
| dnl ========== | |
| | |
| dnl Checking the OpenGL installation | |
| AC_MSG_CHECKING(for OpenGL) | |
| 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 | AM_PATH_OPENGL($enable_3d) |
| 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/).]) | |
| ) | |
| | |
| | |
| dnl ============================================ | dnl ==================================================================== |
| dnl Check for XF86VidMode extension (-lXxf86vm) | 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; | AM_PATH_XF86VIDMODE |
| then | |
| LIBS="-L$VMLIB_DIR -lXxf86vm $LIBS"; | |
| CXXFLAGS="$CXXFLAGS -DXF86VIDMODE"; | |
| fi | |
| | |
| | |
| 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 ... | dnl What an ugly hack to try to get something cleanner ... i hope ... |
| AC_OUTPUT_COMMANDS( | AC_OUTPUT_COMMANDS( |
| |
| | |
| 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 \ |
| src/Makefile \ | src/Makefile \ |
| src/misc/Makefile \ | src/misc/Makefile \ |
| src/misc/config_file/Makefile \ | src/misc/config_file/Makefile \ |
| |
| 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 \ |
| |
| src/ai/pyserver/Makefile \ | src/ai/pyserver/Makefile \ |
| src/ai/script/Makefile \ | src/ai/script/Makefile \ |
| src/ai/tools/Makefile \ | src/ai/tools/Makefile \ |
| | nel-config \ |
| ) | ) |
| | |
| | |