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.