gtk/build/win32/vs9
Chun-wei Fan c13c741143 Visual C++ Projects: Add rules to generate GTK DBus sources
Since commit 7c2a5072 the gtkdbusgenerated.[c|h] are not included in the
dist tarball and thus have to be generated, which broke the Visual C++
builds.

This patch adds property sheets and custom build rules for the Visual C++
projects so that gtkdbusgenerated.[c|h] will be generated upon building the
GTK+ DLL sources.

This also tells people building GTK+ from the projects that they need to
have Python 2/3 installed and the Python interpretor needs to be in their
PATH before building GTK+ from the projects.
2013-11-27 18:05:32 +08:00
..
broadwayd.vcproj Update GDK-Broadway MSVC Projects 2013-11-27 16:46:45 +08:00
gailutil.vcproj Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdk-broadway.vcproj Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdk-win32.vcproj Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdk.vcprojin MSVC Builds: Fix Build of Introspection Files 2013-08-28 14:27:02 +08:00
gengir.vcproj Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtk3-demo-application.vcproj Update Demos Visual Studio Projects 2013-09-26 19:50:56 +08:00
gtk3-demo.vcproj Update gtk3-demo Visual Studio Projects 2013-10-07 12:17:04 +08:00
gtk-build-defines.vsprops Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtk-copy-gdk-broadway.vsprops MSVC Builds: Fix Build of Introspection Files 2013-08-28 14:27:02 +08:00
gtk-gen-sources.vsprops Visual C++ Projects: Add rules to generate GTK DBus sources 2013-11-27 18:05:32 +08:00
gtk-gengir.vsprops MSVC Builds: Fix gengir Projects 2013-09-10 15:51:55 +08:00
gtk-ignore-broadway.vsprops Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtk-install-bin.vsprops Update Visual Studio Property Sheets 2013-08-15 21:45:27 +08:00
gtk-install-headers-data.vsprops Update Visual Studio Property Sheets 2013-10-07 13:00:14 +08:00
gtk-version-paths.vsprops Visual C++ Projects: Add rules to generate GTK DBus sources 2013-11-27 18:05:32 +08:00
gtk.vcprojin Visual C++ Projects: Add rules to generate GTK DBus sources 2013-11-27 18:05:32 +08:00
gtk+.sln Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtka11y.vcprojin Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtkprebuild-broadway.vsprops Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gtkprebuild.vsprops Update Visual Studio Property Sheets 2013-08-15 21:45:27 +08:00
install.vcproj Visual C++ Builds: Fix "install" Projects 2013-09-05 14:33:22 +08:00
Makefile.am Visual C++ Projects: Add rules to generate GTK DBus sources 2013-11-27 18:05:32 +08:00
README.txt Visual C++ Projects: Add rules to generate GTK DBus sources 2013-11-27 18:05:32 +08:00

Please do not compile this package (GTK+) in paths that contain
spaces in them-as strange problems may occur during compilation or during
the use of the library.

A more detailed outline for instructions on building the GTK+ with Visual
C++ can be found in the following GNOME Live! page:

https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack

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 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.

You will also need a Python 2.x/3.x interpretor installed on your system,
which can be obtained from the official installers available from
http://www.python.org.  Please note that the Python interpretor (python.exe)
needs to be in your path before attempting the build of GTK+.

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
(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)

Unzip the binaries obtained from ftp.gnome.org in <root>\vs9\<PlatformName>,
and build the following, if not already done so: 

Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
 .dll files: <root>\vs9\<PlatformName>\bin
 .lib files: <root>\vs9\<PlatformName>\lib
 .h files: <root>\vs9\<PlatformName>\include

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**
-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 *: These dependencies are 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 or those who need complex script support via fontconfig.  They
 are referred to by components in Cairo and Pango mainly.
 Decide whether you need fontconfig support prior to building Cairo
 and Pango.

**:Put the sources of the packages marked with ** in <root>\<package-
    source-tree>, and build with VS9 from there.

--Tor Lillqvist <tml@iki.fi>
--Updated by Chun-wei Fan <fanc999@yahoo.com.tw>