An update to the windows/gcc docs:
[blender-staging.git] / doc / README.windows-gcc
1 Here are some basic instructions for building
2 blender for windows using gcc under cygwin.
3 Please note that the resulting executable does not
4 depend on cygwin and can be distrubuted to machines
5 that don't have cygwin installed.
6
7 The instructions are:
8
9 1. Download cygwin (www.cygwin.com) and use the setup program
10    to install packages for gcc, gcc-mingw, gcc-g++, w32api, make, cvs,
11    python, perl, gettext, and gettext-devel (and maybe others... the 
12    dependency list is bound to change over time and hopefully these 
13    instructions will keep up with the changes). All of the following
14    commands will be entered at the cygwin prompt so launch
15    cygwin now.
16
17 2. Create a directory to put your sources and then enter that
18    directory, e.g.:
19      mkdir bf-blender
20      cd bf-blender
21
22 Please note that a backslash at the end of a line in the following 
23 means that the command spans two lines. If you wish to type the command as 
24 one line, exclude the '\'.
25
26 3. Checkout the blender module from the bf-blender tree using cvs 
27    (use password anonymous):
28      cvs -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender login
29      cvs -z3 -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender \
30           co blender
31
32 4. Checkout the lib/windows module from bf-blender using cvs:
33      cvs -z3 -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender \
34           co lib/windows
35
36 5. Enter the newly created blender directory:
37      cd blender
38
39 6. To prepare the build system to use only the free tools we must
40    set some environment variables. This is done by creating a
41    file called "user-def.mk" in the blender directory and
42    inserting the following line with notepad or your favorite
43    text editor:
44        export FREE_WINDOWS=true
45
46    The quickest way to do this though is to issue the following
47    command:
48       echo 'export FREE_WINDOWS=true' > user-def.mk
49
50 7. Time to build... issue the command:
51      make
52
53 8. Wait for it to finish (there is this mysterious place called 
54    'outside' that I am told is nice to go to while waiting for a 
55    compile to finish).
56
57 Getting Help
58 ------------
59 If you have problems, come by #blendersauce on irc.freenode.net
60 or post questions to the "Compiling, Libraries, Modules" forum
61 at www.blender.org. There is also the very useful bf-committers 
62 mailing list, what you can subscribe to here:
63
64 http://www.blender.org/mailman/listinfo/bf-committers
65 (as a bonus you can get info about the most recent features that
66 are coming down the pipe ...)
67
68 This said, the most common fix to a problem will
69 probably involve installing an additional cygwin package,
70 so keep that cygwin setup program close by ...
71
72 Some final notes
73 ----------------
74
75 - The build will take a long time, even on a fast machine
76   (a clean build takes almost an hour on my Athlon 1800+
77   based laptop).
78 - If the build is successful you will find it has created
79   the program obj/windows/bin/blender.exe
80 - The executable generated by gcc will generally be slower
81   that an msvc++ generated executable at rendering, but the 
82   OpenGL speed should be about the same.
83 - Sound is disabled
84 - If you want to clean your sources issue a 'make clean'
85   in the top blender directory.
86 - If you want to update your sources when somebody has
87   added a new awesome feature, you will want to go to the
88   topmost blender directory and issue the following command:
89       cvs -z3 update -P -d
90   It would probably be best to clean your sources before
91   re-building (see previous note).
92 - This is a work in progress, so some things may not be working
93   right or it may not support all of the cutting edge features.
94 - Want to make a fancy zipped up blender package to give
95   to your buddies? Try "make release" ... read the output
96   to find out where the zip file was placed (note: you will
97   probably need the zip/unzip packages from cygwin to do
98   this).
99 - You can make a debug executable using 'make debug'. The
100   debug executable will be larger and slower that the
101   regular executable, but when used with the gnu debugger
102   (gdb) it can help debug a blender problem (for example,
103   it can locate the line of code that caused blender to
104   crash).