Blame INSTALL.in

Packit 84794d
Simple install procedure
Packit 84794d
========================
Packit 84794d
Packit 84794d
  % tar xf glib-@GLIB_VERSION@.tar.gz       # unpack the sources
Packit 84794d
  % cd glib-@GLIB_VERSION@                  # change to the toplevel directory
Packit 84794d
  % ./configure                             # run the `configure' script
Packit 84794d
  % make                                    # build GLIB
Packit 84794d
Packit 84794d
  [ Become root if necessary ]
Packit 84794d
  % rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h
Packit 84794d
  % make install                            # install GLIB
Packit 84794d
Packit 84794d
Requirements
Packit 84794d
============
Packit 84794d
Packit 84794d
GLib requires a C90-compliant (but not necessarily C99-compliant) C
Packit 84794d
compiler and libc. On UNIX-like systems, it also assumes compliance
Packit 84794d
with at least the original 1990 version of POSIX.
Packit 84794d
Packit 84794d
GLib-2.0 requires pkg-config, which is tool for tracking the
Packit 84794d
compilation flags needed for libraries. (For each library, a small .pc
Packit 84794d
text file is installed in a standard location that contains the
Packit 84794d
compilation flags needed for that library along with version number
Packit 84794d
information.) Information about pkg-config can be found at:
Packit 84794d
Packit 84794d
  http://www.freedesktop.org/software/pkgconfig/
Packit 84794d
Packit 84794d
GNU make (http://www.gnu.org/software/make) is also required.
Packit 84794d
Packit 84794d
In order to implement conversions between character sets,
Packit 84794d
GLib requires an implementation of the standard iconv() routine.
Packit 84794d
Most modern systems will have a suitable implementation, however
Packit 84794d
many older systems lack an iconv() implementation. On such systems,
Packit 84794d
you must install the libiconv library. This can be found at:
Packit 84794d
Packit 84794d
 http://www.gnu.org/software/libiconv/
Packit 84794d
Packit 84794d
If your system has an iconv implementation but you want to use
Packit 84794d
libiconv instead, you can pass the --with-libiconv option to
Packit 84794d
configure. This forces libiconv to be used.
Packit 84794d
Packit 84794d
Note that if you have libiconv installed in your default include
Packit 84794d
search path (for instance, in /usr/local/), but don't enable
Packit 84794d
it, you will get an error while compiling GLib because the
Packit 84794d
iconv.h that libiconv installs hides the system iconv.
Packit 84794d
Packit 84794d
If you are using the native iconv implementation on Solaris
Packit 84794d
instead of libiconv, you'll need to make sure that you have
Packit 84794d
the converters between locale encodings and UTF-8 installed.
Packit 84794d
At a minimum you'll need the SUNWuiu8 package. You probably
Packit 84794d
should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and
Packit 84794d
SUNWkiu8 packages.
Packit 84794d
Packit 84794d
The native iconv on Compaq Tru64 doesn't contain support for
Packit 84794d
UTF-8, so you'll need to use GNU libiconv instead. (When
Packit 84794d
using GNU libiconv for GLib, you'll need to use GNU libiconv
Packit 84794d
for GNU gettext as well.) This probably applies to related
Packit 84794d
operating systems as well.
Packit 84794d
Packit 84794d
Finally, for message catalog handling, GLib requires an implementation
Packit 84794d
of gettext(). If your system doesn't provide this functionality,
Packit 84794d
you should use the libintl library from the GNU gettext package,
Packit 84794d
available from:
Packit 84794d
Packit 84794d
 http://www.gnu.org/software/gettext/
Packit 84794d
Packit 84794d
Support for extended attributes and SELinux in GIO requires
Packit 84794d
libattr and libselinux.
Packit 84794d
Packit 84794d
Some of the mimetype-related functionality in GIO requires the
Packit 84794d
update-mime-database and update-desktop-database utilities, which
Packit 84794d
are part of shared-mime-info and desktop-file-utils, respectively.
Packit 84794d
Packit 84794d
GObject uses libffi to implement generic marshalling functionality.
Packit 84794d
Packit 84794d
The Nitty-Gritty
Packit 84794d
================
Packit 84794d
Packit 84794d
Complete information about installing GLib can be found
Packit 84794d
in the file:
Packit 84794d
Packit 84794d
 docs/reference/glib/html/glib-building.html
Packit 84794d
Packit 84794d
Or online at:
Packit 84794d
Packit 84794d
 https://developer.gnome.org/glib/stable/glib-building.html
Packit 84794d
Packit 84794d
Packit 84794d
Installation directories
Packit 84794d
========================
Packit 84794d
Packit 84794d
The location of the installed files is determined by the --prefix
Packit 84794d
and --exec-prefix options given to configure. There are also more
Packit 84794d
detailed flags to control individual directories. However, the
Packit 84794d
use of these flags is not tested.
Packit 84794d
Packit 84794d
One particular detail to note, is that the architecture-dependent
Packit 84794d
include file glibconfig.h is installed in:
Packit 84794d
Packit 84794d
  $exec_prefix/lib/glib/include/
Packit 84794d
Packit 84794d
if you have a version in $prefix/include, this is out of date
Packit 84794d
and should be deleted.
Packit 84794d
Packit 84794d
.pc files for the various libraries are installed in
Packit 84794d
$exec_prefix/lib/pkgconfig to provide information when compiling
Packit 84794d
other packages that depend on GLib. If you set PKG_CONFIG_PATH
Packit 84794d
so that it points to this directory, then you can get the
Packit 84794d
correct include flags and library flags for compiling a GLib
Packit 84794d
application with:
Packit 84794d
Packit 84794d
 pkg-config --cflags glib-2.0
Packit 84794d
 pkg-config --libs glib-2.0
Packit 84794d
Packit 84794d
Packit 84794d
Cross-compiling GLib
Packit 84794d
====================
Packit 84794d
Packit 84794d
Information about cross-compilation of GLib can be found
Packit 84794d
in the file:
Packit 84794d
Packit 84794d
 docs/reference/glib/html/glib-cross-compiling.html
Packit 84794d
Packit 84794d
Or online at:
Packit 84794d
Packit 84794d
 https://developer.gnome.org/glib/stable/glib-cross-compiling.html