version 1.31, 2001/04/03 12:32:21 |
version 1.50, 2001/08/09 15:40:37 |
| |
| |
| |
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. |
| |
| |
MINOR_VERSION=3 | MINOR_VERSION=3 |
PICO_VERSION=0 | PICO_VERSION=0 |
| |
AM_INIT_AUTOMAKE(nel,$MAJOR_VERSION.$MINOR_VERSION.$PICO_VERSION) | VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PICO_VERSION |
| |
| AM_INIT_AUTOMAKE(nel,$VERSION) |
| |
LIBTOOL_VERSION=$MAJOR_VERSION:$MINOR_VERSION:$PICO_VERSION | LIBTOOL_VERSION=$MAJOR_VERSION:$MINOR_VERSION:$PICO_VERSION |
| |
| AC_SUBST(VERSION) |
AC_SUBST(LIBTOOL_VERSION) | AC_SUBST(LIBTOOL_VERSION) |
| |
AM_CONFIG_HEADER(include/nelconfig.h) | AM_CONFIG_HEADER(include/nelconfig.h) |
| |
| |
| dnl The following hack should ensure that configure doesnt add optimizing |
| dnl or debugging flags to CFLAGS or CXXFLAGS |
| CFLAGS="$CFLAGS " |
| CXXFLAGS="$CXXFLAGS " |
| |
| |
| dnl ==================================================================== |
| dnl Checks NeL modules (net, 3d, ai) to install / Disable |
| |
| 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(NEL_SUBDIRS) |
| |
| |
dnl ==================================================================== | dnl ==================================================================== |
dnl Checks for programs. | dnl Checks for programs. |
| |
| |
fi | fi |
| |
AC_ARG_WITH( python-version, | AC_ARG_WITH( python-version, |
[ --with-python-version=<version> Python version to use, e.g. 1.5], | [ --with-python-version=<version> |
| Python version to use, e.g. 1.5], |
[PYTHON_VERSION=$withval | [PYTHON_VERSION=$withval |
AC_MSG_RESULT(using Python $withval.)] | AC_MSG_RESULT(using Python $withval.)] |
) | ) |
| |
fi | fi |
| |
AC_PATH_PROGS(PYTHON, $PYTHON_EXEC, no, $PATH) | AC_PATH_PROGS(PYTHON, $PYTHON_EXEC, no, $PATH) |
if test "$PYTHON" = "no"; | if test "$PYTHON" = "no" -a "$enable_ai" = "yes" |
then | then |
AC_MSG_ERROR([Python is needed to compile NeL (www.python.org)]) | AC_MSG_ERROR([Python is needed to compile NeL (www.python.org)]) |
fi | fi |
| |
dnl ==================================================================== | dnl ==================================================================== |
dnl Checks for typedefs, structures, and compiler characteristics. | dnl Checks for typedefs, structures, and compiler characteristics. |
| |
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" |
| |
| |
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 ========== |
| |
dnl Ask user for path to the STLport header files | dnl Ask user for path to the STLport files location |
AC_ARG_WITH( stlport, | AC_ARG_WITH( stlport, |
[ --with-stlport=<path> path to the STLPort header files directory. | [ --with-stlport=<path> path to the STLPort install files directory. |
e.g. /usr/local/include/stlport], | e.g. /usr/local/stlport]) |
[STLPORT_DIR=$with_stlport | |
AC_MSG_RESULT(using STLPort header files located in $with_stlport)], | AC_ARG_WITH( stlport-include, |
AC_MSG_ERROR([You must call configure with the --with-stlport option. | [ --with-stlport-include=<path> |
This tells configure where to find the STLPort header files. | path to the STLPort header files directory. |
e.g. --with-stlport=/usr/local/include/stlport]) | 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="yes" |
| 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 OpenAL |
| dnl ========== |
| |
| dnl Ask user for path to the OpenAL files location |
| AC_ARG_WITH( openal, |
| [ --with-openal=<path> path to the OpenAL install files directory. |
| e.g. /usr/local]) |
| |
| AC_ARG_WITH( openal-include, |
| [ --with-openal-include=<path> |
| path to the OpenAL header files directory. |
| e.g. /usr/local/include]) |
| |
| AC_ARG_WITH( openal-lib, |
| [ --with-openal-lib=<path> |
| path to the OpenAL library files directory. |
| e.g. /usr/local/lib]) |
| |
| if test $with_openal |
| then |
| AC_MSG_RESULT(using OpenAL files located in $with_openal) |
| |
| OPENAL_CFLAGS="-I$with_openal/include" |
| OPENAL_LIB="-L$with_openal/lib" |
| fi |
| |
| if test "$with_openal_include" |
| then |
| AC_MSG_RESULT(using OpenAL header files located in $with_openal_include) |
| OPENAL_CFLAGS="-I$with_openal_include" |
| fi |
| |
if test X"$STLPORT_DIR" != X; | if test "$with_openal_lib" |
then | then |
CXXFLAGS="-I$STLPORT_DIR $CXXFLAGS" | AC_MSG_RESULT(using OpenAL library files located in $with_openal_lib) |
| OPENAL_LIB="-L$with_openal_lib" |
fi | fi |
| |
| |
| |
| |
AC_SUBST(PYTHON_CFLAGS) | AC_SUBST(PYTHON_CFLAGS) |
| |
AC_MSG_CHECKING("for Python header files") | AC_MSG_CHECKING(for Python header files) |
AC_EGREP_CPP( yo_python, | AC_EGREP_CPP( yo_python, |
[#include <Python.h> | [#include <Python.h> |
yo_python | yo_python |
], | ], |
[AC_MSG_RESULT("ok")], | [ AC_MSG_RESULT(ok)], |
| AC_MSG_RESULT(no) |
| if test "$enable_ai" = "yes" |
| then |
AC_MSG_ERROR([Python is needed to compile NeL (www.python.org).]) | AC_MSG_ERROR([Python is needed to compile NeL (www.python.org).]) |
| fi |
) | ) |
| |
CPPFLAGS="$_CPPFLAGS" | CPPFLAGS="$_CPPFLAGS" |
| |
AC_SUBST(PYTHON_LIBS) | AC_SUBST(PYTHON_LIBS) |
| |
| |
| dnl ========== |
| dnl Debug/optimized compilation mode |
| dnl ========== |
| |
| 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 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" |
| else |
| if 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 |
| fi |
| |
| |
dnl ==================================================================== | dnl ==================================================================== |
dnl Checks for libraries. | dnl Checks for libraries. |
| |
| |
dnl STLPort | dnl STLPort |
dnl ========== | dnl ========== |
| |
dnl Ask user for path to the STLport header/library files | if test -z "$no_stlport" |
AC_ARG_WITH( stllib, | then |
[ --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; | if test X"$STLPORT_CFLAGS" != X |
then | then |
LIBS="-L$STLLIB_DIR $LIBS" | CXXFLAGS="$STLPORT_CFLAGS $CXXFLAGS" |
fi | fi |
| |
LIBS="$LIBS -lstlport_gcc" | if test X"$STLPORT_LIB" != X |
| then |
| LIBS="$STLPORT_LIB $LIBS -lstlport_gcc" |
| fi |
| |
_CPPFLAGS="$CPPFLAGS" | _CPPFLAGS="$CPPFLAGS" |
CPPFLAGS="$CXXFLAGS" | CPPFLAGS="$CXXFLAGS $STLPORT_CFLAGS" |
| |
AC_MSG_CHECKING("for STLPort") | AC_MSG_CHECKING(for STLPort) |
AC_EGREP_CPP( yo_stlport, | AC_EGREP_CPP( yo_stlport, |
[#include <algorithm> | [#include <algorithm> |
#ifdef __SGI_STL_PORT | #ifdef __SGI_STL_PORT |
yo_stlport | yo_stlport |
#endif], | #endif], |
[AC_MSG_RESULT("yes")], | [ AC_MSG_RESULT(yes)], |
AC_MSG_ERROR([STLPort is needed to compile NeL (www.stlport.org).]) | AC_MSG_ERROR([STLPort is needed to compile NeL (www.stlport.org).]) ) |
) | |
| |
CPPFLAGS="$_CPPFLAGS" | CPPFLAGS="$_CPPFLAGS" |
| fi |
| |
dnl ========== | dnl ========== |
dnl FreeType 2 | dnl FreeType 2 |
| |
dnl Check for the FreeType 2 library files | dnl Check for the FreeType 2 library files |
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) | AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) |
| |
if test "$FREETYPE_CONFIG" = "no"; then | if test "$FREETYPE_CONFIG" = "no" -a "$enable_3d" = "yes" |
| then |
AC_MSG_ERROR([Cannot find freetype-config: check your path. | AC_MSG_ERROR([Cannot find freetype-config: check your path. |
FreeType 2 library is needed to compile NeL (freetype.sourceforge.net).]) | FreeType 2 library is needed to compile NeL (freetype.sourceforge.net).]) |
else | else |
| |
_CPPFLAGS="$CPPFLAGS" | _CPPFLAGS="$CPPFLAGS" |
CPPFLAGS="$CXXFLAGS ${FREETYPE_CFLAGS}" | CPPFLAGS="$CXXFLAGS ${FREETYPE_CFLAGS}" |
| |
AC_MSG_CHECKING("for FreeType 2 installation") | AC_MSG_CHECKING(for FreeType 2 installation) |
AC_EGREP_CPP( yo_freetype2, | AC_EGREP_CPP( yo_freetype2, |
[#include <freetype/freetype.h> | [#include <freetype/freetype.h> |
#if FREETYPE_MAJOR == 2 | #if FREETYPE_MAJOR == 2 |
yo_freetype2 | yo_freetype2 |
#endif], | #endif], |
[AC_MSG_RESULT("yes")], | [ AC_MSG_RESULT(yes) ], |
AC_MSG_ERROR([Freetype 2 library is needed to compile NeL (www.stlport.org).]) | if test "$enable_3d" = "yes" |
| then |
| AC_MSG_ERROR([Freetype 2 library is needed to compile NeL (freetype.sourceforge.net).]) |
| else |
| AC_MSG_RESULT(no) |
| fi |
) | ) |
| |
CPPFLAGS="$_CPPFLAGS" | CPPFLAGS="$_CPPFLAGS" |
| |
dnl ========== | dnl ========== |
| |
dnl Checking the OpenGL installation | dnl Checking the OpenGL installation |
AC_MSG_CHECKING("for OpenGL installation") | AC_MSG_CHECKING(for OpenGL) |
AC_EGREP_CPP( yo_opengl, | AC_EGREP_CPP( yo_opengl, |
[#include <GL/gl.h> | [#include <GL/gl.h> |
#if defined(GL_VERSION_1_2) | #if defined(GL_VERSION_1_2) |
yo_opengl | yo_opengl |
#endif], | #endif], |
[AC_MSG_RESULT("yes")], | [ AC_MSG_RESULT(yes) ], |
| AC_MSG_RESULT(no) |
| if test "$enable_3d" = "yes" |
| then |
AC_MSG_ERROR([OpenGL 1.2 is needed to compile NeL (www.mesa3d.org).]) | AC_MSG_ERROR([OpenGL 1.2 is needed to compile NeL (www.mesa3d.org).]) |
| fi |
) | ) |
| |
dnl Checking the GLEXT version | dnl Checking the GLEXT version |
| |
yo_glext_version | yo_glext_version |
#endif | #endif |
#endif], | #endif], |
[AC_MSG_RESULT("yes")], | [ AC_MSG_RESULT(ok) ], |
| if test "$enable_3d" = "yes" |
| then |
| AC_MSG_RESULT(no) |
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/).]) | 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/).]) |
| fi |
| ) |
| |
| |
| 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; |
| then |
| LIBS="-L$VMLIB_DIR -lXxf86vm $LIBS"; |
| CXXFLAGS="$CXXFLAGS -DXF86VIDMODE"; |
| fi |
| |
| |
| dnl ========== |
| dnl OpenAL |
| dnl ========== |
| |
| AC_SUBST(OPENAL_CFLAGS) |
| AC_SUBST(OPENAL_LIB) |
| |
| _CPPFLAGS="$CPPFLAGS" |
| CPPFLAGS="$CXXFLAGS $OPENAL_CFLAGS" |
| |
| AC_MSG_CHECKING(for OpenAL) |
| AC_EGREP_CPP( yo_openal, |
| [#include <AL/altypes.h> |
| #ifdef AL_VERSION |
| yo_openal |
| #endif], |
| [ AC_MSG_RESULT(yes)], |
| AC_MSG_RESULT(no) |
| if test "$enable_sound" = "yes" |
| then |
| AC_MSG_ERROR([OpenAL is needed to compile NeL (www.openal.org).]) |
| fi |
| ) |
| |
| CPPFLAGS="$_CPPFLAGS" |
| |
| |
dnl ==================================================================== | dnl ==================================================================== |
dnl Checks for library functions. | dnl Checks for library functions. |
| |
| |
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 \ |
| ) |
| |
| |
dnl End of configure.in | dnl End of configure.in |