Skip to content

Commit

Permalink
Give packagers some advice about how to build LLVM so it's useful to
Browse files Browse the repository at this point in the history
the most users.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97198 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
jyasskin committed Feb 26, 2010
1 parent bb4283e commit 0c0f4b6
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
3 changes: 3 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.
67 changes: 67 additions & 0 deletions docs/Packaging.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!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="#cxx-features">C++ Features</a></li>
<li><a href="#shared-library">Shared Library</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 (i.e., Redhat, Debian, MacPorts,
etc.) will tweak them. This document lists settings we suggest you tweak.
</p>
</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 inherit from LLVM classes.</dd>
<dt>Exceptions</dt><dd>LLVM disables exceptions by default. Add
<tt>REQUIRES_EH=1</tt> to your environment while running <tt>make</tt> to
re-enable them. This will allow users to link LLVM and exception-using code.
It also re-enables RTTI.</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>

<!-- *********************************************************************** -->
<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: 2009-01-01 23:10:51 -0800 (Thu, 01 Jan 2009) $
</address>
</body>
</html>
3 changes: 3 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@
<li><a href="GCCFEBuildInstrs.html">How to build the Ada/C/C++/Fortran front-ends</a> -
Instructions for building gcc front-ends from source.</li>

<li><a href="Packaging.html">Packaging guide</a> - Advice on packaging
LLVM into a distribution.</li>

<li><a href="Lexicon.html">The LLVM Lexicon</a> - Definition of acronyms, terms
and concepts used in LLVM.</li>

Expand Down

0 comments on commit 0c0f4b6

Please sign in to comment.