Makefile.rules: LOADABLE_MODULE/Win32: "all" components may be linked
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 10 Sep 2010 06:27:02 +0000 (06:27 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 10 Sep 2010 06:27:02 +0000 (06:27 +0000)
only when ENABLE_SHARED=1.

Loadable module for Win32 requires all symbols resolved for linking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113579 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.rules

index 348dbde6d4807c8448035f035c8f8f0348af8b2c..efafc82be2b8cf0a36deb396ca47d0a1bc297cfb 100644 (file)
@@ -894,10 +894,13 @@ LLVMUsedLibs    := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(LLVMLIBS)))
 LLVMLibsPaths   := $(addprefix $(LLVMLibDir)/,$(LLVMUsedLibs))
 endif
 
-# Win32.DLL may refer to other components.
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
+# Loadable module for Win32 requires all symbols resolved for linking.
+# Then all symbols in LLVM.dll will be available.
+ifeq ($(ENABLE_SHARED),1)
   ifdef LOADABLE_MODULE
-    LINK_COMPONENTS := all
+    ifneq (,$(filter $(HOST_OS),Cygwin MingW))
+      LINK_COMPONENTS += all
+    endif
   endif
 endif