Give packagers some advice about how to build LLVM so it's useful to
authorJeffrey Yasskin <>
Fri, 26 Feb 2010 00:54:42 +0000 (00:54 +0000)
committerJeffrey Yasskin <>
Fri, 26 Feb 2010 00:54:42 +0000 (00:54 +0000)
the most users.

git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8

docs/Packaging.html [new file with mode: 0644]

index 7388752..2ebe271 100644 (file)
@@ -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
diff --git a/docs/Packaging.html b/docs/Packaging.html
new file mode 100644 (file)
index 0000000..c6eea38
--- /dev/null
@@ -0,0 +1,67 @@
+                      "">
+  <title>Advice on Packaging LLVM</title>
+  <link rel="stylesheet" href="llvm.css" type="text/css">
+<div class="doc_title">Advice on Packaging LLVM</div>
+  <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>
+<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.
+<div class="doc_section"><a name="cxx-features">C++ Features</a></div>
+<div class="doc_text">
+  <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>
+<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.
+<!-- *********************************************************************** -->
+  <a href=""><img
+  src="" alt="Valid CSS"></a>
+  <a href=""><img
+  src="" alt="Valid HTML 4.01"></a>
+  <a href="">The LLVM Compiler Infrastructure</a><br>
+  Last modified: $Date: 2009-01-01 23:10:51 -0800 (Thu, 01 Jan 2009) $
index 5ee96fb..bf12f71 100644 (file)
@@ -116,6 +116,9 @@ manual for using the LLVM testing infrastructure.</li>
 <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>