Imported Upstream version 1.2.4
[platform/upstream/json-glib.git] / build / win32 / vs15 / README.txt
1 Please refer to the following GNOME Live! page for more detailed\r
2 instructions on building JSON-GLib and its dependencies with Visual C++:\r
3 \r
4 https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack\r
5 \r
6 This VS15 solution and the projects it includes are intended to be used\r
7 in a JSON-GLib source tree unpacked from a tarball. In a git checkout you\r
8 first need to use some Unix-like environment or manual work to expand\r
9 the .in files needed, mainly config.h.win32.in into config.h.win32.\r
10 You will also need to expand json-glib.vcxprojin and json-glib.vcxproj.filtersin\r
11 here into json-glib.vcxproj and json-glib.vcxproj.filters repectively.\r
12 \r
13 The dependencies for this package are gettext-runtime (libintl), GLib*,\r
14 ZLib at the minimum.\r
15 \r
16 For the Dependencies, you may either:\r
17 \r
18 a) look for all of the dependencies (except GLib*) under\r
19 \r
20    http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR-\r
21    http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64-bit)\r
22 \r
23    Please use the latest versions of these libraries that are available there,\r
24    these are packaged by Tor Lillqvist, which are built with MinGW/GCC.\r
25    Please see b) below regarding the build of GLib*\r
26 \r
27 -OR-\r
28 \r
29 b) Build them yourself with VS15 (but you may most probably wish to get\r
30    gettext-runtime from the URL(s) mentioned in a)).  Use the latest\r
31    stable versions for them (you may need to get the latest unstable version of\r
32    GLib if you are using an unstable version of JSON-GLib):\r
33 \r
34    GLib*:   Grab the latest sources from http://www.gtk.org under "Download"\r
35             (stable only-please make a search for the latest unstable versions)\r
36    ZLib:   http://www.zlib.net\r
37 \r
38    The above 2 packages all have supported mechanisms (Makefiles and/or Project\r
39    Files) for building under VS15 (upgrade the Project Files from earlier VS\r
40    versions will do for these, when applicable).  It is recommended that ZLib\r
41    is built using the win32/Makefile.msc makefile with VS15 with the ASM routines\r
42    to avoid linking problems (copy zdll.lib to zlib1.lib[Release] or to zlib1d.lib\r
43    [Debug] after completion of compilation)-see win32/Makefile.msc in ZLib for\r
44    more details.\r
45 \r
46 * This GLib refers to a build that is built by VS15\r
47 \r
48 Set up the source tree as follows under some arbitrary top\r
49 folder <root>:\r
50 \r
51 <root>\json-glib\<this-json-glib-source-tree>\r
52 <root>\vs15\<PlatformName>\r
53 \r
54 *this* file you are now reading is thus located at\r
55 <root>\json-glib\<this-json-glib-source-tree>\build\win32\vs15\README.\r
56 \r
57 <PlatformName> is either Win32 or x64, as in the VS15 project files.\r
58 \r
59 You should unpack the <dependent-package>-dev and <dependent-packge> (runtime)\r
60 into <root>\vs15\<PlatformName>, if you download any of the packages from\r
61 \r
62 http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR-\r
63 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64-bit)\r
64 \r
65 so that for instance libintl.h end up at \r
66 <root>\vs15\<PlatformName>\include\libintl.h.\r
67 \r
68 If you build any of the dependencies yourselves, copy the: \r
69 -DLLs and EXEs into <root>\vs15\<PlatformName>\bin\r
70 -headers into <root>\vs15\<PlatformName>\include\\r
71 -LIBs into <root>\vs15\<PlatformName>\lib\r
72 \r
73 If you have not built GLib with VS15 and placed the LIBs and headers in a\r
74 place where VS15 can find them automatically, you should also uncompress\r
75 your GLib sources in <root>\ and build it from there, following the\r
76 instructions in <root>\glib<-version>\build\win32\vs15, so that the required\r
77 headers, EXEs, DLLs and LIBs will end up in\r
78 <root>\vs15\<PlatformName>\include\glib-2.0 (headers)\r
79 <root>\vs15\<PlatformName>\lib (LIBs, also glib-2.0/include/glibconfig.h)\r
80 <root>\vs15\<PlatformName>\bin (EXEs/DLLs)\r
81 respectively.\r
82 \r
83 After the build of JSON-GLib, the "install" project will copy build results\r
84 and headers into their appropriate location under <root>\vs15\<PlatformName>.\r
85 For instance, built DLLs go into <root>\vs15\<PlatformName>\bin, built LIBs into\r
86 <root>\vs15\<PlatformName>\lib and JSON-GLib headers into\r
87 <root>\vs15\<PlatformName>\include\json-glib-1.0. This is then from where\r
88 project files higher in the stack are supposed to look for them, not\r
89 from a specific JSON-GLib source tree.\r
90 \r
91 --Chun-wei Fan <fanc999@yahoo.com.tw>\r
92 --(adapted from the GLib VS9 README.txt file originally written by Tor Lillqvist)\r