1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
emacs/mps/manual/html/topic/platform.html
Gareth Rees 6cbd932e05 Updated manual html
Copied from Perforce
 Change: 182092
 ServerID: perforce.ravenbrook.com
2013-05-22 19:26:41 +01:00

693 lines
No EOL
35 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>22. Platforms &mdash; Memory Pool System 1.111.0 documentation</title>
<link rel="stylesheet" href="../_static/mps.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '1.111.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="copyright" title="Copyright" href="../copyright.html" />
<link rel="top" title="Memory Pool System 1.111.0 documentation" href="../index.html" />
<link rel="up" title="Reference" href="index.html" />
<link rel="next" title="Pool reference" href="../pool/index.html" />
<link rel="prev" title="21. Plinth" href="plinth.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../pool/index.html" title="Pool reference"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="plinth.html" title="21. Plinth"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> &raquo;</li>
<li><a href="index.html" accesskey="U">Reference</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="platforms">
<span id="topic-platform"></span><h1>22. Platforms<a class="headerlink" href="#platforms" title="Permalink to this headline"></a></h1>
<div class="section" id="platform-codes">
<span id="index-0"></span><h2>22.1. Platform codes<a class="headerlink" href="#platform-codes" title="Permalink to this headline"></a></h2>
<p>The MPS uses a six-character platform code to express a combination of
operating system, CPU architecture, and compiler toolchain. Each
six-character code breaks down into three pairs of characters:
<tt class="docutils literal"><span class="pre">OSARCT</span></tt>. The first pair of characters names the operating system:</p>
<table border="1" class="docutils">
<colgroup>
<col width="14%" />
<col width="38%" />
<col width="48%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">OS</span></tt></th>
<th class="head">Operating system</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fr</span></tt></td>
<td>FreeBSD</td>
<td><a class="reference internal" href="#MPS_OS_FR" title="MPS_OS_FR"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_FR</span></tt></a></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">li</span></tt></td>
<td>Linux</td>
<td><a class="reference internal" href="#MPS_OS_LI" title="MPS_OS_LI"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_LI</span></tt></a></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3</span></tt></td>
<td>Windows</td>
<td><a class="reference internal" href="#MPS_OS_W3" title="MPS_OS_W3"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_W3</span></tt></a></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xc</span></tt></td>
<td>OS X</td>
<td><a class="reference internal" href="#MPS_OS_XC" title="MPS_OS_XC"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_XC</span></tt></a></td>
</tr>
</tbody>
</table>
<p>The second pair of characters names the processor architecture:</p>
<table border="1" class="docutils">
<colgroup>
<col width="12%" />
<col width="44%" />
<col width="44%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">AR</span></tt></th>
<th class="head">Processor architecture</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i3</span></tt></td>
<td>Intel/AMD IA-32</td>
<td><a class="reference internal" href="#MPS_ARCH_I3" title="MPS_ARCH_I3"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_ARCH_I3</span></tt></a></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">i6</span></tt></td>
<td>Intel/AMD x86-64</td>
<td><a class="reference internal" href="#MPS_ARCH_I6" title="MPS_ARCH_I6"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_ARCH_I6</span></tt></a></td>
</tr>
</tbody>
</table>
<p>The third pair of characters names the compiler toolchain:</p>
<table border="1" class="docutils">
<colgroup>
<col width="12%" />
<col width="44%" />
<col width="44%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">CT</span></tt></th>
<th class="head">Compiler toolchain</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">gc</span></tt></td>
<td>GNU Compiler collection</td>
<td><a class="reference internal" href="#MPS_BUILD_GC" title="MPS_BUILD_GC"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_GC</span></tt></a></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">ll</span></tt></td>
<td>Clang/LLVM</td>
<td><a class="reference internal" href="#MPS_BUILD_LL" title="MPS_BUILD_LL"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_LL</span></tt></a></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">mv</span></tt></td>
<td>Microsoft Visual C/C++</td>
<td><a class="reference internal" href="#MPS_BUILD_MV" title="MPS_BUILD_MV"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_MV</span></tt></a></td>
</tr>
</tbody>
</table>
<p>In each case the aspect of the platform can be tested by checking
whether the preprocessor constant in the third column in the table
is defined, and the full platform can be tested by checking
whether the corresponding <tt class="docutils literal"><span class="pre">MPS_PF_</span></tt> preprocessor constant is
defined. For example, &#8220;<tt class="docutils literal"><span class="pre">xci6ll</span></tt>&#8221; platform corresponds to the
<a class="reference internal" href="#MPS_PF_XCI6LL" title="MPS_PF_XCI6LL"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_PF_XCI6LL</span></tt></a> preprocessor constant.</p>
<p>Not all combinations of operating system, processor architecture,
and compiler are supported.</p>
</div>
<div class="section" id="platform-interface">
<span id="index-1"></span><h2>22.2. Platform interface<a class="headerlink" href="#platform-interface" title="Permalink to this headline"></a></h2>
<div class="highlight-c"><div class="highlight"><pre><span class="cp">#include &quot;mpstd.h&quot;</span>
</pre></div>
</div>
<dl class="macro">
<dt id="MPS_ARCH_I3">
<tt class="descname">MPS_ARCH_I3</tt><a class="headerlink" href="#MPS_ARCH_I3" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the target processor architecture of the compilation is a member
of the IA-32 Intel/AMD family of 32-bit processors.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_ARCH_I6">
<tt class="descname">MPS_ARCH_I6</tt><a class="headerlink" href="#MPS_ARCH_I6" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the target processor architecture of the compilation is a member
of the x86-64 Intel/AMD family of 64-bit processors.</p>
<div class="admonition-note admonition">
<p class="first admonition-title">Note</p>
<p class="last">The MPS is not supported on IA-64 (Itanium).</p>
</div>
</dd></dl>
<dl class="macro">
<dt id="MPS_BUILD_GC">
<tt class="descname">MPS_BUILD_GC</tt><a class="headerlink" href="#MPS_BUILD_GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled by the C compiler from the GNU Compiler
Collection (GCC).</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_BUILD_LL">
<tt class="descname">MPS_BUILD_LL</tt><a class="headerlink" href="#MPS_BUILD_LL" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled by Clang, the C compiler from the LLVM (Low
Level Virtual Machine) system.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_BUILD_MV">
<tt class="descname">MPS_BUILD_MV</tt><a class="headerlink" href="#MPS_BUILD_MV" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled by the C compiler from Microsoft Visual
Studio.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_OS_FR">
<tt class="descname">MPS_OS_FR</tt><a class="headerlink" href="#MPS_OS_FR" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled on a FreeBSD operating system.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_OS_LI">
<tt class="descname">MPS_OS_LI</tt><a class="headerlink" href="#MPS_OS_LI" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled on a Linux operating system.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_OS_W3">
<tt class="descname">MPS_OS_W3</tt><a class="headerlink" href="#MPS_OS_W3" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled on a Windows operating system.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_OS_XC">
<tt class="descname">MPS_OS_XC</tt><a class="headerlink" href="#MPS_OS_XC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the MPS was compiled on an OS X operating system.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_ALIGN">
<tt class="descname">MPS_PF_ALIGN</tt><a class="headerlink" href="#MPS_PF_ALIGN" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to an integer giving
the <a class="reference internal" href="../glossary/n.html#term-natural-alignment"><em class="xref std std-term">natural alignment</em></a> of the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_FRI3GC">
<tt class="descname">MPS_PF_FRI3GC</tt><a class="headerlink" href="#MPS_PF_FRI3GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the FreeBSD operating system, the
IA-32 processor architecture, and the GCC compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_FRI6GC">
<tt class="descname">MPS_PF_FRI6GC</tt><a class="headerlink" href="#MPS_PF_FRI6GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the FreeBSD operating system, the
x86-64 processor architecture, and the GCC compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_LII3GC">
<tt class="descname">MPS_PF_LII3GC</tt><a class="headerlink" href="#MPS_PF_LII3GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Linux operating system, the
IA-32 processor architecture, and the GCC compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_LII6GC">
<tt class="descname">MPS_PF_LII6GC</tt><a class="headerlink" href="#MPS_PF_LII6GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Linux operating system, the
x86-64 processor architecture, and the GCC compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_STRING">
<tt class="descname">MPS_PF_STRING</tt><a class="headerlink" href="#MPS_PF_STRING" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that names the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> for
which the MPS was built.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_W3I3MV">
<tt class="descname">MPS_PF_W3I3MV</tt><a class="headerlink" href="#MPS_PF_W3I3MV" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Windows operating system, the
IA-32 processor architecture, and the Microsoft Visual C/C++
compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_W3I6MV">
<tt class="descname">MPS_PF_W3I6MV</tt><a class="headerlink" href="#MPS_PF_W3I6MV" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Windows operating system, the
x86-64 processor architecture, and the Microsoft Visual C/C++
compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_XCI3GC">
<tt class="descname">MPS_PF_XCI3GC</tt><a class="headerlink" href="#MPS_PF_XCI3GC" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
IA-32 processor architecture, and the GCC compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_XCI3LL">
<tt class="descname">MPS_PF_XCI3LL</tt><a class="headerlink" href="#MPS_PF_XCI3LL" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
IA-32 processor architecture, and the Clang/LLVM compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_PF_XCI6LL">
<tt class="descname">MPS_PF_XCI6LL</tt><a class="headerlink" href="#MPS_PF_XCI6LL" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
x86-64 processor architecture, and the Clang/LLVM compiler.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_T_ULONGEST">
<tt class="descname">MPS_T_ULONGEST</tt><a class="headerlink" href="#MPS_T_ULONGEST" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the name of the
largest unsigned integral type.</p>
<p>The exact identity of this type is
<a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>-dependent. Typical identities are <tt class="docutils literal"><span class="pre">unsigned</span>
<span class="pre">long</span></tt> and <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">__int_64</span></tt>.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_T_WORD">
<tt class="descname">MPS_T_WORD</tt><a class="headerlink" href="#MPS_T_WORD" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the name of an
unsigned integral type that is the same size as an <a class="reference internal" href="../glossary/o.html#term-object-pointer"><em class="xref std std-term">object
pointer</em></a>, so that <tt class="docutils literal"><span class="pre">sizeof(MPS_T_WORD)</span> <span class="pre">==</span> <span class="pre">sizeof(void*)</span></tt>.</p>
<p>The exact identity of this type is
<a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>-dependent. Typical identities are <tt class="docutils literal"><span class="pre">unsigned</span>
<span class="pre">long</span></tt> and <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">__int_64</span></tt>.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_WORD_SHIFT">
<tt class="descname">MPS_WORD_SHIFT</tt><a class="headerlink" href="#MPS_WORD_SHIFT" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the logarithm to
base 2 of the constant <a class="reference internal" href="#MPS_WORD_WIDTH" title="MPS_WORD_WIDTH"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_WORD_WIDTH</span></tt></a>, so that <tt class="docutils literal"><span class="pre">1</span> <span class="pre">&lt;&lt;</span>
<span class="pre">MPS_WORD_SHIFT</span> <span class="pre">==</span> <span class="pre">MPS_WORD_WIDTH</span></tt>.</p>
<p>The value is platform-dependent. Typical values are 5 and 6.</p>
</dd></dl>
<dl class="macro">
<dt id="MPS_WORD_WIDTH">
<tt class="descname">MPS_WORD_WIDTH</tt><a class="headerlink" href="#MPS_WORD_WIDTH" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the width in bits
of the type <a class="reference internal" href="#MPS_T_WORD" title="MPS_T_WORD"><tt class="xref c c-type docutils literal"><span class="pre">MPS_T_WORD</span></tt></a>, so that <tt class="docutils literal"><span class="pre">MPS_WORD_WIDTH</span> <span class="pre">==</span>
<span class="pre">sizeof(MPS_T_WORD)</span> <span class="pre">*</span> <span class="pre">CHAR_BIT</span></tt>.</p>
<p>This value is platform-dependent. It is always a power of 2:
typical values are 32 and 64.</p>
</dd></dl>
</div>
<div class="section" id="historical-platform-codes">
<span id="index-2"></span><h2>22.3. Historical platform codes<a class="headerlink" href="#historical-platform-codes" title="Permalink to this headline"></a></h2>
<p>The platform codes in the tables below were in use in older versions
of the Memory Pool System, but are not currently supported.</p>
<p>Formerly supported operating systems:</p>
<table border="1" class="docutils">
<colgroup>
<col width="13%" />
<col width="59%" />
<col width="28%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">OS</span></tt></th>
<th class="head">Operating system</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i5</span></tt></td>
<td>Irix 5 or 6 (old ABI)</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_I5</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">ia</span></tt></td>
<td>Irix 6 (new ABI)</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_IA</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">o1</span></tt></td>
<td>OSF/1 aka Tru64</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_O1</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s7</span></tt></td>
<td>Macintosh System 7, 8, or 9</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_S7</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">so</span></tt></td>
<td>Solaris</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_SO</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">su</span></tt></td>
<td>SunOS</td>
<td><tt class="docutils literal"><span class="pre">MPS_OS_SU</span></tt></td>
</tr>
</tbody>
</table>
<p>Formerly supported processor architectures:</p>
<table border="1" class="docutils">
<colgroup>
<col width="14%" />
<col width="51%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">AR</span></tt></th>
<th class="head">Processor architecture</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i4</span></tt></td>
<td>Intel/AMD IA-32 <a class="footnote-reference" href="#id3" id="id1">[1]</a></td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_I4</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">al</span></tt></td>
<td>Digital Alpha</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_AL</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">m2</span></tt></td>
<td>MIPS R2000</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M2</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">m4</span></tt></td>
<td>MIPS R4000</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M4</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">m6</span></tt></td>
<td>Motorola 68000</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M6</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">pp</span></tt></td>
<td>PowerPC</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_PP</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s8</span></tt></td>
<td>SPARC V8</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_S8</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s9</span></tt></td>
<td>SPARC V9 (32-bit)</td>
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_S9</span></tt></td>
</tr>
</tbody>
</table>
<p>Formerly supported compiler toolchains:</p>
<table border="1" class="docutils">
<colgroup>
<col width="10%" />
<col width="64%" />
<col width="26%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">CT</span></tt></th>
<th class="head">Compiler toolchain</th>
<th class="head">Constant</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">ac</span></tt></td>
<td>Macintosh Programmer&#8217;s Workshop C/C++</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_AC</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">cc</span></tt></td>
<td>The &#8220;native&#8221; C compiler <a class="footnote-reference" href="#id4" id="id2">[2]</a></td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_CC</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">cx</span></tt></td>
<td>SunPro C CXREF tool</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_CX</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">eg</span></tt></td>
<td>Experimental GNU Compiler System (EGCS)</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_EG</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">gp</span></tt></td>
<td>GCC with profiling</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_GP</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lc</span></tt></td>
<td>LCC</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_LC</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">mw</span></tt></td>
<td>Metrowerks CodeWarrior</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_MW</span></tt></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sc</span></tt></td>
<td>SunPro C</td>
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_SC</span></tt></td>
</tr>
</tbody>
</table>
<div class="admonition-note admonition">
<p class="first admonition-title">Notes</p>
<table class="docutils footnote" frame="void" id="id3" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Obsolete: the MPS used to make a distinction between the
80386 and 80486 processor architectures.</td></tr>
</tbody>
</table>
<table class="last docutils footnote" frame="void" id="id4" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>This was the MIPSpro C compiler on IRIX; and the Digital C
Compiler on OSF/1.</td></tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="historical-platform-list">
<span id="index-3"></span><h2>22.4. Historical platform list<a class="headerlink" href="#historical-platform-list" title="Permalink to this headline"></a></h2>
<p>This is the full list of platforms that have ever been supported by
the Memory Pool System, with their current status.</p>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Platform</th>
<th class="head">Status</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fri3gc</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">fri4gc</span></tt></td>
<td>Corrected to <tt class="docutils literal"><span class="pre">fri3gc</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fri6gc</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">i5m2cc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">iam4cc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lii3eg</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">lii3gc</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lii4gc</span></tt></td>
<td>Corrected to <tt class="docutils literal"><span class="pre">lii3gc</span></tt></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">lii6gc</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lippgc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">o1alcc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">o1algc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s7m6mw</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s7ppac</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s7ppmw</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sos8cx</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">sos8gc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sos8gp</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">sos9sc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sus8gc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3almv</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">w3i3m9</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3i3mv</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">w3i6mv</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3ppmv</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xci3gc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">xci3ll</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xci6ll</span></tt></td>
<td>Supported</td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">xcppgc</span></tt></td>
<td><em>Not supported</em></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/logo.png" alt="Logo"/>
</a></p>
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">22. Platforms</a><ul>
<li><a class="reference internal" href="#platform-codes">22.1. Platform codes</a></li>
<li><a class="reference internal" href="#platform-interface">22.2. Platform interface</a></li>
<li><a class="reference internal" href="#historical-platform-codes">22.3. Historical platform codes</a></li>
<li><a class="reference internal" href="#historical-platform-list">22.4. Historical platform list</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="plinth.html"
title="previous chapter">21. Plinth</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../pool/index.html"
title="next chapter">Pool reference</a></p><h4>Downloads</h4>
<p class="topless">
<a href="http://www.ravenbrook.com/project/mps/release/1.111.0/">MPS Kit release 1.111.0</a><br>
<a href="http://www.ravenbrook.com/project/mps/release/">All MPS Kit releases</a>
</p>
<h4>Issues</h4>
<p class="topless">
<a href="http://www.ravenbrook.com/project/mps/issue/?action=list&amp;view=status%3dopen&amp;display=Job:Priority:Title&amp;sort=Priority">Known issues</a><br>
<a href="http://www.ravenbrook.com/project/mps/issue/?action=fixed&release_fixed=1.111.0">Issues fixed in release 1.111.0</a>
</p><h4>Contact us</h4>
<p class="topless"><a href="mailto:mps-questions@ravenbrook.com">mps-questions@ravenbrook.com</a></p>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../pool/index.html" title="Pool reference"
>next</a> |</li>
<li class="right" >
<a href="plinth.html" title="21. Plinth"
>previous</a> |</li>
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> &raquo;</li>
<li><a href="index.html" >Reference</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">Copyright</a> 2013, Ravenbrook Limited.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>