forked from AuroraMiddleware/gtk
c4010ec039
Update again due to the usage of ATK-2.x to avoid confusion about its usage in compilation...
77 lines
3.7 KiB
Plaintext
77 lines
3.7 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
|
|
-(optional for GDK-Pixbuf) IJG JPEG
|
|
-(optional for GDK-Pixbuf) requires zlib and IJG JPEG)libtiff
|
|
-(optional for GDK-Pixbuf) 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>
|