Simple install procedure
========================

  % gzip -cd glib-@GLIB_VERSION@.tar.gz | tar xvf -  # unpack the sources
  % cd glib-@GLIB_VERSION@                           # change to the toplevel directory
  % ./configure                             # run the `configure' script
  % make                                    # build GLIB

  [ Become root if necessary ]
  % rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h
  % make install                            # install GLIB

Special note for GLib+-1.2.9
============================

Between GLib-1.2.8 and GLib-1.2.9, the include files for GLib
have been moved to $(includedir)/gtk-1-2/ to allow parallel installations
of GLib-1.2 and GLib-2.0 to work correctly. If you are installing
on top of an old installation of GLib, you should remove the files:

 $(includedir)/glib.h
 $(includedir)/gmodule.h

Before running 'make install'

The Nitty-Gritty
================

The 'configure' script can be given a number of options to enable
and disable various features. For a complete list, type:

  ./configure --help

A few of the more important ones:

*  --prefix=PREFIX         install architecture-independent files in PREFIX
                           [ Defaults to /usr/local ]

*  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                           [ Defaults to the value given to --prefix ]

Options can be given to the compiler and linker by setting
environment variables before running configure. A few of the more
important ones:

 CC       : The C compiler to use
 CPPFLAGS : Flags for the C preprocesser such as -I and -D
 CFLAGS   : C compiler flags

The most important use of this is to set the
optimization/debugging flags. For instance, to compile with no
debugging information at all, run configure as:

 CFLAGS=-O2 ./configure           # Bourne compatible shells (sh/bash/zsh)

or,

 setenv CFLAGS -O2 ; ./configure  # csh and variants


Installation directories
========================

The location of the installed files is determined by the --prefix
and --exec-prefix options given to configure. There are also more
detailed flags to control individual directories. However, the
use of these flags is not tested.

One particular detail to note, is that the architecture-dependent
include file glibconfig.h is installed in:

  $exec_pref/lib/glib/include/

if you have a version in $prefix/include, this is out of date
and should be deleted.

A shell script glib-config is created during the configure
process, and installed in the bin/ directory
($exec_prefix/bin). This is used to determine the location of glib
when building applications.  If you move glib after installation,
it will be necessary to edit this file.

