Blame INSTALL.in

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