Reid and I have identified a number of problems with llvm-config, which I'll be looking into this week:
1) llvm-config doesn't always pick up system libraries needed to link. This should be an easy fix, although it will require Makefile changes.
2) In-tree linking doesn't work. I'm not sure why out-of-tree linking with llvm-config works better than in-tree linking. I'll need to take a look a Reid's scripts.
3) Judging from Reid's bug reports, linking 'interpreter' doesn't seem to be enough to get the ForceInterpreterLinking() function. I have no idea what's going on here--this code was added after llvm-config was committed.
I want to get these issues sorted out in time for LLVM 1.7. For LLVM 1.8, we can look into re-writing llvm-config as a C++ program (to remove llvm-config's dependency on Perl, allowing it to be used in the GCC build process).