summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/test/make/Makefile.rules10
1 files changed, 9 insertions, 1 deletions
diff --git a/lldb/test/make/Makefile.rules b/lldb/test/make/Makefile.rules
index 19ed2ccd99c..aff31600533 100644
--- a/lldb/test/make/Makefile.rules
+++ b/lldb/test/make/Makefile.rules
@@ -34,8 +34,12 @@ LLDB_BASE_DIR := $(THIS_FILE_DIR)../../
# If OS is not defined, use 'uname -s' to determine the OS name.
#----------------------------------------------------------------------
ifeq "$(ARCH)" ""
+ifeq "$(OS)" "Windows_NT"
+ ARCH = x86
+else
ARCH = x86_64
endif
+endif
ifeq "$(OS)" ""
OS = $(shell uname -s)
@@ -174,13 +178,17 @@ cxx_linker_notdir = $(if $(findstring clang,$(1)), \
cxx_linker = $(if $(findstring /,$(1)),$(join $(dir $(1)), $(call cxx_linker_notdir,$(notdir $(1)))),$(call cxx_linker_notdir,$(1)))
#----------------------------------------------------------------------
-# Clang for Windows doesn't yet support exceptions
+# Windows specific options
#----------------------------------------------------------------------
ifeq "$(OS)" "Windows_NT"
ifneq (,$(findstring clang,$(CC)))
+ # Clang for Windows doesn't support C++ Exceptions
CXXFLAGS += -fno-exceptions
CXXFLAGS += -include $(THIS_FILE_DIR)uncaught_exception.h
CXXFLAGS += -D_HAS_EXCEPTIONS=0
+ # The MSVC linker doesn't understand long section names
+ # generated by the clang compiler.
+ LDFLAGS += -fuse-ld=lld
endif
endif
OpenPOWER on IntegriCloud