X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FPackaging.html;h=217590e6c24ed6a0563bcd31b1f860fb2c92d489;hb=01b35c25deee3d4cab339e620c12c721e627d609;hp=c6eea38ed6d6d81e4f6423da03e409f9ecd53f33;hpb=0c0f4b6e011e3c3ffdb692065e0b7b20164a4c0a;p=oota-llvm.git diff --git a/docs/Packaging.html b/docs/Packaging.html index c6eea38ed6d..217590e6c24 100644 --- a/docs/Packaging.html +++ b/docs/Packaging.html @@ -10,8 +10,10 @@
Advice on Packaging LLVM
  1. Overview
  2. +
  3. Compile Flags
  4. C++ Features
  5. Shared Library
  6. +
  7. Dependencies
@@ -21,9 +23,45 @@

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, +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.
+
@@ -34,11 +72,8 @@ etc.) will tweak them. This document lists settings we suggest you tweak.
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 inherit from LLVM classes.
-
Exceptions
LLVM disables exceptions by default. Add - REQUIRES_EH=1 to your environment while running make to - re-enable them. This will allow users to link LLVM and exception-using code. - It also re-enables RTTI.
+ allow users to build with RTTI enabled and still inherit from LLVM + classes.
@@ -53,6 +88,22 @@ against it. This saves lots of binary size at the cost of some startup time.

+ +
Dependencies
+ +
+ +
+
--enable-libffi
Depend on libffi to allow the LLVM +interpreter to call external functions.
+
--with-oprofile
Depend on libopagent +(>=version 0.9.4) to let the LLVM JIT tell oprofile about function addresses and +line numbers.
+
+
+
@@ -61,7 +112,7 @@ against it. This saves lots of binary size at the cost of some startup time. Valid HTML 4.01 The LLVM Compiler Infrastructure
- Last modified: $Date: 2009-01-01 23:10:51 -0800 (Thu, 01 Jan 2009) $ + Last modified: $Date$