aboutsummaryrefslogtreecommitdiff
path: root/cvs/cvsweb.cgi/~checkout~/code/nel/INSTALL?rev=1.29&sortby=rev
blob: da784a29075d845eb49f2f57f416206b916a9355 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
Requirements
============

   The NeL library needs the following libraries :

      - STLPort 4.5    <URL:http://www.stlport.org/>            (Mandatory)
      - LibXML 2.4.13  <URL:http://www.xmlsoft.org/>            (Mandatory)
      - FreeType 2     <URL:http://freetype.sourceforge.net/>   (NeL 3D)
      - OpenAL         <URL:http://www.openal.org/>             (NeL Sound)
      - Python 1.5     <URL:http://www.python.org/>             (NeL AI)
      - Direct Input 8 <URL:http://www.microsoft.com/directx>   (NeL MISC, Windows version)
      - EAX 2          <URL:http://eax.creative.com/>           (NeL Sound, Windows version)

   (Greater version of these libraries should also be ok, if not, contact us)

   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       <URL:http://www.gnu.org/software/autoconf/autoconf.html>
      - Automake       <URL:http://www.gnu.org/software/automake/automake.html>
      - Libtool        <URL:http://www.gnu.org/software/libtool/libtool.html>
      - Lex / Flex     <URL:http://www.gnu.org/software/flex/flex.html>
      - Yacc / Bison   <URL:http://www.gnu.org/software/bison/bison.html>

      - Mesa  3.3      <URL:http://www.mesa3d.org/>             (NeL 3D)

   On some OpenGL implementations, you migth have some troubles, coming from
   the <GL/glext.h> 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        <URL:http://oss.sgi.com/projects/ogl-sample/ABI/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        <URL:http://www.stack.nl/~dimitri/doxygen/>
      - Graphviz       <URL:http://www.research.att.com/sw/tools/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:

		<URL:http://msdn.microsoft.com/vstudio/downloads/ppack/download.asp>
 

      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.

           <URL:http://ftpsearch.lycos.com/swadv/AdvResults.asp?query=gnumake-win32>

         - 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=<Path_to_the_stlport_install_directory>

         % 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-<net|3d|pacs> and --enable-<sound|ai> :

         - 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=<STLPort_headers_path>

      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 :
   
      <URL:/bugs/>

   If you need any help contact us on the NeL mailing-list :
      
      <URL:/mail/>