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
Adding initial shared library support.
Merge remote-tracking branch 'upstream/master'
Adding struct as a FunctionArg instance
Export StructFields from Core/Types so it can be used in CodeGen.
Remove DatatypeContexts, as advised by a warning.
LowerSetJmp was removed as a pass from LLVM 3.0
Initial pass at updating to LLVM 3.0.
Had to remove quite a few functions, not sure how severe it is yet.
The type functions have changed, the new type functions have not yet
Adding LLVM3.0 functions to Core.hsc.
This adds the new exception and new type creation functions.
It also conditionally comments out the old removed functions.
Installed this with cabal and my code works again against llvm 3.0.
+1 llvm-3.0 works again on my Macbook. Cool
It would be very nice to get this into hackage...