summaryrefslogtreecommitdiff
path: root/gtk+-mingw/share/gtk-doc/html/glib/glib-building.html
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2018-08-20 21:12:06 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2018-08-20 21:12:06 -0400
commit63e87c2d0c9d263f14c77b68f85c67d46ece82a9 (patch)
tree6260365cbf7d24f37d27669e8538227fcb72e243 /gtk+-mingw/share/gtk-doc/html/glib/glib-building.html
parenta4460f6d9453bbd7e584937686449cef3e19f052 (diff)
Removed gtk+ docsHEADmaster
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.html430
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