Fix `llvm-config` to adapt to the install environment.
authorRichard Diamond <wichard@vitalitystudios.com>
Mon, 9 Nov 2015 23:15:38 +0000 (23:15 +0000)
committerRichard Diamond <wichard@vitalitystudios.com>
Mon, 9 Nov 2015 23:15:38 +0000 (23:15 +0000)
commit6c6be14bb5660acf923b8ca05b93d320cf59dfb4
treeaa7a06c20b469f39431281d37c47a99f1579f645
parent963c9c6d07ad41e8d6dea8579d2f40f6a0e2b201
Fix `llvm-config` to adapt to the install environment.

Summary:
This patch does a couple of things:

  - Adds a new argument `--shared-mode` which accepts a list of components and prints whether or not the provided components need to be linked statically or shared.
  - Fixes `--libnames` when CMake BUILD_SHARED_LIBS is used.
  - Fixes `--libnames`, `--libs`, and `--libfiles` for dylib when static components aren't installed.
  - Fixes `--libnames`, `--libs`, `--libfiles`, and `--components` to use LLVM_DYLIB_COMPONENTS as the component manifest for dylib linking.
  - Uses the host platform's usual convention for filename extensions and such, instead of always defaulting to Unix-izms.

Because I don't own a Mac, I am not able to test the Mac platform dependent stuff locally. If someone would be willing to run a build for me on their machine (unless there's a better option), I'd appreciate it.

Reviewers: jfb, brad.king, whitequark, beanz

Subscribers: beanz, jauhien, llvm-commits

Differential Revision: http://reviews.llvm.org/D13198

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252532 91177308-0d34-0410-b5e6-96231b3b80d8
bindings/ocaml/Makefile.ocaml
tools/llvm-config/BuildVariables.inc.in
tools/llvm-config/CMakeLists.txt
tools/llvm-config/Makefile
tools/llvm-config/llvm-config.cpp