[kdbus] Update kdbus interface header (commit: b620b72c9127) 14/10/16
[platform/upstream/glib.git] / INSTALL.in
index b38e2ff..1edc7e9 100644 (file)
@@ -1,8 +1,8 @@
 Simple install procedure
 ========================
 
-  % gzip -cd glib-@GLIB_VERSION@.tar.gz | tar xvf -  # unpack the sources
-  % cd glib-@GLIB_VERSION@                           # change to the toplevel directory
+  % tar xf glib-@GLIB_VERSION@.tar.gz       # unpack the sources
+  % cd glib-@GLIB_VERSION@                  # change to the toplevel directory
   % ./configure                             # run the `configure' script
   % make                                    # build GLIB
 
@@ -13,6 +13,10 @@ Simple install procedure
 Requirements
 ============
 
+GLib requires a C90-compliant (but not necessarily C99-compliant) C
+compiler and libc. On UNIX-like systems, it also assumes compliance
+with at least the original 1990 version of POSIX.
+
 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
@@ -21,27 +25,27 @@ 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.
+GNU make (http://www.gnu.org/software/make) is also required.
 
 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, 
+many older systems lack an iconv() implementation. On such systems,
 you must install the libiconv library. This can be found at:
 
  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
-configure. This forces libiconv to be used. 
+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.
 
 If you are using the native iconv implementation on Solaris
-instead of libiconv, you'll need to make sure that you have 
+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
@@ -49,104 +53,37 @@ SUNWkiu8 packages.
 
 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 GTK+, you'll need to use GNU libiconv
+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.
 
-Finally, for message catalog handling, GTK+ requires an implementation
+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:
 
  http://www.gnu.org/software/gettext/
 
+Support for extended attributes and SELinux in GIO requires
+libattr and libselinux.
+
+Some of the mimetype-related functionality in GIO requires the
+update-mime-database and update-desktop-database utilities, which
+are part of shared-mime-info and desktop-file-utils, respectively.
+
+GObject uses libffi to implement generic marshalling functionality.
+
 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 ]
-
-*  --enable-debug=[yes/no/minimum] determines the amount of debugging
-                           code to include. 'yes' will includes some
-                          extra checks and debugging features that
-                           may be useful for people developing with
-                           GLib. 'no' produces a somewhat smaller and 
-                           faster library at the expense of reduced
-                           robustness.
-                           [ Defaults to 'minimum' for stable releases ]
-
-*  --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.
-                           [ --disable-gc-friendly is default ]
-
-*  --disable-mem-pools     Do not cache freed objects. When specified,
-                           GLib will immediately return freed memory
-                           to the C library instead of keeping around
-                           pools of free objects such as linked list
-                           and hash table nodes. Specifying this
-                           will make GLib slower in most cases, but it
-                           will use less memory.
-                           [ --enable-mem-pools is the default ]
-
-*  --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.
-                           [ --enable-threads is the default ]
-
-*  --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 ]
-
-*  --enable-included-printf=[yes/no/auto] Specify whether to build using
-                           the included copy of the Trio library
-                           for string formatting functions like printf().
-                           The default is 'auto', which means that
-                           Trio will be used if configure detects
-                           missing features in your system native
-                           printf implementation.
-
-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
+Complete information about installing GLib can be found
+in the file:
+
+ docs/reference/glib/html/glib-building.html
+
+Or online at:
+
+ https://developer.gnome.org/glib/stable/glib-building.html
 
 
 Installation directories
@@ -165,10 +102,10 @@ include file glibconfig.h is installed in:
 if you have a version in $prefix/include, this is out of date
 and should be deleted.
 
-.pc files for the various libraries are installed in 
+.pc files for the various libraries are installed in
 $exec_prefix/lib/pkgconfig to provide information when compiling
-other packages that depend on GTK+. If you set PKG_CONFIG_PATH
-so that it points to this directory, then you can get the 
+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:
 
@@ -179,117 +116,11 @@ application with:
 Cross-compiling GLib
 ====================
 
-Cross-compilation is the proceess of compiling a program or
-library on a different architecture or operating system then
-it will be run upon. GLib is slightly more difficult to 
-cross-compile than many packages because much of GLib is
-about hiding differences between different systems. 
-
-These notes cover things specific to cross-compiling GLib;
-for general information about cross-compilation, see the
-autoconf info pages.
-
-GLib tries to detect as much information as possible about
-the target system by compiling and linking programs without
-actually running anything; however, some information GLib
-needs is not available this way. This information needs
-to be provided to the configure script via a "cache file"
-or by setting the cache variables in your environment.
-
-As an example of using a cache file, to cross compile for
-the "MingW32" Win32 runtine environment on a Linux system,
-create a file 'win32.cache' with the following contents:
-
-===
-glib_cv_long_long_format=ll
-glib_cv_stack_grows=no
-===
-
-Then execute the following commands:
-
-===
-PATH=/path/to/mingw32-compiler/bin:$PATH
-chmod a-w win32.cache   # prevent configure from changing it
-./configure --cache-file=win32.cache --host=mingw32
-===
-
-The complete list of cache file variables follows. Most
-of these won't need to be set in most cases.
-
-Cache file variables
-====================
-
-glib_cv_long_long_format=[ll/q/I64]
-
- Format used by printf and scanf for 64 bit integers. "ll" is 
- the C99 standard, and what is used by the 'trio' library
- that GLib builds if your printf() is insufficiently capable.
- Doesn't need to be set if you are compiling using trio.
-
-glib_cv_stack_grows=[yes/no]
-
- Whether the stack grows up or down. Most places will want "no",
- A few architectures, such as PA-RISC need "yes".
-
-glib_cv_working_bcopy=[yes/no]
-
- Whether your bcopy can handle overlapping copies. Only needs to be set 
- if you don't have memmove. (Very unlikely)
-
-glib_cv_sane_realloc=[yes/np]
- Whether your realloc() conforms to ANSI C and can handle NULL as
- the first argument. Defaults to "yes" and probably doesn't need to be set.
-
-glib_cv_have_strlcpy=[yes/no]
-
- Whether you have strlcpy that matches OpenBSD. Defaults to "no",
- which is safe, since GLib uses a built-in version in that case.
-
-glib_cv_va_val_copy=[yes/no]
-  Whether va_list can be copied as a pointer. If set to "no", 
-  then memcopy will be used. Only matters if you don't have
-  va_copy or __va_copy. (So, doesn't matter for GCC.) Defaults
-  to "yes" which is slightly more common than "no".
-
-glib_cv_rtldglobal_broken=[yes/no]
-  Whether you have a bug found in OSF/1 v5.0. Defaults to "no".
-
-glib_cv_uscore=[yes/no]
-
-  Whether an underscore needs to be prepended to symbols when
-  looking them up via dlsym. Only needs to be set if your system
-  uses dlopen/dlsym.
-
-ac_cv_func_posix_getpwuid_r=[yes/no]
-
-  Whether you have a getpwuid_r function (in your C library,
-  not your thread library) that conforms to the POSIX spec.
-  (Takes a 'struct passwd **' as the final argument)
-
-ac_cv_func_nonposix_getpwuid_r=[yes/no]
-
-  Whether you have some variant of getpwuid_r that doesn't
-  conform to to the POSIX spec, but GLib might be able to
-  use (or might segfault.) Only needs to be set if 
-  ac_cv_func_posix_getpwuid_r is not set. It's safest to set
-  this to "no".
-
-glib_cv_use_pid_surrogate=[yes/no]
-
- Whether to use a setpriority() on the PID of the thread as
- a method for setting the priority of threads. This only
- needs to be set when using POSIX threads.
-
-ac_cv_func_printf_unix98=[yes/no]
+Information about cross-compilation of GLib can be found
+in the file:
 
- Whether your printf() family supports Unix98 style %N$
- positional parameters. Defaults to "no".
+ docs/reference/glib/html/glib-cross-compiling.html
 
-ac_cv_func_vsnprintf_c99=[yes/no]
+Or online at:
 
- Whether you have a vsnprintf() with C99 semantics. (C99 semantics
- means returns the number of bytes that would have been written
- had the output buffer had enough space.). Defaults to "no".
+ https://developer.gnome.org/glib/stable/glib-cross-compiling.html