Make dynamic LLVMC plugins work on Windows (finally!).
Implemented by making lib/CompilerDriver a shared library that holds all the
global static data (CommandLine options, plugin registry) that we unfortunately
have to live with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74417 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CompilerDriver/Makefile b/lib/CompilerDriver/Makefile
index e5bf3e1..bbef2e3 100644
--- a/lib/CompilerDriver/Makefile
+++ b/lib/CompilerDriver/Makefile
@@ -12,8 +12,22 @@
# We don't want this library to appear in `llvm-config --libs` output, so its
# name doesn't start with "LLVM".
-LIBRARYNAME = CompilerDriver
-LINK_COMPONENTS = support system
+LIBRARYNAME = libCompilerDriver
+LLVMLIBS = LLVMSupport.a LLVMSystem.a
+LOADABLE_MODULE := 1
REQUIRES_EH := 1
include $(LEVEL)/Makefile.common
+
+FullLibName = $(LIBRARYNAME)$(SHLIBEXT)
+
+# Copy the library to the bin dir so that llvmc can find it.
+all-local::
+ $(Echo) Copying $(BuildMode) Shared Library $(FullLibName) \
+ to $(ToolDir)
+ -$(Verb) $(CP) $(LibDir)/$(FullLibName) $(ToolDir)/
+
+clean-local::
+ $(Echo) Removing $(BuildMode) Shared Library $(FullLibName) \
+ from $(ToolDir)
+ -$(Verb) $(RM) -f $(ToolDir)/$(FullLibName)