summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-06-21 06:09:37 +0000
committerBill Wendling <isanbard@gmail.com>2012-06-21 06:09:37 +0000
commit1d4e62878e188704e4c599d50b4e3679a8189567 (patch)
tree27d4195c57e46e276b18b7a6b22615cd51ca173f
parent8ef0968dc230f6fae8fcbd6dc4a5cb9ccc780b6b (diff)
downloadllvm-1d4e62878e188704e4c599d50b4e3679a8189567.tar.gz
llvm-1d4e62878e188704e4c599d50b4e3679a8189567.tar.bz2
llvm-1d4e62878e188704e4c599d50b4e3679a8189567.tar.xz
Sphinxify the outdated Packaging documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158901 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/Packaging.html119
-rw-r--r--docs/Packaging.rst75
-rw-r--r--docs/userguides.rst3
3 files changed, 77 insertions, 120 deletions
diff --git a/docs/Packaging.html b/docs/Packaging.html
deleted file mode 100644
index 51e9375e85..0000000000
--- a/docs/Packaging.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Advice on Packaging LLVM</title>
- <link rel="stylesheet" href="_static/llvm.css" type="text/css">
-</head>
-<body>
-
-<h1>Advice on Packaging LLVM</h1>
-<ol>
- <li><a href="#overview">Overview</a></li>
- <li><a href="#compilation">Compile Flags</a></li>
- <li><a href="#cxx-features">C++ Features</a></li>
- <li><a href="#shared-library">Shared Library</a></li>
- <li><a href="#deps">Dependencies</a></li>
-</ol>
-
-<!--=========================================================================-->
-<h2><a name="overview">Overview</a></h2>
-<!--=========================================================================-->
-<div>
-
-<p>LLVM sets certain default configure options to make sure our developers don't
-break things for constrained platforms. These settings are not optimal for most
-desktop systems, and we hope that packagers (e.g., Redhat, Debian, MacPorts,
-etc.) will tweak them. This document lists settings we suggest you tweak.
-</p>
-
-<p>LLVM's API changes with each release, so users are likely to want, for
-example, both LLVM-2.6 and LLVM-2.7 installed at the same time to support apps
-developed against each.
-</p>
-</div>
-
-<!--=========================================================================-->
-<h2><a name="compilation">Compile Flags</a></h2>
-<!--=========================================================================-->
-<div>
-
-<p>LLVM runs much more quickly when it's optimized and assertions are removed.
-However, such a build is currently incompatible with users who build without
-defining NDEBUG, and the lack of assertions makes it hard to debug problems in
-user code. We recommend allowing users to install both optimized and debug
-versions of LLVM in parallel. The following configure flags are relevant:
-</p>
-
-<dl>
- <dt><tt>--disable-assertions</tt></dt><dd>Builds LLVM with <tt>NDEBUG</tt>
- defined. Changes the LLVM ABI. Also available by setting
- <tt>DISABLE_ASSERTIONS=0|1</tt> in <tt>make</tt>'s environment. This defaults
- to enabled regardless of the optimization setting, but it slows things
- down.</dd>
-
- <dt><tt>--enable-debug-symbols</tt></dt><dd>Builds LLVM with <tt>-g</tt>.
- Also available by setting <tt>DEBUG_SYMBOLS=0|1</tt> in <tt>make</tt>'s
- environment. This defaults to disabled when optimizing, so you should turn it
- back on to let users debug their programs.</dd>
-
- <dt><tt>--enable-optimized</tt></dt><dd>(For svn checkouts) Builds LLVM with
- <tt>-O2</tt> and, by default, turns off debug symbols. Also available by
- setting <tt>ENABLE_OPTIMIZED=0|1</tt> in <tt>make</tt>'s environment. This
- defaults to enabled when not in a checkout.</dd>
-</dl>
-</div>
-
-<!--=========================================================================-->
-<h2><a name="cxx-features">C++ Features</a></h2>
-<!--=========================================================================-->
-<div>
-
-<dl>
- <dt>RTTI</dt><dd>LLVM disables RTTI by default. Add <tt>REQUIRES_RTTI=1</tt>
- to your environment while running <tt>make</tt> to re-enable it. This will
- allow users to build with RTTI enabled and still inherit from LLVM
- classes.</dd>
-</dl>
-</div>
-
-<!--=========================================================================-->
-<h2><a name="shared-library">Shared Library</a></h2>
-<!--=========================================================================-->
-<div>
-
-<p>Configure with <tt>--enable-shared</tt> to build
-<tt>libLLVM-<var>major</var>.<var>minor</var>.(so|dylib)</tt> and link the tools
-against it. This saves lots of binary size at the cost of some startup time.
-</p>
-</div>
-
-<!--=========================================================================-->
-<h2><a name="deps">Dependencies</a></h2>
-<!--=========================================================================-->
-<div>
-
-<dl>
-<dt><tt>--enable-libffi</tt></dt><dd>Depend on <a
-href="http://sources.redhat.com/libffi/">libffi</a> to allow the LLVM
-interpreter to call external functions.</dd>
-<dt><tt>--with-oprofile</tt></dt><dd>Depend on <a
-href="http://oprofile.sourceforge.net/doc/devel/index.html">libopagent</a>
-(>=version 0.9.4) to let the LLVM JIT tell oprofile about function addresses and
-line numbers.</dd>
-</dl>
-</div>
-
-<!-- *********************************************************************** -->
-<hr>
-<address>
- <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
- <a href="http://validator.w3.org/check/referer"><img
- src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
- <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
- Last modified: $Date$
-</address>
-</body>
-</html>
diff --git a/docs/Packaging.rst b/docs/Packaging.rst
new file mode 100644
index 0000000000..6e74158d72
--- /dev/null
+++ b/docs/Packaging.rst
@@ -0,0 +1,75 @@
+.. _packaging:
+
+========================
+Advice on Packaging LLVM
+========================
+
+.. contents::
+ :local:
+
+Overview
+========
+
+LLVM sets certain default configure options to make sure our developers don't
+break things for constrained platforms. These settings are not optimal for most
+desktop systems, and we hope that packagers (e.g., Redhat, Debian, MacPorts,
+etc.) will tweak them. This document lists settings we suggest you tweak.
+
+LLVM's API changes with each release, so users are likely to want, for example,
+both LLVM-2.6 and LLVM-2.7 installed at the same time to support apps developed
+against each.
+
+Compile Flags
+=============
+
+LLVM runs much more quickly when it's optimized and assertions are removed.
+However, such a build is currently incompatible with users who build without
+defining ``NDEBUG``, and the lack of assertions makes it hard to debug problems
+in user code. We recommend allowing users to install both optimized and debug
+versions of LLVM in parallel. The following configure flags are relevant:
+
+``--disable-assertions``
+ Builds LLVM with ``NDEBUG`` defined. Changes the LLVM ABI. Also available
+ by setting ``DISABLE_ASSERTIONS=0|1`` in ``make``'s environment. This
+ defaults to enabled regardless of the optimization setting, but it slows
+ things down.
+
+``--enable-debug-symbols``
+ Builds LLVM with ``-g``. Also available by setting ``DEBUG_SYMBOLS=0|1`` in
+ ``make``'s environment. This defaults to disabled when optimizing, so you
+ should turn it back on to let users debug their programs.
+
+``--enable-optimized``
+ (For svn checkouts) Builds LLVM with ``-O2`` and, by default, turns off
+ debug symbols. Also available by setting ``ENABLE_OPTIMIZED=0|1`` in
+ ``make``'s environment. This defaults to enabled when not in a
+ checkout.
+
+C++ Features
+============
+
+RTTI
+ LLVM disables RTTI by default. Add ``REQUIRES_RTTI=1`` to your environment
+ while running ``make`` to re-enable it. This will allow users to build with
+ RTTI enabled and still inherit from LLVM classes.
+
+Shared Library
+==============
+
+Configure with ``--enable-shared`` to build
+``libLLVM-<major>.<minor>.(so|dylib)`` and link the tools against it. This
+saves lots of binary size at the cost of some startup time.
+
+Dependencies
+============
+
+``--enable-libffi``
+ Depend on `libffi <http://sources.redhat.com/libffi/>`_ to allow the LLVM
+ interpreter to call external functions.
+
+``--with-oprofile``
+
+ Depend on `libopagent
+ <http://oprofile.sourceforge.net/doc/devel/index.html>`_ (>=version 0.9.4)
+ to let the LLVM JIT tell oprofile about function addresses and line
+ numbers.
diff --git a/docs/userguides.rst b/docs/userguides.rst
index 57058ee0d7..f1267dc439 100644
--- a/docs/userguides.rst
+++ b/docs/userguides.rst
@@ -10,6 +10,7 @@ User Guides
DeveloperPolicy
FAQ
Lexicon
+ Packaging
* `The LLVM Getting Started Guide <GettingStarted.html>`_
@@ -67,7 +68,7 @@ User Guides
Instructions for building the clang front-end from source.
-* `Packaging guide <Packaging.html>`_
+* :ref:`packaging`
Advice on packaging LLVM into a distribution.