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