mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-06 16:08:43 +02:00
Move install docs into reference manual.
This commit is contained in:
220
INSTALL.in
220
INSTALL.in
@@ -37,7 +37,7 @@ 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
|
||||
@@ -49,11 +49,11 @@ 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:
|
||||
@@ -63,90 +63,14 @@ available from:
|
||||
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:
|
||||
|
||||
http://developer.gnome.org/doc/API/2.0/glib/glib-building.html
|
||||
|
||||
|
||||
Installation directories
|
||||
@@ -167,7 +91,7 @@ and should be deleted.
|
||||
|
||||
.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
|
||||
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 +103,9 @@ 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]
|
||||
|
||||
Whether your printf() family supports Unix98 style %N$
|
||||
positional parameters. Defaults to "no".
|
||||
|
||||
ac_cv_func_vsnprintf_c99=[yes/no]
|
||||
|
||||
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".
|
||||
Information about cross-compilation of GLib can be found
|
||||
in the file:
|
||||
|
||||
docs/reference/glib/html/glib-cross-compiling.html
|
||||
|
||||
Or online at:
|
||||
|
Reference in New Issue
Block a user