diff options
Diffstat (limited to 'gtk+-mingw/share/gtk-doc/html/glib/glib-building.html')
-rw-r--r-- | gtk+-mingw/share/gtk-doc/html/glib/glib-building.html | 430 |
1 files changed, 0 insertions, 430 deletions
diff --git a/gtk+-mingw/share/gtk-doc/html/glib/glib-building.html b/gtk+-mingw/share/gtk-doc/html/glib/glib-building.html deleted file mode 100644 index 192fe8f..0000000 --- a/gtk+-mingw/share/gtk-doc/html/glib/glib-building.html +++ /dev/null @@ -1,430 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Compiling the GLib package</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> -<link rel="home" href="index.html" title="GLib Reference Manual"> -<link rel="up" href="glib.html" title="GLib Overview"> -<link rel="prev" href="glib.html" title="GLib Overview"> -<link rel="next" href="glib-cross-compiling.html" title="Cross-compiling the GLib package"> -<meta name="generator" content="GTK-Doc V1.18 (XML mode)"> -<link rel="stylesheet" href="style.css" type="text/css"> -</head> -<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> -<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> -<td><a accesskey="p" href="glib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> -<td><a accesskey="u" href="glib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> -<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> -<th width="100%" align="center">GLib Reference Manual</th> -<td><a accesskey="n" href="glib-cross-compiling.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> -</tr></table> -<div class="refentry"> -<a name="glib-building"></a><div class="titlepage"></div> -<div class="refnamediv"><table width="100%"><tr> -<td valign="top"> -<h2><span class="refentrytitle">Compiling the GLib package</span></h2> -<p>Compiling the GLib Package — How to compile GLib itself</p> -</td> -<td valign="top" align="right"></td> -</tr></table></div> -<div class="refsect1"> -<a name="building"></a><h2>Building the Library on UNIX</h2> -<p> - On UNIX, GLib uses the standard GNU build system, - using <span class="application">autoconf</span> for package - configuration and resolving portability issues, - <span class="application">automake</span> for building makefiles - that comply with the GNU Coding Standards, and - <span class="application">libtool</span> for building shared - libraries on multiple platforms. The normal sequence for - compiling and installing the GLib library is thus: - - </p> -<div class="literallayout"><p><br> - <strong class="userinput"><code>./configure</code></strong><br> - <strong class="userinput"><code>make</code></strong><br> - <strong class="userinput"><code>make install</code></strong><br> - </p></div> -<p> - </p> -<p> - The standard options provided by <span class="application">GNU - autoconf</span> may be passed to the - <span class="command"><strong>configure</strong></span> script. Please see the - <span class="application">autoconf</span> documentation or run - <span class="command"><strong>./configure --help</strong></span> for information about - the standard options. - </p> -<p> - The GTK+ documentation contains - <a class="ulink" href="../gtk/gtk-building.html" target="_top">further details</a> - about the build process and ways to influence it. - </p> -</div> -<div class="refsect1"> -<a name="dependencies"></a><h2>Dependencies</h2> -<p> - Before you can compile the GLib library, you need to have - various other tools and libraries installed on your - system. The two tools needed during the build process (as - differentiated from the tools used in when creating GLib - mentioned above such as <span class="application">autoconf</span>) - are <span class="command"><strong>pkg-config</strong></span> and GNU make. - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"><p> - <a class="ulink" href="http://www.freedesktop.org/software/pkgconfig/" target="_top">pkg-config</a> - is a tool for tracking the compilation flags needed for - libraries that are used by the GLib library. (For each - library, a small <code class="literal">.pc</code> text file is - installed in a standard location that contains the compilation - flags needed for that library along with version number - information.) The version of <span class="command"><strong>pkg-config</strong></span> - needed to build GLib is mirrored in the - <code class="filename">dependencies</code> directory - on the <a class="ulink" href="ftp://ftp.gtk.org/pub/gtk/v2.2/" target="_top">GTK+ FTP - site.</a> - </p></li> -<li class="listitem"><p> - The GTK+ makefiles will mostly work with different versions - of <span class="command"><strong>make</strong></span>, however, there tends to be - a few incompatibilities, so the GTK+ team recommends - installing <a class="ulink" href="http://www.gnu.org/software/make" target="_top">GNU - make</a> if you don't already have it on your system - and using it. (It may be called <span class="command"><strong>gmake</strong></span> - rather than <span class="command"><strong>make</strong></span>.) - </p></li> -</ul></div> -<p> - GLib depends on a number of other libraries. - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"> -<p> - The <a class="ulink" href="http://www.gnu.org/software/libiconv/" target="_top">GNU - libiconv library</a> is needed to build GLib if your - system doesn't have the <code class="function">iconv()</code> - function for doing conversion between character - encodings. Most modern systems should have - <code class="function">iconv()</code>, however many older systems lack - an <code class="function">iconv()</code> implementation. On such systems, - you must install the libiconv library. This can be found at: - <a class="ulink" href="http://www.gnu.org/software/libiconv" target="_top">http://www.gnu.org/software/libiconv</a>. - </p> -<p> - If your system has an <code class="function">iconv()</code> implementation but - you want to use libiconv instead, you can pass the - --with-libiconv option to configure. This forces - libiconv to be used. - </p> -<p> - Note that if you have libiconv installed in your default include - search path (for instance, in <code class="filename">/usr/local/</code>), but - don't enable it, you will get an error while compiling GLib because - the <code class="filename">iconv.h</code> that libiconv installs hides the - system iconv. - </p> -<p> - 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. - </p> -<p> - 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. - </p> -</li> -<li class="listitem"><p> - The libintl library from the <a class="ulink" href="http://www.gnu.org/software/gettext" target="_top">GNU gettext - package</a> is needed if your system doesn't have the - <code class="function">gettext()</code> functionality for handling - message translation databases. - </p></li> -<li class="listitem"><p> - A thread implementation is needed. The thread support in GLib - can be based upon POSIX threads or win32 threads. - </p></li> -<li class="listitem"><p> - GRegex uses the <a class="ulink" href="http://www.pcre.org/" target="_top">PCRE library</a> - for regular expression matching. The default is to use the internal - version of PCRE that is patched to use GLib for memory management - and Unicode handling. If you prefer to use the system-supplied PCRE - library you can pass the <code class="option">--with-pcre=system</code> option - to, but it is not recommended. - </p></li> -<li class="listitem"><p> - The optional extended attribute support in GIO requires the - getxattr() family of functions that may be provided by glibc or - by the standalone libattr library. To build GLib without extended - attribute support, use the <code class="option">--disable-xattr</code> - option. - </p></li> -<li class="listitem"><p> - The optional SELinux support in GIO requires libselinux. - To build GLib without SELinux support, use the - <code class="option">--disable-selinux</code> option. - </p></li> -<li class="listitem"><p> - The optional support for DTrace requires the - <code class="filename">sys/sdt.h</code> header, which is provided - by SystemTap on Linux. To build GLib without DTrace, use - the <code class="option">--disable-dtrace</code> configure option. - </p></li> -<li class="listitem"><p> - The optional support for - <a class="ulink" href="http://sourceware.org/systemtap/" target="_top">SystemTap</a> - can be disabled with the <code class="option">--disable-systemtap</code> - configure option. - </p></li> -</ul></div> -</div> -<div class="refsect1"> -<a name="extra-configuration-options"></a><h2>Extra Configuration Options</h2> -<p> - In addition to the normal options, the - <span class="command"><strong>configure</strong></span> script in the GLib - library supports these additional arguments: - </p> -<p><b><code class="systemitem">--enable-debug</code>. </b> - Turns on various amounts of debugging support. Setting this to 'no' - disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and - all cast checks between different object types. Setting it to 'minimum' disables only cast checks. Setting it to 'yes' enables - <a class="link" href="glib-running.html#G-DEBUG:CAPS" title="G_DEBUG">runtime debugging</a>. - The default is 'minimum'. - Note that 'no' is fast, but dangerous as it tends to destabilize - even mostly bug-free software by changing the effect of many bugs - from simple warnings into fatal crashes. Thus - <code class="option">--enable-debug=no</code> should <span class="emphasis"><em>not</em></span> - be used for stable releases of GLib. - </p> -<p><b><code class="systemitem">--disable-gc-friendly</code> and - <code class="systemitem">--enable-gc-friendly</code>. </b> - By default, and with <code class="systemitem">--disable-gc-friendly</code> - as well, Glib does not clear the memory for certain objects before - they are freed. For example, Glib may decide to recycle GList nodes - by putting them in a free list. However, memory profiling and debugging - tools like <a class="ulink" href="http://www.valgrind.org" target="_top">Valgrind</a> work - better if an application does not keep dangling pointers to freed - memory (even though these pointers are no longer dereferenced), or - invalid pointers inside uninitialized memory. - The <code class="systemitem">--enable-gc-friendly</code> option makes Glib - clear memory in these situations: - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"><p> - When shrinking a GArray, Glib will clear the memory no longer - available in the array: shrink an array from 10 bytes to 7, and - the last 3 bytes will be cleared. This includes removals of single - and multiple elements. - </p></li> -<li class="listitem"><p> - When growing a GArray, Glib will clear the new chunk of memory. - Grow an array from 7 bytes to 10 bytes, and the last 3 bytes will - be cleared. - </p></li> -<li class="listitem"><p> - The above applies to GPtrArray as well. - </p></li> -<li class="listitem"><p> - When freeing a node from a GHashTable, Glib will first clear - the node, which used to have pointers to the key and the value - stored at that node. - </p></li> -<li class="listitem"><p> - When destroying or removing a GTree node, Glib will clear the node, - which used to have pointers to the node's value, and the left and - right subnodes. - </p></li> -</ul></div> -<p> - Since clearing the memory has a cost, - <code class="systemitem">--disable-gc-friendly</code> is the default. - </p> -<p><b><code class="systemitem">--disable-mem-pools</code> and - <code class="systemitem">--enable-mem-pools</code>. </b> - Many small chunks of memory are often allocated via collective pools - in GLib and are cached after release to speed up reallocations. - For sparse memory systems this behaviour is often inferior, so - memory pools can be disabled to avoid excessive caching and force - atomic maintenance of chunks through the <code class="function">g_malloc()</code> - and <code class="function">g_free()</code> functions. Code currently affected by - this: - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"><p> - <span class="structname">GMemChunk</span>s become basically non-effective - </p></li> -<li class="listitem"><p> - <span class="structname">GSignal</span> disables all caching - (potentially very slow) - </p></li> -<li class="listitem"><p> - <span class="structname">GType</span> doesn't honour the - <span class="structname">GTypeInfo</span> - <em class="structfield"><code>n_preallocs</code></em> field anymore - </p></li> -<li class="listitem"><p> - the <span class="structname">GBSearchArray</span> flag - <code class="literal">G_BSEARCH_ALIGN_POWER2</code> becomes non-functional - </p></li> -</ul></div> -<p> - </p> -<p><b><code class="systemitem">--with-threads</code>. </b> - Specify a thread implementation to use. Available options are - 'posix' or 'win32'. Normally, <span class="command"><strong>configure</strong></span> - should be able to work out the system threads API on its own. - </p> -<p><b><code class="systemitem">--disable-regex</code> and - <code class="systemitem">--enable-regex</code>. </b> - Do not compile GLib with regular expression support. - GLib will be smaller because it will not need the - PCRE library. This is however not recommended, as - programs may need GRegex. - </p> -<p><b><code class="systemitem">--with-pcre</code>. </b> - Specify whether to use the internal or the system-supplied - PCRE library. - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"><p> - 'internal' means that GRegex will be compiled to use - the internal PCRE library. - </p></li> -<li class="listitem"><p> - 'system' means that GRegex will be compiled to use - the system-supplied PCRE library. - </p></li> -</ul></div> -<p> - Using the internal PCRE is the preferred solution: - </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"><p> - System-supplied PCRE has a separated copy of the big tables - used for Unicode handling. - </p></li> -<li class="listitem"><p> - Some systems have PCRE libraries compiled without some needed - features, such as UTF-8 and Unicode support. - </p></li> -<li class="listitem"><p> - PCRE uses some global variables for memory management and - other features. In the rare case of a program using both - GRegex and PCRE (maybe indirectly through a library), - this variables could lead to problems when they are modified. - </p></li> -</ul></div> -<p> - </p> -<p><b><code class="systemitem">--disable-included-printf</code> and - <code class="systemitem">--enable-included-printf</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will try - to auto-detect whether the C library provides a suitable set - of printf() functions. In detail, <span class="command"><strong>configure</strong></span> - checks that the semantics of snprintf() are as specified by C99 - and that positional parameters as specified in the Single Unix - Specification are supported. If this not the case, GLib will - include an implementation of the printf() family. - - These options can be used to explicitly control whether - an implementation fo the printf() family should be included or not. - </p> -<p><b><code class="systemitem">--disable-Bsymbolic</code> and - <code class="systemitem">--enable-Bsymbolic</code>. </b> - By default, GLib uses the -Bsymbolic-functions linker - flag to avoid intra-library PLT jumps. A side-effect - of this is that it is no longer possible to override - internal uses of GLib functions with - <code class="envar">LD_PRELOAD</code>. Therefore, it may make - sense to turn this feature off in some situations. - The <code class="option">--disable-Bsymbolic</code> option allows - to do that. - </p> -<p><b><code class="systemitem">--disable-gtk-doc</code> and - <code class="systemitem">--enable-gtk-doc</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will try - to auto-detect whether the - <span class="application">gtk-doc</span> package is installed. - If it is, then it will use it to extract and build the - documentation for the GLib library. These options - can be used to explicitly control whether - <span class="application">gtk-doc</span> should be - used or not. If it is not used, the distributed, - pre-generated HTML files will be installed instead of - building them on your machine. - </p> -<p><b><code class="systemitem">--disable-man</code> and - <code class="systemitem">--enable-man</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will try - to auto-detect whether <span class="application">xsltproc</span> - and the necessary Docbook stylesheets are installed. - If they are, then it will use them to rebuild the included - man pages from the XML sources. These options can be used - to explicitly control whether man pages should be rebuilt - used or not. The distribution includes pre-generated man - pages. - </p> -<p><b><code class="systemitem">--disable-xattr</code> and - <code class="systemitem">--enable-xattr</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will try - to auto-detect whether the getxattr() family of functions - is available. If it is, then extended attribute support - will be included in GIO. These options can be used to - explicitly control whether extended attribute support - should be included or not. getxattr() and friends can - be provided by glibc or by the standalone libattr library. - </p> -<p><b><code class="systemitem">--disable-selinux</code> and - <code class="systemitem">--enable-selinux</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will - auto-detect if libselinux is available and include - SELinux support in GIO if it is. These options can be - used to explicitly control whether SELinux support should - be included. - </p> -<p><b><code class="systemitem">--disable-dtrace</code> and - <code class="systemitem">--enable-dtrace</code>. </b> - By default the <span class="command"><strong>configure</strong></span> script will - detect if DTrace support is available, and use it. - </p> -<p><b><code class="systemitem">--disable-systemtap</code> and - <code class="systemitem">--enable-systemtap</code>. </b> - This option requires DTrace support. If it is available, then - the <span class="command"><strong>configure</strong></span> script will also check for - the presence of SystemTap. - </p> -<p><b><code class="systemitem">--enable-gcov</code> and - <code class="systemitem">--disable-gcov</code>. </b> - Enable the generation of coverage reports for the GLib tests. - This requires the lcov frontend to gcov from the - <a class="ulink" href="http://ltp.sourceforge.net" target="_top">Linux Test Project</a>. - To generate a coverage report, use the lcov make target. The - report is placed in the <code class="filename">glib-lcov</code> directory. - </p> -<p><b><code class="systemitem">--with-runtime-libdir=RELPATH</code>. </b> - Allows specifying a relative path to where to install the runtime - libraries (meaning library files used for running, not developing, - GLib applications). This can be used in operating system setups where - programs using GLib needs to run before e.g. <code class="filename">/usr</code> - is mounted. - For example, if LIBDIR is <code class="filename">/usr/lib</code> and - <code class="filename">../../lib</code> is passed to - <code class="systemitem">--with-runtime-libdir</code> then the - runtime libraries are installed into <code class="filename">/lib</code> rather - than <code class="filename">/usr/lib</code>. - </p> -</div> -</div> -<div class="footer"> -<hr> - Generated by GTK-Doc V1.18</div> -</body> -</html>
\ No newline at end of file |