diff options
Diffstat (limited to 'Makefile.rules')
-rw-r--r-- | Makefile.rules | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/Makefile.rules b/Makefile.rules index 9787d5f..3ae2db8 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -200,17 +200,20 @@ ifdef LLVMC_PLUGIN LIBRARYNAME := $(patsubst %,plugin_llvmc_%,$(LLVMC_PLUGIN)) CPP.Flags += -DLLVMC_PLUGIN_NAME=$(LLVMC_PLUGIN) REQUIRES_EH := 1 -LD.Flags += -lCompilerDriver + +ifeq ($(ENABLE_LLVMC_DYNAMIC),1) + LD.Flags += -lCompilerDriver +endif # Build a dynamic library if the user runs `make` directly from the plugin # directory. ifndef LLVMC_BUILTIN_PLUGIN -LOADABLE_MODULE = 1 + LOADABLE_MODULE = 1 endif # TableGen stuff... ifneq ($(BUILT_SOURCES),) -LLVMC_BUILD_AUTOGENERATED_INC=1 + LLVMC_BUILD_AUTOGENERATED_INC=1 endif endif # LLVMC_PLUGIN @@ -218,8 +221,15 @@ endif # LLVMC_PLUGIN ifdef LLVMC_BASED_DRIVER TOOLNAME = $(LLVMC_BASED_DRIVER) + REQUIRES_EH := 1 -LD.Flags += -lCompilerDriver + +ifeq ($(ENABLE_LLVMC_DYNAMIC),1) + LD.Flags += -lCompilerDriver +else + LLVMLIBS = CompilerDriver.a + LINK_COMPONENTS = support system +endif # Preprocessor magic that generates references to static variables in built-in # plugins. @@ -502,8 +512,7 @@ ifeq ($(OS),Darwin) else ifeq ($(OS),Cygwin) SharedLinkOptions=-shared -nostdlib -Wl,--export-all-symbols \ - -Wl,--enable-auto-import -Wl,--enable-auto-image-base \ - -Wl,--enable-runtime-pseudo-relocs + -Wl,--enable-auto-import -Wl,--enable-auto-image-base else SharedLinkOptions=-shared endif |