Requirements ============ The NeL library needs the following libraries : - STLPort 4.5 (Mandatory) - LibXML 2.4.13 (Mandatory) - FreeType 2 (NeL 3D) - OpenAL (NeL Sound) - Python 1.5 (NeL AI) - Direct Input 8 (NeL MISC, Windows version) - EAX 2 (NeL Sound, Windows version) STLPort needs to be compiled. NeL is using the SGI iostreams and it require the STLPort compilation and a linking of NeL with the STLPort library. On a GNU/Linux platform you will need the following libraries and softwares : - Autoconf - Automake - Libtool - Lex / Flex - Yacc / Bison - Mesa 3.3 (NeL 3D) On some OpenGL implementations, you migth have some troubles, coming from the file, to get NeL to compile. This file could be missing or not up to date. You will find the latest version of this file on SGI's website : - glext.h Most of our documentation is done using Doxygen, so you might need it to read our prose and our code documentation. If you want have nice graphs like dependency graphs, collaboration diagrams, or graphical class hierarchy graphs you will need Graphviz : - Doxygen - Graphviz Most of these softwares should be already installed on your system or provided on your installation disk. The given sofware or library version numbers are the ones that we are using. We don't know if NeL will work with other (older or more recent) versions of these softwares or libraries. You are welcome to help us to define more precisely these informations ;-) For windows users, note that you don't need to have the Direct Input (verion 8) dll on your system for NeL to run, but in this case, there will be no joystick support, and no low level access to keyboard and mouse. Anyway, you need dinput.lib to compile Compilation =========== 1. Windows compilation ---------------------- The compilation on Windows has been done only with Visual C++ 6.0 SP5 + Processor Pack for SP5. SP5 and Processor Pack for SP5 can be found at: You first need to compile STLport and FreeType libraries. It's a quite long compilation process, and you should carefully read these libraries documentation (at least the README and INSTALL files) before compiling and installing them. STLport Compilation : - Open a Dos window and go in the STLPort's src directory. - Rename or copy the "vc6-unicode.mak" to "Makefile". - Execute `nmake clean all` followed by `nmake install`. FreeType compilation, by using GNU Make : - You need to intall GNU make and to place it in the PATH. - Open a Dos window and go in the FreeType's directory. - Execute `make setup visualc' followed by `make`. FreeType compilation, by using an IDE : - Compile every (base and optionnal) library components listed at the end of the FreeType's INSTALL file. Set up Visual C++ to find the STLPort and FreeType libraries. This is done in the [Tools -> Options -> Directories] menu : - Add the STLPort include directory to the "Library Files" category. The STLPort include *must* be inserted before the microsoft one or the compiler will take microsoft STL instead of STLPort STL. (use the arrow button to put the STLPort include at the top) ex: D:/stlport-4.5/stlport - Add the STLPort library directory to the "Library Files" category. ex: D:/stlport-4.5/lib - Add the FreeType include directory to the "Include Files" category. ex: D:/freetype-2.0/include - Add the FreeType library directory to the "Library Files" category. ex: D:/freetype-2.0/obj Requirements for Nel Misc: Direct Input 8 - Install the DirectX8 SDK - Add mssdk/include to the "Include Files" category. Add mssdk/lib to the "Library Files" category. Make sure these appear before visual c++ includes, as an older version of directX may be present in Visual C++ headers. Requirements for NeL Sound: OpenAL and EAX 2 - Add the include and library directories for OpenAL: Add openaldir/win/ to the "Include Files" category. Add openaldir/win/al/ to the "Include Files" category. Add openaldir/win/openal32/release to the "Library Files" category. Add openaldir/win/alut/release to the "Library Files" category. (Please note the include directories are not located in openaldir/include/ but in openaldir/win/ on the Windows platform) - Add the include and library directories for EAX: Add eaxdir/include to the "Include Files" category. Add eaxdir/libs to the "Library Files" category. - At runtime, you will need openal32.dll and eax.dll in your path. Open the workspace file "nel.dsw" (in the menu [File -> Workspace]). Setup Visual C++ to find the NeL include and library files : - Add the NEL include directory to the "Include Files" category. ex: D:/test/code/nel/include - Add the NEL source directory to the "Include Files" category. ex: D:/test/code/nel/src - Add the NeL library directory to the "Library Files" category. ex: D:/test/code/nel/lib 2. GNU/Linux compilation ------------------------ In the NeL directory do : In the case (ex: after a cvs checkout) that you need to rebuild the "configure" script and/or the "Makefile.in" files, execute the "bootstrap" script in the NeL directory : % ./bootstrap % ./configure --with-stlport= % make The "configure" script must be call with the "--with-stlport". The option "--with-stlport" allow to override the default STL headers It is possible to compile and install only the needed part of NeL. So you may, by using --disable- and --enable- : - misc default: Mandatory - net default: Enables desativate with: --disable-net - 3d default: Enable desativate with: --disable-3d - pacs default: Enable desativate with: --disable-pacs - sound default: Disable ativate with: --enable-sound - ai default: Disable ativate with: --enable-ai To pass additional arguments to the C++ compiler, use the command line : % CXXFLAGS=-pipe ./configure --with-stlport= To get the complete list of arguments of the "configure" script use the following command : % ./configure --help Installation ============ 1. Windows installation ----------------------- Not done yet. 2. GNU/Linux installation -------------------------- % make install Contact us ========== If you find any bugs use the Nevrax Bug Tracking System : If you need any help contact us on the NeL mailing-list :