diff --git a/tools/Makefile b/tools/Makefile index f1abf931a40..c12f0799dc2 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -22,8 +22,8 @@ PARALLEL_DIRS := llvm-config llvm-upgrade \ include $(LEVEL)/Makefile.config -# Disable liblto on non-darwin platforms right now until LLVM is built PIC. -ifeq ($(OS), Darwin) +# Disable liblto on Windows until compatability is determined. +ifneq ($(OS), MingW) PARALLEL_DIRS += lto endif diff --git a/tools/lto/Makefile b/tools/lto/Makefile index 91732ff3efe..3d48abd5d2b 100644 --- a/tools/lto/Makefile +++ b/tools/lto/Makefile @@ -11,9 +11,13 @@ LEVEL = ../.. LIBRARYNAME = LLVMlto LINK_LIBS_IN_SHARED = 1 -SHARED_LIBRARY = 1 -LOADABLE_MODULE = 1 -DONT_BUILD_RELINKED = 1 +ifeq ($(OS),Darwin) + SHARED_LIBRARY = 1 + LOADABLE_MODULE = 1 + DONT_BUILD_RELINKED = 1 +else + BUILD_ARCHIVE = 1 +endif # Include this here so we can get the configuration of the targets # that have been configured for construction. We have to do this diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp index e91facc15cc..fac1a3028f0 100644 --- a/tools/lto/lto.cpp +++ b/tools/lto/lto.cpp @@ -455,6 +455,9 @@ LTO::optimizeModules(const std::string &OutputFilename, return LTO_OPT_SUCCESS; } +/// Unused pure-virtual destructor. Must remain empty. +LinkTimeOptimizer::~LinkTimeOptimizer() {} + /// Destruct LTO. Delete all modules, symbols and target. LTO::~LTO() {