diff options
| -rw-r--r-- | lldb/test/make/Makefile.rules | 10 |
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 |

