summaryrefslogtreecommitdiff
path: root/docs/manual/install.html
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-04-10 22:26:57 -0700
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-04-10 22:26:57 -0700
commite90d2ac8ba44fbcf4d5702643f708f2c86bde42e (patch)
treea52fe8e4efee8176da169998c203c1a93f6a6ff1 /docs/manual/install.html
parent6457f0941204a79ec5ba359a12aa00bf06f0e621 (diff)
parent405fefc8777c55900a4e44561b545a9abb5276ba (diff)
Merge branch 'master' into compact
Diffstat (limited to 'docs/manual/install.html')
-rw-r--r--docs/manual/install.html517
1 files changed, 0 insertions, 517 deletions
diff --git a/docs/manual/install.html b/docs/manual/install.html
deleted file mode 100644
index af662c1..0000000
--- a/docs/manual/install.html
+++ /dev/null
@@ -1,517 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Installation</title>
-<link rel="stylesheet" href="../pugixml.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
-<link rel="home" href="../manual.html" title="pugixml 1.5">
-<link rel="up" href="../manual.html" title="pugixml 1.5">
-<link rel="prev" href="../manual.html" title="pugixml 1.5">
-<link rel="next" href="dom.html" title="Document object model">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table width="100%"><tr>
-<td>
-<a href="http://pugixml.org/">pugixml 1.5</a> manual |
- <a href="../manual.html">Overview</a> |
- <b>Installation</b> |
- Document:
- <a href="dom.html">Object model</a> &middot; <a href="loading.html">Loading</a> &middot; <a href="access.html">Accessing</a> &middot; <a href="modify.html">Modifying</a> &middot; <a href="saving.html">Saving</a> |
- <a href="xpath.html">XPath</a> |
- <a href="apiref.html">API Reference</a> |
- <a href="toc.html">Table of Contents</a>
-</td>
-<td width="*" align="right"><div class="spirit-nav">
-<a accesskey="p" href="../manual.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../manual.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../manual.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="dom.html"><img src="../images/next.png" alt="Next"></a>
-</div></td>
-</tr></table>
-<hr>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual.install"></a><a class="link" href="install.html" title="Installation"> Installation</a>
-</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="install.html#manual.install.getting"> Getting pugixml</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="install.html#manual.install.getting.source"> Source distributions</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.getting.git"> Git repository</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.getting.subversion"> Subversion repository</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="install.html#manual.install.building"> Building pugixml</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="install.html#manual.install.building.embed"> Building pugixml as
- a part of another static library/executable</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.building.static"> Building pugixml as
- a standalone static library</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.building.shared"> Building pugixml as
- a standalone shared library</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.building.header"> Using pugixml in header-only
- mode</a></span></dt>
-<dt><span class="section"><a href="install.html#manual.install.building.config"> Additional configuration
- options</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="install.html#manual.install.portability"> Portability</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="manual.install.getting"></a><a class="link" href="install.html#manual.install.getting" title="Getting pugixml"> Getting pugixml</a>
-</h3></div></div></div>
-<p>
- pugixml is distributed in source form. You can either download a source distribution
- or clone the Git repository.
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.getting.source"></a><a class="link" href="install.html#manual.install.getting.source" title="Source distributions"> Source distributions</a>
-</h4></div></div></div>
-<p>
- You can download the latest source distribution via one of the following
- links:
- </p>
-<pre class="programlisting"><a href="https://github.com/zeux/pugixml/releases/download/v1.5/pugixml-1.5.zip" target="_top">https://github.com/zeux/pugixml/releases/download/v1.5/pugixml-1.5.zip</a>
-<a href="https://github.com/zeux/pugixml/releases/download/v1.5/pugixml-1.5.tar.gz" target="_top">https://github.com/zeux/pugixml/releases/download/v1.5/pugixml-1.5.tar.gz</a>
-</pre>
-<p>
- The distribution contains library source, documentation (the manual you're
- reading now and the quick start guide) and some code examples. After downloading
- the distribution, install pugixml by extracting all files from the compressed
- archive. The files have different line endings depending on the archive
- format - <code class="filename">.zip</code> archive has Windows line endings, <code class="filename">.tar.gz</code> archive has Unix
- line endings. Otherwise the files in both archives are identical.
- </p>
-<p>
- If you need an older version, you can download it from the <a href="https://github.com/zeux/pugixml/releases" target="_top">version
- archive</a>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.getting.git"></a><a class="link" href="install.html#manual.install.getting.git" title="Git repository"> Git repository</a>
-</h4></div></div></div>
-<p>
- The Git repository is located at <a href="https://github.com/zeux/pugixml/" target="_top">https://github.com/zeux/pugixml/</a>.
- There is a Git tag "v{version}" for each version; also there
- is the "latest" tag, which always points to the latest stable
- release.
- </p>
-<p>
- For example, to checkout the current version, you can use this command:
- </p>
-<pre class="programlisting">git clone https://github.com/zeux/pugixml
-cd pugixml
-git checkout v1.5
-</pre>
-<p>
- The repository contains library source, documentation, code examples and
- full unit test suite.
- </p>
-<p>
- Use latest version tag if you want to automatically get new versions. Use
- other tags if you want to switch to new versions only explicitly. Also
- please note that the master branch contains the work-in-progress version
- of the code; while this means that you can get new features and bug fixes
- from master without waiting for a new release, this also means that occasionally
- the code can be broken in some configurations.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.getting.subversion"></a><a class="link" href="install.html#manual.install.getting.subversion" title="Subversion repository"> Subversion repository</a>
-</h4></div></div></div>
-<p>
- You can access the Git repository via Subversion using <a href="https://github.com/zeux/pugixml" target="_top">https://github.com/zeux/pugixml</a>
- URL. For example, to checkout the current version, you can use this command:
- </p>
-<pre class="programlisting">svn checkout https://github.com/zeux/pugixml/tags/v1.5 pugixml</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="manual.install.building"></a><a class="link" href="install.html#manual.install.building" title="Building pugixml"> Building pugixml</a>
-</h3></div></div></div>
-<p>
- pugixml is distributed in source form without any pre-built binaries; you
- have to build them yourself.
- </p>
-<p>
- The complete pugixml source consists of three files - one source file, <code class="filename">pugixml.cpp</code>,
- and two header files, <code class="filename">pugixml.hpp</code> and <code class="filename">pugiconfig.hpp</code>. <code class="filename">pugixml.hpp</code> is the primary
- header which you need to include in order to use pugixml classes/functions;
- <code class="filename">pugiconfig.hpp</code> is a supplementary configuration file (see <a class="xref" href="install.html#manual.install.building.config" title="Additional configuration options"> Additional configuration
- options</a>).
- The rest of this guide assumes that <code class="filename">pugixml.hpp</code> is either in the current directory
- or in one of include directories of your projects, so that <code class="computeroutput"><span class="preprocessor">#include</span> <span class="string">"pugixml.hpp"</span></code>
- can find the header; however you can also use relative path (i.e. <code class="computeroutput"><span class="preprocessor">#include</span> <span class="string">"../libs/pugixml/src/pugixml.hpp"</span></code>)
- or include directory-relative path (i.e. <code class="computeroutput"><span class="preprocessor">#include</span>
- <span class="special">&lt;</span><span class="identifier">xml</span><span class="special">/</span><span class="identifier">thirdparty</span><span class="special">/</span><span class="identifier">pugixml</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">pugixml</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>).
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.building.embed"></a><a class="link" href="install.html#manual.install.building.embed" title="Building pugixml as a part of another static library/executable"> Building pugixml as
- a part of another static library/executable</a>
-</h4></div></div></div>
-<p>
- The easiest way to build pugixml is to compile the source file, <code class="filename">pugixml.cpp</code>,
- along with the existing library/executable. This process depends on the
- method of building your application; for example, if you're using Microsoft
- Visual Studio<a href="#ftn.trademarks" class="footnote" name="trademarks"><sup class="footnote">[1]</sup></a>, Apple Xcode, Code::Blocks or any other IDE, just add <code class="filename">pugixml.cpp</code> to
- one of your projects.
- </p>
-<p>
- If you're using Microsoft Visual Studio and the project has precompiled
- headers turned on, you'll see the following error messages:
- </p>
-<pre class="programlisting">pugixml.cpp(3477) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?</pre>
-<p>
- The correct way to resolve this is to disable precompiled headers for <code class="filename">pugixml.cpp</code>;
- you have to set "Create/Use Precompiled Header" option (Properties
- dialog -&gt; C/C++ -&gt; Precompiled Headers -&gt; Create/Use Precompiled
- Header) to "Not Using Precompiled Headers". You'll have to do
- it for all project configurations/platforms (you can select Configuration
- "All Configurations" and Platform "All Platforms" before
- editing the option):
- </p>
-<div class="informaltable"><table class="table">
-<colgroup><col></colgroup>
-<tbody><tr><td>
- <p>
- <a href="../images/vs2005_pch1.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_pch1_thumb.png" alt="vs2005_pch1_thumb"></span></a> <span class="inlinemediaobject"><img src="../images/next.png" alt="next"></span> <a href="../images/vs2005_pch2.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_pch2_thumb.png" alt="vs2005_pch2_thumb"></span></a> <span class="inlinemediaobject"><img src="../images/next.png" alt="next"></span> <a href="../images/vs2005_pch3.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_pch3_thumb.png" alt="vs2005_pch3_thumb"></span></a> <span class="inlinemediaobject"><img src="../images/next.png" alt="next"></span> <a href="../images/vs2005_pch4.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_pch4_thumb.png" alt="vs2005_pch4_thumb"></span></a>
- </p>
- </td></tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.building.static"></a><a class="link" href="install.html#manual.install.building.static" title="Building pugixml as a standalone static library"> Building pugixml as
- a standalone static library</a>
-</h4></div></div></div>
-<p>
- It's possible to compile pugixml as a standalone static library. This process
- depends on the method of building your application; pugixml distribution
- comes with project files for several popular IDEs/build systems. There
- are project files for Apple XCode3, Code::Blocks, Codelite, Microsoft Visual
- Studio 2005, 2008, 2010, and configuration scripts for CMake and premake4.
- You're welcome to submit project files/build scripts for other software;
- see <a class="xref" href="../manual.html#manual.overview.feedback" title="Feedback"> Feedback</a>.
- </p>
-<p>
- There are two projects for each version of Microsoft Visual Studio: one
- for dynamically linked CRT, which has a name like <code class="filename">pugixml_vs2008.vcproj</code>,
- and another one for statically linked CRT, which has a name like <code class="filename">pugixml_vs2008_static.vcproj</code>.
- You should select the version that matches the CRT used in your application;
- the default option for new projects created by Microsoft Visual Studio
- is dynamically linked CRT, so unless you changed the defaults, you should
- use the version with dynamic CRT (i.e. <code class="filename">pugixml_vs2008.vcproj</code> for Microsoft
- Visual Studio 2008).
- </p>
-<p>
- In addition to adding pugixml project to your workspace, you'll have to
- make sure that your application links with pugixml library. If you're using
- Microsoft Visual Studio 2005/2008, you can add a dependency from your application
- project to pugixml one. If you're using Microsoft Visual Studio 2010, you'll
- have to add a reference to your application project instead. For other
- IDEs/systems, consult the relevant documentation.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Microsoft Visual Studio 2005/2008
- </p>
- </th>
-<th>
- <p>
- Microsoft Visual Studio 2010
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a href="../images/vs2005_link1.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_link1_thumb.png" alt="vs2005_link1_thumb"></span></a> <span class="inlinemediaobject"><img src="../images/next.png" alt="next"></span> <a href="../images/vs2005_link2.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2005_link2_thumb.png" alt="vs2005_link2_thumb"></span></a>
- </p>
- </td>
-<td>
- <p>
- <a href="../images/vs2010_link1.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2010_link1_thumb.png" alt="vs2010_link1_thumb"></span></a> <span class="inlinemediaobject"><img src="../images/next.png" alt="next"></span> <a href="../images/vs2010_link2.png" target="_top"><span class="inlinemediaobject"><img src="../images/vs2010_link2_thumb.png" alt="vs2010_link2_thumb"></span></a>
- </p>
- </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.building.shared"></a><a class="link" href="install.html#manual.install.building.shared" title="Building pugixml as a standalone shared library"> Building pugixml as
- a standalone shared library</a>
-</h4></div></div></div>
-<p>
- It's possible to compile pugixml as a standalone shared library. The process
- is usually similar to the static library approach; however, no preconfigured
- projects/scripts are included into pugixml distribution, so you'll have
- to do it yourself. Generally, if you're using GCC-based toolchain, the
- process does not differ from building any other library as DLL (adding
- -shared to compilation flags should suffice); if you're using MSVC-based
- toolchain, you'll have to explicitly mark exported symbols with a declspec
- attribute. You can do it by defining <a class="link" href="install.html#PUGIXML_API">PUGIXML_API</a>
- macro, i.e. via <code class="filename">pugiconfig.hpp</code>:
- </p>
-<pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">_DLL</span>
-<span class="preprocessor">#define</span> <span class="identifier">PUGIXML_API</span> <span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span>
-<span class="preprocessor">#else</span>
-<span class="preprocessor">#define</span> <span class="identifier">PUGIXML_API</span> <span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span>
-<span class="preprocessor">#endif</span>
-</pre>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you're using STL-related functions, you should use the shared runtime
- library to ensure that a single heap is used for STL allocations in your
- application and in pugixml; in MSVC, this means selecting the 'Multithreaded
- DLL' or 'Multithreaded Debug DLL' to 'Runtime library' property (/MD
- or /MDd linker switch). You should also make sure that your runtime library
- choice is consistent between different projects.
- </p></td></tr>
-</table></div>
-</div>
-<a name="PUGIXML_HEADER_ONLY"></a><div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.building.header"></a><a class="link" href="install.html#manual.install.building.header" title="Using pugixml in header-only mode"> Using pugixml in header-only
- mode</a>
-</h4></div></div></div>
-<p>
- It's possible to use pugixml in header-only mode. This means that all source
- code for pugixml will be included in every translation unit that includes
- <code class="filename">pugixml.hpp</code>. This is how most of Boost and STL libraries work.
- </p>
-<p>
- Note that there are advantages and drawbacks of this approach. Header mode
- may improve tree traversal/modification performance (because many simple
- functions will be inlined), if your compiler toolchain does not support
- link-time optimization, or if you have it turned off (with link-time optimization
- the performance should be similar to non-header mode). However, since compiler
- now has to compile pugixml source once for each translation unit that includes
- it, compilation times may increase noticeably. If you want to use pugixml
- in header mode but do not need XPath support, you can consider disabling
- it by using <a class="link" href="install.html#PUGIXML_NO_XPATH">PUGIXML_NO_XPATH</a> define
- to improve compilation time.
- </p>
-<p>
- Enabling header-only mode is a two-step process:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- You have to define <code class="computeroutput"><span class="identifier">PUGIXML_HEADER_ONLY</span></code>
- </li>
-<li class="listitem">
- You have to include <code class="filename">pugixml.cpp</code> whenever you include pugixml.hpp
- </li>
-</ol></div>
-<p>
- Both of these are best done via <code class="filename">pugiconfig.hpp</code> like this:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">PUGIXML_HEADER_ONLY</span>
-<span class="preprocessor">#include</span> <span class="string">"pugixml.cpp"</span>
-</pre>
-<p>
- Note that it is safe to compile <code class="filename">pugixml.cpp</code> if <code class="computeroutput"><span class="identifier">PUGIXML_HEADER_ONLY</span></code>
- is defined - so if you want to i.e. use header-only mode only in Release
- configuration, you can include pugixml.cpp in your project (see <a class="xref" href="install.html#manual.install.building.embed" title="Building pugixml as a part of another static library/executable"> Building pugixml as
- a part of another static library/executable</a>),
- and conditionally enable header-only mode in <code class="filename">pugiconfig.hpp</code>, i.e.:
- </p>
-<pre class="programlisting"><span class="preprocessor">#ifndef</span> <span class="identifier">_DEBUG</span>
- <span class="preprocessor">#define</span> <span class="identifier">PUGIXML_HEADER_ONLY</span>
- <span class="preprocessor">#include</span> <span class="string">"pugixml.cpp"</span>
-<span class="preprocessor">#endif</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="manual.install.building.config"></a><a class="link" href="install.html#manual.install.building.config" title="Additional configuration options"> Additional configuration
- options</a>
-</h4></div></div></div>
-<p>
- pugixml uses several defines to control the compilation process. There
- are two ways to define them: either put the needed definitions to <code class="filename">pugiconfig.hpp</code> (it
- has some examples that are commented out) or provide them via compiler
- command-line. Consistency is important: the definitions should match in
- all source files that include <code class="filename">pugixml.hpp</code> (including pugixml sources) throughout
- the application. Adding defines to <code class="filename">pugiconfig.hpp</code> lets you guarantee this,
- unless your macro definition is wrapped in preprocessor <code class="computeroutput"><span class="preprocessor">#if</span></code>/<code class="computeroutput"><span class="preprocessor">#ifdef</span></code> directive and this directive
- is not consistent. <code class="filename">pugiconfig.hpp</code> will never contain anything but comments,
- which means that when upgrading to a new version, you can safely leave
- your modified version intact.
- </p>
-<p>
- <a name="PUGIXML_WCHAR_MODE"></a><code class="literal">PUGIXML_WCHAR_MODE</code> define toggles
- between UTF-8 style interface (the in-memory text encoding is assumed to
- be UTF-8, most functions use <code class="computeroutput"><span class="keyword">char</span></code>
- as character type) and UTF-16/32 style interface (the in-memory text encoding
- is assumed to be UTF-16/32, depending on <code class="computeroutput"><span class="keyword">wchar_t</span></code>
- size, most functions use <code class="computeroutput"><span class="keyword">wchar_t</span></code>
- as character type). See <a class="xref" href="dom.html#manual.dom.unicode" title="Unicode interface"> Unicode interface</a> for more details.
- </p>
-<p>
- <a name="PUGIXML_NO_XPATH"></a><code class="literal">PUGIXML_NO_XPATH</code> define disables XPath.
- Both XPath interfaces and XPath implementation are excluded from compilation.
- This option is provided in case you do not need XPath functionality and
- need to save code space.
- </p>
-<p>
- <a name="PUGIXML_NO_STL"></a><code class="literal">PUGIXML_NO_STL</code> define disables use of
- STL in pugixml. The functions that operate on STL types are no longer present
- (i.e. load/save via iostream) if this macro is defined. This option is
- provided in case your target platform does not have a standard-compliant
- STL implementation.
- </p>
-<p>
- <a name="PUGIXML_NO_EXCEPTIONS"></a><code class="literal">PUGIXML_NO_EXCEPTIONS</code> define disables
- use of exceptions in pugixml. This option is provided in case your target
- platform does not have exception handling capabilities.
- </p>
-<p>
- <a name="PUGIXML_API"></a><code class="literal">PUGIXML_API</code>, <a name="PUGIXML_CLASS"></a><code class="literal">PUGIXML_CLASS</code>
- and <a name="PUGIXML_FUNCTION"></a><code class="literal">PUGIXML_FUNCTION</code> defines let you
- specify custom attributes (i.e. declspec or calling conventions) for pugixml
- classes and non-member functions. In absence of <code class="computeroutput"><span class="identifier">PUGIXML_CLASS</span></code>
- or <code class="computeroutput"><span class="identifier">PUGIXML_FUNCTION</span></code> definitions,
- <code class="computeroutput"><span class="identifier">PUGIXML_API</span></code> definition
- is used instead. For example, to specify fixed calling convention, you
- can define <code class="computeroutput"><span class="identifier">PUGIXML_FUNCTION</span></code>
- to i.e. <code class="computeroutput"><span class="identifier">__fastcall</span></code>. Another
- example is DLL import/export attributes in MSVC (see <a class="xref" href="install.html#manual.install.building.shared" title="Building pugixml as a standalone shared library"> Building pugixml as
- a standalone shared library</a>).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- In that example <code class="computeroutput"><span class="identifier">PUGIXML_API</span></code>
- is inconsistent between several source files; this is an exception to
- the consistency rule.
- </p></td></tr>
-</table></div>
-<p>
- <a name="PUGIXML_MEMORY_PAGE_SIZE"></a><code class="literal">PUGIXML_MEMORY_PAGE_SIZE</code>, <a name="PUGIXML_MEMORY_OUTPUT_STACK"></a><code class="literal">PUGIXML_MEMORY_OUTPUT_STACK</code>
- and <a name="PUGIXML_MEMORY_XPATH_PAGE_SIZE"></a><code class="literal">PUGIXML_MEMORY_XPATH_PAGE_SIZE</code>
- can be used to customize certain important sizes to optimize memory usage
- for the application-specific patterns. For details see <a class="xref" href="dom.html#manual.dom.memory.tuning" title="Memory consumption tuning"> Memory consumption tuning</a>.
- </p>
-<p>
- <a name="PUGIXML_HAS_LONG_LONG"></a><code class="literal">PUGIXML_HAS_LONG_LONG</code> define enables
- support for <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
- type in pugixml. This define is automatically enabled if your platform
- is known to have <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
- support (i.e. has C++-11 support or uses a reasonably modern version of
- a known compiler); if pugixml does not recognize that your platform supports
- <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
- but in fact it does, you can enable the define manually.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="manual.install.portability"></a><a class="link" href="install.html#manual.install.portability" title="Portability"> Portability</a>
-</h3></div></div></div>
-<p>
- pugixml is written in standard-compliant C++ with some compiler-specific
- workarounds where appropriate. pugixml is compatible with the C++11 standard,
- but does not require C++11 support. Each version is tested with a unit test
- suite (with code coverage about 99%) on the following platforms:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Microsoft Windows:
- <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
-<li class="listitem">
- Borland C++ Compiler 5.82
- </li>
-<li class="listitem">
- Digital Mars C++ Compiler 8.51
- </li>
-<li class="listitem">
- Intel C++ Compiler 8.0, 9.0 x86/x64, 10.0 x86/x64, 11.0 x86/x64
- </li>
-<li class="listitem">
- Metrowerks CodeWarrior 8.0
- </li>
-<li class="listitem">
- Microsoft Visual C++ 6.0, 7.0 (2002), 7.1 (2003), 8.0 (2005) x86/x64,
- 9.0 (2008) x86/x64, 10.0 (2010) x86/x64, 11.0 (2011) x86/x64/ARM,
- 12.0 (2013) x86/x64/ARM and some CLR versions
- </li>
-<li class="listitem">
- MinGW (GCC) 3.4, 4.4, 4.5, 4.6 x64
- </li>
-</ul></div>
- </li>
-<li class="listitem">
- Linux (GCC 4.4.3 x86/x64, GCC 4.8.1 x64, Clang 3.2 x64)
- </li>
-<li class="listitem">
- FreeBSD (GCC 4.2.1 x86/x64)
- </li>
-<li class="listitem">
- Apple MacOSX (GCC 4.0.1 x86/x64/PowerPC)
- </li>
-<li class="listitem">
- Sun Solaris (sunCC x86/x64)
- </li>
-<li class="listitem">
- Microsoft Xbox 360
- </li>
-<li class="listitem">
- Nintendo Wii (Metrowerks CodeWarrior 4.1)
- </li>
-<li class="listitem">
- Sony Playstation Portable (GCC 3.4.2)
- </li>
-<li class="listitem">
- Sony Playstation 3 (GCC 4.1.1, SNC 310.1)
- </li>
-<li class="listitem">
- Various portable platforms (Android NDK, BlackBerry NDK, Samsung bada,
- Windows CE)
- </li>
-</ul></div>
-</div>
-<div class="footnotes">
-<br><hr style="width:100; text-align:left;margin-left: 0">
-<div id="ftn.trademarks" class="footnote"><p><a href="#trademarks" class="para"><sup class="para">[1] </sup></a>All trademarks used are properties of their respective
- owners.</p></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Arseny Kapoulkine<p>
- Distributed under the MIT License
- </p>
-</div></td>
-</tr></table>
-<hr>
-<table width="100%"><tr>
-<td>
-<a href="http://pugixml.org/">pugixml 1.5</a> manual |
- <a href="../manual.html">Overview</a> |
- <b>Installation</b> |
- Document:
- <a href="dom.html">Object model</a> &middot; <a href="loading.html">Loading</a> &middot; <a href="access.html">Accessing</a> &middot; <a href="modify.html">Modifying</a> &middot; <a href="saving.html">Saving</a> |
- <a href="xpath.html">XPath</a> |
- <a href="apiref.html">API Reference</a> |
- <a href="toc.html">Table of Contents</a>
-</td>
-<td width="*" align="right"><div class="spirit-nav">
-<a accesskey="p" href="../manual.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../manual.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../manual.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="dom.html"><img src="../images/next.png" alt="Next"></a>
-</div></td>
-</tr></table>
-</body>
-</html>