diff options
author | mike-m <mikem.llvm@gmail.com> | 2010-05-06 23:45:43 +0000 |
---|---|---|
committer | mike-m <mikem.llvm@gmail.com> | 2010-05-06 23:45:43 +0000 |
commit | 68cb31901c590cabceee6e6356d62c84142114cb (patch) | |
tree | 6444bddc975b662fbe47d63cd98a7b776a407c1a /docs/Packaging.html | |
parent | c26ae5ab7e2d65b67c97524e66f50ce86445dec7 (diff) | |
download | external_llvm-68cb31901c590cabceee6e6356d62c84142114cb.zip external_llvm-68cb31901c590cabceee6e6356d62c84142114cb.tar.gz external_llvm-68cb31901c590cabceee6e6356d62c84142114cb.tar.bz2 |
Overhauled llvm/clang docs builds. Closes PR6613.
NOTE: 2nd part changeset for cfe trunk to follow.
*** PRE-PATCH ISSUES ADDRESSED
- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
assumptions and make use of absolute root in static html files;
namely CommandGuide tools hard codes a website destination
for cross references and some html cross references assume
website root paths
*** IMPROVEMENTS
- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
if any target (or any variable is evaluated) which attempts
to remove any dirs which match a hard-coded 'safelist', a verbose
error will be printed and make will error-stop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103213 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/Packaging.html')
-rw-r--r-- | docs/Packaging.html | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/docs/Packaging.html b/docs/Packaging.html deleted file mode 100644 index 217590e..0000000 --- a/docs/Packaging.html +++ /dev/null @@ -1,118 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" - "http://www.w3.org/TR/html4/strict.dtd"> -<html> -<head> - <title>Advice on Packaging LLVM</title> - <link rel="stylesheet" href="llvm.css" type="text/css"> -</head> -<body> - -<div class="doc_title">Advice on Packaging LLVM</div> -<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> - -<!--=========================================================================--> -<div class="doc_section"><a name="overview">Overview</a></div> -<!--=========================================================================--> -<div class="doc_text"> - -<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> - -<!--=========================================================================--> -<div class="doc_section"><a name="compilation">Compile Flags</a></div> -<!--=========================================================================--> -<div class="doc_text"> - -<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> - -<!--=========================================================================--> -<div class="doc_section"><a name="cxx-features">C++ Features</a></div> -<!--=========================================================================--> -<div class="doc_text"> - -<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> - -<!--=========================================================================--> -<div class="doc_section"><a name="shared-library">Shared Library</a></div> -<!--=========================================================================--> -<div class="doc_text"> - -<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> - -<!--=========================================================================--> -<div class="doc_section"><a name="deps">Dependencies</a></div> -<!--=========================================================================--> -<div class="doc_text"> - -<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> |