Visual Studio Projects: Cleanup Property Sheets
[platform/upstream/glib.git] / build / win32 / vs9 / README.txt
index 9a96616..59e77b2 100644 (file)
@@ -1,11 +1,21 @@
-Note that all this is rather experimental.\r
+Please do not compile this package (GLib) in paths that contain\r
+spaces in them-as strange problems may occur during compilation or during\r
+the use of the library.\r
+\r
+Please refer to the following GNOME Live! page for more detailed\r
+instructions on building GLib and its dependencies with Visual C++:\r
+\r
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack\r
 \r
 This VS9 solution and the projects it includes are intented to be used\r
 in a GLib source tree unpacked from a tarball. In a git checkout you\r
-first need to use some Unix-like environment or manual work to expand\r
-the .in files needed, mainly config.h.win32.in into config.h.win32 and\r
-glibconfig.h.win32.in into glibconfig.h.win32. You will also need to\r
-expand the .vcprojin files here into .vcproj files.\r
+first need to use some Unix-like environment or run build/win32/setup.py, \r
+which will do the work for you:\r
+\r
+$python build/win32/setup.py --perl path_to_your_perl.exe\r
+\r
+for more usage on this script, run\r
+$python build/win32/setup.py -h/--help\r
 \r
 The required dependencies are zlib and proxy-libintl. Fetch the latest\r
 proxy-libintl-dev and zlib-dev zipfiles from\r
@@ -14,6 +24,16 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds. \r
 \r
+One may wish to build his/her own ZLib-It is recommended that ZLib is\r
+built using the win32/Makefile.msc makefile with VS9 with the ASM routines\r
+to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
+\r
+For LibFFI, please get version 3.0.10 or later, as Visual C++ build support\r
+was added in the 3.0.10 release series.  Please see the README file that\r
+comes with the LibFFI source package for more details on how to build LibFFI\r
+on Visual C++-please note that the mozilla-build package from Mozilla is needed\r
+in order to build LibFFI on Windows.\r
+\r
 One may optionally use his/her own PCRE installation by selecting the\r
 (BuildType)_ExtPCRE configuration, but please note the PCRE must be built\r
 with VS9 with unicode support using the /MD (release) or /MDd (debug)\r
@@ -28,11 +48,11 @@ the (BuildType) configuration.
 Set up the source tree as follows under some arbitrary top\r
 folder <root>:\r
 \r
-<root>\glib\<this-glib-source-tree>\r
+<root>\<this-glib-source-tree>\r
 <root>\vs9\<PlatformName>\r
 \r
 *this* file you are now reading is thus located at\r
-<root>\glib\<this-glib-source-tree>\build\win32\vs9\README.\r
+<root>\<this-glib-source-tree>\build\win32\vs9\README.\r
 \r
 <PlatformName> is either Win32 or x64, as in VS9 project files.\r
 \r
@@ -40,6 +60,11 @@ You should unpack the proxy-libintl-dev zip file into
 <root>\vs9\<PlatformName>, so that for instance libintl.h end up at\r
 <root>\vs9\<PlatformName>\include\libintl.h.\r
 \r
+For LibFFI, one should also put the generated ffi.h and ffitarget.h\r
+into <root>\vs9\<PlatformName>\include\ and the compiled static libffi.lib\r
+(or copy libffi-convenience.lib into libffi.lib) into \r
+<root>\vs9\<PlatformName>\lib\.\r
+\r
 The "install" project will copy build results and headers into their\r
 appropriate location under <root>\vs9\<PlatformName>. For instance,\r
 built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into\r
@@ -48,5 +73,12 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
 project files higher in the stack are supposed to look for them, not\r
 from a specific GLib source tree.\r
 \r
+Note: If you see C4819 warnings and you are compiling GLib on a DBCS\r
+(Chinese/Korean/Japanese) version of Windows, you may need to switch\r
+to an English locale in Control Panel->Region and Languages->System->\r
+Change System Locale, reboot and rebuild to ensure GLib, Pango, GDK-Pixbuf,\r
+ATK and GTK+ is built correctly.  This is due to a bug in Visual C++ running\r
+on DBCS locales.\r
+\r
 --Tor Lillqvist <tml@iki.fi>\r
 --Updated by Chun-wei Fan <fanc999@gmail.com>\r