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.
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:
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.