]> Pileus Git - ~andy/gtk/blob - build/win32/vs10/README.txt
VS2008/2010 support: Update README.txt
[~andy/gtk] / build / win32 / vs10 / README.txt
1 Note that all this is rather experimental.
2
3 This VS10 solution and the projects it includes are intented to be used
4 in a GTK+ source tree unpacked from a tarball. In a git checkout you
5 first need to use some Unix-like environment or manual work to expand
6 the files needed, like config.h.win32.in into config.h.win32 and the
7 .vcprojin files here into corresponding actual .vcproj files.
8
9 You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
10 ATK and GLib.  External dependencies are at least Cairo
11 (with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
12 gettext-runtime, fontconfig*, freetype*, expat*.  See the 
13 build/win32/vs10/README.txt file in glib for details where to unpack them.
14
15 It is recommended that one builds the dependencies with VS10 as far as
16 possible, especially those from and using the GTK+ stack (i.e. GLib,
17 Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
18 to different CRTs can be kept at a minimum.  zlib, libpng, and Cairo
19 do contain support for compiling under VS10 using VS
20 project files and/or makefiles at this time of writing, For the
21 GTK+ stack, VS10 project files are either available under
22 $(srcroot)/build/vs10 in the case of GLib (stable/unstable), ATK**
23 (2.x stable/unstable) and GDK-Pixbuf (unstable), and should be in the next
24 unstable version of Pango.  There is no known official VS10 build
25 support for fontconfig (along with freetype and expat) and
26 gettext-runtime, so please use the binaries from: 
27
28 ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
29 ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
30
31 The recommended build order for these dependencies:
32 (first unzip any dependent binaries downloaded from the ftp.gnome.org
33  as described in the README.txt file in the build/win32/vs10 folder)
34 -zlib
35 -libpng
36 -(for GDK-Pixbuf, if not using GDI+) IJG JPEG
37 -(for GDK-Pixbuf, if not using GDI+) libtiff
38  [libtiff requires zlib and IJG JPEG]
39 -(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]
40 -(optional for GLib) PCRE (version 8.12 or later, use of CMake to
41   build PCRE is recommended-see build/win32/vs10/README.txt of GLib)
42 -GLib
43 -Cairo (inclusive of Cairo-GObject)
44 -ATK-2.x**
45 -Pango
46 -GDK-Pixbuf
47 (note the last 3 dependencies are not interdependent, so the last 3
48  dependencies can be built in any order)
49
50 The "install" project will copy build results and headers into their
51 appropriate location under <root>\vs10\<PlatformName>. For instance,
52 built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
53 <root>\vs10\<PlatformName>\lib and GTK+ headers into
54 <root>\vs10\<PlatformName>\include\gtk-3.0. This is then from where
55 project files higher in the stack are supposed to look for them, not
56 from a specific GLib source tree.
57
58 *About the dependencies marked with *: I will see whether it is possible
59  to reduce the depepdencies on building and running GTK+ by making these
60  dependencies optional, as those are not compulsory components for
61  building and running GTK+ itself, but note that they are needed for
62  people running and building GIMP. They are referred to by components
63  in Cairo and Pango mainly.
64  
65 **Regarding ATK-2.x: prior to compiling ATK-2.x, please open atkprops
66   in VS under "Properties Manager" view (it is under any one of the
67   build configurations, right-click on atkprops and select "Properties").
68   Navigate to "User Macros", and edit the following fields:
69   AtkApiVersion -> 2.0
70   AtkLibToolCompatibleDllSuffix -> -2.0-0
71   AtkSeperateVS10DLLSuffix -> -2-vs10
72   Sorry this change did not make it upstream prior to ATK-2.0.0 release-
73   this will be in the subsequent releases of ATK-2.x and was committed
74   upstream.
75
76 --Tor Lillqvist <tml@iki.fi>
77 --Updated by Chun-wei Fan <fanc999@yahoo.com.tw>