glib/build/win32/vs10
Chun-wei Fan 041e77249a Cleanup and Enhance the MSVC Project Generation
Make use of the common autotools module that is used to generate the MSVC
project files from their respective templates so that the main build files
beccome cleaner, and enhance them in a way that the headers that should be
installed can be written to the property sheets during 'make dist', so that
the chances of missing headers for MSVC builds can be greatly reduced.

Also use this autotools module to fill in the projects for
glib-compile-schemas and glib-compile-resources.

https://bugzilla.gnome.org/show_bug.cgi?id=735429
2015-09-03 19:10:06 +08:00
..
.gitignore Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
gdbus.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gdbus.vcxproj.filters Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gio-querymodules.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gio-querymodules.vcxproj.filters Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gio.vcxproj.filtersin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
gio.vcxprojin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-build-defines.props MSVC Builds: Improve Build Speed and Debugging 2015-03-03 13:52:22 +08:00
glib-compile-resources.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
glib-compile-resources.vcxproj.filters Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
glib-compile-resources.vcxproj.filtersin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-compile-resources.vcxprojin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-compile-schemas.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
glib-compile-schemas.vcxproj.filters Add VS 2010 compilation support for some utilities 2011-04-25 13:32:18 +08:00
glib-compile-schemas.vcxproj.filtersin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-compile-schemas.vcxprojin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-gen-srcs.props MSVC Builds: Generate glib-mkenums If Possible 2014-08-08 17:39:48 +08:00
glib-genmarshal.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
glib-genmarshal.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
glib-install.props Visual Studio Builds: "Install" .pdb files 2015-03-03 19:21:40 +08:00
glib-install.propsin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib-install.vcxproj MSVC Builds: Rename "install" Projects 2015-02-02 12:49:42 +08:00
glib-version-paths.props MSVC Builds: Generate glib-mkenums If Possible 2014-08-08 17:39:48 +08:00
glib.sln MSVC Builds: Rename "install" Projects 2015-02-02 12:49:42 +08:00
glib.vcxproj.filtersin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
glib.vcxprojin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
gmodule.vcxproj MSVC Builds: Few More Enahncements 2015-03-04 20:11:43 +08:00
gmodule.vcxproj.filters Visual Studio Projects: Cleanup Property Sheets 2013-12-27 12:25:18 +08:00
gobject.vcxproj.filtersin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
gobject.vcxprojin Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
gresource.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gresource.vcxproj.filters Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +08:00
gsettings.vcxproj Visual Studio Projects: Use Unix Line Endings 2013-12-27 10:50:35 +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 MSVC Builds: Few More Enahncements 2015-03-04 20:11:43 +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 MSVC Builds: Few More Enahncements 2015-03-04 20:11:43 +08:00
gspawn-win32-helper.vcxproj.filters Visual C++ 2010 Project Files 2011-02-22 20:08:36 +08:00
gthread.vcxproj MSVC Builds: Few More Enahncements 2015-03-04 20:11:43 +08:00
gthread.vcxproj.filters Bug 688681: Stop using the .def file for GThread Visual C++ builds 2013-01-19 11:58:47 +08:00
Makefile.am Cleanup and Enhance the MSVC Project Generation 2015-09-03 19:10:06 +08:00
README.txt Visual C++ Builds: Update README.txt's 2014-08-13 09:55:11 +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://wiki.gnome.org/Projects/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.

Please note, although using one's own existing PCRE installation to build GLib
is possible, it is still recommended to build PCRE during the process of building
GLib (i.e. using the Debug or Release configurations), as GLib's bundled PCRE
has been patched to work optimally with GLib.  If building against an existing
PCRE is desired, use the(BuildType)_ExtPCRE configurations, but one needs to ensure
that the existing PCRE is:
-Built with VS10
-Unicode support is built in (please see the CMake options for this)
-It is built with the Multithreaded DLL (/MD, for release builds) or the
 Multithreaded DLL Debug (/MDd, for debug builds)

If using static builds of PCRE, please add PCRE_STATIC to the "Preprocessor
Definitions" of the glib project settings.

Please be aware that the GLib's regex test program will only pass with PCRE directly
built into GLib.

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.

Note: If you see C4819 errors and you are compiling GLib on a DBCS
(Chinese/Korean/Japanese) version of Windows, you may need to switch
to an English locale in Control Panel->Region and Languages->System->
Change System Locale, reboot and rebuild to ensure GLib, Pango, GDK-Pixbuf,
ATK and GTK+ is built correctly.  This is due to a bug in Visual C++ running
on DBCS locales, and also affects many other opensource projects which are
built with Visual C++, including but not limited to QT and the Mozilla apps.

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