glib/build/win32/vs10
Chun-wei Fan 874355de53 Fix GIO/GObject Visual C++ projects
-Make up for the missed DLL_EXPORT-it's actually needed for all GLib DLL
 builds, omitting this caused problems to surface due to recent works to
 make GDBus work on Windows.
-Also use the FFI_BULIDING macro for GObject builds as the suggessted
 workaround for using static LibFFI builds (as we do now)-please see
 ffi.h(.in). This will fix the build of GObject against LibFFI 3.0.11,
 but it is probable that this will change at some point for LibFFI.
2012-05-02 11:10:23 +08:00
..
.gitignore gitignore 2011-12-19 13:38:09 -05:00
gio.vcxproj.filtersin Update GIO VS 2010 project templates 2011-07-04 22:21:05 +08:00
gio.vcxprojin Fix GIO/GObject Visual C++ projects 2012-05-02 11:10:23 +08:00
glib-compile-resources.vcxproj Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
glib-compile-resources.vcxproj.filters Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
glib-compile-schemas.vcxproj Update VS projects 2011-10-12 11:23:49 +08:00
glib-compile-schemas.vcxproj.filters Add VS 2010 compilation support for some utilities 2011-04-25 13:32:18 +08:00
glib-genmarshal.vcxproj Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
glib-genmarshal.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
glib.props Fix VS property sheets 2012-03-28 14:57:12 +08:00
glib.sln Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
glib.vcxproj.filtersin Update GLib Visual C++ projects 2012-04-05 15:45:38 +08:00
glib.vcxprojin Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
gmodule.vcxproj Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
gmodule.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
gobject.vcxproj.filtersin Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
gobject.vcxprojin Fix GIO/GObject Visual C++ projects 2012-05-02 11:10:23 +08:00
gresource.vcxproj Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
gresource.vcxproj.filters Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
gsettings.vcxproj Update VS projects 2011-10-12 11:23:49 +08:00
gsettings.vcxproj.filters Add VS 2010 compilation support for some utilities 2011-04-25 13:32:18 +08:00
gspawn-win32-helper-console.vcxproj Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
gspawn-win32-helper-console.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
gspawn-win32-helper.vcxproj Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
gspawn-win32-helper.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
gthread.vcxproj Visual C++ projects: Clean/fix up 2012-04-24 00:03:33 +08:00
gthread.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
install.vcxproj Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
Makefile.am Add Visual C++ 2010 projects to compile GResource tools 2012-02-07 17:05:22 +08:00
README.txt Update Visual C++ README.txt's a bit 2011-09-02 08:41:01 +08:00
testglib.vcxproj Update VS projects 2011-10-12 11:23:49 +08:00
testglib.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00

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

Please refer to the following GNOME Live! page for more detailed
instructions on building GLib and its dependencies with Visual C++:

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

This VS10 solution and the projects it includes are intented to be used
in a GLib source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment or run build/win32/setup.py, 
which will do the work for you:

$python build/win32/setup.py --perl path_to_your_perl.exe

for more usage on this script, run
$python build/win32/setup.py -h/--help

The required dependencies are zlib, proxy-libintl and LibFFI. Fetch the latest
proxy-libintl-dev and zlib-dev zipfiles from
http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ for 32-bit
builds, and correspondingly
http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit
builds.

One may wish to build his/her own ZLib-It is recommended that ZLib is
built using the win32/Makefile.msc makefile with VS10 with the ASM routines
to avoid linking problems-see win32/Makefile.msc in ZLib for more details.

For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
was added in the 3.0.10 release series.  Please see the README file that
comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.

One may optionally use his/her own PCRE installation by selecting the
(BuildType)_ExtPCRE configuration, but please note the PCRE must be built
with VS10 with unicode support using the /MD (release) or /MDd (debug)
runtime option which corresponds to your GLib build flavour (release, debug).
(These are the defaults set by CMAKE, which is used in recent versions of PCRE.)
Not doing so will most probably result in unexpected crashes in 
your programs due to the use of different CRTs.  If using a static PCRE
build, add PCRE_STATIC to the "preprocessor definitions".
Note that one may still continue to build with the bundled PCRE by selecting
the (BuildType) configuration.

Set up the source tree as follows under some arbitrary top
folder <root>:

<root>\<this-glib-source-tree>
<root>\vs10\<PlatformName>

*this* file you are now reading is thus located at
<root>\<this-glib-source-tree>\build\win32\vs10\README.

<PlatformName> is either Win32 or x64, as in VS10 project files.

You should unpack the proxy-libintl-dev zip file into
<root>\vs10\<PlatformName>, so that for instance libintl.h end up at
<root>\vs10\<PlatformName>\include\libintl.h.

For LibFFI, one should also put the generated ffi.h and ffitarget.h
into <root>\vs10\<PlatformName>\include\ and the compiled static libffi.lib
(or copy libffi-convenience.lib into libffi.lib) into 
<root>\vs10\<PlatformName>\lib\.

The "install" project will copy build results and headers into their
appropriate location under <root>\vs10\<PlatformName>. For instance,
built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
<root>\vs10\<PlatformName>\lib and GLib headers into
<root>\vs10\<PlatformName>\include\glib-2.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.

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