Move the compiler-dependency in the G_GNUC_INTERNAL definition from
[platform/upstream/glib.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index ff5d724..45b41ec 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Simple install procedure
 ========================
 
-  % gzip -cd glib-1.3.14.tar.gz | tar xvf -  # unpack the sources
-  % cd glib-1.3.14                           # change to the toplevel directory
+  % gzip -cd glib-2.13.1.tar.gz | tar xvf -  # unpack the sources
+  % cd glib-2.13.1                           # change to the toplevel directory
   % ./configure                             # run the `configure' script
   % make                                    # build GLIB
 
@@ -13,13 +13,23 @@ Simple install procedure
 Requirements
 ============
 
+GLib-2.0 requires pkg-config, which is tool for tracking the
+compilation flags needed for libraries. (For each library, a small .pc
+text file is installed in a standard location that contains the
+compilation flags needed for that library along with version number
+information.) Information about pkg-config can be found at:
+
+  http://www.freedesktop.org/software/pkgconfig/
+
+GNU make (http://www.gnu.org/software/make) is also recommended.
+
 In order to implement conversions between character sets,
 GLib requires an implementation of the standard iconv() routine.
 Most modern systems will have a suitable implementation, however
 many older systems lack an iconv() implementation. On such systems, 
 you must install the libiconv library. This can be found at:
 
- http://clisp.cons.org/~haible/packages-libiconv.html
+ http://www.gnu.org/software/libiconv/
 
 If your system has an iconv implementation but you want to use
 libiconv instead, you can pass the --with-libiconv option to
@@ -27,70 +37,40 @@ configure. This forces libiconv to be used.
 
 Note that if you have libiconv installed in your default include
 search path (for instance, in /usr/local/), but don't enable
-it, you will get an error while compiling GTK+ because the
+it, you will get an error while compiling GLib because the
 iconv.h that libiconv installs hides the system iconv.
 
-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 ]
+If you are using the native iconv implementation on Solaris
+instead of libiconv, you'll need to make sure that you have 
+the converters between locale encodings and UTF-8 installed.
+At a minimum you'll need the SUNWuiu8 package. You probably
+should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and
+SUNWkiu8 packages.
 
-*  --enable-gc-friendly    When enabled all memory freed by the application,
-                           but retained by GLib for performance reasons  
-                           is set to zero, thus making deployed garbage
-                           collection or memory profiling tools detect 
-                           unlinked memory correctly. This will make GLib 
-                           slightly slower.
-                           [ Disabled by default ]
+The native iconv on Compaq Tru64 doesn't contain support for
+UTF-8, so you'll need to use GNU libiconv instead. (When
+using GNU libiconv for GLib, you'll need to use GNU libiconv
+for GNU gettext as well.) This probably applies to related
+operating systems as well.
 
-* --disable-threads        Do not compile GLib to be multi thread safe. GLib
-                           will be slightly faster then. This is however not
-                           recommended, as many programs rely on GLib being 
-                           multi thread safe.
-                           [ Enabled by default ]
+Finally, for message catalog handling, GLib requires an implementation
+of gettext(). If your system doesn't provide this functionality,
+you should use the libintl library from the GNU gettext package,
+available from:
 
-* --with-threads=[none/posix/dce/solaris/win32] Specify a thread 
-                           implementation to use. 
-                           * 'posix' and 'dce' can be used interchangeable 
-                             to mean the different versions of posix 
-                             threads. configure tries to find out, which 
-                             one is installed. 
-                           * 'solaris' uses the native Solaris thread
-                             implementation. 
-                           * 'none' means that GLib will be thread safe, 
-                             but does not have a default thread 
-                             implementation. This has to be supplied to 
-                             g_thread_init() by the programmer. 
-                           [ Determined by configure by default ]
+ http://www.gnu.org/software/gettext/
 
-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,
+The Nitty-Gritty
+================
 
- setenv CFLAGS -O2 ; ./configure  # csh and variants
+Complete information about installing GLib can be found 
+in the file:
+  
+ docs/reference/glib/html/glib-building.html
+  
+Or online at:
+  
+ http://developer.gnome.org/doc/API/2.0/glib/glib-building.html
 
 
 Installation directories
@@ -104,14 +84,28 @@ 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/
+  $exec_prefix/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.
+.pc files for the various libraries are installed in 
+$exec_prefix/lib/pkgconfig to provide information when compiling
+other packages that depend on GLib. If you set PKG_CONFIG_PATH
+so that it points to this directory, then you can get the 
+correct include flags and library flags for compiling a GLib
+application with:
+
+ pkg-config --cflags glib-2.0
+ pkg-config --libs glib-2.0
+
+
+Cross-compiling GLib
+====================
 
+Information about cross-compilation of GLib can be found 
+in the file:
+  
+ docs/reference/glib/html/glib-cross-compiling.html
+  
+Or online at: