mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-08 10:26:16 +01:00
52b5a06dea
Update notes about usage of PCRE and for people attempting to build GLib on a Chinese, Japanese or Korean locale.
92 lines
4.2 KiB
Plaintext
92 lines
4.2 KiB
Plaintext
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 VS9 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 and proxy-libintl. 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 VS9 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 VS9
|
|
-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>\vs9\<PlatformName>
|
|
|
|
*this* file you are now reading is thus located at
|
|
<root>\<this-glib-source-tree>\build\win32\vs9\README.
|
|
|
|
<PlatformName> is either Win32 or x64, as in VS9 project files.
|
|
|
|
You should unpack the proxy-libintl-dev zip file into
|
|
<root>\vs9\<PlatformName>, so that for instance libintl.h end up at
|
|
<root>\vs9\<PlatformName>\include\libintl.h.
|
|
|
|
For LibFFI, one should also put the generated ffi.h and ffitarget.h
|
|
into <root>\vs9\<PlatformName>\include\ and the compiled static libffi.lib
|
|
(or copy libffi-convenience.lib into libffi.lib) into
|
|
<root>\vs9\<PlatformName>\lib\.
|
|
|
|
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 GLib headers into
|
|
<root>\vs9\<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>
|