78 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Note that all this is rather experimental.
 | |
| 
 | |
| This VS9 solution and the projects it includes are intented to be used
 | |
| in a GTK+ source tree unpacked from a tarball. In a git checkout you
 | |
| first need to use some Unix-like environment or manual work to expand
 | |
| the files needed, like config.h.win32.in into config.h.win32 and the
 | |
| .vcprojin files here into corresponding actual .vcproj files.
 | |
| 
 | |
| You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
 | |
| ATK (2.x)** and GLib.  External dependencies are at least Cairo
 | |
| (with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
 | |
| gettext-runtime, fontconfig*, freetype*, expat*.  See the 
 | |
| build/win32/vs9/README.txt file in glib for details where to unpack them.
 | |
| 
 | |
| It is recommended that one builds the dependencies with VS9 as far as
 | |
| possible, especially those from and using the GTK+ stack (i.e. GLib,
 | |
| Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
 | |
| to different CRTs can be kept at a minimum.  zlib, libpng, and Cairo
 | |
| do contain support for compiling under VS9 using VS
 | |
| project files and/or makefiles at this time of writing, For the
 | |
| GTK+ stack, VS9 project files are either available under
 | |
| $(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK**
 | |
| (2.x stable/unstable) and GDK-Pixbuf (unstable), and should be in the next
 | |
| unstable version of Pango.  There is no known official VS9 build
 | |
| support for fontconfig (along with freetype and expat) and
 | |
| gettext-runtime, so please use the binaries from: 
 | |
| 
 | |
| ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
 | |
| ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
 | |
| 
 | |
| The recommended build order for these dependencies:
 | |
| (first unzip any dependent binaries downloaded from the ftp.gnome.org
 | |
|  as described in the README.txt file in the build/win32/vs9 folder)
 | |
| -zlib
 | |
| -libpng
 | |
| -(for GDK-Pixbuf, if not using GDI+) IJG JPEG
 | |
| -(for GDK-Pixbuf, if not using GDI+) libtiff
 | |
|  [libtiff requires zlib and IJG JPEG]
 | |
| -(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
 | |
| -(optional for GLib) PCRE (version 8.12 or later, use of CMake to
 | |
|   build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
 | |
| -GLib
 | |
| -Cairo (inclusive of Cairo-GObject)
 | |
| -ATK-2.x**
 | |
| -Pango
 | |
| -GDK-Pixbuf
 | |
| (note the last 3 dependencies are not interdependent, so the last 3
 | |
|  dependencies can be built in any order)
 | |
| 
 | |
| The "install" project will copy build results and headers into their
 | |
| appropriate location under <root>\vs9\<PlatformName>. For instance,
 | |
| built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
 | |
| <root>\vs9\<PlatformName>\lib and GTK+ headers into
 | |
| <root>\vs9\<PlatformName>\include\gtk-3.0. This is then from where
 | |
| project files higher in the stack are supposed to look for them, not
 | |
| from a specific GLib source tree.
 | |
| 
 | |
| *About the dependencies marked with *: I will see whether it is possible
 | |
|  to reduce the depepdencies on building and running GTK+ by making these
 | |
|  dependencies optional, as those are not compulsory components for
 | |
|  building and running GTK+ itself, but note that they are needed for
 | |
|  people running and building GIMP.  They are referred to by components
 | |
|  in Cairo and Pango mainly.
 | |
| 
 | |
| **Regarding ATK-2.x: prior to compiling ATK-2.x, please open atkprops
 | |
|   in VS under "Properties Manager" view (it is under any one of the
 | |
|   build configurations, right-click on atkprops and select "Properties").
 | |
|   Navigate to "User Macros", and edit the following fields:
 | |
|   AtkApiVersion -> 2.0
 | |
|   AtkLibToolCompatibleDllSuffix -> -2.0-0
 | |
|   AtkSeperateVS9DLLSuffix -> -2-vs9
 | |
|   Sorry this change did not make it upstream prior to ATK-2.0.0 release-
 | |
|   this will be in the subsequent releases of ATK-2.x and was committed
 | |
|   upstream.
 | |
| 
 | |
| --Tor Lillqvist <tml@iki.fi>
 | |
| --Updated by Chun-wei Fan <fanc999@yahoo.com.tw>
 | 
