• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Simple install procedure
2========================
3
4  % tar xf glib-@GLIB_VERSION@.tar.gz       # unpack the sources
5  % cd glib-@GLIB_VERSION@                  # change to the toplevel directory
6  % meson _build                            # configure the build
7  % ninja -C _build                         # build GLib
8
9  [ Become root if necessary ]
10  % ninja -C _build install                 # install GLib
11
12Requirements
13============
14
15GLib requires a C90-compliant (but not necessarily C99-compliant) C
16compiler and libc. On UNIX-like systems, it also assumes compliance
17with at least the original 1990 version of POSIX.
18
19GLib-2.0 requires pkg-config, which is tool for tracking the
20compilation flags needed for libraries. (For each library, a small .pc
21text file is installed in a standard location that contains the
22compilation flags needed for that library along with version number
23information.) Information about pkg-config can be found at:
24
25  http://www.freedesktop.org/software/pkgconfig/
26
27Meson (http://mesonbuild.com/) is also required.
28
29In order to implement conversions between character sets,
30GLib requires an implementation of the standard iconv() routine.
31Most modern systems will have a suitable implementation, however
32many older systems lack an iconv() implementation. On such systems,
33you must install the libiconv library. This can be found at:
34
35 http://www.gnu.org/software/libiconv/
36
37If your system has an iconv implementation but you want to use
38libiconv instead, you can pass the --with-libiconv option to
39configure. This forces libiconv to be used.
40
41Note that if you have libiconv installed in your default include
42search path (for instance, in /usr/local/), but don't enable
43it, you will get an error while compiling GLib because the
44iconv.h that libiconv installs hides the system iconv.
45
46If you are using the native iconv implementation on Solaris
47instead of libiconv, you'll need to make sure that you have
48the converters between locale encodings and UTF-8 installed.
49At a minimum you'll need the SUNWuiu8 package. You probably
50should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and
51SUNWkiu8 packages.
52
53The native iconv on Compaq Tru64 doesn't contain support for
54UTF-8, so you'll need to use GNU libiconv instead. (When
55using GNU libiconv for GLib, you'll need to use GNU libiconv
56for GNU gettext as well.) This probably applies to related
57operating systems as well.
58
59Finally, for message catalog handling, GLib requires an implementation
60of gettext(). If your system doesn't provide this functionality,
61you should use the libintl library from the GNU gettext package,
62available from:
63
64 http://www.gnu.org/software/gettext/
65
66Support for extended attributes and SELinux in GIO requires
67libattr and libselinux.
68
69Some of the mimetype-related functionality in GIO requires the
70update-mime-database and update-desktop-database utilities, which
71are part of shared-mime-info and desktop-file-utils, respectively.
72
73GObject uses libffi to implement generic marshalling functionality.
74
75The Nitty-Gritty
76================
77
78Complete information about installing GLib can be found
79in the file:
80
81 docs/reference/glib/html/glib-building.html
82
83Or online at:
84
85 https://developer.gnome.org/glib/stable/glib-building.html
86
87
88Installation directories
89========================
90
91The location of the installed files is determined by the --prefix
92and --exec-prefix options given to configure. There are also more
93detailed flags to control individual directories. However, the
94use of these flags is not tested.
95
96One particular detail to note, is that the architecture-dependent
97include file glibconfig.h is installed in:
98
99  $exec_prefix/lib/glib/include/
100
101if you have a version in $prefix/include, this is out of date
102and should be deleted.
103
104.pc files for the various libraries are installed in
105$exec_prefix/lib/pkgconfig to provide information when compiling
106other packages that depend on GLib. If you set PKG_CONFIG_PATH
107so that it points to this directory, then you can get the
108correct include flags and library flags for compiling a GLib
109application with:
110
111 pkg-config --cflags glib-2.0
112 pkg-config --libs glib-2.0
113
114
115Cross-compiling GLib
116====================
117
118Information about cross-compilation of GLib can be found
119in the file:
120
121 docs/reference/glib/html/glib-cross-compiling.html
122
123Or online at:
124
125 https://developer.gnome.org/glib/stable/glib-cross-compiling.html
126