Added a link for where to get glut
[blender.git] / README
1 Welcome to the fun world of open-source.
2
3 This file is to help you get started using the source and will hopefully
4 answer most questions.
5
6 Here are some links to external packages you may or maynot need:
7
8 openssl:  http://www.openssl.org
9 python:  http://www.python.org
10 mxtexttools:http://www.egenix.com/files/python/mxTextTools.html (python lib)
11 libjpeg:  http://www.ijg.org/
12 libpng:  http://www.libpng.org/pub/png/
13 zlib:   http://www.gzip.org/zlib/
14 ode:    http://q12.org/ode/ode.html
15 openal:  http://www.openal.org/home/            (for linux/windows)
16         sdl: http://www.libsdl.org/index.php (for openal)
17         smpeg: http://www.lokigames.com/development/smpeg.php3 (for openal)
18 fmod: http://www.fmod.org/
19
20 mozilla: http://www.mozilla.org/
21 nspr:  ftp://ftp.mozilla.org/pub/nspr/releases
22         (side note: on debian linux you will need mozilla-dev and libnspr-dev)
23
24 glut:   http://www.opengl.org/developers/documentation/glut.html
25
26 If you do not have GL you will also need mesa:
27 mesa:   http://www.mesa3d.org
28
29 *********************************************************************
30 *********************************************************************
31 We are in the process of moving things over to automake/autoconf
32 The old makefiles are still in place and will work.  
33 If you want to get a working blender skip down to the next section 
34 and use this readme as a guide.
35
36 If you want to play with the new autoconf environment take a look at 
37 doc/autoconfig.txt
38
39 *********************************************************************
40 *********************************************************************
41
42 --Notes on compiling mxTextTools----------------------------------------------
43 To get the latest version to compile on my machine I had to
44 edit mxSetup.py and remove /usr/include from INCLPATH for it to build
45 properly.
46 (after doing this you need to edit blender/source/Makefile and
47 fix the pointer to it I'm still working on automating this)
48
49 --------------Basic Makefile TIPS---------------------------------------
50 Assuming you are using tcsh/csh do the following before compiling.
51 #Set this to wherever you have extracted the source.
52 setenv NANBLENDERHOME `pwd`
53 setenv MAKEFLAGS "-w -I$NANBLENDERHOME/source"
54
55 Or for bash/sh do this:
56 NANBLENDERHOME=`pwd`
57 export NANBLENDERHOME
58 MAKEFLAGS="-w -I$NANBLENDERHOME/source"
59 export MAKEFLAGS
60
61 Then edit source/nan_definitions.mk to fit you're environment.
62 (You'll want to change things like NAN_OPENSSL,NAN_JPEG, NAN_PNG etc.. 
63 to point to where you have it installed)
64
65 If you want to integrate the game-engine in Blender, you might want
66 to uncomment the following line in nan_compile.mk:
67 #CFLAGS += -DGAMEBLENDER=1
68 The define is disabled by default because there still are still some
69 problems with this at the moment.
70
71 If you tried to just have a go at making stuff you might wind up with
72 an empty file /tmp/.nanguess
73 You need to remove the empty file and it will get created automatically
74 by $NANBLENDERHOME/source/tools/guess/guessconfig after you have 
75 setup the NANBLENDERHOME variable.
76
77 After that cd $NANBLENDERHOME/intern 
78 make
79 make install
80
81 cd $NANBLENDERHOME/source/ode
82 Look at the README_BLENDER and follow instructions
83
84 Then cd $NANBLENDERHOME/source
85 make
86
87 If you have any problems with the above post a message to the Forums on
88 www.blender.org
89 ----------------------WINDOWS TIPS--------------------------------------
90 If you have any problems with the above post a message to the Forums on
91 www.blender.org
92
93
94 ----------------------Mac OSX TIPS--------------------------------------
95 When building Blender on OSX you have three choices:
96 METHOD 1. Build using the old NaN Makefiles.
97 METHOD 2. Build using the new automake/autoconf files
98 METHOD 3. Use the Project Builder project
99
100 METHOD 1 and 3
101 The first 4 steps are th same for methods 1 and 3. Only the actual Blender 
102 build step number 5 is different.
103
104 Step1:
105 If you want to follow method 1 and 3, follow the instructions above to set the
106 environment variables. You don't need to edit the Makefiles. They should work
107 out of the box in combinations with some external libraries that should be on
108 your system in a fixed location. 
109
110 Step 2:
111 You can use the package installer fink (http://fink.sourceforge.net/) for some
112 of the external libraries:
113 1. openssl (fink install openssl)
114 2. jpeg    (fink install jpeg)
115 3. png     (fink install png)
116
117 Step 3:
118 The rest of the external libraries are present in CVS in binary format so you
119 don't have to download them. Precompiled libraries are found in CVS in 
120 directory:
121 $NANBLENDERHOME/lib/darwin-6.1-powerpc
122 If you are not running on a darwing kernel 6.1 (which is likely if you auto-
123 update your system, you might want to add a symbolic link in the 
124 $NANBLENDERHOME/lib/ directory. For example, if you work on a 6.2 kernel:
125 ln -s darwin-6.1-powerpc darwin-6.2-powerpc
126
127 Step 4: 
128 Start the build process by building Blender's "intern" libraries. Navigate to 
129 $NANBLENDERHOME/intern and type make. This will build the intern libaries which
130 will be installed into the $NANBLENDERHOME/lib/darwin-6.1-powerpc (thanks to 
131 the symbolic link).
132 Now you can choose how to build Blender itself; using the Makefiles or the 
133 Project Builder project.
134
135 Step 5 METHOD 1:
136 Navigate to $NANBLENDERHOME/source and type make. 
137
138 Step 5 METHOD 3:
139 The project Builder project can be found in the directory:
140 $NANBLENDERHOME/projectfiles/pb_2_0_1
141 Start Project Builder open the blender.pbproj project, choose a target (blender
142 or player) and build.
143
144 Step 6:
145 Although the Makefiles in the intern directory run ranlib on the libraries 
146 built, the gcc linker complains about ranlib not being run. Until there is a
147 solution, you will need to run ranlib by hand once in a while when the make 
148 breaks. Luckily, the error message lists the full path of the file to run 
149 ranlib on... Anybody out there with a real solution? I guess the problem arises
150 from copying the files from one location to the other...
151
152
153 BUILDING EXTERNAL LIBRARIES
154 If you don't want to use the precompiled libraries you can download and/or
155 build them yourself. Here are some directions.
156
157 PYHON:
158 Mac OSX 10.2 (Jaguar) now comes with Python (2.2.1) pre-installed. This is fine
159 for producing the "frozen" Python code found in the intern directory. However,
160 the installation does not contain the python library to link against (at least
161 I could not find it). You could use fink to install Python but that Python 
162 installation depends on X being installed and that is a large installation.
163
164 If you prefer the easy way: download Python 2.2.2 from http://www.python.org.
165 Follow the instructions to in the documentation to install it on your box. If
166 you run OSX 10.2 it should install just fine. Basically a configure and a 
167 "make" will do the job. The result is a Python library that should be copied to
168 the library tree together with the associated header files.
169
170 Create the following  directories:
171 $NANBLENDERHOME/lib/darwin-6.1-powerpc/python/include/python2.2
172 $NANBLENDERHOME/lib/darwin-6.1-powerpc/python/lib/python2.2/config
173 Now copy the include files and the libpython2.2.a library to those locations.
174
175 FMOD:
176 Download FMOD from http://www.fmod.org/ and unpack with StuffIt Expander. The
177 archive contains header files and a library. Copy those to these directories
178 (that you need to create first):
179 $NANBLENDERHOME/lib/darwin-6.1-powerpc/fmod/include
180 $NANBLENDERHOME/lib/darwin-6.1-powerpc/fmod/lib
181
182 ODE:
183 Ode is currently included in the source tree of Blender. This might change in
184 the close future. But for now you don't need to download Ode.
185 If you want to build ODE yourself, you'll have to edit a config file of ODE first.
186 go to $NANBLENDERHOME/source/ode/config and edit the file "user-settings" so 
187 that platform is equal to osx (PLATFORM=osx).
188
189 Success!