bos/llvm — pull request #29 by scottgw (2012-02-04 15:28:58+00:00)
Title: Adding LLVM3.0 specific functions (conditionally compiling removed ones)

The old version seemed to not work at all with LLVM3.0, it compiled but because functions were removed from the LLVM library at runtime some symbols were not found (such as LLVMBuildUnwind). It will likely be very messy to continue to try to support both pre-3.0 and 3.0 in the same codebase.

For llvm-base: this patch conditionally compiles the removed functions as well as the new ones introduced in LLVM 3.0.

For llvm: comments out the removed functions from llvm-base. I don't know how to conditionally compile them based on whether llvm-base was compiled with 3.0 or < 3.0.

I suggest that llvm-base in the future track directly the LLVM version, without backwards compatibility. Let the interface changes be represented in the llvm-base version numbering, and let the dependent packages (llvm, maybe others) select accordingly. I think this is likely the best policy as otherwise

1 there is a tangle of conditional compilation, and
2 the llvm-base version number is a lie anyway: eg, unwind is both available and unavailable within the same version: ruh-oh.